前端的接口:我们可以预设多个模板ID一起申请,用户勾选的会返回accept,也是就通过,后端就可以记录一次了。
wx.requestSubscribeMessage({
tmplIds: ["XII_0By8D9WabnUjVPB_8S1itsm2d4_xxx"],
success: function (res) {
if (res.XII_0By8D9WabnUjVPB_8S1itsm2d4_xxx === 'accept'){
wx.showToast({
title: '订阅OK!',
})
}
console.log(res)
//成功
},
fail(err) {
//失败
console.error(err);
}
})
},
这里主要看一下后端PHP的代码:
其实很简单:一定要注意的是字段的类型要匹配,还有如果显示:xxx blackList 换个词或者模板吧。
* 发送订阅消息
* @return [type] [description]
*/
public function sendSubMessage($openId = "openId",$tmpl = "XII_0By8D9WabnUjVPB_8S1itsm2d4_xxx"){
$params['touser'] = $openId;
$params['template_id'] = $tmpl;
$params['page'] = "/pages/index/index";
$params['data'] = [
'date2' => ['value' =>'2019-10-12'],
// 'character_string7' =>['value'=>'121212'],
'thing1'=>['value'=>'开通完成']
];
// return $this->success('200',$params);
return $this->getCurl(self::$subMessageUrl.self::$accessToken,$params);
}
看一下效果:
订阅消息现在有很多问题,在小程序端,如果勾选默认,即使把程序删了,也无法弹出,去权限设置那里,只有取消和勾选。。。。还有禁止。
问下楼主后端代码可以群发吗?
大佬这个getCurl报错了,有点懵