亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 課堂 > 小程序 > 正文

微信小程序實現聊天對話(文本、圖片)功能

2020-03-21 16:15:06
字體:
來源:轉載
供稿:網友

本文實例為大家分享了微信小程序實現聊天對話功能的具體代碼,供大家參考,具體內容如下

這是我實際項目線上的代碼, 或許有些不足 || 和你的需求不符合。 

上圖:

微信小程序,聊天對話,小程序開發

to_news.wxml

<!--pages/index/to_news/to_news.wxml--><view class='tab'> <view class='lan'>{{tabdata.title}}</view> <view class='tent'>  <text>{{tabdata.attribute_attribute}}</text>  <text class='fl_r '>{{tabdata.num}}</text> </view> <view class='xiahuaxian1'></view> <view>  <text class='fabu'>發布時間: {{tabdata.time_agree}}</text> </view></view><view class='news'> <view class='xiahuaxian1 xiahuaxia'></view> <view class='new_top_txt'>您正在與{{tabdata.nickname}}進行溝通</view> <view class="historycon">  <scroll-view scroll-y="true" scroll-top="{{scrollTop}}" class="history" wx:for="{{centendata}}" wx:key=''>   <view>    <text class='time'>{{item.time}}</text>   </view>   <block wx:if="{{item.is_show_right ==1}}">    <view class='my_right'>     <view class='page_row'>      <text wx:if='{{!item.is_img}}' class='new_txt'>{{item.content}}</text>      <image wx:if='{{item.is_img}}' src='http://sz800800.cn/Uploads/{{item.content}}' class='new_imgtent'></image>      <view wx:if='{{!item.is_img}}' class='sanjiao my'></view>      <image class='new_img' wx:if='{{item.show_rignt == "是自己的內容,顯示在右邊,右邊渲染 nickname_owner,head_owner"}}' src='{{item.head_owner}}'></image>       <image class='new_img' wx:if='{{item.show_rignt == "是自己的內容,顯示在右邊,右邊渲染 nickname_open,head_open"}}' src='{{item.head_open}}'></image>     </view>    </view>   </block>   <block wx:else>    <view class='you_left'>     <view class='page_row'>      <image class='new_img' wx:if='{{item.show_rignt == "不是自己的內容,顯示在左邊,左邊渲染 nickname_owner,head_owner"}}' src='{{item.head_owner}}'></image>       <image class='new_img' wx:if='{{item.show_rignt == "不是自己的內容,顯示在左邊,左邊渲染 nickname_open,head_open"}}' src='{{item.head_open}}'></image>      <view wx:if='{{!item.is_img}}' class='sanjiao you'></view>      <text wx:if='{{!item.is_img}}' class='new_txt'>{{item.content}}</text>      <image wx:if='{{item.is_img}}' src='http://sz800800.cn/Uploads/{{item.content}}' class='new_imgtent'></image>     </view>    </view>   </block>  </scroll-view> </view></view><view class='hei' id="hei"></view><view class="sendmessage"> <input type="emoji" bindinput="bindChange" confirm-type="done" value='{{news_input_val}}' placeholder="" /> <button catchtap="add">發送</button> <input style='display:none' type="" bindinput="bindChange" confirm-type="done" placeholder="" /> <image bindtap="upimg1" class='jia_img' src='../../../images/jia_img.png'></image></view>

to_news.js

// pages/index/to_news/to_news.jsvar app = getApp();var util = require("../../../utils/util.js")var message = '';var text = '';var user = {};var length;var zx_info_id;var openid_talk;Page({ data: {  news: '',  scrollTop: 0,  message: '',  text: text,  centendata: '',  nickName: '',  avatarUrl: '',  news_input_val:'',  tabdata: '' }, bindChange: function (e) {  message = e.detail.value }, //事件處理函數 add: function (e) {  var that = this  var data = {   program_id: app.jtappid,   openid: app._openid,   zx_info_id: zx_info_id,   content: message,   openid_talk:openid_talk  }  util.request('pg.php/ZXinfo/session_submit', 'post', data, '正在加載數據', function (res) {   if (res.data.state == 1) {    var a = true;    that.loaddata(a);    that.setData({     news_input_val:''    })    message = ''   } else {    wx.showToast({     title: '網絡錯誤,請稍后',    })   }  }) },  onLoad: function (options) {  openid_talk = options.openid_talk;  zx_info_id = options.zx_info_id;  console.log(openid_talk)  //調用應用實例的方法獲取全局數據  this.setData({   zx_info_id: zx_info_id,   nickName: app.nickName,   avatarUrl: app.avatarUrl,  });  this.loaddata() }, // 頁面加載 loaddata: function (a) {  var that = this;  var is_img = true;  var data = {   program_id: app.jtappid,   openid: app._openid,   zx_info_id: zx_info_id,   openid_talk: openid_talk  }  util.request('pg.php/ZXinfo/session_page', 'post', data, '', function (res) {   if (res.data.k1) {    res.data.k1.time_agree = util.js_date_time(res.data.k1.time_agree)   }   for (var i = 0; i < res.data.k2.length; i++) {    res.data.k2[i].time = util.js_date_time(res.data.k2[i].time)    var n = res.data.k2[i].content.charAt(res.data.k2[i].content.length - 1);    switch (n) {     case 'g':      res.data.k2[i].is_img = is_img      break;     default:    }   }   that.setData({    tabdata: res.data.k1,    centendata: res.data.k2.reverse()   })   wx.setNavigationBarTitle({ title: that.data.tabdata.nickname });   if (a) {    setTimeout(function () {      that.bottom()    }, 500);   }  })  setTimeout(function () {   if (that.data.centendata.length != length) {    length = that.data.centendata.length   }   that.loaddata()  }, 3000);   }, // 獲取hei的id節點然后屏幕焦點調轉到這個節點 bottom: function () {  var query = wx.createSelectorQuery()  query.select('#hei').boundingClientRect()  query.selectViewport().scrollOffset()  query.exec(function (res) {   wx.pageScrollTo({    scrollTop: res[0].bottom // #the-id節點的下邊界坐標   })   res[1].scrollTop // 顯示區域的豎直滾動位置  }) }, // 選擇圖片并把圖片保存  upimg1: function () {  var that = this;  wx.chooseImage({   success: function (res) {    var data = {     program_id: app.jtappid,     openid: app._openid,     zx_info_id: zx_info_id,    }    var tempFilePaths = res.tempFilePaths    wx.uploadFile({     url: 'pg.php/ZXinfo/session_submit', //提交信息至后臺     filePath: tempFilePaths[0],     name: 'content', //文件對應的參數名字(key)     formData: data, //其它的表單信息     success: function (res) {      var a = true;      that.loaddata(a);      message = ''     }    })   }  }) }})

to_news.wxss

/* pages/index/to_news/to_news.wxss */ page { background-color: #f7f7f7;} .tab { padding: 20rpx 20rpx 40rpx 50rpx; height: 20%; background-color: white;} .tab .tent { font-size: 33rpx; margin-bottom: 30rpx;}.jia_img{ height: 80rpx; width: 90rpx;}.new_imgtent{  height: 180rpx; width: 190rpx;}.tab .fabu { font-size: 33rpx; margin-top: 30rpx; margin-bottom: 30rpx;} .xiahuaxia { width: 80%; text-align: center; margin: 0 auto; position: relative; top: 60rpx;} .time { text-align: center; padding: 5rpx 20rpx 5rpx 20rpx; width: 200rpx; font-size: 26rpx; background-color: #E8E8E8;} .new_top_txt { width: 50%; position: relative; top: 38rpx; text-align: center; margin: 0 auto; font-size: 30rpx; color: #787878; background-color: #f7f7f7;} /* 聊天內容 */ .news { margin-top: 30rpx; text-align: center; margin-bottom: 150rpx;} .img_null { height: 60rpx;} .l { height: 5rpx; width: 20%; margin-top: 30rpx; color: #000;} /* 聊天 */ .my_right { float: right; position: relative; right: 40rpx;} .you_left { float: left; position: relative; left: 5rpx;} .new_img { width: 100rpx; height: 100rpx; border-radius: 50%;} .new_txt { width: 380rpx; border-radius: 7px; background-color: #95d4ff; padding: 0rpx 30rpx 0rpx 30rpx;} .sanjiao { top: 20rpx; position: relative; width: 0px; height: 0px; border-width: 10px; border-style: solid;} .my { border-color: transparent transparent transparent #95d4ff;} .you { border-color: transparent #95d4ff transparent transparent;} .sendmessage { background-color: white; width: 100%; position: fixed; bottom: 0rpx; display: flex; flex-direction: row;} .sendmessage input { width: 80%; height: 40px; background-color: white; line-height: 40px; font-size: 14px; border: 1px solid #d0d0d0; padding-left: 10px;} .sendmessage button { border: 1px solid white; width: 18%; height: 40px; background: #fff; color: #000; line-height: 40px; font-size: 14px;} .historycon { height: 90%; width: 100%; flex-direction: column; display: flex; margin-top: 100rpx; border-top: 0px;}.hei{ margin-top: 50px; height: 20rpx;}.history { height: 100%; margin-top: 15px; margin: 10px; font-size: 14px; line-height: 40px; word-break: break-all;}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美一级免费视频| 欧美性高跟鞋xxxxhd| 国产成人精品电影| 国产精品av网站| 91精品国产综合久久久久久蜜臀| 久久久久久久久电影| 欧美日本啪啪无遮挡网站| 国产精品丝袜一区二区三区| 国产一区视频在线| 欧美激情第一页xxx| 一区二区三区国产在线观看| 亚洲一区免费网站| 久久成人人人人精品欧| 久久成人精品视频| 成人福利在线视频| 欧美限制级电影在线观看| 午夜精品一区二区三区在线视频| 成人免费午夜电影| 在线亚洲国产精品网| 精品国产成人av| 97视频网站入口| 欧美一级高清免费| 亚洲国产成人精品一区二区| 色综合色综合久久综合频道88| 亚洲一区二区免费| 亚洲高清一二三区| 成人综合网网址| 国产成人在线一区二区| 九九精品在线观看| 日韩视频免费观看| 日韩欧美在线视频免费观看| 91av成人在线| 日韩av大片免费看| 国产精品嫩草影院久久久| 欧美一级视频在线观看| 尤物精品国产第一福利三区| 精品亚洲永久免费精品| 欧美精品一区在线播放| 久久精品一区中文字幕| 国产精品成人国产乱一区| 清纯唯美亚洲综合| 中文一区二区视频| 成人精品aaaa网站| 亚洲丁香久久久| 久久精品在线播放| 亚洲欧美第一页| 日韩欧美一区二区在线| 亚洲天堂av图片| 日韩精品免费在线视频| 九九热这里只有精品免费看| 久久精品国产免费观看| 日韩在线视频观看正片免费网站| 欧美激情一级欧美精品| 亚洲国产婷婷香蕉久久久久久| 欧美一级片久久久久久久| 欧美黑人性视频| 久久国产精品视频| 影音先锋欧美精品| 理论片在线不卡免费观看| 亚洲国产精品推荐| 亚洲欧美在线磁力| 欧美一级免费视频| 久久69精品久久久久久国产越南| 欧美日韩中国免费专区在线看| 久久久久国产精品免费网站| 欧美在线视频观看| 国模精品视频一区二区三区| 久久频这里精品99香蕉| 社区色欧美激情 | 欧美亚洲成人免费| 爱福利视频一区| 亚洲精品720p| 国产精品久久久久久搜索| 国产视频亚洲视频| 亚洲影视九九影院在线观看| 国产精品日本精品| 粉嫩老牛aⅴ一区二区三区| 91亚洲精品视频| 亚洲国产黄色片| 欧美成人四级hd版| 亚洲电影天堂av| 自拍偷拍免费精品| 久久亚洲国产精品成人av秋霞| 亚洲欧美中文日韩v在线观看| 韩国一区二区电影| 欧洲精品久久久| 精品呦交小u女在线| 日韩在线视频线视频免费网站| 欧美日韩国产精品一区| 91精品国产成人www| 欧美中在线观看| 欧美寡妇偷汉性猛交| 国产精品视频在线播放| 精品电影在线观看| 久久久久这里只有精品| 美乳少妇欧美精品| 夜色77av精品影院| 亚洲天堂久久av| 欧美激情视频三区| 狠狠色香婷婷久久亚洲精品| 精品在线欧美视频| 亚洲男女自偷自拍图片另类| 欧美在线视频观看免费网站| 欧美理论电影在线播放| 丝袜一区二区三区| 日韩精品亚洲视频| 久久精品国产一区二区电影| 亚洲午夜国产成人av电影男同| 日韩美女免费线视频| 亚洲国产另类久久精品| 大量国产精品视频| 91久久精品日日躁夜夜躁国产| 久久久久久久久久久网站| 91精品国产色综合久久不卡98| 亚洲激情久久久| 久久精品国产成人| 欧美理论在线观看| www.久久草.com| 欧美与黑人午夜性猛交久久久| 国产欧美欧洲在线观看| 国产精品av在线| 欧美亚洲日本黄色| 国产成人午夜视频网址| 欧美成年人视频网站欧美| 亚洲综合中文字幕在线观看| 国产精品看片资源| 欧美黑人国产人伦爽爽爽| 亚洲男女自偷自拍图片另类| 国产精品三级网站| 久久精品视频99| 国产精品久久久久久久久久久久久| 成人久久久久爱| 国产日韩欧美91| 国产精品久久久久av免费| 久久精品国产一区二区三区| 亚洲缚视频在线观看| 国产在线拍偷自揄拍精品| 欧美丝袜美女中出在线| 亚洲影视九九影院在线观看| 久久影院中文字幕| 欧美在线观看www| 日韩精品在线观| 红桃视频成人在线观看| 国产欧美在线视频| 精品美女久久久久久免费| 久久久久久久久久久亚洲| 久久久久久九九九| 日韩黄色av网站| 一本色道久久88综合日韩精品| 欧美日韩国产中文精品字幕自在自线| 91av在线免费观看| 亚洲欧美日韩在线一区| 欧美性猛交xxxx乱大交3| 欧美性猛交丰臀xxxxx网站| 精品国内亚洲在观看18黄| 成人自拍性视频| 在线看日韩av| 91亚洲精品久久久久久久久久久久| 国产精品高清网站| 成人高清视频观看www| 国产精品嫩草影院一区二区| 亚洲福利在线观看| 最近日韩中文字幕中文| 最新日韩中文字幕|