CRMEB多商戶使用,新增一個(gè)消息模板或訂閱消息。因?yàn)椴僮鞯倪壿嬍且粯拥模赃@里就以消息模板來(lái)操作的,訂閱消息大同小異。
一、 先登錄自己的微信公眾號(hào)后臺(tái),申請(qǐng)模板。我這里以《訪客接待消息通知》為例,下圖是我申請(qǐng)好的截圖。
二、將剛才申請(qǐng)的模板信息填寫(xiě)到平臺(tái)后臺(tái)的模板管理中去,如下圖:
三、代碼實(shí)現(xiàn)部分,以下 … … 是省略了源代碼中的未修改的代碼部分:
- 修改配置文件,config/template.php 文件,因?yàn)槲覀冊(cè)黾拥氖俏⑿殴娞?hào)消息,所以在wechat數(shù)組下增加一行,這里的鍵可以自定義,值就是剛才申請(qǐng)的模板編號(hào),如圖:
- 增加模板消息的內(nèi)容設(shè)定,所有模板消息或者訂閱消息的內(nèi)容都在
crmeb/services/WechatTemplateMessageService.php
? 文件中實(shí)現(xiàn)的。
- 修改入口文件,因?yàn)槲覀冞@個(gè)模板需要傳入額外的參數(shù),但是原來(lái)的方法中并沒(méi)有這個(gè),所以我們?cè)黾右粋€(gè)
???$data[‘data’] ?? []
? 參數(shù)的傳入。public function sendTemplate(array $data) { $res = $this->templateMessage($data['tempCode'],$data['id'], $data['data'] ?? []); if(!$res || !is_array($res)) return true; ... ... }
- 新增模板消息的內(nèi)容設(shè)定
public function templateMessage(string $tempCode, $id, $params = []) { $bill_make = app()->make(UserBillRepository::class); $order_make = app()->make(StoreOrderRepository::class); $refund_make = app()->make(StoreRefundOrderRepository::class); $order_status_make = app()->make(StoreOrderStatusRepository::class); switch ($tempCode) { ... ... case'SERVER_NOTICE': /* {{first.DATA}} 訪客姓名:{{keyword1.DATA}} 聯(lián)系方式:{{keyword2.DATA}} 項(xiàng)目名稱:{{keyword3.DATA}} {{remark.DATA}} */ $mer = app()->make(MerchantRepository::class)->get($params['mer_id']); $user = app()->make(UserRepository::class)->get($id); $data[] = [ 'tempCode' => 'SERVER_NOTICE', 'uid' => $id, 'data' => [ 'first' => '親,您有新的消息請(qǐng)注意查看~', 'keyword1' => $user['nickname'], 'keyword2' => $mer['mer_name'], 'keyword3' => $params['keyword3'], 'remark' => '' ], 'link' => '', 'color' => null ]; break; default: return false; break; } return $data; }
四、修改需要調(diào)用的代碼
- 上面就將模板消息的內(nèi)容也設(shè)定好了,現(xiàn)在就去需要使用的地方調(diào)用就好了,我們找到客服消息的監(jiān)聽(tīng)文件,然后替換之前的發(fā)短信提醒的地方,如下圖:
這樣我們就完成了整個(gè)的流程開(kāi)發(fā)了,重啟一下項(xiàng)目服務(wù),即可。