当前位置: 首页 > news >正文

uniapp 微信小程序 订阅消息功能实现

该网址 https://api.weixin.qq.com 上线后不可访问,调用该网址操作需在后端( 重要! 重要! 重要!)

1.首先拿到的三个码

//微信公众平台
//https://mp.weixin.qq.com
const wxappid = "管理-开发管理-AppID(小程序ID)";
const wxsecret = "管理-开发管理-AppSecret(小程序密钥)";
const tmplIds = "基础功能-订阅消息-模板ID";

2.点击提示确认框,确认发送消息

//订阅确认框
const subscriptionLicense = () => {uni.requestSubscribeMessage({tmplIds: [tmplIds],success(res) {if (res[tmplIds] === "accept") {uni.showToast({title: "订阅成功",icon: "none",duration: 2000,});}},});
};

3.点击发送订阅消息

//发送订阅消息
const sendMsg = async () => {const js_code = await getJsCode();const openid = await getOpenId(js_code);const openid = "oXAk65e3CPvRP9PdyqlCvDclkSyM";const access_token = await getAccessToken();uni.request({url:"https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=" +access_token,method: "POST",data: {touser: openid,template_id: tmplIds, // 模板idpage: "pages/index/index", // 点击消息卡片跳转地址data: {// data是模板内容,属性名为模板中所给,value值是需要传递的。thing13: {value: "张三",},date5: {value: "2020年3月1日",},date2: {value: "17:45",},thing6: {value: `信用卡及分期通业绩`,},thing15: {value: `请在8:00-9:00之间完成打卡`,},},},success: (res) => {console.log(res);uni.showToast({title: "成功",icon: "none",duration: 1500,});},});
};//获取jsCode用于获取OpenId
const getJsCode = () => {return new Promise((resolve, reject) => {uni.login({success(res) {console.log("getCode", res.code);resolve(res.code);},fail: (err) => {reject(err);},});});
};//获取OpenId用于发送消息
const getOpenId = (js_code) => {return new Promise((resolve, reject) => {uni.request({url: `https://api.weixin.qq.com/sns/jscode2session`,data: {appid: wxappid,secret: wxsecret,js_code: js_code,grant_type: "authorization_code",},success: (res) => {console.log("getOpenId", res.data);resolve(res.data.openid);},fail(err) {reject(err);},});});
};// 获取access_token用于发送消息
const getAccessToken = () => {return new Promise((resolve, reject) => {uni.request({url: "https://api.weixin.qq.com/cgi-bin/token",data: {appid: wxappid,secret: wxsecret,grant_type: "client_credential",},success: (res) => {console.log("getAccessToken", res.data);resolve(res.data.access_token);},fail: (err) => {reject(err);},});});
};


http://www.mrgr.cn/news/31627.html

相关文章:

  • 2024 年Postman 如何安装汉化中文版?
  • 【MySQL】explain之type类型
  • LeetCode【0027】移除元素
  • 如何开展小组讨论以强化员工对六西格玛的关注度?
  • 通过MT4调用Windows API进行文件读写操作
  • 为什么跳转到外部页面不涉及跨域?
  • 计算机组成原理之计算机软件和硬件的关系
  • LabVIEW编程能力如何能突飞猛进
  • vue3 本地windows下的字体的引用
  • 新峰商城之购物车(三)
  • 自然语言常见面试题及答案(116~120)
  • 会声会影2025视频剪辑教学
  • Go语言的垃圾回收(GC)机制的迭代和优化历史
  • 【Linux基础IO】深入Linux文件描述符与重定向:解锁高效IO操作的秘密
  • 283. 移动零
  • 【2024华为杯数学建模竞赛】E题 解题思路 | 视频特征提取
  • 麒麟银河桌面版,成功安装cuda12.6,mysql
  • Python环境搭建
  • uniApp微信小程序扫描普通二维码跳转到小程序指定页面操作方法
  • g1:基于 Llama,用提示工程实现类似 o1 的深度推理
  • 【Python报错已解决】ModuleNotFoundError: No module named ‘PIL‘
  • 2024 “华为杯” 中国研究生数学建模竞赛(D题)深度剖析|大数据驱动的地理综合问题|数学建模完整代码+建模过程全解全析
  • 【CTF】Nginx日志注入
  • vue3-05-Element-plus中表单校验:校验对象中的对象的属性,校验对象中的数组中的对象的属性,校验嵌套对象
  • 在Ubuntu中安装多个版本CMake
  • 【开源免费】基于SpringBoot+Vue.JS教师工作量管理系统(JAVA毕业设计)