中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

微信小程序中如何開發聊天會話組件

發布時間:2021-06-09 14:42:46 來源:億速云 閱讀:354 作者:小新 欄目:移動開發

這篇文章主要介紹微信小程序中如何開發聊天會話組件,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

用小程序制作聊天會話,可以用來在線客服的聊天對話等,以下是代碼詳細講解,操作起來也很簡單,一起制作吧。

微信小程序中如何開發聊天會話組件

聊天會話

場景

用于在線客服的聊天對話等

一、布局圈點

1、三角箭頭

繪制一個26rpx*26rpx矩形,使它旋轉45度,然后隱去對半,形成氣泡上的直角三角形。

<!-- 畫三角箭頭 -->
    <view class="triangle" style="{{item.myself == 1 ? 'right: 140rpx; background: #7ECB4B' : 'left: 140rpx;'}}"></view>
/* 三角箭頭 */.body .triangle {    background: white;    width: 20rpx;    height: 20rpx;    margin-top: 26rpx;    transform: rotate(45deg);    position: absolute;
}

2、flex-flow改變流動方向

分別取值['row' | 'row-reverse'],實現對方發來的消息頭像居左,自己發的消息頭像居右。

<view class="body" style="flex-flow: {{item.myself == 0 ? 'row' : 'row-reverse'}}">

3、按住說話懸浮層水平與垂直居中

方案1,js手工計算

data: {    hud_top: (wx.getSystemInfoSync().windowHeight - 150) / 2,
    hud_left: (wx.getSystemInfoSync().windowWidth - 150) / 2,
}
<view class="hud-container" wx:if="{{status != state.normal}}" style="top: {{hud_top}}px; left: {{hud_left}}px;">

方案2,純css

/*懸浮提示框*/.hud-container {    position: fixed;    width: 150px;    height: 150px;    left: 50%;    top: 50%;    margin-left: -75px;    margin-top: -75px;
}

經過對比,方案2要優于方案1

JS圈點

一、touch事件實現上滑取消語音輸入

按下出現懸浮,上滑到超過一定位移出現取消提示,松手取消;上滑未超過,松手發送

touchStart: function (e) {    // 觸摸開始
    var startY = e.touches[0].clientY;    // 記錄初始Y值
    this.setData({      startY: startY,      status: this.data.state.pressed
    });
  },  touchMove: function (e) {    // 觸摸移動
    var movedY = e.touches[0].clientY;    var distance = this.data.startY - movedY;    // console.log(distance);
    // 距離超過50,取消發送
    this.setData({      status: distance > 50 ? this.data.state.cancel : this.data.state.pressed
    });
  },  touchEnd: function (e) {    // 觸摸結束
    var endY = e.changedTouches[0].clientY;    var distance = this.data.startY - endY;    // console.log(distance);
    // 距離超過50,取消發送
    this.setData({      cancel: distance > 50 ? true : false,      status: this.data.state.normal
    });    // 不論如何,都結束錄音
    this.stop();
  },

二、發送消息完畢滾到頁尾

data: {  toView: ''}

reply: {// ...this.scrollToBottom()
},scrollToBottom: function () {    this.setData({      toView: 'row_' + (this.data.message_list.length - 1)
    });
  },
<!--每一行消息條--><view class="row" wx:for="{{message_list}}" wx:key="" id="row_{{index}}">

以上是“微信小程序中如何開發聊天會話組件”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

吉安县| 苏尼特右旗| 温州市| 炎陵县| 连城县| 库伦旗| 清涧县| 天长市| 五华县| 云林县| 东宁县| 桑植县| 千阳县| 石家庄市| 富蕴县| 西城区| 瑞昌市| 靖边县| 临清市| 漠河县| 团风县| 虎林市| 巴马| 皮山县| 麦盖提县| 鲁甸县| 祁阳县| 伊川县| 梨树县| 高陵县| 淮阳县| 镇江市| 当雄县| 沙洋县| 囊谦县| 汤原县| 吴忠市| 舒兰市| 象州县| 武威市| 连云港市|