zoukankan      html  css  js  c++  java
  • 微信小程序-智能机器人

    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   }

     完!

  • 相关阅读:
    mysql 开发进阶篇系列 18 MySQL Server(innodb_buffer_pool_size)
    sql server 备份与恢复系列三 简单恢复模式下的备份与还原
    (后端)SQL Server日期时间函数
    (网页)the server responded with a status of 403 (Forbidden)
    (其他)小程序介绍和开发
    (网页)jQuery UI 实例
    (其他)令人忧虑,不阅读的中国人
    (其他)程序员的8种好习惯
    (后端)NoSuchMethodError
    JsonParseException:非法的unquoted字符((CTRL-CHAR,代码9)):必须被转义
  • 原文地址:https://www.cnblogs.com/longer756567406/p/6371490.html
Copyright © 2011-2022 走看看