{{wikiTitle}}
新增模板消息
目录:
多商户新增公众号消息模板流程
CRMEB多商户使用,新增一个消息模板或订阅消息。因为操作的逻辑是一样的,所以这里就以消息模板来操作的,订阅消息大同小异。
一、 先登录自己的微信公众号后台,申请模板。我这里以《访客接待消息通知》为例,下图是我申请好的截图。
二、将刚才申请的模板信息填写到平台后台的模板管理中去,如下图:
三、代码实现部分,以下 … … 是省略了源代码中的未修改的代码部分:
修改配置文件,config/template.php 文件,因为我们增加的是微信公众号消息,所以在wechat数组下增加一行,这里的键可以自定义,值就是刚才申请的模板编号,如图:
增加模板消息的内容设定,所有模板消息或者订阅消息的内容都在crmeb/services/WechatTemplateMessageService.php
文件中实现的。
修改入口文件,因为我们这个模板需要传入额外的参数,但是原来的方法中并没有这个,所以我们增加一个 $data[‘data’] ?? []
参数的传入。
public function sendTemplate(array $data)
{
$res = $this->templateMessage($data['tempCode'],$data['id'], $data['data'] ?? []);
if(!$res || !is_array($res))
return true;
}
新增模板消息的内容设定
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}}
联系方式:{{keyword2.DATA}}
项目名称:{{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' => '亲,您有新的消息请注意查看~',
'keyword1' => $user['nickname'],
'keyword2' => $mer['mer_name'],
'keyword3' => $params['keyword3'],
'remark' => ''
],
'link' => '',
'color' => null
];
break;
default:
return false;
break;
}
return $data;
}
四、修改需要调用的代码
上面就将模板消息的内容也设定好了,现在就去需要使用的地方调用就好了,我们找到客服消息的监听文件,然后替换之前的发短信提醒的地方,如下图:
这样我们就完成了整个的流程开发了,重启一下项目服务,即可。




评论({{cateWiki.comment_num}})
{{commentWhere.order ? '评论从旧到新':'评论从新到旧'}}
{{cateWiki.page_view_num}}人看过该文档


评论(0)
{{commentWhere.order ? '评论从旧到新':'评论从新到旧'}}
815人看过该文档




{{item.user ? item.user.nickname : ''}} (自评)
{{item.content}}
{{item.create_time}} 删除




搜索结果
为您找到{{wikiCount}}条结果
{{item.page_view_num}}
{{item.like ? item.like.like_num : 0}}
{{item.comment ? item.comment.comment_num : 0}}
位置:{{path.name}} {{(i+1) == item.catalogue.path_data.length ? '':'/'}}


