微信小程序订阅消息-springboot

  1. 功能
    订阅消息一般主要用于小程序推送消息到用户微信,最近做了个消息提醒功能,主要是用户预约医院科室医生看病,然后提前半小时提醒用户就诊。

  2. 用法
    a、打开微信公众平台开通订阅消息
    在这里插入图片描述

    b、使用订阅消息必须使用户授权订阅,这一部分主要是小程序端操作(由于订阅消息是一次性订阅,即用户授权一次,只能给该用户发一条消息,所以要想大量发消息可以通过点击诱导用户授权)以下代码是获取用户授权
    toDoctorDetail: function (e) {
    let id = e.currentTarget.dataset.id
    wx.requestSubscribeMessage({
    tmplIds: [‘N-IBTN-wA8L4GMD9TwQSC3LVEEiMNSZkVFbaZeoEXHY’],
    success (res) {
    if(res.errMsg===“requestSubscribeMessage:ok”){
    console.log(“订阅消息成功”)
    }
    wx.navigateTo({
    url: ‘…/doctor-detail/doctor-detail?id=’ + id,
    })
    }
    })
    },
    在这里插入图片描述

    c、若订阅消息发送功能写在小程序端,则小程序正式版无法使用该功能(官方对这个有说明),所以消息发送功能在服务端实现
    //用于获取消息发送的token值
    public String getAccessToken() {
    String appId = “wx6818b56868669b32”; //小程序appid
    String appSecret = “1a2a46e53834cd8df0a0259d6b79ddee”; //小程序密钥
    String result = cn.hutool.http.HttpUtil.get(“https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=” + appId + “&secret=” + appSecret);
    JSONObject jsonObject = JSONUtil.parseObj(result);
    return jsonObject.getStr(“access_token”);
    }

    //发送消息功能
    @RequestMapping("/appointmentDate")
    public void getAppointmentDate() throws ParseException {
    JSONObject body=new JSONObject();
    body.put(“touser”,“要收消息用户的openid”);
    body.put(“template_id”,“订阅消息的模板id”);
    body.put(“page”,“pages/user-center/my-appointment/my-appointment”);
    JSONObject json=new JSONObject();
    json.put(“thing2”,new JSONObject().put(“value”,“今日有医院预约,请及时就诊”));
    json.put(“date4”,new JSONObject().put(“value”, “2020-09-04”));
    body.put(“data”,json);
    //发送
    String accessToken= getAccessToken();
    String post = cn.hutool.http.HttpUtil.post(“https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=” + accessToken, body.toString());
    }
    功能就基本结束了。
    效果就是这样
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值