美文网首页
微信小程序怎么用云开发自动一对一回复指定内容

微信小程序怎么用云开发自动一对一回复指定内容

作者: 大胡子的机器人 | 来源:发表于2021-03-29 15:44 被阅读0次

当用户在小程序点击客服按钮,进入会话时,我们一定想知道他从哪个页面进去的,页面是什么内容,用户最可能想了解什么信息。
由于我用的是云开发模式,没用服务器,因此将今天测试的流程庖丁解牛的发出来,供参考:

步骤一、用户点击客服按钮

image.png

按钮配置代码:

  <button open-type="contact" url="旅游路线链接" send-message-title="卡片标题" show-message-card="true" send-message-img="/images/img_kefu_show_tip.png" bindcontact="handleContact" 
  session-from='{"title":"两日游","url":"http://skb.lvyouquan.com/mg/53af38b41b3440af83e2b4de5cfd094c/bdf30829792b44a1a00e44dd8e18c95c/ProductNew/c7a695d11f104776b2dc4e1252d9493a?busType=1&isQRCode=1","description":"description","thumb_url":"http://vsource.cn/wp-content/uploads/2019/11/learn_downqr-150x150.png"}'>
  点击购买</button>

注意:session-from只有在用户进入会话的时候才会发送给回调接口/云开发的云函数。

云开发配置代码:


image.png

event格式如下:

event= { CreateTime: 1617001411,

  Event: 'user_enter_tempsession',

  FromUserName: 'oZ1ag4rkCRqNTXwiSkjF4_eCZJ14',

  MsgType: 'event',

  SessionFrom:

   '{"title":"两日游","url":"http://skb.lvyouquan.com/mg/53af38b41b3440af83e2b4de5cfd094c/bdf30829792b44a1a00e44dd8e18c95c/ProductNew/c7a695d11f104776b2dc4e1252d9493a?busType=1&isQRCode=1","description":"description","thumb_url":"http://vsource.cn/wp-content/uploads/2019/11/learn_downqr-150x150.png"}',

  ToUserName: 'gh_7f451e6c35fe',

  userInfo:

   { appId: 'wx2c73883c8d9b4e3f',

     openId: 'oZ1ag4rkCRqNTXwiSkjF4_eCZJ14' } }

步骤二、用户发送卡片消息

右下角可以点击发送,图片可以定制,比如定制为:发送商品,那么后台就可以自动回复对应商品的信息。此处发送一条消息的目的在于可以有5条自动回复消息的权限。否则,若用户不发送消息,是没有权限给用户主动发消息的。

此举,也可以解决小程序给H5商城导流的问题。小程序仅仅需要做简单展示或引流,H5做核心的变现和业务逻辑。


image.png

云开发的代码:

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

cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
})
//<!--下载云存储图片-->
let downLoad = async (fileID) => {
  const res = await cloud.downloadFile({
    fileID: fileID, // 图片的File ID
  })
  const buffer = res.fileContent
  console.log(buffer)
  return buffer
}

//<!--把媒体文件上传到微信服务器-->
let upload = async (Buffer) => {
  return await cloud.openapi.customerServiceMessage.uploadTempMedia({
    type: 'image',
    media: {
      contentType: 'image/png',
      value: Buffer
    }
  })
}

// 云函数入口函数
exports.main = async (event, context) => {
  const wxContext = cloud.getWXContext()
  console.log('event=',event)
  if (event.MsgType == 'miniprogrampage') {
    let Buffer = await downLoad('cloud://bvread-bdqed.6276-bvread-bdqed-1302378864/kefu/ad_kefu_qun.png')
    let meida = await upload(Buffer)
    await cloud.openapi.customerServiceMessage.send({
      "touser": wxContext.OPENID,
      "msgtype": "image",
      "image": {
        "media_id": meida.mediaId
      }
    })
  }
   else {
     var sessionFromStr = event.SessionFrom;
     var sessionFrom = JSON.parse(sessionFromStr)
    await cloud.openapi.customerServiceMessage.send({
      'touser': wxContext.OPENID,
      'msgtype': 'link',
      'link':{
        'title': sessionFrom.title,
        'url': sessionFrom.url,
        'description': sessionFrom.description,
        'thumb_url': sessionFrom.thumb_url
      }
    })
  }
  return 'success'
}

相关文章

网友评论

      本文标题:微信小程序怎么用云开发自动一对一回复指定内容

      本文链接:https://www.haomeiwen.com/subject/zuebhltx.html