github地址: https://github.com/HowName/smart-robot
项目为智能应答机器人,使用了图灵机器人接口,慢慢调戏吧
- 首页,主要处理页:
1 //index.js 2 3 var app = getApp(); 4 var that; 5 var chatListData = []; 6 7 Page({ 8 data: { 9 askWord: '', 10 userInfo: {}, 11 chatList: [], 12 }, 13 onLoad: function () { 14 that = this; 15 //获取用户信息 16 app.getUserInfo(function (userInfo) { 17 that.setData({ 18 userInfo: userInfo 19 }); 20 }); 21 }, 22 onReady: function () { 23 //问候语 24 setTimeout(function () { 25 that.addChat('你好啊!', 'l'); 26 }, 1000); 27 }, 28 sendChat: function (e) { 29 30 let word = e.detail.value.ask_word ? e.detail.value.ask_word : e.detail.value;//支持两种提交方式 31 that.addChat(word, 'r'); 32 33 //请求api获取回答 34 app.req('post', 'openapi/api', { 35 'data': { 'info': word, 'loc': '广州', 'userid': '123' }, 36 'success': function (resp) { 37 that.addChat(resp.text, 'l'); 38 if (resp.url) { 39 that.addChat(resp.url, 'l'); 40 } 41 }, 42 }); 43 44 //清空输入框 45 that.setData({ 46 askWord: '' 47 }); 48 }, 49 //新增聊天列表 50 addChat: function (word, orientation) { 51 let ch = { 'text': word, 'time': new Date().getTime(), 'orientation': orientation }; 52 chatListData.push(ch); 53 that.setData({ 54 chatList: chatListData 55 }); 56 } 57 })
- 页面:
1 //index.wxml 2 3 <view class="container"> 4 <scroll-view class="scrool-view" scroll-y="true"> 5 <view class="chat-list"> 6 <block wx:for="{{chatList}}" wx:key="time"> 7 <view class="chat-left" wx:if="{{item.orientation == 'l'}}"> 8 <image class="avatar-img" src="../../res/image/wechat-logo.png"></image> 9 <text>{{item.text}}</text> 10 </view> 11 <view class="chat-right" wx:if="{{item.orientation == 'r'}}"> 12 <text>{{item.text}}{{item.url}}</text> 13 <image class="avatar-img" src="{{userInfo.avatarUrl}}"></image> 14 </view> 15 </block> 16 </view> 17 </scroll-view> 18 <form bindsubmit="sendChat"> 19 <view class="ask-input-word"> 20 <input placeholder="" name="ask_word" type="text" bindconfirm="sendChat" value="{{askWord}}" /> 21 <button formType="submit" size="mini">发送</button> 22 </view> 23 </form> 24 </view>
- 网络请求方法:
1 //app.js 2 3 req: function (method, url, arg) { 4 let domian = 'http://www.tuling123.com/', data = { 'key': '9d2ff29d44b54e55acadbf5643569584' }, dataType = 'json';//为方便广大群众,提供key 5 let header = { 'content-type': 'application/x-www-form-urlencoded' }; 6 7 if (arg.data) { 8 data = Object.assign(data, arg.data); 9 } 10 if (arg.header) { 11 header = Object.assign(header, arg.header); 12 } 13 if (arg.dataType) { 14 dataType = arg.dataType; 15 } 16 17 let request = { 18 method: method.toUpperCase(), 19 url: domian + url, 20 data: data, 21 dataType: dataType, 22 header: header, 23 success: function (resp) { 24 console.log('response content:', resp.data); 25 26 let data = resp.data; 27 28 typeof arg.success == "function" && arg.success(data); 29 }, 30 fail: function () { 31 wx.showToast({ 32 title: '请求失败,请稍后再试', 33 icon: 'success', 34 duration: 2000 35 }); 36 37 typeof arg.fail == "function" && arg.fail(); 38 }, 39 complete: function () { 40 typeof arg.complete == "function" && arg.complete(); 41 } 42 }; 43 wx.request(request); 44 }
完!