小程序云函数开发,客服消息推送踩坑日记

项目上小程序需要对接客服消息推送功能,查看文档发现支持云函数开发,可以不写后端代码,果断学习 一下云开发,下面是对接过程中踩到的一些坑,希望能帮到遇到相同问题的小伙伴。

可能是我个人理解问题。我的需求是希望进入客服回话窗后,自动发送一张公众号二维码。
查看文档,根据消息推送文档说明,添加云函数,在设置里添加事件,根据事件说明可以看到,我的需求需要设置event类型为user_enter_tempsession。这里我进入了误区,我以为和微信公众号的事件一样,是自动触发的,运行起来么有任何效果。我开始了一些列踩坑之路。不看踩坑过程可以直接跳最后。
踩坑1:配置问题
文档中有个配置是需要在project.config.json增加cloudfunctionRoot参数,我把cloudfunctionRoot写成了cloudfunctionroot,导致编辑器不识别这个文件夹是云开发所用的文件,所以也就没有右键里上传,下载等功能。
踩坑2:本地调试问题
因为在云函数里使用了SDK,也就是“wx-server-sdk”,在打开时会报错,说找不到这个模块,所以我们需要在当前云函数文件下运行:

npm install --save wx-server-sdk

没有安装node.js需要安装一下,再运行此命令。
踩坑3:package.json没有自动生成
当我在本地调试成功后,上传部署云函数,得到报错:

VM912 WAService.js:2 Error: errCode: -404011 cloud function execution
error | errMsg: cloud.callFunction:fail requestID
local_debug_c128b55f-65cf-4c39-ba0a-535e2b0298c7, cloud function
service error code -1, error message read ECONNRESET; at
cloud.callFunction api;

这个错误也可能在最后说找不到wx-server-sdk,度娘找到的几乎都是说下面两点

1.修改wx.cloud.init时的env值
2.删掉node_module重新npm install,然后上传之类的

如果上面2个方法都无法解决,那就可能和我遇到同一个坑。检查当前云函数下的package.json,是否是内容:

{
  "dependencies": {
    "wx-server-sdk": "^2.5.3"
  	}
 }

我就是这个原因,导致上传的package.json,在云端不会自动部署下载wx-server-sdk,因此,需要在当前云函数目录终端运行

npm init

然后再上传部署。
解决方式:最后尝试在button的bindcontact事件里调用这个云函数,成功得到响应。

踩坑4:交互数量限制
开发测试正舒服,突然报错

VM798 WAService.js:2 Error: errCode: -404011 cloud function execution
error | errMsg: cloud.callFunction:fail requestID
1aaf186b-f36d-11eb-99af-2a745aa5ff02, cloud function service error
code -504002, error message Error: errCode: 45047 | errMsg:
openapi.customerServiceMessage.send:fail out of response count limit
rid: 6107af2d-2b4931dd-2672c08b

注意我加粗的提示,这个提示是因为客服主动回复信息的次数没了,查看发送客服消息文档,说明了48小时内只有5条,需要客户主动说话才能刷新次数。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值