<commit_before><?php

namespace app\modules\wechat\controllers\home;

use app\modules\wechat\models\Screen;
use yii;
use app\modules\wechat\models\Wechat;
use EasyWeChat\Foundation\Application;
use yii\web\NotFoundHttpException;

class DefaultController extends \app\core\web\HomeController
{
    public $enableCsrfValidation = false; //这是一定要的，否则接收不到微信的post数据

    public $options = [];

    public $app = null;

    public $wid;



    public function actionIndex($id)
    {
        $this->wid = $id;
        $this->setOptions($id);
        $this->app = new Application($this->options);
        $server = $this->app->server;

        $server->setMessageHandler(function($message){
            // 注意，这里的 $message 不仅仅是用户发来的消息，也可能是事件
            // 当 $message->MsgType 为 event 时为事件

//
//
//
//
//            switch ($message->MsgType) {
//                case 'event':
//                    $event = $message->Event;
//                    return $this->$event($message);
//                    break;
//                case 'text':
//                    return $this->responseMsg($message);
//                    break;
//                default:
//                    # code...
//                    break;
//            }



            switch ($message->MsgType) {
                case 'event':
                    return '收到事件消息';
                    break;
                case 'text':
                    return $this->text($message);
                    break;
                case 'image':
                    return '收到图片消息';
                    break;
                case 'voice':
                    return '收到语音消息';
                    break;
                case 'video':
                    return '收到视频消息';
                    break;
                case 'location':
                    return '收到坐标消息';
                    break;
                case 'link':
                    return '收到链接消息';
                    break;
                // ... 其它消息
                default:
                    return '收到其它消息';
                    break;
            }

            // if ($message->MsgType == 'event') {

            //     $event = $message->Event;

            //     $this->$event($message);
            // } else {
            //     $this->responseMsg($message);
            // }

        });

        echo $server->serve()->send();
    }

    /**
     * @name 处理文字消息
     */
    private function text($msg)
    {

//        Yii::info($msg);
        $content = $msg->Content;
        $content = str_replace('＠', '@', $content);
        $rs = preg_match($this->msg_re, $content, $match);
//
//        if ( !$rs ) {
//            // 不匹配@进多客服
//            return $this->muti_person_service();
//        }
//
        $action = $match[1];
//        if ( !in_array($action, array(6)) ){
//            return;
//        }
//
//        $text = trim($match[2]);
//        if (!$text) return;//没有内容也返回空
//
        $action = '_text'.$action;

        return $action;

        return $this->$action($text);

    }

    /**
     * @name 大屏留言
     */
    private function text6($msg)
    {
        if (Screen::msg($this->wid,$msg->FromUserName, $msg->Content)) {
            return '您好，祝福留言成功';
        }
        return '您好，留言失败，请重试';

    }

    /**
     * @name 进多客服
     */
    private function muti_person_service()
    {

    }


    private function setOptions($id)
    {
        $account = $this->findModel($id);
<commit_msg>wechat msg<commit_after><?php

namespace app\modules\wechat\controllers\home;

use app\modules\wechat\models\Screen;
use yii;
use app\modules\wechat\models\Wechat;
use EasyWeChat\Foundation\Application;
use yii\web\NotFoundHttpException;

class DefaultController extends \app\core\web\HomeController
{
    public $enableCsrfValidation = false; //这是一定要的，否则接收不到微信的post数据

    public $options = [];

    public $app = null;

    public $wid;



    public function actionIndex($id)
    {
        $this->wid = $id;
        $this->setOptions($id);
        $this->app = new Application($this->options);
        $server = $this->app->server;

        $server->setMessageHandler(function($message){
            // 注意，这里的 $message 不仅仅是用户发来的消息，也可能是事件
            // 当 $message->MsgType 为 event 时为事件

//
//
//
//
//            switch ($message->MsgType) {
//                case 'event':
//                    $event = $message->Event;
//                    return $this->$event($message);
//                    break;
//                case 'text':
//                    return $this->responseMsg($message);
//                    break;
//                default:
//                    # code...
//                    break;
//            }



            switch ($message->MsgType) {
                case 'event':
                    return '收到事件消息';
                    break;
                case 'text':
                    return $this->text($message);
                    break;
                case 'image':
                    return '收到图片消息';
                    break;
                case 'voice':
                    return '收到语音消息';
                    break;
                case 'video':
                    return '收到视频消息';
                    break;
                case 'location':
                    return '收到坐标消息';
                    break;
                case 'link':
                    return '收到链接消息';
                    break;
                // ... 其它消息
                default:
                    return '收到其它消息';
                    break;
            }

            // if ($message->MsgType == 'event') {

            //     $event = $message->Event;

            //     $this->$event($message);
            // } else {
            //     $this->responseMsg($message);
            // }

        });

        echo $server->serve()->send();
    }

    /**
     * @name 处理文字消息
     */
    private function text($msg)
    {

        return 'sss';
//        Yii::info($msg);
//        $content = $msg->Content;
//        $content = str_replace('＠', '@', $content);
//        $rs = preg_match($this->msg_re, $content, $match);
//
//        if ( !$rs ) {
//            // 不匹配@进多客服
//            return $this->muti_person_service();
//        }
//
//        $action = $match[1];
//        if ( !in_array($action, array(6)) ){
//            return;
//        }
//
//        $text = trim($match[2]);
//        if (!$text) return;//没有内容也返回空
//
//        $action = '_text'.$action;
//
//        return $action;
//
//        return $this->$action($text);

    }

    /**
     * @name 大屏留言
     */
    private function text6($msg)
    {
        if (Screen::msg($this->wid,$msg->FromUserName, $msg->Content)) {
            return '您好，祝福留言成功';
        }
        return '您好，留言失败，请重试';

    }

    /**
     * @name 进多客服
     */
    private function muti_person_service()
    {

    }


    private function setOptions($id)
    {
        $account = $this->findModel($id);

{'fraction_non_alphanumeric': 0.151033386327504, 'fraction_numerical': 0.0011562364503540975, 'mean_word_length': 1.1477343265052762, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 59, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '9076', 'n_tokens_mistral': 2163, 'n_tokens_neox': 2133, 'n_words': 355}