当前位置:   article > 正文

微信小程序推送公众号模板消息_公众号模板消息到小程序开发环境怎么弄

公众号模板消息到小程序开发环境怎么弄

1、准备工作

微信公众号:AppId和APPSecret(必须认证)
微信小程序:AppId和APPSecret(必须认证)
微信开放者平台(小程序和公众号必须绑定同一个开放者平台,必须认证)

1. 小程序关联公众号:

1.1 路径:小程序后台——设置——关注公众号

2. 获取用户是否关注公众号标识

        2.1 路径:小程序开发设置——业务域名,添加公众号设置的 网页授权域名 才可以访问

               2.1.1 小程序设置跳转路径 获取code:URL必须是上面设置好的域名下的路径

  1. APPID:你的appid值
  2. redirect_uri:回调地址,注意https://www.xxxxxxx.com 小程序的业务域名必须配置
  3. <web-view src="https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=https://www.xxxxxxx.com/mainapp.php/Login/actionIndex&response_type=code&scope=snsapi_userinfo#wechat_redirect"></web-view>

                2.1.2 接收code值获取用户openid值

  1. /**
  2. * Info: //获取openid
  3. * @param string $code code值
  4. */
  5. public function actionIndex(){
  6. $code = $_GET["code"];//获取前端给的code值
  7. $appid = '微信公众号appid';//微信公众号appid
  8. $appsecret = '微信公众号appsecret';//微信公众号appsecret
  9. // 公众号
  10. $url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=".$appid."&secret=".$appsecret."&code=".$code."&grant_type=authorization_code";
  11. $token = file_get_contents($url);
  12. $token = json_decode($token,true);
  13. $user_url = "https://api.weixin.qq.com/sns/userinfo?access_token=".$token['access_token']."&openid=".$token["openid"]."&lang=zh_CN";
  14. $userinfo = file_get_contents($user_url);
  15. $arr = json_decode($userinfo,true);
  16. $openid = $arr['openid'];
  17. $unionid = $arr['unionid'];/*该字段必须在微信开发平台(https://open.weixin.qq.com/)进行关联*/
  18. }

                2.1.3 接收code值获取用户openid值

  1. /**
  2. * 发送模板消息
  3. */
  4. public function send_notice(){
  5. $appid = '微信公众号appid';//微信公众号appid
  6. $appsecret = '微信公众号appsecret';//微信公众号appsecret
  7. $access_token_url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$appid.'&secret='.$appsecret;
  8. //获取access_token
  9. $json_token=$this->curl_post($access_token_url);
  10. $access_token1=json_decode($json_token,true);
  11. $access_token2=$access_token1['access_token'];
  12. //模板消息
  13. $json_template = $this->json_tempalte();
  14. $url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=".$access_token2;
  15. $res = $this->curl_post($url,urldecode($json_template));
  16. $res = json_decode($res,true);
  17. if ($res['errcode']==0){
  18. return '发送成功';
  19. }else{
  20. return '发送失败';
  21. }
  22. }
  23. /**
  24. * 将模板消息json格式化
  25. */
  26. public function json_tempalte(){
  27. //模板消息
  28. $template=[
  29. 'touser' => '用户openid', //用户openid
  30. 'template_id' => "在公众号下配置的模板id", //在公众号下配置的模板id
  31. 'url' => "http://baidu.com", //点击模板消息会跳转的链接
  32. //如果想要跳转微信小程序,就把上面这个url这一行注释掉,用下面这个`miniprogram`
  33. //'miniprogram' => [
  34. //'appid' => '这里填写要跳转的小程序appid',
  35. //'pagepath' => 'pages/index/index?order_id=205', //这里填写小程序路径,可以拼接参数
  36. // ],
  37. 'topcolor' => "#7B68EE",
  38. 'data'=>array(
  39. 'first'=>array('value'=>urlencode("您的活动已通过"),'color'=>"#FF0000"),
  40. 'keyword1'=>array('value'=>urlencode('测试文章标题'),'color'=>'#FF0000'), //keyword需要与配置的模板消息对应
  41. 'keyword2'=>array('value'=>urlencode(date("Y-m-d H:i:s")),'color'=>'#FF0000'),
  42. 'keyword3'=>array('value'=>urlencode('测试发布人'),'color'=>'#FF0000'),
  43. 'keyword4'=>array('value'=>urlencode('测试状态'),'color'=>'#FF0000'),
  44. 'remark' =>array('value'=>urlencode('备注:这是测试'),'color'=>'#FF0000'), )
  45. ];
  46. $json_template=json_encode($template);
  47. return $json_template;
  48. }
  49. /**
  50. * @param $url
  51. * @param array $data
  52. * @return mixed
  53. * curl请求
  54. */
  55. function curl_post($url,$data=array()){
  56. $ch = curl_init();
  57. curl_setopt($ch, CURLOPT_URL, $url);
  58. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  59. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  60. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
  61. // POST数据
  62. curl_setopt($ch, CURLOPT_POST, 1);
  63. // 把post的变量加上
  64. curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
  65. $output = curl_exec($ch);
  66. curl_close($ch);
  67. return $output;
  68. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/秋刀鱼在做梦/article/detail/978790
推荐阅读
相关标签
  

闽ICP备14008679号