登录/注册

首页 文章 【微信小程序开发教程】智能对话开发

【微信小程序开发教程】智能对话开发

文章来源:http://xcx.9.cn/

微信小程序小程序开发

2017/08/20 10:37

2200

文章页标题下640*60

这段时间开发了一个智能对话的微信小程序,下面就把这个介绍一下。0.介绍界面:对话:功能:目前支持闲聊,问时间,问天气,算24点,单位换算,汇率查询,邮政编码,笑话,故事,算数功能。1.智能对话接口首先是对话...


0.介绍

界面:


对话: 




功能:目前支持闲聊,问时间,问天气,算24点,单位换算,汇率查询,邮政编码,笑话,故事,算数功能。



1.智能对话接口

首先是对话的接口,用的是OLAMI的接口,可以自己定义需要的对话,也有系统提供的对话模块。 
对话模块定义好之后,查看API文档,将对话通过API发送之后就可以得到回答。


API调用代码

  NLIRequest:function(corpus,arg) { // corpus是要发送的对话;arg是回调方法
    var that = this;
    // appkey
    var appkey = that.globalData.NLPAppkey;
    // appsecret
    var appSecret = that.globalData.NLPAppSecret;
    var api = "nli";
    var timestamp = new Date().getTime();
    // MD5签名
    var sign = MD5.md5(appSecret + "api=" + api + "appkey=" + appkey + "timestamp=" + timestamp + appSecret);
    var rqJson = { "data": { "input_type": 1, "text": corpus }, "data_type": "stt" };
    var rq = JSON.stringify(rqJson);
    var nliUrl = that.globalData.NLPUrl;
    // cusid是用来实现上下文的,可以自己随意定义内容,要够长够随机
    var cusid = that.globalData.NLPCusid;
    console.log("[Console log]:NLIRequest(),URL:" + nliUrl);
    wx.request({
      url: nliUrl,
      data: {
        appkey: appkey,
        api: api,
        timestamp: timestamp,
        sign: sign,
        rq: rq,
        cusid: cusid,
      },
      header: { 'content-type': 'application/x-www-form-urlencoded' },
      method: 'POST',
      success: function (res) {
        var resData = res.data;
        console.log("[Console log]:NLIRequest() success...");
        console.log("[Console log]:Result:");
        console.log(resData);
        var nli = JSON.stringify(resData);
        //回调函数,解析数据
        typeof arg.success == "function" && arg.success(nli);
      },
      fail: function (res) {
        console.log("[Console log]:NLIRequest() failed...");
        console.error("[Console log]:Error Message:" + res.errMsg);
        typeof arg.fail == "function" && arg.fail();
      },
      complete: function () {
        console.log("[Console log]:NLIRequest() complete...");
        typeof arg.complete == "function" && arg.complete();
      }
    })
  }

2.对话内容显示

前端显示代码


  
    
      
        
           {{item.text}}
           
        
           {{item.text}}{{item.url}}
           
      
    
  
  语义解析技术由OLAMI提供
  
					
【1】scroll-into-view=”{{scrolltop}}”是将对话滚动到最新位置,在js中把最新的id赋给scrolltop,页面会自动滚动到指定位置。 

【2】chatList存储对话内容,循环渲染对话框。orientation是左右位置,左边是答案,右边是用户输入。 
【3】userLogoUrl是用户头像的url,如果用户不授权使用用户公开信息,则使用默认的用户头像。


最后

其他的内容就是一些判断以及解析数据。

源代码地址:https://pan.baidu.com/s/1eSvjbQa

文章页底部640*60

官方微信

扫一扫关注 小程序官方微信

新浪微博

扫一扫

( 暂不支持下载 )
PC右侧250*250

关于我们

公司简介 媒体报道

联系我们

1053836211 关注微博

无线产品

手机版

扫一扫关注我们

手机访问

微信小程序商店 排行榜 文章 测评 专题 公众号 微信美文

Copyright © 2017 www.29store.com 微信小程序商店
北京爱久科技有限公司 版权所有

× test