当前位置: 首页 > 后端技术 > PHP

微信小程序发送订阅消息(原模板消息)

时间:2023-03-29 21:36:48 PHP

之前的模板消息已经废弃,现在改为订阅消息。订阅消息发布前,用户需要确认后才能收到订阅消息。小程序端index.wxml发送订阅消息index.jsconstapp=getApp()Page({data:{},send:function(){wx.requestSubscribeMessage({tmplIds:['WZiCliW1zVtHXqX7dGnFNmFvxhW-wd9S_W4WfrwNvss'],success:(res)=>{//登录时缓存获取的openid,现在可以直接提取openidwx.getStorage({key:'openid',success(res){console.log(res.data)wx.request({url:'https://www.xxx.com/send.php?openid='+res.data,data:{},header:{'content-type':'application/json'},success(res){//推送if(res.data.errcode=='43101'){console.log("拒绝订阅消息")}elseif(res.data.errcode=='0'){console.log("发送订阅消息")}else{console.log("未知错误")}}})},fail(res){console.log("Cannotsendwithoutopenid")}})}})}})backendaccess_token.php$result['过期']){$data=array();$data['access_token']=getNewToken();$data['过期']=时间()+7000;$jsonStr=json_encode($data);$fp=fopen("access_token.json","w");fwrite($fp,$jsonStr);fclose($fp);返回$data['access_token'];}else{返回$result['access_token'];}//获取新的access_token函数iongetNewToken($appid,$appsecret){global$appid;全局$appsecret;$url="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$appsecret."";$access_token_Arr=file_get_contents($url);$token_jsonarr=json_decode($access_token_Arr,true);return$token_jsonarr["access_token"];}$access_token=getToken();?>逻辑1.通过按钮控件启动发送功能2.发送功能调用wx.requestSubscribeMessageAPI,微信允许接收订阅消息3.wx.request请求到send.php后端4.后端获取到access_token后,调用订阅消息接口POST一段json数据即可发送订阅消息官方文档1,https://developers.weixin.qq.com/miniprogram/dev/api/open-api/subscribe-message/wx.requestSubscribeMessage.html2,https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/subscribe-message/subscribeMessage。addTemplate.html作者:TANKING日期??:2020-08-24网址:http://www.likeyun.cn/WeChat:face6009