久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合

站長資訊網
最全最豐富的資訊網站

vuejs怎么實現聊天界面

vuejs實現聊天界面的方法:1、通過執行“npm install”安裝dependencies;2、通過“scrollLoader.vue”實現滾動加載數據;3、修改main.js;4、設置App.vue中的參數即可。

vuejs怎么實現聊天界面

本文操作環境:Windows7系統、vue2.9.6版,DELL G3電腦。

vuejs怎么實現聊天界面?

Vue.js仿微信聊天窗口展示組件功能

源碼:https://github.com/doterlin/vue-wxChat

演示地址:https://doterlin.github.io/vue-wxChat/

vuejs怎么實現聊天界面

運行

# install dependencies npm install # serve with hot reload at localhost:8080 npm run dev # build for production with minification npm run build

介紹

  • 支持文本和圖片的展示(后續將支持對語音類的展示)。
  • 支持滾動加載數據,其中滾動加載依賴我另外一個組件scrollLoader.vue(《Vue.js上下滾動加載組件》)。
  • 支持QQ表情,為了能使用表情請全局注冊指令v-emotion,我在main.js做了實現;代碼如下:
function toEmotion(text, isNoGif){  var list = ['微笑', '撇嘴', '色', '發呆', '得意', '流淚', '害羞', '閉嘴', '睡', '大哭', '尷尬', '發怒', '調皮', '呲牙', '驚訝', '難過', '酷', '冷汗', '抓狂', '吐', '偷笑', '愉快', '白眼', '傲慢', '饑餓', '困', '驚恐', '流汗', '憨笑', '大兵', '奮斗', '咒罵', '疑問', '噓', '暈', '折磨', '衰', '骷髏', '敲打', '再見', '擦汗', '摳鼻', '鼓掌', '糗大了', '壞笑', '左哼哼', '右哼哼', '哈欠', '鄙視', '委屈', '快哭了', '陰險', '親親', '嚇', '可憐', '菜刀', '西瓜', '啤酒', '籃球', '乒乓', '咖啡', '飯', '豬頭', '玫瑰', '凋謝', '示愛', '愛心', '心碎', '蛋糕', '閃電', '炸彈', '刀', '足球', '瓢蟲', '便便', '月亮', '太陽', '禮物', '擁抱', '強', '弱', '握手', '勝利', '抱拳', '勾引', '拳頭', '差勁', '愛你', 'NO', 'OK', '愛情', '飛吻', '跳跳', '發抖', '慪火', '轉圈', '磕頭', '回頭', '跳繩', '揮手', '激動', '街舞', '獻吻', '左太極', '右太極', '嘿哈', '捂臉', '奸笑', '機智', '皺眉', '耶', '紅包', '雞'];  if (!text) {   return text;  }  text = text.replace(/[[u4E00-u9FA5]{1,3}]/gi, function(word){   var newWord = word.replace(/[|]/gi,'');   var index = list.indexOf(newWord);   var backgroundPositionX = -index * 24   var imgHTML = '';   if(index<0){    return word;   }   if (isNoGif) {    if(index>104){     return word;    }    imgHTML = `<i class="static-emotion" style="background:url(https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/default218877.gif) ${backgroundPositionX}px 0;"></i>`   } else {    var path = index>104 ? '/img' : 'https://res.wx.qq.com/mpres/htmledition/images/icon';    imgHTML = `![](${path}/emotion/${index}.gif)`   }   return imgHTML;  });  return text; } Vue.directive('emotion', {  bind: function (el, binding) {   el.innerHTML = toEmotion(binding.value)  } });

如何使用?

參數已經在組件中做了說明,并在App.vue中做了演示:

參數和說明:

微信聊天可視化組件

依賴scrollLoader組件, 依賴指令v-emotion(實現請查看main.js)

參數:

width 組件寬度,默認450

wrapBg 外層父元素背景顏色,默認#efefef

maxHeight 展示窗口最高高度, 默認900

contactAvatarUrl 好友頭像url

ownerAvatarUrl 微信主人頭像url

ownerNickname 微信主人昵稱

getUpperData (必需)當滾動到上方時加載數據的方法,返回值要為Promise對象,resolve的結構同data

getUnderData (必需)當滾動到下方時加載數據的方法,返回值同上

data (必需)傳入初始化數據, 結構如下:

[{  direction: 2, //為2表示微信主人發出的消息,1表示聯系人  id: 1, //根據這個來排序消息  type: 1, //1為文本,2為圖片  content: '你好!![呲牙]', //當type為1時這里是文本消息,當type2為2時這里要存放圖片地址;后續會支持語音的顯示  ctime: new Date().toLocaleString() //顯示當前消息的發送時間 }, {  direction: 1,  id: 2,  type: 1,  content: '你也好。[害羞]',  ctime: new Date().toLocaleString() }]

完整的使用實例

效果:https://doterlin.github.io/vue-wxChat/

代碼:

//主文件,對wxChat的用法做示例 <template> <wxChat   :data="wxChatData"  :showShade="false"  contactNickname="簡叔"  :getUpperData="getUpperData"  :getUnderData="getUnderData"  :ownerAvatarUrl="ownerAvatarUrl"  :contactAvatarUrl="contactAvatarUrl"  :width="420"> </wxChat> </template> <script> import wxChat from './components/wxChat.vue' export default {  name: 'app',  data () {  return {   upperTimes: 0,   underTimes: 0,   upperId: 0,   underId: 6,   ownerAvatarUrl: './src/assets/avatar1.png',   contactAvatarUrl: './src/assets/avatar2.png',   wxChatData: [{   direction: 2,   id: 1,   type: 1,   content: '你好!![呲牙]',   ctime: new Date().toLocaleString()   },   {   direction: 1,   id: 2,   type: 1,   content: '你也好。[害羞]',   ctime: new Date().toLocaleString()   },   {   direction: 2,   id: 3,   type: 1,   content: '這是我的簡歷頭像:',   ctime: new Date().toLocaleString()   },   {   direction: 2,   id: 4,   type: 2,   content: './src/assets/wyz.jpg',   ctime: new Date().toLocaleString()   },   {   direction: 1,   id: 5,   type: 1,   content: '你開心就好。[微笑]',   ctime: new Date().toLocaleString()   }]  }  },  components:{wxChat},  methods:{  //向上滾動加載數據  getUpperData(){   var me = this;   // 這里為模擬異步加載數據   // 實際上你可能要這么寫:   // return axios.get('xxx').then(function(result){   //  return result; //result的格式需要類似下面resolve里面的數組   // })   return new Promise(function(resolve){   setTimeout(function(){    //模擬加載完畢    if(me.upperTimes>3){    return resolve([]);    }    //加載數據    resolve([{     direction: 2,     id: me.upperId-1,     type: 1,     content: '向上滾動加載第 ' + me.upperTimes +' 條!',     ctime: new Date().toLocaleString()    },    {     direction: 1,     id: me.upperId-2,     type: 1,     content: '向上滾動加載第 ' + me.upperTimes +' 條!',     ctime: new Date().toLocaleString()    }]    )   }, 1000);   me.upperId= me.upperId+2;   me.upperTimes++;   })  },  getUnderData(){   var me = this;   //意義同getUpperData()   return new Promise(function(resolve){   setTimeout(function(){    //模擬加載完畢    if(me.underTimes>3){    return resolve([]);    }    //加載數據    resolve(    [{     direction: 1,     id: me.underId+1,     type: 1,     content: '向下滾動加載第 ' + me.underTimes +' 條!',     ctime: new Date().toLocaleString()    },    {     direction: 2,     id: me.underId+2,     type: 1,     content: '向下滾動加載第 ' + me.underTimes +' 條!',     ctime: new Date().toLocaleString()    }]    )   }, 1000);   me.underId = me.underId+2;   me.underTimes++;   })  }  } } </script> <style> *{  margin: 0;  padding: 0; } #app {  font-family: 'Avenir', Helvetica, Arial, sans-serif;  -webkit-font-smoothing: antialiased;  -moz-osx-font-smoothing: grayscale;  text-align: center;  color: #2c3e50;  margin-top: 60px; } h1, h2 {  font-weight: normal; } ul {  list-style-type: none;  padding: 0; } li {  display: inline-block; } </style>

歡迎 start:

https://github.com/doterlin/vue-wxChat

推薦:《最新的5個vue.js視頻教程精選》

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合
青青草国产成人99久久| 中文字幕av一区二区三区人| 婷婷成人av| 2023国产精品久久久精品双| 欧洲av不卡| 日本黄色精品| 国产精品一区免费在线| 日韩av字幕| 88久久精品| 欧美一区自拍| 欧美另类中文字幕 | 亚洲激情精品| 国产精品7m凸凹视频分类| 色爱综合av| 激情综合自拍| 狠狠干综合网| 免费不卡在线观看| 日韩中文av| 亚洲欧美网站在线观看| 日韩精品成人在线观看| 国产精品久一| 久久精品一本| 日韩久久电影| 国产一区观看| 香蕉久久久久久久av网站| 日韩中文字幕不卡| 日韩激情精品| 国产福利一区二区三区在线播放| 免费亚洲一区| 国产麻豆久久| 亚洲欧美日本日韩| 日韩国产欧美一区二区三区| 国产黄色一区| 日韩欧美另类一区二区| 欧美另类综合| 日韩精品中文字幕一区二区| 国产精品多人| 日韩精品中文字幕第1页| 九九久久婷婷| 日韩中文字幕| 国产精品99一区二区三区| 免费不卡中文字幕在线| 免费成人在线视频观看| 欧美精品观看| 精品精品久久| 99久久精品网| 亚洲九九精品| 精品入口麻豆88视频| 视频小说一区二区| 久久福利影视| 美女视频黄免费的久久| 日韩在线短视频| 亚洲三级视频| 久久精品亚洲| 亚洲精品一二三区区别| 日本不卡视频在线| 樱桃视频成人在线观看| 久久亚洲不卡| 麻豆成人综合网| 久久国产中文字幕| 欧美视频久久| 老牛影视精品| 亚洲综合图色| 国产一区二区精品久| 亚洲专区一区| 黄色欧美在线| 久久不射网站| 欧美激情在线精品一区二区三区| 在线日韩中文| 久久国内精品| 精品一区欧美| 日韩国产欧美在线播放| 亚洲91精品| 久久国产人妖系列| 亚洲第一区色| 欧美精品91| 韩日一区二区三区| 国产调教一区二区三区| 久久精品国内一区二区三区水蜜桃| 日韩一区二区三区免费视频| 日韩在线中文| 国产伦精品一区二区三区视频 | 日韩免费视频| 日韩在线麻豆| 日韩久久精品网| 欧美日韩亚洲三区| 国产精品社区| 性欧美videohd高精| 久久亚洲一区| 日韩黄色大片| 91成人福利| 国产精品毛片| 国产色播av在线| 日本视频中文字幕一区二区三区| 91精品国产91久久久久久黑人| 国产欧美日韩精品高清二区综合区 | 国产亚洲高清视频| 高清一区二区三区av| 蜜臀a∨国产成人精品| 日韩伦理在线一区| 欧美中文高清| 天堂av在线一区| 精品国模一区二区三区| 欧美成a人片免费观看久久五月天| 午夜在线视频一区二区区别| 日韩欧美另类一区二区| 麻豆久久一区二区| 日韩精品视频一区二区三区| 爽好多水快深点欧美视频| 天堂av在线| 国产精品手机在线播放| 亚洲日本国产| 99国产精品久久久久久久| 午夜精品久久久久久久久久蜜桃| 欧美日本一区| 亚洲免费资源| 欧美日韩国产一区精品一区| 婷婷成人综合| 高清日韩中文字幕| 国产一区二区三区精品在线观看| 国产欧美日韩一区二区三区在线| 亚洲婷婷丁香| 日韩视频免费| 久久视频精品| 成人片免费看| 国产在线一区不卡| 久久精品国内一区二区三区| 日韩成人午夜精品| 日韩精品高清不卡| 久久都是精品| 午夜亚洲精品| 日韩午夜黄色| 黄色欧美日韩| 亚洲黄页一区| 91久久中文| 好看不卡的中文字幕| 好看不卡的中文字幕| av不卡在线看| 免费看的黄色欧美网站| 女主播福利一区| 99久久婷婷这里只有精品| 影视先锋久久| 国户精品久久久久久久久久久不卡 | 亚洲天堂免费| 三级亚洲高清视频| 亚洲一区二区三区久久久| 丝袜亚洲另类欧美| 麻豆亚洲精品| 亚洲欧美日本视频在线观看| 久久福利精品| 日韩精品中文字幕一区二区| 亚洲一二av| 日韩高清一区在线| 国产精品自在| 久久亚洲人体| 天堂中文av在线资源库| 私拍精品福利视频在线一区| 欧美日韩国产免费观看视频| 中文一区二区| 色婷婷成人网| 国产精品久久久久毛片大屁完整版| 国产午夜一区| 久久久久久婷| 99精品在线| 中文一区一区三区免费在线观| 日韩激情av在线| 精品精品99| 久久激情婷婷| 蜜桃免费网站一区二区三区| 综合激情婷婷| 国产欧美啪啪| 韩国女主播一区二区三区| 亚洲综合电影| 国产视频一区三区| 国产欧美丝祙| 麻豆视频在线看| 先锋影音国产一区| 国产极品一区| 激情婷婷综合| 天堂va欧美ⅴa亚洲va一国产| 牛牛精品成人免费视频| 四虎884aa成人精品最新| 夜夜嗨网站十八久久| 欧美中文一区| 日韩精品2区| 亚洲日产国产精品| 美女尤物国产一区| 不卡中文字幕| 日本午夜精品久久久| 国产成人精品一区二区免费看京| 91精品久久久久久久久久不卡| 国产视频一区欧美| 欧美国产三级| 婷婷中文字幕一区| 国产精品1luya在线播放| 欧美日韩国产一区二区三区不卡 | 日韩av电影一区| 欧洲一区二区三区精品| 亚洲精品伦理| 久久99高清|