微信小程序订阅号

人在家中坐,班从天上来

一直以来,微信Api一直很强势。这次也不例外。

在这里插入图片描述
既然模板消息不能使用了,那只能加班改为订阅消息。

一、微信公众平台部分

1.1 要想使用微信订阅号功能,首先你要在微信公众平台申请开启订阅号功能。
在这里插入图片描述
1.2 开通成功后,添加订阅模板。这里的模板id是用来推送消息的。
在这里插入图片描述
模板添加完成以后,微信公众平台的操作就已经完成了。

二、前端部分

微信订阅号的前端部分是很简单的,只需要用户也必须用户触发点击操作以后,调用一个接口就行了
在这里插入图片描述
wxml

 <view class="reservation-btn" bindtap="reservationBtnClik">立即预订</view>

js

 //预定
  reservationBtnClik(){
    let that=this;
    wx.requestSubscribeMessage({
      tmplIds: ['ra8YQ4iPXXUH-QyEo7qQAJTCg1p4qCwCtoD9PxgVR2Q'],
      success(res) {
        console.log(res);
        if (res.errMsg =="requestSubscribeMessage:ok"){
          that.reservationBtnClik1();
        }
     
      },
      fail(err) {
        console.log(err);
      }
    })
  },

至此,前端部分已经完成。不过这里需要注意的是,一次点击最多有三个模板id
在这里插入图片描述

后台

后台和模板消息大体一样

  //测试订阅号消息
            if($type == 'subscribeMessage'){
                $main_data = [
                    'character_string1' => ['value' => 'r123456'],
                    'thing2' => ['value' => 'r123456'],
                    'name3' => ['value' => '十个以内的纯汉字'],
                    'number5' => ['value' => '110'],
                    'thing6' => ['value' => 'r123456']
                ];
                $url = 'https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token='.$access_token;
                $data = array(
                    'touser' => $userModel->getOpenid(),
                    'template_id' =>'ra8YQ4iPXXUH-QyEo7qQAJTCg1p4qCwCtoD9PxgVR2Q',
                    'page' => 'pages/orderDetail/orderDetail?order_no='.$order_info['order_no'],
                    'data' => $main_data
                );
            }

            $content = json_encode($data, JSON_UNESCAPED_UNICODE);
            log_info('请求链接为:'.$url);
            log_info('请求参数为:'.$content);
            $res = _curl_post($url, $content);

注意:这里比较坑的是,模板消息一定要严格按照微信公众平台要求的字段的类型填写。否则就是47003
例如character_string1就代表,你只能填写数字、字母、符号;不能填写汉字。
在这里插入图片描述

在这里插入图片描述

此外,还需要特别注意的是。和模板消息不同的是,微信订阅号消息用户虽然点击同意一次,但是可以多次推送。不像模板消息中的formid一旦使用就不能再次推送了。所以后台一定要做好推送的限制,避免频繁重复推送。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值