微信小程序发送服务消息通知
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微信⼩程序发送服务消息通知⾸先需要在微信⼩程序中添加新的消息模板得到消息模板id 以及消息参数结构
然后是微信⼩程序⽅⾯需要⾸先激活消息模板然后在激活成功的回调函数中进⾏消息的发送
/**
* 激活消息模板
*/
wx.requestSubscribeMessage({
tmplIds: ['MDXKR0gxp_F392DOtrqDMN9KztZNdW5hE5AtVT4ja70'],
success: function (res) {
/**
* 微信⼩程序发送消息
*/
wx.request({
url: send,
data:{
'touser':wx.getStorageSync('open_id'),
'order_create':_this.data.ordersuccess.create_time,
'order_no':_this.data.ordersuccess.order_num,
'price_sum':_this.data.ordersuccess.final_sum,
'delivery':_this.data.ordersuccess.delivery},
success:function(res){
console.log(res);
}
})
},
complete: function(res){
},
fail: function(res){
}
})
接下来是后台处理发送请求:
/**
* 发送微信⼩程序消息
*/
public function send(){
$touser=IFilter::act(IReq::get('touser'));
$order_create=IFilter::act(IReq::get('order_create')); //订单创建时间
$order_no=IFilter::act(IReq::get('order_no')); //订单编号
$price_sum=IFilter::act(IReq::get('price_sum')); //订单⾦额
$delivery=IFilter::act(IReq::get('delivery')); //配送⽅式
//siteconfig读取类
$siteConfigObj = new Config("site_config");
$site_config = $siteConfigObj->getInfo();
$appid=$site_config['wechat_AppID'];
$secret=$site_config['wechat_AppSecret'];
/**
* ⾸先获取微信⼩程序的 AccessToken
*/
$ccc="https:///cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$secret";
$content=$this->curl($ccc);
$content=json_decode($content);
$accesstoken=$content->access_token;
$datas=array(
'touser'=>$touser,
'lang'=>'zh_CN',
'data'=>array(
'character_string1'=>array('value'=>$order_no),
'time2'=>array('value'=>$order_create),
'amount3'=>array('value'=>$price_sum),
'phrase4'=>array('value'=>$delivery),
'date7'=>array('value'=>ITime::getDateTime()),
),
'template_id'=>'MDXKR0gxp_F392DOtrqDMN9KztZNdW5hE5AtVT4ja70',
'miniprogramState'=> 'trial' //跳转⼩程序类型
);
$url = "https:///cgi-bin/message/subscribe/send?access_token=$accesstoken";
$result = $this->curl($url, $datas);
Block::sendRseult(200,'goods detail success',[
'flag'=>0,
'result'=>$result,
]);
}
然后这就发送成功了
注: 可能遇到的问题就是 wx.requestSubscribeMessage 这个调⽤必须要在点击事件中再有其他的问题就是微信所报的错了⽂档中都有的按照报错的代码以及提⽰改就ok。