如何正确发qq代码(小程序上如何发送消息)

首页教程更新时间:2023-05-19 05:35:17

往小程序能发送消息吗?答案肯定是能的。

开通消息发送功能

进入微信公众平台,设置,开通小程序消息发送权限

配置消息发送模板

微信公众平台有三种消息推送方式

1、 开发者服务器接收消息推送

2、 云函数接收消息推送

3、微信云托管服务接收消息推送。

现在我们要看的是第一种。开发者服务器接收消息推送

开发者服务器接收消息推送

消息能力是小程序重要组成部分,我们为开发者提供了订阅消息的能力,以便实现服务的闭环和更优的体验。

订阅消息推送位置: 服务通知

订阅消息下发条件: 用户自主订阅

订阅消息卡片跳转能力: 点击查看详情或可跳转到小程序的页面

如何正确发qq代码,小程序上如何发送消息(1)

1、 先定义一个消息模板。

如下图,在微信公众平台订阅一个消息模板,用来定义消息的格式。我已经订阅成功了一个,具体步骤,可自行百度。

如何正确发qq代码,小程序上如何发送消息(2)

图1

2、获取小程序用户的openId

过程略,可百度

3、获取access_token.

access_token 是小程序全局唯一的后台接口调用凭据,调用大多数后台接口时都需使用。开发者可以通过getAccessToken接口获取并进行妥善保存。

为了access_token的安全性,后端API不能直接在小程序内通过wx.request调用,即api.weixin.qq.com不能被配置为服务器域名。开发者应在后端服务器使用getAccessToken获取access_token.

过程略

上边条件具备之后,开始整理发送消息到小程序上的内容

发送消息到小程序

下面就要调用小程序官方提供的发送消息的接口了。先看一下官方文档

如何正确发qq代码,小程序上如何发送消息(3)

图2

第一步,要引导用户授权,能够允许接收消息, 如图1.

下边是弹出授权消息的小程序代码

confirmMsg: function(e){ wx.getSetting({ withSubscriptions: true, // 这里设置为true,下面才会返回mainSwitch success: function(res){ let tmplIds = 'UblTSmgV_clnIbj5JT6tkbkFDCDSWHtX-dGazbtf9DE' // 调起授权界面弹窗 if (res.subscriptionsSetting.mainSwitch) { // 用户打开了订阅消息总开关 if (res.subscriptionsSetting.itemSettings != null) { // 用户同意总是保持是否推送消息的选择, 这里表示以后不会再拉起推送消息的授权 let moIdState = res.subscriptionsSetting.itemSettings[tmplIds]; // 用户同意的消息模板id if(moIdState === 'accept'){ console.log('接受了消息推送'); }else if(moIdState === 'reject'){ console.log("拒绝消息推送"); }else if(moIdState === 'ban'){ console.log("已被后台封禁"); } }else { // 当用户没有点击 ’总是保持以上选择,不再询问‘ 按钮。那每次执到这都会拉起授权弹窗 wx.showModal({ title: '提示', content:'请授权开通服务通知', showCancel: true, success: function (ress) { if (ress.confirm) { wx.requestSubscribeMessage({ // 调起消息订阅界面 tmplIds: [tmplIds], success (res) { wx.request({ url: 'http://localhost:9090/pro_api/test/sendOneUser/{openId}', method: 'post', data: { } }) }, fail (er){ console.log("订阅消息 失败 "); console.log(er); } }) } } }) } }else { console.log('订阅消息未开启') } }, fail: function(error){ console.log(error); }, }) },

第二步, 用户授权允许后,调用后台java接口,生成消息内容,发送到微信平台,并通知小程序用户。

RestTemplate restTemplate = new RestTemplate(); String url = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=" getAccesToken(); WxMssVo msgVo = new WxMssVo(); msgVo.setTouser(openId); msgVo.setTemplate_id(template_id); msgVo.setPage("pages/index/index"); Map<String, TemplateData> m = new HashMap<>(); m.put("thing1", new TemplateData("title content")); m.put("name4", new TemplateData("杭州")); m.put("date3", new TemplateData("2022年11月22日")); m.put("thing2", new TemplateData("content1")); m.put("thing8", new TemplateData("content2")); msgVo.setData(m); log.debug("msg content: {}", msgVo); ResponseEntity<String> responseEntity = restTemplate.postForEntity(url, msgVo, String.class); String resMsg = responseEntity.getBody(); log.info("get Message Result: {}", resMsg); return resMsg;

只要小程序端允许获取消息,并调用上边接口,根据微信用户的openId,发送到小程序用户,即可成功。

第三步,展示效果

如何正确发qq代码,小程序上如何发送消息(4)

图3

大功告成,往小程序上发送消息成功。

注意的问题

消息模板定义,除非你是学校等公立的机构主体,才能订购长期订阅的模板,其他只能订购一次性模板。

如何正确发qq代码,小程序上如何发送消息(5)

图4

第二个问题,在往微信平台发送消息内容时,需注意发送的内容有限制,否则会被校验出来,提示各种invalide date, invalide name等,无法发送,需按照下边注意一下即可。

如何正确发qq代码,小程序上如何发送消息(6)

图5

好了,基本就这些。

,
图文教程
相关文章
热门专题
推荐软件
奇热小说
奇热小说
下载
QQ2019手机版
QQ2019手机版
下载
王者荣耀
王者荣耀
下载
百度浏览器迷你版
百度浏览器迷你版
下载
2345浏览器手机版
2345浏览器手机版
下载
网易邮箱
网易邮箱
下载
爱奇艺
爱奇艺
下载
网易云音乐
网易云音乐
下载
WPSOffice
WPSOffice
下载
优酷
优酷
下载
谷歌浏览器(Chrome)
谷歌浏览器(Chrome)
下载
迅雷看看播放器
迅雷看看播放器
下载
UC浏览器
UC浏览器
下载
QQ音乐
QQ音乐
下载
阿里旺旺买家版v9.12.10C官方版
阿里旺旺买家版v9.12.10C官方版
下载
360安全卫士v12.1官方版
360安全卫士v12.1官方版
下载
猜你喜欢
宝健app
宝健app
下载
GogoExplorer(火星浏览器)V3.20Final(基于IE内核的多页面浏览器)简体中文版
GogoExplorer(火星浏览器)V3.20Final(基于IE内核的多页面浏览器)简体中文版
下载
火影忍者炸弹人小游戏
火影忍者炸弹人小游戏
下载
上古卷轴5天际单手剑背持插件v2.0
上古卷轴5天际单手剑背持插件v2.0
下载
众租房东端
众租房东端
下载
魔魔军团
魔魔军团
下载
寻星计划
寻星计划
下载
萌宠觉醒
萌宠觉醒
下载
梦幻西游手游网页版
梦幻西游手游网页版
下载
运保保
运保保
下载
再多干点活儿ios版
再多干点活儿ios版
下载
失忆症黑暗后裔修改器
失忆症黑暗后裔修改器
下载
万象妙管家V2015
万象妙管家V2015
下载
桌面计时备忘录v1.0免费版
桌面计时备忘录v1.0免费版
下载
英雄无敌3死亡阴影1.35A
英雄无敌3死亡阴影1.35A
下载
汇能教育电脑版
汇能教育电脑版
下载