最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue實(shí)現(xiàn)的微信機(jī)器人聊天功能案例【附源碼下載】

 更新時(shí)間:2019年02月18日 14:56:21   作者:庚中  
這篇文章主要介紹了vue實(shí)現(xiàn)的微信機(jī)器人聊天功能,結(jié)合實(shí)例形式分析了基于vue.js的微信機(jī)器人聊天相關(guān)界面布局、ajax交互等操作技巧,并附帶源碼供讀者下載參考,需要的朋友可以參考下

本文實(shí)例講述了vue實(shí)現(xiàn)的微信機(jī)器人聊天功能。分享給大家供大家參考,具體如下:

先看效果:

實(shí)現(xiàn)過(guò)程:

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>HTML5模擬微信聊天界面</title>
  <style>
    /**重置標(biāo)簽?zāi)J(rèn)樣式*/
    * {
      margin: 0;
      padding: 0;
      list-style: none;
      font-family: '微軟雅黑'
    }
    #container {
      width: 450px;
      height: 780px;
      background: #eee;
      margin: 80px auto 0;
      position: relative;
      box-shadow: 20px 20px 55px #777;
    }
    .header {
      background: #000;
      height: 40px;
      color: #fff;
      line-height: 34px;
      font-size: 20px;
      padding: 0 10px;
    }
    .footer {
      width: 430px;
      height: 50px;
      background: #666;
      position: absolute;
      bottom: 0;
      padding: 10px;
    }
    .footer input {
      width: 360px;
      height: 45px;
      outline: none;
      font-size: 20px;
      text-indent: 10px;
      position: absolute;
      border-radius: 6px;
      right: 80px;
    }
    .footer span {
      display: inline-block;
      width: 62px;
      height: 48px;
      background: #ccc;
      font-weight: 900;
      line-height: 45px;
      cursor: pointer;
      text-align: center;
      position: absolute;
      right: 10px;
      border-radius: 6px;
    }
    .footer span:hover {
      color: #fff;
      background: #999;
    }
    /* #user_face_icon {
      display: inline-block;
      background: red;
      width: 60px;
      height: 60px;
      border-radius: 30px;
      position: absolute;
      bottom: 6px;
      left: 14px;
      cursor: pointer;
      overflow: hidden;
    } */
    img {
      width: 60px;
      height: 60px;
    }
    .content {
      font-size: 20px;
      width: 435px;
      height: 662px;
      overflow: auto;
      padding: 5px;
    }
    .content li {
      margin-top: 10px;
      padding-left: 10px;
      width: 412px;
      display: block;
      clear: both;
      overflow: hidden;
    }
    .content li img {
      float: left;
    }
    .content li span {
      background: #7cfc00;
      padding: 10px;
      border-radius: 10px;
      float: left;
      margin: 6px 10px 0 10px;
      max-width: 310px;
      border: 1px solid #ccc;
      box-shadow: 0 0 3px #ccc;
    }
    .content li img.imgleft {
      float: left;
    }
    .content li img.imgright {
      float: right;
    }
    .content li span.spanleft {
      float: left;
      background: #fff;
    }
    .content li span.spanright {
      float: right;
      background: #7cfc00;
    }
  </style>
</head>
<body>
  <div id="container">
    <div class="header">
      <span style="float: left;">微信聊天界面</span>
      <span style="float: right;">14:21</span>
    </div>
    <ul class="content">
      <li v-for="(item, index) in messageList" >
        <img :src="'./img/'+(item.isSelf?'r.png':'l.png')" :class="'img'+(item.isSelf?'right':'left')">
        <span :class="'span'+(item.isSelf?'right':'left')">{{item.message}}</span>
      </li>
    </ul>
    <div class="footer">
      <!-- 添加輸入內(nèi)容 -->
      <input id="text" type="text" placeholder="說(shuō)點(diǎn)什么吧..." v-model="inputValue" @keyup.enter="chat">
      <!-- 給發(fā)送也綁定一個(gè)事件 -->
      <span id="btn" @click="chat">發(fā)送</span>
    </div>
  </div>
  <!-- 導(dǎo)入vue -->
  <script src="./lib/vue.js"></script>
  <!-- 導(dǎo)入jQuery -->
  <script src="./lib/jquery-1.12.4.min.js"></script>
  <!-- 開(kāi)始代碼 -->
  <script>
    /*
    思路分析:
    一.定義聊天信息數(shù)組格式
    [
      {
       message:'',
       isSelf:true(自己)/false(機(jī)器人)
      }
    ]
    二.獲取自己輸入內(nèi)容,將內(nèi)容渲染到頁(yè)面
    三.獲取機(jī)器人接口內(nèi)容,也將內(nèi)容渲染到頁(yè)面
     */
    //一:
    let app = new Vue({
      el: "#container",
      data: {
        //輸入內(nèi)容,雙向數(shù)據(jù)綁定
        inputValue: '',
        //聊天窗口內(nèi)容
        messageList: []
      },
      methods: {
        chat() {
          // console.log(this.inputValue);
          // console.log(this);
          // 二.獲取自己輸入內(nèi)容,將內(nèi)容渲染到頁(yè)面
          this.messageList.push({
            message: this.inputValue,
            isSelf: true
          })
          // 三.獲取機(jī)器人接口內(nèi)容,也將內(nèi)容渲染到頁(yè)面
          $.ajax({
            url:'http://www.tuling123.com/openapi/api',
            data:{
              userid:1,//添加id,實(shí)現(xiàn)上下文連貫
              key:'b6ef78a0c1f24fee90d2317139b9c3d5',
              info:this.inputValue
            },
            // 注意使用箭頭函數(shù),不然里面的this會(huì)發(fā)生變化
            success:(obj)=>{
              console.log(obj);
              // 三.獲取機(jī)器人接口內(nèi)容,也將內(nèi)容渲染到頁(yè)面
              this.messageList.push({
                message:obj.text,
                isSelf:false
              })
            }
          })
         this.inputValue='';  //最后清除文本框
        }
      },
    })
  </script>
</body>
</html>

附:gethub源碼地址:https://github.com/huanggengzhong/jiqiren

還可以點(diǎn)擊此處本站下載

希望本文所述對(duì)大家vue.js程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • vue遞歸實(shí)現(xiàn)自定義tree組件

    vue遞歸實(shí)現(xiàn)自定義tree組件

    這篇文章主要為大家詳細(xì)介紹了vue遞歸實(shí)現(xiàn)自定義tree組件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Vue.js 60分鐘快速入門教程

    Vue.js 60分鐘快速入門教程

    vuejs是當(dāng)下很火的一個(gè)JavaScript MVVM庫(kù),它是以數(shù)據(jù)驅(qū)動(dòng)和組件化的思想構(gòu)建的。今天給大家分享一篇教程關(guān)于Vue.js 60分鐘快速入門教程,一起看看吧
    2017-03-03
  • 詳解Vscode中使用Eslint終極配置大全

    詳解Vscode中使用Eslint終極配置大全

    這篇文章主要介紹了詳解Vscode中使用Eslint終極配置大全,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • vue+iview如何實(shí)現(xiàn)拼音、首字母、漢字模糊搜索

    vue+iview如何實(shí)現(xiàn)拼音、首字母、漢字模糊搜索

    這篇文章主要介紹了vue+iview如何實(shí)現(xiàn)拼音、首字母、漢字模糊搜索,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • Vue封裝全局toast組件的完整實(shí)例

    Vue封裝全局toast組件的完整實(shí)例

    組件(Component)是 Vue.js 最強(qiáng)大的功能之一,組件可以擴(kuò)展 HTML 元素,封裝可重用的代碼,這篇文章主要給大家介紹了關(guān)于Vue封裝全局toast組件,需要的朋友可以參考下
    2021-07-07
  • vue使用gitshot生成gif問(wèn)題

    vue使用gitshot生成gif問(wèn)題

    這篇文章主要介紹了vue使用gitshot生成gif問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Vue3中v-slot的特性深度剖析

    Vue3中v-slot的特性深度剖析

    在Vue3架構(gòu)里,v-slot 作為作用域插槽的關(guān)鍵支撐,重塑了父子組件間數(shù)據(jù)與方法傳遞的范式,本文主要來(lái)和大家剖析一下v-slot的相關(guān)特性,需要的可以了解下
    2025-01-01
  • Vue自動(dòng)生成組件示例總結(jié)

    Vue自動(dòng)生成組件示例總結(jié)

    在Vue中,我們可以使用unplugin-generate-component-name插件自動(dòng)基于目錄名稱生成組件名稱,這個(gè)插件使得在大型代碼庫(kù)中找到和管理組件更加容易和直觀,這篇文章主要介紹了Vue自動(dòng)生成組件示例總結(jié),需要的朋友可以參考下
    2023-12-12
  • vue中的H5移動(dòng)端項(xiàng)目?真機(jī)測(cè)試配置方式

    vue中的H5移動(dòng)端項(xiàng)目?真機(jī)測(cè)試配置方式

    這篇文章主要介紹了vue中的H5移動(dòng)端項(xiàng)目?真機(jī)測(cè)試配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • 利用Vue實(shí)現(xiàn)一個(gè)累加向上漂浮動(dòng)畫

    利用Vue實(shí)現(xiàn)一個(gè)累加向上漂浮動(dòng)畫

    在不久之前,看到一個(gè)比較有意思的小程序,就是靜神木魚,可以實(shí)現(xiàn)在線敲木魚,自動(dòng)敲木魚,手盤佛珠,靜心頌缽的,下面就來(lái)揭秘如何實(shí)現(xiàn)這個(gè)小程序中敲木魚的累加向上漂浮動(dòng)畫,需要的可以參考一下
    2022-11-11

最新評(píng)論

察雅县| 南和县| 德令哈市| 金华市| 云梦县| 信宜市| 东阳市| 阿鲁科尔沁旗| 龙胜| 宝丰县| 富民县| 克拉玛依市| 临沧市| 洛南县| 双牌县| 庆城县| 普兰县| 岚皋县| 西峡县| 德格县| 沽源县| 屏南县| 惠安县| 永济市| 廊坊市| 肃宁县| 新安县| 丁青县| 宣武区| 西昌市| 郯城县| 兰坪| 台前县| 沁源县| 宣恩县| 穆棱市| 贵港市| 呼和浩特市| 阿克陶县| 都江堰市| 四川省|