微信小程序 调取云函数 信息推送失败response out of time limit or subscription is canceled hint的具体解决方法

微信小程序 调云函数 信息推送失败,提示errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint

查了很多资料都说是, 由于长时间用户OpenId未和微信公众号做互动消息,微信公众号会停止对用户进行消息推送,但没说如何操作,决定写一下详细的操作步骤,希望对你有帮助。

1.登录微信公众平台

打开, https://mp.weixin.qq.com/, 扫描登录

2开启客服收发信息

具体操作是 左边菜单  找到 功能 > 客服,进入后,  开启收发信息  和  增加客服的微信帐号。

绑定微信帐号

绑定成功之后,会收到微信公众平台的绑定信息。

3.给微信小程序客服发信息

先进入自己的微信小程序,查看属性

在微信小程序的介绍页面,有一个客服的入口,点击进去

这是关键点, 就是进入客服聊天界面之后,给它发一个信息。

如果你之前已经配置好云函数和推送配置了,这时你可以调云函数进行信息推送了,否则请继续。

4.配置云函数的代码

 在 uniapp 的文件夹cloudfunctions 新建一个pushMessage函数(名称命名看你的习惯)。

 主要代码如下:

const cloud = require('wx-server-sdk')

cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
});


// 云函数入口函数
exports.main = async (event, context) => {
    const wxContext = cloud.getWXContext()

    await cloud.openapi.customerServiceMessage.send({
        touser: wxContext.OPENID,
        msgtype: 'text',
        text: {
            content: event.content
        },
    })

    return 'success'
}

把函数上传到云端

 5.配置信息推送

打开微信开发者工具的云开发,设置 > 其他设置,点击添加信息推送

信息类型选择 text,  云函数选择刚才上传的pushMessage的方法。

6.完成

页面执行调用云函数试一下。

wx.cloud.callFunction({
  name: "pushMessage",
  data: {
    content: '收到了吗?'
  },
}).then((res) => {
  console.log("pushMessage.res", res);
})
.catch((err) => {
  console.log("pushMessage.err", err);
});

过一会会(2秒左右),微信收到信息了。

完整代码在这里

GitHub - ssttm169/wechat_push_message: 微信小程序 调取云函数 信息推送失败response out of time limit or subscription is canceled hint的具体解决方法

连接 MQTT 服务器的微信小程序需要使用第三方 MQTT 库,比如 mqttjs/wx。下面是示例代码: 1. 引入 mqtt 库 ```javascript const mqtt = require('./mqtt.min.js') ``` 2. 创建 MQTT 连接 ```javascript const client = mqtt.connect('wxs://your.mqtt.server.url', { port: 8883, username: 'your-username', password: 'your-password', clientId: 'your-client-id', protocolVersion: 4, clean: false }) ``` 其中,`your.mqtt.server.url` 是你的 MQTT 服务器地址,`port` 是端口号,`username` 和 `password` 是登录 MQTT 服务器的用户名和密码,`clientId` 是客户端 ID,`protocolVersion` 是协议版本,`clean` 表示是否清除会话数据。 3. 监听 MQTT 连接状态 ```javascript client.on('connect', function () { console.log('Connected to MQTT server') }) client.on('reconnect', function () { console.log('Reconnected to MQTT server') }) client.on('offline', function () { console.log('Disconnected from MQTT server') }) client.on('error', function (err) { console.error('MQTT error:', err) }) ``` 4. 发布 MQTT 消息 ```javascript client.publish('your-topic-name', 'your-message', { qos: 1 }) ``` 其中,`your-topic-name` 是你的主题名称,`your-message` 是你要发布的消息内容,`qos` 是消息质量等级。 5. 订阅 MQTT 主题 ```javascript client.subscribe('your-topic-name', { qos: 1 }, function (err) { if (err) { console.error('MQTT subscription error:', err) } else { console.log('Subscribed to topic') } }) ``` 其中,`your-topic-name` 是你要订阅的主题名称,`qos` 是消息质量等级。 以上就是连接 MQTT 服务器的微信小程序的示例代码。注意,以上代码仅供参考,具体实现要根据实际情况进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FreelanceDeveloper

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值