Jolly

后端配合微信小程序实现消息订阅
消息通知是微信小程序里面必不可少的功能,在功能开发中是有很多此类的需求,比如下单成功发送付款通知,付款成功发送订单...
扫描右侧二维码阅读全文
07
2020/07

后端配合微信小程序实现消息订阅

消息通知是微信小程序里面必不可少的功能,在功能开发中是有很多此类的需求,比如下单成功发送付款通知,付款成功发送订单付款成功通知等。

微信小程序的消息通知其实也经历过接口变更以及调用方式变更,以前是直接调用,现在变成了订阅式调用,一次订阅对应一次推送。
具体可以查看微信接口文档:
微信消息订阅文档

具体流程是小程序进行消息订阅:
QQ20200707100940f215e.png
后端使用对应的模板id实现相应的消息调用:
QQ20200707100959225aa.png

后端实现

后端使用python的flask进行逻辑实现。

def send_template_msg(openid: str, template_id: str, value):
    """
    发送模板消息
    :param openid:接收者(用户)的 openid
    :param template_id:微信消息提醒模板编号
    :param value:模板内容,不填则下发空模板
    :return:
    """
    
    # 发送模板消息
    url = f'https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=xxxxxx'

    data = {"touser": openid,
            "template_id": template_id,
            "lang": "zh_CN",
            "data": value}

    r = requests.post(url, json=data).content

    return r

def send():
    value = {
        "thing2": {
            "value": name  # 申请人
        },
        "phone_number3": {
            "value": phone  # 手机号
        },
        "time4": {
            "value": create_time.strftime('%Y-%m-%d')  # 申请时间
        }
    }

    result = send_template_msg(user.user_openid, config.TEMPLATE_ID_1, value)
    result = json.loads(result.decode())
    if result.get('errcode') != 0:
        raise ViewException(error_code=result.get('errcode'), message=result.get('errmsg'))
Last modification:July 7th, 2020 at 01:59 pm
🌓