1
0
Эх сурвалжийг харах

up - 新加 小程序跳转

liugc 1 жил өмнө
parent
commit
5b275c70f2

+ 1 - 0
app/adminapi/controller/works/ServiceWorkController.php

@@ -145,6 +145,7 @@ class ServiceWorkController extends BaseAdminController
                 'scene_id' => 113,
                 'params' => [
                     'user_id' => $params['master_worker_id'],
+                    'order_id' => $params['id'],
                     'thing9' => $workDetail['title'],
                     'time7' => $workDetail['appointment_time'],
                     'thing8' => $workDetail['address'],

+ 20 - 8
app/common/logic/NoticeLogic.php

@@ -135,12 +135,12 @@ class NoticeLogic extends BaseLogic
 
             }
         }
-
-        // 跳转路径
-        $jumpPath = self::getPathByScene($params['scene_id'], $params['params']['order_id'] ?? 0);
-        $params['url'] = $jumpPath['url'];
-        $params['page'] = $jumpPath['page'];
-
+        if (!empty($params['params']['order_id'])) {
+            // 跳转路径
+            $jumpPath = self::getPathByScene($params['scene_id'], $params['params']['order_id'] ?? 0);
+            $params['url'] = $jumpPath['url'];
+            $params['page'] = $jumpPath['page'];
+        }
         return $params;
     }
 
@@ -156,9 +156,21 @@ class NoticeLogic extends BaseLogic
     public static function getPathByScene($sceneId, $extraId)
     {
         // 小程序主页路径
-        $page = '/pages/index/index';
+        $page = '';
+        switch (intval($sceneId)) {
+            case 113:
+                $page = "/subPages/detail/detail?id={$extraId}";
+                break;
+            case 116:
+                $page = '/pages/tabView/workbench';
+                break;
+            /*case 118:
+                $page = '/pages/tabView/user';
+                break;*/
+        }
+
         // 公众号主页路径
-        $url = '/mobile/pages/index/index';
+        $url = '';
         return [
             'url' => $url,
             'page' => $page,

+ 11 - 3
app/common/service/wechat/WeChatOaService.php

@@ -202,12 +202,20 @@ class WeChatOaService
             $noticeSetting = NoticeSetting::where('scene_id', $params['scene_id'])->findOrEmpty()->toArray();
             Log::info('WeChatOa-sendTemplateMessage:'.json_encode([$noticeSetting,$params,$this->getTemplateMessageParams($noticeSetting, $params)]));
             // 发送
-            $result = $this->app->getClient()->postJson('cgi-bin/message/template/send', [
+            $wx_data = [
                 'touser' => $params['params']['openid'],
                 'template_id' => $noticeSetting['oa_notice']['template_id'],
-                'url' => '',
+                'url' => (isset($params['url']) && !empty($params['url']))?$params['url']:'',
                 'data' => $this->getTemplateMessageParams($noticeSetting, $params)
-            ]);
+            ];
+            // 可跳小程序
+            if(isset($params['page']) && !empty($params['page'])) {
+                $wx_data["miniprogram"]=[
+                                            "appid" => 'wx8e44db3741ea212c',
+                                            "pagepath" => $params['page']
+                ];
+            }
+            $result = $this->app->getClient()->postJson('cgi-bin/message/template/send', $wx_data);
             if (intval($result["errcode"]) > 0) {
                 throw new \Exception('微信通知发送失败:'.$result["errmsg"]);
             }