瀏覽代碼

Merge branch 'wx-kw' into test

# Conflicts:
#	modules/Channel/Http/Controllers/WechatOpenPlatformController.php
zqwang 1 年之前
父節點
當前提交
7a8b64d2c2

+ 20 - 14
modules/Channel/Http/Controllers/WechatOpenPlatformController.php

@@ -12,6 +12,7 @@ use Modules\Channel\Services\WechatOpenPlatform\WechatOpenPlatformService;
 use Modules\Common\Errors\Errors;
 use Modules\Common\Errors\Errors;
 use Modules\Common\Exceptions\CommonBusinessException;
 use Modules\Common\Exceptions\CommonBusinessException;
 use Modules\User\Http\Controllers\UserTrait;
 use Modules\User\Http\Controllers\UserTrait;
+use Modules\WechatPlatform\Services\WechatCommonService;
 
 
 class WechatOpenPlatformController extends CatchController
 class WechatOpenPlatformController extends CatchController
 {
 {
@@ -94,7 +95,7 @@ class WechatOpenPlatformController extends CatchController
             'nick_name' => $gzhBaseInfo['authorizer_info']['nick_name'],
             'nick_name' => $gzhBaseInfo['authorizer_info']['nick_name'],
         ]);
         ]);
 
 
-        return view('wechat.openPlatform.authSuccess')->with('url', sprintf('%s/#/user/advertiser', config('app.url')));
+        return view('wechat.openPlatform.authSuccess')->with('url', sprintf('%s/#/user/advertiser',config('app.url')));
     }
     }
 
 
     /**
     /**
@@ -124,27 +125,32 @@ class WechatOpenPlatformController extends CatchController
 
 
         $componentInfo = WechatOpenPlatformService::getComponentInfoByAppid($component_appid);
         $componentInfo = WechatOpenPlatformService::getComponentInfoByAppid($component_appid);
         $app = WechatOpenPlatformService::buildApplication($componentInfo);
         $app = WechatOpenPlatformService::buildApplication($componentInfo);
-        myLog("wx-xiaoxi")->info('-------开始处理---' . get_date());
-        $server = $app->getServer();
-        $message = $server->getDecryptedMessage();
+        myLog("wx-xiaoxi")->info('-------开始处理---'.get_date());
+        $server = $app->server;
+        $message = $server->getMessage();
         myLog("wx-xiaoxi")->info([
         myLog("wx-xiaoxi")->info([
             'authorizer_appid' => $authorizer_appid,
             'authorizer_appid' => $authorizer_appid,
             'component_appid' => $component_appid,
             'component_appid' => $component_appid,
             'param' => $request->all(),
             'param' => $request->all(),
             'msg' => $message,
             'msg' => $message,
         ]);
         ]);
-        $refreshToken = WechatOpenPlatformService::getRefreshToken($authorizer_appid, $component_appid);
-        $server = $app->getOfficialAccountWithRefreshToken($authorizer_appid, $refreshToken)->getServer();
-        $server->addMessageListener('text', function ($message) {
-            myLog("wx-xiaoxi")->info('----文本消息---');
-            if ($message->Content == "pk") {
-                return $message->FromUserName;
-            }
-        });
+        $refreshToken = WechatOpenPlatformService::getRefreshToken($authorizer_appid,$component_appid);
+        $server = $app->officialAccount($authorizer_appid, $refreshToken);
+        // $server->addMessageListener('text', function($message) {
+        //       myLog("wx-xiaoxi")->info('----文本消息---');
+        //     if ($message->Content == "pk"){
+        //         return  $message->FromUserName;
+        //     }
+        // });
 
 
-        $server->addEventListener('subscribe', function () {
+        $server->server->push(function ($message) use($authorizer_appid,$component_appid) {
+            myLog("wx-xiaoxi")->info("----文本消息---");
+            myLog("wx-xiaoxi")->info("体消息:");
+            myLog("wx-xiaoxi")->info($message);
+            return WechatCommonService::handleMessage($authorizer_appid,$message);
         });
         });
-        myLog("wx-xiaoxi")->info('-------结束处理---' . get_date());
+
+        myLog("wx-xiaoxi")->info('-------结束处理---'.get_date());
         return $server->serve();
         return $server->serve();
     }
     }
 }
 }

+ 54 - 0
modules/WechatPlatform/Services/WechatCommonService.php

@@ -26,4 +26,58 @@ class WechatCommonService extends BaseService
     {
     {
         return ['url' =>  "/pages/video/index?video_id={$videoId}&sequence={$sequence}"];
         return ['url' =>  "/pages/video/index?video_id={$videoId}&sequence={$sequence}"];
     }
     }
+
+    /**
+     *  微信消息推送处理
+     * name: handelMessage
+     * @param $authorizer_appid
+     * @param $message
+     * date 2023/07/10 14:53
+     */
+    public static function handleMessage($appid, $message)
+    {
+        switch ($message['MsgType']) {
+            case 'event':
+                return '收到事件消息';
+                break;
+            case 'text':
+                return self::handleTextMessage($appid,$message);
+                break;
+            case 'image':
+                return '收到图片消息';
+                break;
+            case 'voice':
+                return '收到语音消息';
+                break;
+            case 'video':
+                return '收到视频消息';
+                break;
+            case 'location':
+                return '收到坐标消息';
+                break;
+            case 'link':
+                return '收到链接消息';
+                break;
+            case 'file':
+                return '收到文件消息';
+            default:
+                return '收到其它消息';
+                break;
+        }
+    }
+
+    /**
+     *  文本纤细处理
+     * name: handleTextMessage
+     * @param $appid
+     * @param $content
+     * date 2023/07/10 15:03
+     */
+    private static function handleTextMessage($appid, $msg)
+    {
+        $content = $msg['Content'];
+        if ($content == "pk"){
+            return $msg['FromUserName'] ;
+        }
+    }
 }
 }