1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 小程序推送公众号的模板消息【不通过unionid关联实现】

小程序推送公众号的模板消息【不通过unionid关联实现】

时间:2022-01-22 11:13:25

相关推荐

小程序推送公众号的模板消息【不通过unionid关联实现】

1、关联小程序:在公众号平台“广告与服务”-小程序管理关联相关主体的小程序

2、申请公众号消息推送模板【通过认证的服务号才能申请】

3、根据微信的接口文档,uniformMessage.send | 微信开放文档

4、demo:请根据实际情况处理;

namespace services\message;use think\facade\Db;use exceptions\BaseException;use bases\BaseService;/*** 公众号消息*/class Mp extends BaseService {/*** 发送推送消息*/public function send_msg($argv,$isMiniprogram = true){list($params)=$argv;$access_token = $this->getmin(); //获取小程序的token$access_token = $access_token['access_token'];$appId = $this->min_appId;//小程序的appid$mpAppId = $this->appId;//公众号的appid$arr = ['touser' => $params['openid'],'mp_template_msg' => ['appid' => $mpAppId,'template_id' => $params['template_id'],"url" => $params['url']??'',"data" => ["first" => ["value" => $params['title']??'',],"keyword1" => ["value" => $params['keyword1']??'',],"keyword2" => ["value" => $params['keyword2']??'',],"keyword3" => ["value" => $params['keyword3']??'',],"remark" => ["value" =>$params['remark']??'如有问题请联系管理员',"color" => "#173177"],]]];if ($isMiniprogram == true) {$arr['mp_template_msg']['miniprogram'] = ["appid" => $appId,"pagepath" =>$params['url']??'',];}$url = "https://api./cgi-bin/message/wxopen/template/uniform_send?access_token={$access_token}"; $res=$this->postXmlCurl('POST', json_encode($arr), $url);$resl=json_decode($res,true);if(isset($resl['errcode'])&&$resl['errcode']==0){echo '发送成功';}else{dump($resl);throw new BaseException(['msg'=>'发送失败'.$params['openid']]);}} /*** 构造post请求*/public function postXmlCurl($method, $data, $url, $proxy = "", $ua = ''){$ch = curl_init();//设置超时curl_setopt($ch, CURLOPT_TIMEOUT, 30);curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, TRUE);curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); //严格校验curl_setopt($ch, CURLOPT_USERAGENT, !empty($ua) ? $ua : (isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36'));if ($proxy) {curl_setopt($ch, CURLOPT_PROXYTYPE, 5); //sock5curl_setopt($ch, CURLOPT_PROXYAUTH, CURLAUTH_BASIC); //代理认证模式\curl_setopt($ch, CURLOPT_PROXY, $proxy); //代理服务器地址}//设置headercurl_setopt($ch, CURLOPT_HEADER, FALSE);if ('POST' == $method) {} else {curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8', 'Content-Length:' . strlen($data)));}//要求结果为字符串且输出到屏幕上curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);if ('POST' == $method) {//post提交方式curl_setopt($ch, CURLOPT_POST, TRUE);curl_setopt($ch, CURLOPT_POSTFIELDS, $data);}//运行curl$data = curl_exec($ch);//返回结果if ($data) {curl_close($ch);return $data;} else {return false;}}}

namespace app\controller\api;use bases\BaseController;class Index extends BaseController{public function index(){$params=[];$params['template_id']='12123123';//公众号的消息推送模板$params['openid']='';//小程序openid或公众号openid$params['title']='审核结果模板';$params['keyword1']='123';$params['keyword2']='审核结果';$params['keyword3']=date("Y-m-d H:i:s");$params['remark']='';$params['url']='pages/index/index';$msgService = new \services\message\Message('Mp');$msgService->send_msg($params); }}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。