微信小程序自动客服功能


Posted in Javascript onNovember 02, 2017

微信小程序最近比较火爆,所以抽空做了个客服机器人的小程序,来回答之前坦克游戏中的常见问题。当然这个小程序也很容易修改为其他类型的自动客服,需要做的仅仅是在olami平台加上相应的问题和答案。

微信小程序自动客服功能

整个小程序界面包含2个部分,一部分用于显示回答,一部分为输入框。小程序的核心就是向olami服务器发送http请求,然后处理结果并显示出来。olami接口的详细使用方法可以参考置顶的两篇博客。处理输入的代码如下:

bindInput: function (e) {
  var that = this;
  var input = e.detail.value;
  var timeStamp = new Date().getTime();
  var sign = '1df21860a96a4509bcb50957bbdd6eccapi=nliappkey=382c5f83fb67458a99ca7b2eee17473etimestamp=' + timeStamp + '1df21860a96a4509bcb50957bbdd6ecc';
  var MD5 = require('../../utils/MD5.js')
  sign = MD5.md5(sign);
  wx.request({
   url: 'https://cn.olami.ai/cloudservice/api',
   data: {
    appkey: '382c5f83fb67458a99ca7b2eee17473e',
    api: 'nli',
    timestamp: timeStamp,
    sign: sign,
    rq: JSON.stringify({
     "data_type": "stt",
     "data": {
      "input_type": 1,
      "text": input
     }
    }),
    cusid: app.globalData.custId,
   },
   header: {
    'content-type': 'application/x-www-form-urlencoded'
   },
   method: 'POST',
   success: function(res) {
    var result = '';
    if (res.data.status == 'ok') {
     if (res.data.data.nli.length != 0) {
      result = res.data.data.nli[0].desc_obj.result
     }
    }
    that.setData({
     userInfo: {},
     userinput: '',
     result: result
    })
   }
  });
 },

运行的效果见下图:

输入

微信小程序自动客服功能

结果

微信小程序自动客服功能

帮助功能简介

要实现自动客服功能,只需以下几步:

1.在olami平台进入nli系统,新建一个语法模块。

2.进入模块,编辑grammar,新增需要支持的问题以及相应的答案。

图中的内容就是支持的问句,这里使用了平台的OSL语法描述语言,可以在一个grammar中支持多个类似的说法。osl语言说明在此处。当然,如果图省事,直接写完整句子也行,只是这样的话只有用这个完整的问句才能得到答案。

输出方式选答案,下面就可以添加多个答案,这些答案是随机输出的,可以写多个意思一样的答案,这样不会显得那么单调。

1.语法编写完成后发布一下。

微信小程序自动客服功能

如果在应用管理里配置好了模块,在小程序里就可以看到相应的问题已经支持回复了。以后要添加新支持的问题,只要重复2~3步就可以了。

客服功能支持的语句有:

  • 这是个什么游戏
  • 这个小程序是干什么的
  • 有哪些语音指令
  • 这个游戏怎么玩

总结

以上所述是小编给大家介绍的微信小程序自动客服功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
基于jquery的lazy loader插件实现图片的延迟加载[简单使用]
May 07 Javascript
使用JavaScript动态设置样式实现代码(2)
Jan 25 Javascript
JavaScript事件委托用法分析
Jan 24 Javascript
jQuery取得iframe中元素的常用方法详解
Jan 14 Javascript
jQuery实现表格文本框淡入更改值后淡出效果
Sep 27 Javascript
JavaScript自动点击链接 防止绕过浏览器访问的方法
Jan 19 Javascript
javascript 判断一个对象为数组的方法
May 03 Javascript
vuejs事件中心管理组件间的通信详解
Aug 09 Javascript
React-Native中props具体使用详解
Sep 04 Javascript
微信小程序实现预览图片功能
Oct 22 Javascript
javascript设计模式 ? 状态模式原理与用法实例分析
Apr 22 Javascript
VueCli4项目配置反向代理proxy的方法步骤
May 17 Javascript
微信小程序选择图片和放大预览图片功能
Nov 02 #Javascript
微信小程序实现图片放大预览功能
Oct 22 #Javascript
极简主义法编写JavaScript类
Nov 02 #Javascript
利用nvm管理多个版本的node.js与npm详解
Nov 02 #Javascript
JavaScript屏蔽Backspace键的实现代码
Nov 02 #Javascript
Vue源码学习之初始化模块init.js解析
Nov 02 #Javascript
为输入框加入数字js校验代码分享
Nov 02 #Javascript
You might like
PHP 获取MSN好友列表的代码(2009-05-14测试通过)
2009/09/09 PHP
PHP开发环境配置(MySQL数据库安装图文教程)
2010/04/28 PHP
两级联动select刷新后其值保持不变的实现方法
2014/01/27 PHP
腾讯微博提示missing parameter errorcode 102 错误的解决方法
2014/12/22 PHP
PHP 7.4 新语法之箭头函数实例详解
2019/05/09 PHP
PHP 判断字符串是中文还是英文, 或者是中英混合
2021/03/09 PHP
jquery 单击li防止重复加载的实现代码
2010/12/24 Javascript
JQUERY对单选框(radio)操作的小例子
2013/04/25 Javascript
JS 对象属性相关(检查属性、枚举属性等)
2015/04/05 Javascript
js实现简单的左右两边固定广告效果实例
2015/04/10 Javascript
Jquery使用小技巧汇总
2015/12/29 Javascript
学习JavaScript设计模式之中介者模式
2016/01/14 Javascript
使用ReactJS实现tab页切换、菜单栏切换、手风琴切换和进度条效果
2016/10/17 Javascript
浅谈node中的exports与module.exports的关系
2017/08/01 Javascript
ReactNative实现Toast的示例
2017/12/31 Javascript
ES6 迭代器(Iterator)和 for.of循环使用方法学习(总结)
2018/02/08 Javascript
vue项目移动端实现ip输入框问题
2019/03/19 Javascript
ES10的13个新特性示例(小结)
2019/09/23 Javascript
解决Django Static内容不能加载显示的问题
2019/07/28 Python
python判断无向图环是否存在的示例
2019/11/22 Python
PIL.Image.open和cv2.imread的比较与相互转换的方法
2020/06/03 Python
Python全局变量与global关键字常见错误解决方案
2020/10/05 Python
python实现简单的井字棋游戏(gui界面)
2021/01/22 Python
最新结婚典礼主持词
2014/03/14 职场文书
小学清明节活动总结
2014/07/04 职场文书
收款授权委托书
2014/10/02 职场文书
2014年班主任工作总结
2014/11/08 职场文书
离婚协议书样本
2015/01/26 职场文书
社区服务活动报告
2015/02/05 职场文书
中学社团活动总结
2015/05/07 职场文书
停发工资证明范本
2015/06/12 职场文书
老干部局2015年度工作总结
2015/10/22 职场文书
什么是检讨书?检讨书的格式及范文
2019/11/05 职场文书
详解Django中 render() 函数的使用方法
2021/04/22 Python
java调用Restful接口的三种方法
2021/08/23 Java/Android
javascript的setTimeout()使用方法总结
2021/11/20 Javascript