评论

使用PHP处理小程序订阅消息的推送

使用PHP发送小程序订阅消息。

前端的接口:我们可以预设多个模板ID一起申请,用户勾选的会返回accept,也是就通过,后端就可以记录一次了。

wx.requestSubscribeMessage({
      tmplIds: ["XII_0By8D9WabnUjVPB_8S1itsm2d4_xxx"],
      success: function (res) {
        if (res.XII_0By8D9WabnUjVPB_8S1itsm2d4_xxx === 'accept'){
          wx.showToast({
            title: '订阅OK!',
          })
        }
        console.log(res)
        //成功
      },
      fail(err) {
        //失败
        console.error(err);
      }
    })
  },

这里主要看一下后端PHP的代码:

其实很简单:一定要注意的是字段的类型要匹配,还有如果显示:xxx blackList 换个词或者模板吧。

 * 发送订阅消息
 * @return [type] [description]
 */
public function sendSubMessage($openId = "openId",$tmpl = "XII_0By8D9WabnUjVPB_8S1itsm2d4_xxx"){

	$params['touser'] = $openId;
	$params['template_id'] = $tmpl;
	$params['page'] = "/pages/index/index";
	$params['data'] = [
		'date2' => ['value' =>'2019-10-12'],
	    // 'character_string7' =>['value'=>'121212'],
	    'thing1'=>['value'=>'开通完成']
	];

	// return $this->success('200',$params);
	 return $this->getCurl(self::$subMessageUrl.self::$accessToken,$params);

}

看一下效果:

订阅消息现在有很多问题,在小程序端,如果勾选默认,即使把程序删了,也无法弹出,去权限设置那里,只有取消和勾选。。。。还有禁止。

最后一次编辑于  2019-10-15  
点赞 1
收藏
评论

3 个评论

  • 四月
    四月
    2020-01-16

    问下楼主后端代码可以群发吗?

    2020-01-16
    赞同
    回复
  • x
    x
    2019-11-18

    大佬这个getCurl报错了,有点懵

    2019-11-18
    赞同
    回复 1
    • Memory
      Memory
      2019-12-01
      那是curl请求啊
      2019-12-01
      回复
  • 风舞红枫、づ
    风舞红枫、づ
    2019-10-15


    2019-10-15
    赞同
    回复 4
    • 2019-10-15
      2019-10-15
      回复
    • 风舞红枫、づ
      风舞红枫、づ
      2019-10-15回复
      要下线了还开发
      2019-10-15
      回复
    • 2019-10-15回复风舞红枫、づ
      这是订阅消息。老铁。
      2019-10-15
      回复
    • 风舞红枫、づ
      风舞红枫、づ
      2019-10-15回复
      昂,瞅错了
      2019-10-15
      回复
登录 后发表内容