微信小程序五:(uniapp)订阅消息

本文档介绍了uniapp调用微信小程序订阅消息的步骤和常见错误处理,包括后端设置、小程序端的调用方法,以及遇到的如只能通过bindtap触发、必须真机调试、不能延迟调用等问题及其解决方案。同时强调了模板ID的验证和模板数量限制,并提醒长期性订阅消息的使用限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

小程序官方文档:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/subscribe-message.html

uniapp文档:https://uniapp.dcloud.io/api/other/requestSubscribeMessage

示例:

 

一、后端

 

 

 

二、小程序调用

uni.requestSubscribeMessage({
	tmplIds: tmplIds,//数组(后台获取的)
	success:(res)=>{
		console.log(res[tmplIds[0]]);//值包括'accept':同意、'reject':拒绝、'ban':后台禁用
	},
	fail:(err)=>{
		
	}
})

 

三、遇到的一些问题

调用失败fail返回提示及解决方式:
1.errMsg:"requestSubscribeMessage:fail can only be invoked by user TAP gesture."

解决:bindtap点击才行、不能延迟调用

2.errMsg:"requestSubscribeMessage:fail 开发者工具暂时不支持此 API 调试,请使用真机进行开发"

解决:真机调试才行

3.errMsg:"requestSubscribeMessage:fail:No template data return, verify the template id exist"

   errorCode:20001

解决:确认模板ID是订阅消息的模板ID且正确。

4.errMsg:"requestSubscribeMessage:fail:Templates count out of max bounds"

   errCode:20003

解决:模版数量超出,最多3个

5.requestSubscribeMessage:fail last call has not ended

解决:如果申请的是“一次性订阅”,一次触发只有一次推送消息机会,所以我们会在其他页面点击事件去调用requestSubscribeMessage,获取更多次的推送消息机会。但是每个手机获取是有上限的,大概几十个吧。然后只有用掉推送消息次数,才能重新成功调用,否则会出现以上问题。

注意-坑:

1.bindtap点击才可以调起

2.真机调试才行(--2020/01/03:貌似微信开发者工具也可以调用了)

3.不能延迟去调用wx.requestSubscribeMessage,如先调用其他接口请求成功再去它、使用定时器延迟调用

4.目前长期性订阅消息仅向政务民生、医疗、交通、金融、教育等线下公共服务开放,后期将逐步支持到其他线下公共服务业务

 

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值