小程序云函数实现客服消息回复

记一下云函数实现客服消息回复

# 背景:

负责的小程序最近上线了支付功能,但是因为虚拟支付规范 ,不能直接购买
所以退而求其次,采用了客服消息自动回复购买链接的方式

# 实验环境:

  • MacOS(10.13.6)
  • 微信开发者工具(Nightly v1.02.1908222)

# 实现方法

1.项目配置修改
项目根目录新建文件夹functions作为云函数根目录
project.config.json文件追加配置

"cloudfunctionRoot": "functions/",
"cloud": true,

2.微信开发者工具中点击云开发,打开云开发控制台
云开发控制台->设置->全局设置->添加消息推送配置
参考官方文档:消息推送服务接入步骤

  • 客服消息文本消息对应的消息类型为 text,事件类型为空

添加之后在开发者工具中云函数根目录上右键选择同步云函数列表
云函数目录上右键选择下载云函数
本示例的云函数名字为reply
打开reply文件夹下面的index.js修改为以下内容

// 云函数入口文件
const cloud = require('wx-server-sdk');
cloud.init();

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

  if (event.Content == '1' || event.Content == '购买') {
    await cloud.openapi.customerServiceMessage.send({
      touser: wxContext.OPENID,
      msgtype: 'link',
      link: {
        title: '课程名称',
        description: '课程描述',
        url: 'http://xxx.com/xxx'
      }
    });
  } else {
    await cloud.openapi.customerServiceMessage.send({
      touser: wxContext.OPENID,
      msgtype: 'text',
      text: {
        content: '您好,很高兴为您服务。回复1:购买课程'
      }
    });
  }

  return 'success';
};

然后在云函数目录下新建config.json文件并加入以下内容

{
  "permissions": {
    "openapi": [
      "customerServiceMessage.send"
    ]
  }
}

作用是为了配置customerServiceMessage.send API的云调用权限,不然无法自动回复消息

3.部署
在云函数文件夹上右击选择「上传并部署:云端安装依赖」或者「上传并部署:所有文件」

4.部署成功之后,小程序页面上追加客服按钮进行测试

<button open-type="contact">客服</button>

5.手机预览
点击客服按钮,进入客服会话,发送任意消息即会收到推送的消息,按消息提示操作,可以获取课程的购买链接

# 演示效果

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

薛定喵君

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

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

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

打赏作者

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

抵扣说明:

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

余额充值