微信小程序开发--4.3订阅消息

 首先在微信公众平台登录相应的微信小程序,左侧导航栏找到功能,点进去订阅消息,点击开通,点击选用,在公共模板库中选用订阅消息的模板。

js

wx.requestSubscribeMessage({
        tmplIds:['aDRNef2_ty37dXyqVXyUADSyO8BXOZRWYiHie4sReUc'],// 最多支持3条
        success(res) {
          // 'accept'表示用户同意订阅该条id对应的模板消息
          if (res['aDRNef2_ty37dXyqVXyUADSyO8BXOZRWYiHie4sReUc'] === 'accept') {
            // 用户同意订阅,调用云函数或服务器接口发送订阅消息
            wx.request({
              url: 'https://api3-dev.qinghansoft.com/api/xl-message-subscribeUser',
              data: {
                openid:wx.getStorageSync('openid'),
              },
              success(res) {
                console.log('订阅消息成功', res)
              },   
              fail(err) {
                console.error('订阅消息失败', err)
              }
            })
          }
        }
 })

 tmplIds就是模板ID。

 wx.request里的API

import logging 
import azure.functions as func
import json
import mysql.connector
import datetime
import os
import requests
import time
from datetime import date

def main(req: func.HttpRequest) -> func.HttpResponse:
        date=str(datetime.date.today())
        appid=''#对应小程序的appid
        appsecret=''#对应小程序的appsecret
        payload = {
        'appid': appid,
        'secret': appsecret,    
        'grant_type':'client_credential',     
        }
        r = requests.get('https://api.weixin.qq.com/cgi-bin/token',params=payload)
        resJSON= r.json()
        access_token=resJSON['access_token']
        openid = req.params.get('openid')
        template_id = req.params.get('template_id')# 获取用户订阅的模版消息id
        data = {
            "touser":openid,#用户的openid
            "template_id":template_id,#模板ID
            "page":"index",
            "miniprogram_state":"formal",
            "lang":"zh_CN",
            "data": {
                "thing1": {"value": "理疗卡"},
                "time3": {"value": date}
            }
        }
        payload2 = {
              'access_token': access_token
            }  
        p = requests.post('https://api.weixin.qq.com/cgi-bin/message/subscribe/send',params=payload2,data=json.dumps(data))
        return func.HttpResponse(access_token,status_code=200)

先用https://api.weixin.qq.com/cgi-bin/token拿到小程序的access_token(两小时过期),然后用https://api.weixin.qq.com/cgi-bin/message/subscribe/send向对应用户发送订阅信息,注意传递的data中的data要与模板详情里的详细内容相对应。

appid、appsecret在微信公众平台的设置里面查看。

参考文档:发送订阅消息 | 微信开放文档(注意必填项)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值