微信小程序发送-----模板消息

简介: 微信小程序发送-----模板消息

实现步骤:


1.先在前端获取fromid,openid


2.将fromid,openid存入对应用户的数据库


3.下来就是写模板消息,查询对应用户的fromid和openid,将key值对应写上


4.获取access_token,保存时间7200


5.调用模板方法即可


6.模板需要在公众号里边设置,每项就是一个key


image.png



前端:


<form bindsubmit="submitForm" report-submit >
      <button class="m-publicBtn" wx:if="{{isPreview}}" class="save_btn" bindtap='onTapPublish' form-type="submit">发布</button>
    </form>
js获取fromid存数据库
    // 存储fromId
    submitForm:function(e){
      console.log(e)
      var formid = e.detail.formId;
      var userId = wx.getStorageSync('user_id');
      wxb.Post('/api/automatic.Msg/formId', {
        formid: formid,
        userId: userId
      }, function (data) {
      });
    },
模板消息代码:
/*
author:咔咔
address:陕西西安
wechat:fangkangfk
*/
// 模板消息
    public function temMsg()
    {
        $userId = $this->request->param('userId');
        $user = new AutomaticModel();
        $userData = $user->where([
            'id'=>$userId
        ])->find();
        $formid = $userData['fromId'] ;
        //进入小程序的页面
        $page = 'pages/index/index';
        //openid
        $openid = $userData['openid'];
        if(!$openid||!$formid)die('failed!');
        if($userData['examine'] == 2){
            $key1 = '审核成功';//发送的消息
        }else{
            $key1 = '审核失败';//发送的消息
        }
        $key2 = date('Y-m-d H-i-s',time());
        $key3 = '13020733815';
        $access_token = $this->returnAssKey();
        $url = 'https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token='.$access_token;
        $data = array(//这里一定要按照微信给的格式
            "touser"=>$openid,
            "template_id"=>'模板id',
            "page"=>"pages/index/index",
            "form_id"=>$formid,
            "data"=>array(
                "keyword1"=>array(
                    "value"=>$key1,
                    "color"=>"#173177"
                ),
                "keyword2"=>array(
                    "value"=>$key2,
                    "color"=>"#173177"
                ),
                "keyword3"=>array(
                    "value"=>$key3,
                    "color"=>"#173177"
                ),
            ),
        );
        $res = $this->postCurl($url,$data,'json');//将data数组转换为json数据
        // if($res){
        //     echo json_encode(array('state'=>4,'msg'=>$res));
        // }else{
        //     echo json_encode(array('state'=>5,'msg'=>$res));
        // }
    }
    public function returnAsskey(){
        $appid = '小程序id';
        $secret = '秘钥';
        $url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$appid.'&secret='.$secret.'';
        $ass_key = $this->curl_get($url);
        $a1 = $ass_key->access_token;
        return $a1;
    }
    public function postCurl($url,$data,$type)
    {
        if($type == 'json'){
            $data = json_encode($data);//对数组进行json编码
            $header= array("Content-type: application/json;charset=UTF-8","Accept: application/json","Cache-Control: no-cache", "Pragma: no-cache");
        }
        $curl = curl_init();
        curl_setopt($curl,CURLOPT_URL,$url);
        curl_setopt($curl,CURLOPT_POST,1);
        curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,false);
        curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,false);
        if(!empty($data)){
            curl_setopt($curl,CURLOPT_POSTFIELDS,$data);
        }
        curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
        curl_setopt($curl,CURLOPT_HTTPHEADER,$header);
        $res = curl_exec($curl);
        if(curl_errno($curl)){
            echo 'Error+'.curl_error($curl);
        }
        curl_close($curl);
        return $res;
    }
    public function curl_get($url) {
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        $data = curl_exec($curl);
        $err = curl_error($curl);
        curl_close($curl);
        return json_decode($data);//对数据进行json解码
    }


审核成功失败或者失败调用一下即可

image.png

相关文章
|
1天前
|
移动开发 小程序
thinkphp+uniapp开发的多端商城系统源码/H5/小程序/APP支持DIY模板直播分销
thinkphp+uniapp开发的多端商城系统源码/H5/小程序/APP支持DIY模板直播分销
5 0
|
1月前
|
缓存 移动开发 小程序
uni-vue3-wetrip自创跨三端(H5+小程序+App)酒店预订app系统模板
vue3-uni-wetrip原创基于vite5+vue3+uniapp+pinia2+uni-ui等技术开发的仿去哪儿/携程预约酒店客房app系统。实现首页酒店展示、预订搜索、列表/详情、订单、聊天消息、我的等模块。支持编译H5+小程序+App端。
84 8
|
3月前
|
小程序
java--微信小程序发送模板消息
java--微信小程序发送模板消息
173 0
|
6月前
|
小程序
同城拼车社交微信小程序模板源码
同城拼车社交微信小程序模板源码
100 6
|
6月前
|
小程序 前端开发
微信综合购物商城小程序ui模板源码
微信电商小程序前端页面,综合购物商城ui界面模板。主要功能包含:电商主页、商品分类、购物车、购物车结算、我的个人中心管理、礼券、签到、新人专享、专栏、商品详情页、我的订单、我的余额、我的积分、我的收藏、我的地址、我的礼券等。这是一款非常齐全的电商小程序前端模板。
153 4
|
6月前
|
小程序 前端开发
网络祭祀人物微信小程序模板源码
网络祭祀人物微信小程序模板源码
71 5
|
6月前
|
小程序
医院门诊预约挂号小程序模板源码
医院门诊预约挂号小程序模板源码
67 4
|
6月前
|
小程序
乐器培训课程报名小程序模板源码
乐器培训课程报名小程序模板源码
49 3
|
6月前
|
小程序 前端开发
手机租房房源小程序模板源码
手机租房房源小程序模板源码
153 4
|
6月前
|
小程序
日常记账微信小程序模板源码
日常记账微信小程序模板源码 模板介绍 一款实用的日常记账微信小程序模板下载。包含:引导页、登录、记账中心、消息、通讯录、个人中心等模块。
83 4