首先需要在微信小程序中添加新的消息模板 得到 消息模板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://api.weixin.qq.com/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://api.weixin.qq.com/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