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

2019-11-05 16:50:06 浏览数 (1)

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

# 背景:

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

# 实验环境:

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

# 实现方法

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

代码语言:javascript复制
"cloudfunctionRoot": "functions/",
"cloud": true,

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

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

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

代码语言:javascript复制
// 云函数入口文件
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文件并加入以下内容

代码语言:javascript复制
{
  "permissions": {
    "openapi": [
      "customerServiceMessage.send"
    ]
  }
}

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

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

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

代码语言:javascript复制
<button open-type="contact">客服</button>   

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

# 演示效果

0 人点赞