日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

【技术】uniapp之聊天室 demo

發(fā)布時(shí)間:2024/3/12 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【技术】uniapp之聊天室 demo 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

【技術(shù)】 uniapp 之 聊天室 demo

效果

代碼

<template><view><view class="content" @touchstart="hideDrawer"><scroll-view class="msg-list" :class="popupLayerClass" scroll-y="true":scroll-with-animation="scrollAnimation" :scroll-top="scrollTop" :scroll-into-view="scrollToView"@scrolltoupper="loadHistory" upper-threshold="50"><!-- 加載歷史數(shù)據(jù)waitingUI --><view class="loading"><view class="spinner"><view class="rect1"></view><view class="rect2"></view><view class="rect3"></view><view class="rect4"></view><view class="rect5"></view></view></view><view class="row" v-for="(row,index) in msgList" :key="index" :id="'msg'+row.msg.id"><!-- 系統(tǒng)消息 --><block v-if="row.type=='system'"><view class="system"><!-- 文字消息 --><view v-if="row.msg.type=='text'" class="text">{{row.msg.content.text}}</view><!-- 領(lǐng)取紅包消息 --><view v-if="row.msg.type=='redEnvelope'" class="red-envelope"><image src="/static/chat/red-envelope-chat.png"></image>{{row.msg.content.text}}</view></view></block><!-- 用戶消息 --><block v-if="row.type=='user'"><!-- 自己發(fā)出的消息 --><view class="my" v-if="row.msg.userinfo.uid==myuid"><!-- 左-消息 --><view class="left"><!-- 文字消息 --><view v-if="row.msg.type=='text'" class="bubble"><rich-text :nodes="row.msg.content.text"></rich-text></view><!-- 語(yǔ)言消息 --><view v-if="row.msg.type=='voice'" class="bubble voice" @tap="playVoice(row.msg)":class="playMsgid == row.msg.id?'play':''"><view class="length">{{row.msg.content.length}}</view><view class="icon my-voice"></view></view><!-- 圖片消息 --><view v-if="row.msg.type=='img'" class="bubble img" @tap="showPic(row.msg)"><image :src="row.msg.content.url":style="{'width': row.msg.content.w+'px','height': row.msg.content.h+'px'}"></image></view><!-- 紅包 --><view v-if="row.msg.type=='redEnvelope'" class="bubble red-envelope"@tap="openRedEnvelope(row.msg,index)"><image src="/static/chat/red-envelope.png"></image><view class="tis"><!-- 點(diǎn)擊開紅包 --></view><view class="blessing">{{row.msg.content.blessing}}</view></view></view><!-- 右-頭像 --><view class="right"><image :src="row.msg.userinfo.face"></image></view></view><!-- 別人發(fā)出的消息 --><view class="other" v-if="row.msg.userinfo.uid!=myuid"><!-- 左-頭像 --><view class="left"><image :src="row.msg.userinfo.face"></image></view><!-- 右-用戶名稱-時(shí)間-消息 --><view class="right"><view class="username"><view class="name">{{row.msg.userinfo.username}}</view><view class="time">{{row.msg.time}}</view></view><!-- 文字消息 --><view v-if="row.msg.type=='text'" class="bubble"><rich-text :nodes="row.msg.content.text"></rich-text></view><!-- 語(yǔ)音消息 --><view v-if="row.msg.type=='voice'" class="bubble voice" @tap="playVoice(row.msg)":class="playMsgid == row.msg.id?'play':''"><view class="icon other-voice"></view><view class="length">{{row.msg.content.length}}</view></view><!-- 圖片消息 --><view v-if="row.msg.type=='img'" class="bubble img" @tap="showPic(row.msg)"><image :src="row.msg.content.url":style="{'width': row.msg.content.w+'px','height': row.msg.content.h+'px'}"></image></view><!-- 紅包 --><view v-if="row.msg.type=='redEnvelope'" class="bubble red-envelope"@tap="openRedEnvelope(row.msg,index)"><image src="/static/chat/red-envelope.png"></image><view class="tis"><!-- 點(diǎn)擊開紅包 --></view><view class="blessing">{{row.msg.content.blessing}}</view></view></view></view></block></view></scroll-view></view><!-- 抽屜欄 --><view class="popup-layer" :class="popupLayerClass" @touchmove.stop.prevent="discard"><!-- 表情 --><swiper class="emoji-swiper" :class="{hidden:hideEmoji}" indicator-dots="true" duration="150"><swiper-item v-for="(page,pid) in emojiList" :key="pid"><view v-for="(em,eid) in page" :key="eid" @tap="addEmoji(em)"><!-- https://zhoukaiwen.com/img/icon/emojj1/1.png --><image mode="widthFix" :src="'https://zhoukaiwen.com/img/icon/emojj1/'+em.url"></image></view></swiper-item></swiper><!-- 更多功能 相冊(cè)-拍照-紅包 --><view class="more-layer" :class="{hidden:hideMore}"><view class="list"><view class="box" @tap="chooseImage"><view class="icon tupian2"></view></view><view class="box" @tap="camera"><view class="icon paizhao"></view></view><view class="box" @tap="handRedEnvelopes"><view class="icon hongbao"></view></view></view></view></view><!-- 底部輸入欄 --><view class="input-box cu-bar tabbar" :class="popupLayerClass" @touchmove.stop.prevent="discard"><!-- H5下不能錄音,輸入欄布局改動(dòng)一下 --><!-- #ifndef H5 --><view class="voice"><view class="icon" :class="isVoice?'jianpan':'yuyin'" @tap="switchVoice"></view></view><!-- #endif --><!-- #ifdef H5 --><view class="more" @tap="showMore"><view class="icon add"></view></view><!-- #endif --><view class="textbox"><view class="voice-mode" :class="[isVoice?'':'hidden',recording?'recording':'']"@touchstart="voiceBegin" @touchmove.stop.prevent="voiceIng" @touchend="voiceEnd"@touchcancel="voiceCancel">{{voiceTis}}</view><view class="text-mode" :class="isVoice?'hidden':''"><view class="box"><textarea auto-height="true" v-model="textMsg" @focus="textareaFocus" /></view><view class="em" @tap="chooseEmoji"><view class="icon biaoqing"></view></view></view></view><!-- #ifndef H5 --><view class="more" @tap="showMore"><view class="icon add"></view></view><!-- #endif --><view class="send" :class="isVoice?'hidden':''" @tap="sendText"><view class="btn">發(fā)送</view></view></view><!-- 錄音UI效果 --><view class="record" :class="recording?'':'hidden'"><view class="ing" :class="willStop?'hidden':''"><view class="icon luyin2"></view></view><view class="cancel" :class="willStop?'':'hidden'"><view class="icon chehui"></view></view><view class="tis" :class="willStop?'change':''">{{recordTis}}</view></view><!-- 紅包彈窗 --><view class="windows" :class="windowsState"><!-- 遮罩層 --><view class="mask" @touchmove.stop.prevent="discard" @tap="closeRedEnvelope"></view><view class="layer" @touchmove.stop.prevent="discard"><view class="open-redenvelope"><view class="top"><view class="close-btn"><view class="icon close" @tap="closeRedEnvelope"></view></view><image src="https://zhoukaiwen.com/img/qdpz/face/face_1.jpg"></image></view><view class="from">來(lái)自{{redenvelopeData.from}}</view><view class="blessing">{{redenvelopeData.blessing}}</view><view class="money">{{redenvelopeData.money}}</view><view class="showDetails" @tap="toDetails(redenvelopeData.rid)">查看領(lǐng)取詳情 <view class="icon to"></view></view></view></view></view></view> </template> <script>export default {data() {return {//文字消息textMsg: '',//消息列表isHistoryLoading: false,scrollAnimation: false,scrollTop: 0,scrollToView: '',msgList: [],msgImgList: [],myuid: 0,//錄音相關(guān)參數(shù)// #ifndef H5//H5不能錄音RECORDER: uni.getRecorderManager(),// #endifisVoice: false,voiceTis: '按住 說話',recordTis: "手指上滑 取消發(fā)送",recording: false,willStop: false,initPoint: {identifier: 0,Y: 0},recordTimer: null,recordLength: 0,//播放語(yǔ)音相關(guān)參數(shù)AUDIO: uni.createInnerAudioContext(),playMsgid: null,VoiceTimer: null,// 抽屜參數(shù)popupLayerClass: '',// more參數(shù)hideMore: true,//表情定義hideEmoji: true,emojiList: [[{"url": "1.png",alt: "[微笑]"}, {"url": "2.png",alt: "[生氣]"}, {"url": "3.png",alt: "[壞笑]"}, {"url": "4.png",alt: "[難受]"}, {"url": "5.png",alt: "[困]"}, {"url": "6.png",alt: "[偷看]"}, {"url": "7.png",alt: "[難過]"}, {"url": "8.png",alt: "[斜眼]"}, {"url": "9.png",alt: "[委屈]"}, {"url": "10.png",alt: "[害羞]"}, {"url": "11.png",alt: "[裂開]"}, {"url": "12.png",alt: "[偷笑]"}, {"url": "13.png",alt: "[痛苦]"}, {"url": "14.png",alt: "[白眼]"}, {"url": "15.png",alt: "[丑]"}, {"url": "16.png",alt: "[哇哇哭]"}, {"url": "17.png",alt: "[笑嘻嘻]"}, {"url": "18.png",alt: "[盯著你]"}, {"url": "19.png",alt: "[啊哈]"}, {"url": "20.png",alt: "[吃瓜]"}, {"url": "21.png",alt: "[哦吼]"}, {"url": "22.png",alt: "[哭死]"}, {"url": "23.png",alt: "[打臉]"}, {"url": "24.png",alt: "[斗雞眼]"}],[{"url": "25.png",alt: "[發(fā)呆]"}, {"url": "26.png",alt: "[憨笑]"}, {"url": "27.png",alt: "[無(wú)語(yǔ)]"}, {"url": "28.png",alt: "[雞賊]"}, {"url": "29.png",alt: "[大無(wú)語(yǔ)]"}, {"url": "30.png",alt: "[哭吐了]"}, {"url": "31.png",alt: "[呲牙笑]"}, {"url": "32.png",alt: "[奸笑]"}, {"url": "33.png",alt: "[啊啊啊]"}, {"url": "34.png",alt: "[哈嘿]"}, {"url": "35.png",alt: "[驚訝]"}, {"url": "36.png",alt: "[指你]"}, {"url": "37.png",alt: "[可愛型]"}, {"url": "38.png",alt: "[快哭了]"}, {"url": "39.png",alt: "[摳鼻屎]"}, {"url": "40.png",alt: "[酷酷]"}, {"url": "41.png",alt: "[笑汗]"}, {"url": "42.png",alt: "[算命]"}, {"url": "43.png",alt: "[紅臉壞笑]"}, {"url": "44.png",alt: "[委屈死了]"}, {"url": "45.png",alt: "[爆炸]"}, {"url": "46.png",alt: "[吐了]"}, {"url": "47.png",alt: "[么么噠]"}, {"url": "48.png",alt: "[吐血]"}],[{"url": "49.png",alt: "[面無(wú)表情]"}, {"url": "50.png",alt: "[捂嘴吐]"}, {"url": "51.png",alt: "[斜眼看]"}, {"url": "52.png",alt: "[花癡]"}, {"url": "53.png",alt: "[被打]"}, {"url": "54.png",alt: "[瞌睡]"}, {"url": "55.png",alt: "[冥想]"}, {"url": "56.png",alt: "[俏皮]"}, {"url": "57.png",alt: "[戳手委屈]"}, {"url": "58.png",alt: "[端莊]"}, {"url": "59.png",alt: "[emmm]"}, {"url": "60.png",alt: "[歡呼]"}, {"url": "61.png",alt: "[笑哭了]"}, {"url": "62.png",alt: "[抱抱]"}, {"url": "63.png",alt: "[閉眼笑]"}, {"url": "64.png",alt: "[捂嘴微笑]"}, {"url": "65.png",alt: "[笑哭2]"}, {"url": "66.png",alt: "[笑嘻嘻]"}, {"url": "67.png",alt: "[笑露齒]"}, {"url": "68.png",alt: "[陰臉笑]"}, {"url": "69.png",alt: "[問號(hào)臉]"}, {"url": "70.png",alt: "[拜拜]"}, {"url": "71.png",alt: "[難受2]"}, {"url": "72.png",alt: "[傻笑2]"}],[{"url": "73.png",alt: "[爆炸2]"}, {"url": "74.png",alt: "[二哈]"}, {"url": "75.png",alt: "[二哈吐舌]"}, {"url": "76.png",alt: "[狗狗笑哭]"}, {"url": "77.png",alt: "[狗狗綠帽]"}, {"url": "78.png",alt: "[狗狗張嘴]"}, {"url": "79.png",alt: "[狗狗綠扇]"}, {"url": "80.png",alt: "[狗狗]"}, {"url": "81.png",alt: "[貓咪]"}, {"url": "82.png",alt: "[牛啊]"}, {"url": "83.png",alt: "[愛心]"}, {"url": "84.png",alt: "[心裂開]"}, {"url": "85.png",alt: "[玫瑰花]"}, {"url": "86.png",alt: "[枯萎]"}, {"url": "87.png",alt: "[棒]"}, {"url": "88.png",alt: "[差]"}, {"url": "89.png",alt: "[紅藥]"}, {"url": "90.png",alt: "[綠藥]"}, {"url": "91.png",alt: "[抱拳]"}, {"url": "92.png",alt: "[ok]"}, {"url": "93.png",alt: "[pk]"}, {"url": "94.png",alt: "[綠帽子]"}, {"url": "95.png",alt: "[菜刀]"}]],//表情圖片圖床名稱 ,由于我上傳的第三方圖床名稱會(huì)有改變,所以有此數(shù)據(jù)來(lái)做對(duì)應(yīng),您實(shí)際應(yīng)用中應(yīng)該不需要onlineEmoji: {"1.png": "1.png","2.png": "2.png","3.png": "3.png","4.png": "4.png","5.png": "5.png","6.png": "6.png","7.png": "7.png","8.png": "8.png","9.png": "9.png","10.png": "10.png","11.png": "11.png","12.png": "12.png","13.png": "13.png","14.png": "14.png","15.png": "15.png","16.png": "16.png","17.png": "17.png","18.png": "18.png","19.png": "19.png","20.png": "20.png","21.png": "21.png","22.png": "22.png","23.png": "23.png","24.png": "24.png","25.png": "25.png","26.png": "26.png","27.png": "27.png","28.png": "28.png","29.png": "29.png","30.png": "30.png","31.png": "31.png","32.png": "32.png","33.png": "33.png","34.png": "34.png","35.png": "35.png","36.png": "36.png","37.png": "37.png","38.png": "38.png","39.png": "39.png","40.png": "40.png","41.png": "41.png","42.png": "42.png","43.png": "43.png","44.png": "44.png","45.png": "45.png","46.png": "46.png","47.png": "47.png","48.png": "48.png","49.png": "49.png","50.png": "50.png","51.png": "51.png","52.png": "52.png","53.png": "53.png","54.png": "54.png","55.png": "55.png","56.png": "56.png","57.png": "57.png","58.png": "58.png","59.png": "59.png","60.png": "60.png","61.png": "61.png","62.png": "62.png","63.png": "63.png","64.png": "64.png","65.png": "65.png","66.png": "66.png","67.png": "67.png","68.png": "68.png","69.png": "69.png","70.png": "70.png","71.png": "71.png","72.png": "72.png","73.png": "73.png","74.png": "74.png","75.png": "75.png","76.png": "76.png","77.png": "77.png","78.png": "78.png","79.png": "79.png","80.png": "80.png","81.png": "81.png","82.png": "82.png","83.png": "83.png","84.png": "84.png","85.png": "85.png","86.png": "86.png","87.png": "87.png","88.png": "88.png","89.png": "89.png","90.png": "90.png","91.png": "91.png","92.png": "92.png","93.png": "93","94.png": "94.png","95.png": "95.png"},//紅包相關(guān)參數(shù)windowsState: '',redenvelopeData: {rid: null, //紅包IDfrom: null,face: null,blessing: null,money: null}};},onLoad(option) {this.getMsgList();//語(yǔ)音自然播放結(jié)束this.AUDIO.onEnded((res) => {this.playMsgid = null;});// #ifndef H5//錄音開始事件this.RECORDER.onStart((e) => {this.recordBegin(e);})//錄音結(jié)束事件this.RECORDER.onStop((e) => {this.recordEnd(e);})// #endif},onShow() {this.scrollTop = 9999999;//模板借由本地緩存實(shí)現(xiàn)發(fā)紅包效果,實(shí)際應(yīng)用中請(qǐng)不要使用此方法。//uni.getStorage({key: 'redEnvelopeData',success: (res) => {console.log(res.data);let nowDate = new Date();let lastid = this.msgList[this.msgList.length - 1].msg.id;lastid++;let row = {type: "user",msg: {id: lastid,type: "redEnvelope",time: nowDate.getHours() + ":" + nowDate.getMinutes(),userinfo: {uid: 0,username: "大黑哥",face: "https://zhoukaiwen.com/img/kevinLogo.png"},content: {blessing: res.data.blessing,rid: Math.floor(Math.random() * 1000 + 1),isReceived: false}}};this.screenMsg(row);uni.removeStorage({key: 'redEnvelopeData'});}});},methods: {// 接受消息(篩選處理)screenMsg(msg) {//從長(zhǎng)連接處轉(zhuǎn)發(fā)給這個(gè)方法,進(jìn)行篩選處理if (msg.type == 'system') {// 系統(tǒng)消息switch (msg.msg.type) {case 'text':this.addSystemTextMsg(msg);break;case 'redEnvelope':this.addSystemRedEnvelopeMsg(msg);break;}} else if (msg.type == 'user') {// 用戶消息switch (msg.msg.type) {case 'text':this.addTextMsg(msg);break;case 'voice':this.addVoiceMsg(msg);break;case 'img':this.addImgMsg(msg);break;case 'redEnvelope':this.addRedEnvelopeMsg(msg);break;}console.log('用戶消息');//非自己的消息震動(dòng)if (msg.msg.userinfo.uid != this.myuid) {console.log('振動(dòng)');uni.vibrateLong();}}this.$nextTick(function() {// 滾動(dòng)到底this.scrollToView = 'msg' + msg.msg.id});},//觸發(fā)滑動(dòng)到頂部(加載歷史信息記錄)loadHistory(e) {if (this.isHistoryLoading) {return;}this.isHistoryLoading = true; //參數(shù)作為進(jìn)入請(qǐng)求標(biāo)識(shí),防止重復(fù)請(qǐng)求this.scrollAnimation = false; //關(guān)閉滑動(dòng)動(dòng)畫let Viewid = this.msgList[0].msg.id; //記住第一個(gè)信息ID//本地模擬請(qǐng)求歷史記錄效果setTimeout(() => {// 消息列表let list = [{type: "user",msg: {id: 1,type: "text",time: "12:56",userinfo: {uid: 0,username: "大黑哥",face: "https://zhoukaiwen.com/img/kevinLogo.png"},content: {text: "web前端開發(fā)該怎么學(xué)習(xí)?"}}},{type: "user",msg: {id: 2,type: "text",time: "12:57",userinfo: {uid: 1,username: "售后客服008",face: "https://zhoukaiwen.com/img/qdpz/face/face_2.jpg"},content: {text: "按照基本路線,從html、css、js三大基礎(chǔ)開始,然后ajax、vue進(jìn)階學(xué)習(xí),最后學(xué)習(xí)小程序、node、react。"}}},{type: "user",msg: {id: 3,type: "voice",time: "12:59",userinfo: {uid: 1,username: "售后客服008",face: "https://zhoukaiwen.com/img/qdpz/face/face_2.jpg"},content: {url: "/static/voice/1.mp3",length: "00:06"}}},{type: "user",msg: {id: 4,type: "voice",time: "13:05",userinfo: {uid: 0,username: "大黑哥",face: "https://zhoukaiwen.com/img/kevinLogo.png"},content: {url: "/static/voice/2.mp3",length: "00:06"}}},]// 獲取消息中的圖片,并處理顯示尺寸for (let i = 0; i < list.length; i++) {if (list[i].type == 'user' && list[i].msg.type == "img") {list[i].msg.content = this.setPicSize(list[i].msg.content);this.msgImgList.unshift(list[i].msg.content.url);}list[i].msg.id = Math.floor(Math.random() * 1000 + 1);this.msgList.unshift(list[i]);}//這段代碼很重要,不然每次加載歷史數(shù)據(jù)都會(huì)跳到頂部this.$nextTick(function() {this.scrollToView = 'msg' + Viewid; //跳轉(zhuǎn)上次的第一行信息位置this.$nextTick(function() {this.scrollAnimation = true; //恢復(fù)滾動(dòng)動(dòng)畫});});this.isHistoryLoading = false;}, 1000)},// 加載初始頁(yè)面消息getMsgList() {// 消息列表let list = [{type: "system",msg: {id: 0,type: "text",content: {text: "歡迎進(jìn)入Kevin聊天室"}}},{type: "user",msg: {id: 1,type: "text",time: "12:56",userinfo: {uid: 0,username: "大黑哥",face: "https://zhoukaiwen.com/img/kevinLogo.png"},content: {text: "web前端開發(fā)該怎么學(xué)習(xí)?"}}},{type: "user",msg: {id: 2,type: "text",time: "12:57",userinfo: {uid: 1,username: "售后客服008",face: "https://zhoukaiwen.com/img/qdpz/face/face_2.jpg"},content: {text: "按照基本路線,從html、css、js三大基礎(chǔ)開始,然后ajax、vue進(jìn)階學(xué)習(xí),最后學(xué)習(xí)小程序、node、react。"}}},{type: "user",msg: {id: 3,type: "voice",time: "12:59",userinfo: {uid: 1,username: "售后客服008",face: "https://zhoukaiwen.com/img/qdpz/face/face_2.jpg"},content: {url: "/static/voice/1.mp3",length: "00:06"}}},{type: "user",msg: {id: 4,type: "voice",time: "13:05",userinfo: {uid: 0,username: "大黑哥",face: "https://zhoukaiwen.com/img/kevinLogo.png"},content: {url: "/static/voice/2.mp3",length: "00:06"}}},{type: "user",msg: {id: 5,type: "img",time: "13:05",userinfo: {uid: 0,username: "大黑哥",face: "https://zhoukaiwen.com/img/kevinLogo.png"},content: {url: "https://zhoukaiwen.com/img/Design/logo/psketch3.png",w: 200,h: 200}}},{type: "user",msg: {id: 6,type: "img",time: "12:59",userinfo: {uid: 1,username: "售后客服008",face: "https://zhoukaiwen.com/img/qdpz/face/face_2.jpg"},content: {url: "https://zhoukaiwen.com/img/Design/pc/ybss_jt.png",w: 1920,h: 1080}}},{type: "system",msg: {id: 7,type: "text",content: {text: "歡迎進(jìn)入Kevin聊天室"}}},{type: "system",msg: {id: 9,type: "redEnvelope",content: {text: "售后客服008領(lǐng)取了你的紅包"}}},{type: "user",msg: {id: 10,type: "redEnvelope",time: "12:56",userinfo: {uid: 0,username: "大黑哥",face: "https://zhoukaiwen.com/img/kevinLogo.png"},content: {blessing: "恭喜發(fā)財(cái),大吉大利,萬(wàn)事如意",rid: 0,isReceived: false}}},{type: "user",msg: {id: 11,type: "redEnvelope",time: "12:56",userinfo: {uid: 1,username: "售后客服008",face: "https://zhoukaiwen.com/img/qdpz/face/face_2.jpg"},content: {blessing: "恭喜發(fā)財(cái)",rid: 1,isReceived: false}}},]// 獲取消息中的圖片,并處理顯示尺寸for (let i = 0; i < list.length; i++) {if (list[i].type == 'user' && list[i].msg.type == "img") {list[i].msg.content = this.setPicSize(list[i].msg.content);this.msgImgList.push(list[i].msg.content.url);}}this.msgList = list;// 滾動(dòng)到底部this.$nextTick(function() {//進(jìn)入頁(yè)面滾動(dòng)到底部this.scrollTop = 9999;this.$nextTick(function() {this.scrollAnimation = true;});});},//處理圖片尺寸,如果不處理寬高,新進(jìn)入頁(yè)面加載圖片時(shí)候會(huì)閃setPicSize(content) {// 讓圖片最長(zhǎng)邊等于設(shè)置的最大長(zhǎng)度,短邊等比例縮小,圖片控件真實(shí)改變,區(qū)別于aspectFit方式。let maxW = uni.upx2px(350); //350是定義消息圖片最大寬度let maxH = uni.upx2px(350); //350是定義消息圖片最大高度if (content.w > maxW || content.h > maxH) {let scale = content.w / content.h;content.w = scale > 1 ? maxW : maxH * scale;content.h = scale > 1 ? maxW / scale : maxH;}return content;},//更多功能(點(diǎn)擊+彈出) showMore() {this.isVoice = false;this.hideEmoji = true;if (this.hideMore) {this.hideMore = false;this.openDrawer();} else {this.hideDrawer();}},// 打開抽屜openDrawer() {this.popupLayerClass = 'showLayer';},// 隱藏抽屜hideDrawer() {this.popupLayerClass = '';setTimeout(() => {this.hideMore = true;this.hideEmoji = true;}, 150);},// 選擇圖片發(fā)送chooseImage() {this.getImage('album');},//拍照發(fā)送camera() {this.getImage('camera');},//發(fā)紅包handRedEnvelopes() {uni.navigateTo({url: 'hand/hand'});this.hideDrawer();},//選照片 or 拍照getImage(type) {this.hideDrawer();uni.chooseImage({sourceType: [type],sizeType: ['original', 'compressed'], //可以指定是原圖還是壓縮圖,默認(rèn)二者都有success: (res) => {for (let i = 0; i < res.tempFilePaths.length; i++) {uni.getImageInfo({src: res.tempFilePaths[i],success: (image) => {console.log(image.width);console.log(image.height);let msg = {url: res.tempFilePaths[i],w: image.width,h: image.height};this.sendMsg(msg, 'img');}});}}});},// 選擇表情chooseEmoji() {this.hideMore = true;if (this.hideEmoji) {this.hideEmoji = false;this.openDrawer();} else {this.hideDrawer();}},//添加表情addEmoji(em) {this.textMsg += em.alt;},//獲取焦點(diǎn),如果不是選表情ing,則關(guān)閉抽屜textareaFocus() {if (this.popupLayerClass == 'showLayer' && this.hideMore == false) {this.hideDrawer();}},// 發(fā)送文字消息sendText() {this.hideDrawer(); //隱藏抽屜if (!this.textMsg) {return;}let content = this.replaceEmoji(this.textMsg);let msg = {text: content}this.sendMsg(msg, 'text');this.textMsg = ''; //清空輸入框},//替換表情符號(hào)為圖片replaceEmoji(str) {let replacedStr = str.replace(/\[([^(\]|\[)]*)\]/g, (item, index) => {console.log("str: " + str);console.log("index: " + index);console.log("item: " + item);for (let i = 0; i < this.emojiList.length; i++) {let row = this.emojiList[i];for (let j = 0; j < row.length; j++) {let EM = row[j];if (EM.alt == item) {//在線表情路徑,圖文混排必須使用網(wǎng)絡(luò)路徑,請(qǐng)上傳一份表情到你的服務(wù)器后再替換此路徑 //比如你上傳服務(wù)器后,你的100.gif路徑為https://www.xxx.com/emoji/100.gif 則替換onlinePath填寫為https://www.xxx.com/emoji/let onlinePath = 'https://zhoukaiwen.com/img/icon/emojj1/'let imgstr = '<img width="32rpx" src="' + onlinePath + this.onlineEmoji[EM.url] +'">';console.log("imgstr: " + imgstr);return imgstr;}}}});return '<div style="display: flex;align-items: center;word-wrap:break-word;">' + replacedStr + '</div>';},// 發(fā)送消息sendMsg(content, type) {//實(shí)際應(yīng)用中,此處應(yīng)該提交長(zhǎng)連接,模板僅做本地處理。var nowDate = new Date();let lastid = this.msgList[this.msgList.length - 1].msg.id;lastid++;let msg = {type: 'user',msg: {id: lastid,time: nowDate.getHours() + ":" + nowDate.getMinutes(),type: type,userinfo: {uid: 0,username: "大黑哥",face: "https://zhoukaiwen.com/img/kevinLogo.png"},content: content}}// 發(fā)送消息this.screenMsg(msg);// 定時(shí)器模擬對(duì)方回復(fù),三秒setTimeout(() => {lastid = this.msgList[this.msgList.length - 1].msg.id;lastid++;msg = {type: 'user',msg: {id: lastid,time: nowDate.getHours() + ":" + nowDate.getMinutes(),type: type,userinfo: {uid: 1,username: "售后客服008",face: "https://zhoukaiwen.com/img/qdpz/face/face_2.jpg"},content: content}}// 本地模擬發(fā)送消息this.screenMsg(msg);}, 3000)},// 添加文字消息到列表addTextMsg(msg) {this.msgList.push(msg);},// 添加語(yǔ)音消息到列表addVoiceMsg(msg) {this.msgList.push(msg);},// 添加圖片消息到列表addImgMsg(msg) {msg.msg.content = this.setPicSize(msg.msg.content);this.msgImgList.push(msg.msg.content.url);this.msgList.push(msg);},addRedEnvelopeMsg(msg) {this.msgList.push(msg);},// 添加系統(tǒng)文字消息到列表addSystemTextMsg(msg) {this.msgList.push(msg);},// 添加系統(tǒng)紅包消息到列表addSystemRedEnvelopeMsg(msg) {this.msgList.push(msg);},// 打開紅包openRedEnvelope(msg, index) {let rid = msg.content.rid;uni.showLoading({title: '加載中...'});console.log("index: " + index);//模擬請(qǐng)求服務(wù)器效果setTimeout(() => {//加載數(shù)據(jù)if (rid == 0) {this.redenvelopeData = {rid: 0, //紅包IDfrom: "大黑哥",face: "https://zhoukaiwen.com/img/qdpz/face/face.jpg",blessing: "恭喜發(fā)財(cái),大吉大利",money: "已領(lǐng)完"}} else {this.redenvelopeData = {rid: 1, //紅包IDfrom: "售后客服008",face: "https://zhoukaiwen.com/img/qdpz/face/face_2.jpg",blessing: "恭喜發(fā)財(cái)",money: "0.01"}if (!msg.content.isReceived) {// {type:"system",msg:{id:8,type:"redEnvelope",content:{text:"你領(lǐng)取了售后客服008的紅包"}}},this.sendSystemMsg({text: "你領(lǐng)取了" + (msg.userinfo.uid == this.myuid ? "自己" : msg.userinfo.username) + "的紅包"}, 'redEnvelope');console.log("this.msgList[index]: " + JSON.stringify(this.msgList[index]));this.msgList[index].msg.content.isReceived = true;}}uni.hideLoading();this.windowsState = 'show';}, 200)},// 關(guān)閉紅包彈窗closeRedEnvelope() {this.windowsState = 'hide';setTimeout(() => {this.windowsState = '';}, 200)},sendSystemMsg(content, type) {let lastid = this.msgList[this.msgList.length - 1].msg.id;lastid++;let row = {type: "system",msg: {id: lastid,type: type,content: content}};this.screenMsg(row)},//領(lǐng)取詳情toDetails(rid) {uni.navigateTo({url: 'details/details?rid=' + rid})},// 預(yù)覽圖片showPic(msg) {uni.previewImage({indicator: "none",current: msg.content.url,urls: this.msgImgList});},// 播放語(yǔ)音playVoice(msg) {this.playMsgid = msg.id;this.AUDIO.src = msg.content.url;this.$nextTick(function() {this.AUDIO.play();});},// 錄音開始voiceBegin(e) {if (e.touches.length > 1) {return;}this.initPoint.Y = e.touches[0].clientY;this.initPoint.identifier = e.touches[0].identifier;this.RECORDER.start({format: "mp3"}); //錄音開始,},//錄音開始UI效果recordBegin(e) {this.recording = true;this.voiceTis = '松開 結(jié)束';this.recordLength = 0;this.recordTimer = setInterval(() => {this.recordLength++;}, 1000)},// 錄音被打斷voiceCancel() {this.recording = false;this.voiceTis = '按住 說話';this.recordTis = '手指上滑 取消發(fā)送'this.willStop = true; //不發(fā)送錄音this.RECORDER.stop(); //錄音結(jié)束},// 錄音中(判斷是否觸發(fā)上滑取消發(fā)送)voiceIng(e) {if (!this.recording) {return;}let touche = e.touches[0];//上滑一個(gè)導(dǎo)航欄的高度觸發(fā)上滑取消發(fā)送if (this.initPoint.Y - touche.clientY >= uni.upx2px(100)) {this.willStop = true;this.recordTis = '松開手指 取消發(fā)送'} else {this.willStop = false;this.recordTis = '手指上滑 取消發(fā)送'}},// 結(jié)束錄音voiceEnd(e) {if (!this.recording) {return;}this.recording = false;this.voiceTis = '按住 說話';this.recordTis = '手指上滑 取消發(fā)送'this.RECORDER.stop(); //錄音結(jié)束},//錄音結(jié)束(回調(diào)文件)recordEnd(e) {clearInterval(this.recordTimer);if (!this.willStop) {console.log("e: " + JSON.stringify(e));let msg = {length: 0,url: e.tempFilePath}let min = parseInt(this.recordLength / 60);let sec = this.recordLength % 60;min = min < 10 ? '0' + min : min;sec = sec < 10 ? '0' + sec : sec;msg.length = min + ':' + sec;this.sendMsg(msg, 'voice');} else {console.log('取消發(fā)送錄音');}this.willStop = false;},// 切換語(yǔ)音/文字輸入switchVoice() {this.hideDrawer();this.isVoice = this.isVoice ? false : true;},discard() {return;}}} </script> <style lang="scss">@import "css/style.scss";.content .showLayer {transform: translate3d(0, -43vw, 0);} </style>

源碼

前端鋪?zhàn)?/p>

總結(jié)

以上是生活随笔為你收集整理的【技术】uniapp之聊天室 demo的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

最新日本中文字幕 | 欧美精品九九99久久 | 日韩av黄| 国产精品免费一区二区三区在线观看 | 欧美激情第八页 | 91在线免费公开视频 | 激情视频二区 | 夜夜骑日日操 | 特片网久久 | 国产免费av一区二区三区 | 亚洲一级性 | 69久久99精品久久久久婷婷 | 日韩欧美国产精品 | 国产91精品一区二区麻豆网站 | 色94色欧美| 国产剧情av在线播放 | 欧美日韩观看 | 国产在线国偷精品产拍免费yy | 色在线最新 | 亚洲日韩中文字幕 | www.久草.com| 狠狠躁夜夜躁人人爽超碰97香蕉 | 国产成人精品不卡 | 亚洲精品456在线播放第一页 | 亚洲午夜精品一区二区三区电影院 | 成人av日韩 | 精品久久久久久一区二区里番 | 激情欧美xxxx| 亚洲美女精品区人人人人 | 97人人人人 | 中文字幕一二 | 久久精品99北条麻妃 | 久av在线| 麻豆视频国产精品 | 在线a视频| 永久av免费在线观看 | 免费观看一区二区三区视频 | av在线电影网站 | 欧美大片大全 | 99久久99视频 | 国产精品毛片一区二区 | 在线观看91精品国产网站 | www.com久久| 毛片888 | 999久久久国产精品 高清av免费观看 | 色婷婷成人网 | 成人av免费在线观看 | 国内视频 | www.狠狠色 | 91网站在线视频 | 黄色免费观看视频 | www.夜夜操 | 99精品视频99 | 久久伦理视频 | 欧美激情精品久久久久 | 视频直播国产精品 | 久久9999久久免费精品国产 | 色五丁香 | 亚洲视频一区二区三区在线观看 | 国产精品a久久 | 国产精品久久久久久久久久久久久 | 久草视频在线播放 | 国产成人av | 国产又粗又猛又黄又爽 | 又黄又爽又刺激的视频 | 成人免费观看a | 99热国产在线 | 婷婷九月丁香 | 91精品国产成 | 亚洲视频每日更新 | 国产精品美女久久久久久免费 | 亚洲春色奇米影视 | 悠悠av资源片 | 免费网站观看www在线观看 | 99精品国产免费久久久久久下载 | 亚洲午夜久久久久久久久 | 亚洲日日射 | 久久xxxx | 欧美综合在线视频 | 91天堂在线观看 | 天天草天天干天天 | 欧美一级黄色视屏 | 久久精品aaa | 国产视频精选在线 | 一区二区亚洲精品 | 日韩黄色在线观看 | 色六月婷婷 | 国产精品一区二区三区在线 | 久久久久人人 | 在线观看免费黄视频 | 欧美日韩裸体免费视频 | 毛片一级免费一级 | 天天操网址| 免费人成在线观看网站 | 天天色天天综合 | 久久毛片网站 | 激情图片qvod| 亚洲a免费 | 97视频播放 | 国产精品午夜久久 | 中文久草 | 亚洲人成人天堂h久久 | 成年人免费在线观看网站 | 久精品视频免费观看2 | 国产1区2 | 在线播放精品一区二区三区 | 午夜精品久久久久久久99无限制 | 草久久久久久 | 成年人视频免费在线播放 | 97电影院在线观看 | 丁香五月缴情综合网 | 日韩av中文在线 | 天天插狠狠干 | 欧美日韩高清一区 | 色.www | 亚洲在线综合 | 亚洲综合小说电影qvod | 成人毛片a | 六月激情丁香 | 深爱激情综合 | 成人免费视频播放 | 国产精品第三页 | 国产午夜一区 | 天天操狠狠操夜夜操 | 91成人免费看片 | 99国产精品久久久久久久久久 | www.天天成人国产电影 | 伊人午夜视频 | 黄色一区三区 | 久久99九九99精品 | 婷婷色狠狠 | 欧美日韩国产色综合一二三四 | 国产成人精品一区二区三区福利 | 91黄色在线视频 | 久久国产精品免费观看 | 夜夜高潮夜夜爽国产伦精品 | 黄色精品一区二区 | 一区二区三区四区不卡 | 欧美亚洲专区 | 伊人www22综合色 | 欧洲色综合 | 色哟哟国产精品 | 激情av在线资源 | 午夜视频在线观看一区二区三区 | 麻豆成人在线观看 | 日韩免费 | 国产视频一二区 | 99亚洲精品视频 | 高清精品视频 | 五月婷婷爱 | 黄色亚洲大片免费在线观看 | 日韩欧美视频在线免费观看 | 免费又黄又爽的视频 | 国产香蕉视频在线播放 | 国内精品久久久久久久97牛牛 | 热久久免费国产视频 | 久草青青在线观看 | 日韩精品一区二区在线视频 | 国产精品久久久久久久久久新婚 | 91pony九色丨交换 | 日日爱夜夜爱 | 久精品视频在线 | 免费福利片2019潦草影视午夜 | www四虎影院 | 日韩综合一区二区 | 日本最新高清不卡中文字幕 | 精品夜夜嗨av一区二区三区 | av在线a| 999久久国精品免费观看网站 | 国产精品igao视频网网址 | 在线电影播放 | 夜夜操天天干, | 日韩久久一区 | 国产原创在线 | 国产精品久久久久久久av电影 | 免费在线观看中文字幕 | 天天草天天操 | 一级一片免费观看 | 久久99九九99精品 | 国产在线播放一区二区 | 最近中文字幕高清字幕免费mv | 女人18毛片90分钟 | 国产精品观看 | 日韩黄色在线电影 | 婷婷伊人五月天 | 四虎影视成人精品国库在线观看 | 日日夜夜亚洲 | 蜜桃视频日本 | 男女免费av | 久久伊人精品一区二区三区 | 999色视频| 精品视频亚洲 | 日韩在线观看小视频 | 夜夜爱av| 久久精品8 | 欧美成年人在线视频 | 午夜在线免费观看 | 久久天天综合网 | 一本—道久久a久久精品蜜桃 | 日韩动漫免费观看高清完整版在线观看 | 天天做天天射 | 又紧又大又爽精品一区二区 | .国产精品成人自产拍在线观看6 | 九九免费观看视频 | av网站大全免费 | 亚洲女同videos | 91视视频在线直接观看在线看网页在线看 | 337p西西人体大胆瓣开下部 | 久久国产精品精品国产色婷婷 | 观看免费av | 99精品偷拍视频一区二区三区 | 国内精品久久天天躁人人爽 | 久久午夜免费视频 | 成人高清av在线 | 99视频在线精品国自产拍免费观看 | 中文字幕丝袜制服 | 免费黄在线观看 | 免费日韩高清 | 成年美女黄网站色大片免费看 | 国产青草视频在线观看 | 色综合久久88色综合天天人守婷 | 人人射人人射 | 日韩欧美一区二区三区在线 | 欧日韩在线视频 | 久久久久久久久久网 | 国产丝袜 | 国产精品高清av | 一区二区欧美激情 | 亚洲午夜av久久乱码 | 91免费看片黄 | 欧美日韩成人一区 | 成人动图| 黄色www免费 | 伊人丁香| 国产特黄色片 | 国产无吗一区二区三区在线欢 | 亚洲黄色激情小说 | 91精品在线麻豆 | 亚洲精品在线网站 | 99综合电影在线视频 | 久久久久女人精品毛片 | 97视频亚洲 | 国产97在线看 | 超碰在线cao | 精品国产一区二区三区噜噜噜 | 高清中文字幕 | 国产精品久久一区二区三区, | 日韩大片在线播放 | 欧美日本国产在线观看 | av黄色在线观看 | 久久久久日本精品一区二区三区 | 免费在线播放视频 | 亚洲少妇激情 | 91色一区二区三区 | 在线国产片 | 久久av网 | 精品久久久久久久久亚洲 | 麻豆91在线看 | 丝袜制服综合网 | 国产成人精品久久二区二区 | av日韩国产| 丁香婷婷色综合亚洲电影 | 精品九九久久 | 91在线观看视频 | 欧美日韩一区二区在线观看 | av一级二级 | 亚洲激情综合网 | 天天插综合网 | 少妇按摩av | 国产四虎影院 | 欧美日韩精品在线 | 99精品免费视频 | 成人免费看片网址 | 国产精品久久久久免费 | 日日操日日| 日韩性xxxx | 96久久| 久久久久一区二区三区四区 | 国产视频久久 | 国产裸体永久免费视频网站 | 在线成人欧美 | 色欧美成人精品a∨在线观看 | 精品9999 | 欧美黑人xxxx猛性大交 | 天天色天天草天天射 | 日韩精品一区二区三区丰满 | 亚洲欧洲成人精品av97 | 国产精品一区二区在线观看免费 | 精品视频免费播放 | 在线欧美国产 | 久久99热精品这里久久精品 | 国产精品自在欧美一区 | 日日射av | 一区二区视频在线观看免费 | 亚洲综合激情小说 | 精品在线你懂的 | 欧美三级高清 | 国产成人精品一区二区三区免费 | 玖玖玖国产精品 | 精品亚洲欧美一区 | 精品国自产在线观看 | 色婷婷成人网 | 亚洲免费一级 | 丁香五月网久久综合 | 久草在线观看视频免费 | 婷婷久久国产 | 毛片一级免费一级 | 久久免费播放 | 日韩免费一区二区在线观看 | 久久免费看av | 中文资源在线官网 | 81精品国产乱码久久久久久 | 夜夜躁天天躁很躁波 | 99精品在线看 | 在线观看www视频 | 国产福利小视频在线 | 国产精品高潮在线观看 | 国产成人av一区二区三区在线观看 | 国产区av在线 | 国产日本在线 | 成人免费电影 | 96国产精品视频 | 成人小视频免费在线观看 | 国产精品黄 | 国产福利精品一区二区 | 蜜臀aⅴ精品一区二区三区 久久视屏网 | 欧美日韩免费观看一区=区三区 | 国产精品毛片一区视频播 | 麻豆播放| 日p在线观看| 香蕉视频在线免费 | 国产91精品欧美 | 日本久久中文字幕 | 国产一及片 | 国产在线视频一区二区三区 | 9999国产精品 | 中文字幕免费高清在线观看 | 黄色免费大片 | 在线观看黄色 | 五月天激情综合 | 亚州精品天堂中文字幕 | 国产偷v国产偷∨精品视频 在线草 | 在线看国产日韩 | 在线国产黄色 | 国产视频999 | h动漫中文字幕 | 欧美日韩亚洲在线观看 | 欧美精品久久久久久 | 中文字幕在线观看不卡 | 成年人在线 | 五月天久久综合网 | 99热在线免费观看 | 亚洲电影毛片 | 免费日韩一区二区 | 91免费视频国产 | 黄色91免费观看 | 亚洲精品视频一二三 | 1000部国产精品成人观看 | 97人人精品 | 久久五月天婷婷 | 狠狠干婷婷 | 91传媒在线| av一区二区三区在线 | 精品日本视频 | 久久婷婷精品视频 | 久久精品精品电影网 | 韩国在线一区 | 91在线日本 | 在线视频 影院 | 国产又粗又猛又色 | 亚洲最新av在线网址 | 91免费黄视频| 欧美色黄 | 久久久久久久久久久免费 | 在线观看成人一级片 | 视频一区二区在线 | 香蕉91视频 | 中文字幕久久精品 | 色婷婷av一区 | 欧美一二三在线 | 中文在线免费看视频 | 91伊人影院 | 日韩精品一区二区三区外面 | 欧美成人69av | www.福利视频 | 高清av免费看 | 国产精品黄色 | 婷婷福利影院 | 玖玖视频| 国产专区精品视频 | 97超碰国产精品女人人人爽 | 亚洲精品2区| 伊人狠狠操| 中文字幕影视 | 日韩免费在线 | 在线观看av片 | 亚洲精品欧洲精品 | 亚洲精品色视频 | 一区二区精品在线视频 | 一区二区久久久久 | 国产69精品久久久久99 | 亚洲精品综合一二三区在线观看 | 国产第一页在线播放 | 婷婷丁香在线观看 | 日韩亚洲国产中文字幕 | 视频一区二区视频 | 黄色电影网站在线观看 | 色五月情 | 超碰.com| 国产成人精品999在线观看 | 99欧美 | 欧美性粗大hdvideo | 国产97视频 | 日本性视频 | 国产91探花 | 97精品国自产拍在线观看 | 午夜精品麻豆 | 麻豆系列在线观看 | 国产精品久久久久久a | 日韩91在线| 国产精品久久久毛片 | 视频91在线| 久久视频在线观看中文字幕 | 中文字幕一区在线 | 久章操 | 中文网丁香综合网 | 在线中文字幕观看 | 日色在线视频 | 波多野结衣久久资源 | 91大片成人网 | 伊色综合久久之综合久久 | 天天操天天操一操 | 一级一片免费观看 | 日日色综合 | 国产成人av在线影院 | 久久久久在线观看 | 天天爱av导航 | 久久日韩精品 | 国产高清精品在线 | 国产在线精品一区 | www色综合| 国产视频久 | 欧美日韩一级在线 | 天天av天天 | 开心激情五月婷婷 | 免费观看日韩av | 成人毛片久久 | 欧美在线视频不卡 | 国产一级片毛片 | 色婷婷福利 | 91在线小视频 | 日韩精品视频在线免费观看 | 在线观看免费av网站 | 国产91精品高清一区二区三区 | www黄com| 久久视频这里有久久精品视频11 | 欧女人精69xxxxxx | 中文字幕九九 | 国产99久久久精品 | 最近更新好看的中文字幕 | 韩国av一区二区三区在线观看 | 精品在线99| 日韩午夜三级 | 中文字幕亚洲五码 | 成人在线你懂得 | 最近中文字幕免费观看 | 看国产黄色大片 | 四虎在线免费观看 | 久热av| 91精品伦理 | 在线亚洲播放 | 国产精品久久久久久久久久久久午夜 | 韩国三级av在线 | 俺要去色综合狠狠 | 91在线看免费| 青青河边草免费观看完整版高清 | 色婷婷骚婷婷 | 女人18毛片90分钟 | 中文字幕一二三区 | 88av视频| www.狠狠色 | 亚洲精品动漫久久久久 | 青草草在线视频 | 日本精品一区二区三区在线播放视频 | 亚洲一区二区三区四区在线视频 | 日韩成人中文字幕 | 91在线欧美 | 日本黄色免费播放 | www.亚洲视频.com| 国内久久久久久 | av大片网址| 人人爽人人澡人人添人人人人 | 亚洲最快最全在线视频 | 国产一级二级视频 | 欧美成人在线网站 | 国产系列在线观看 | 欧美视频在线二区 | 欧美一级日韩三级 | 国产99区| 国产系列 在线观看 | 日本狠狠色 | 成人av免费在线 | 国产伦理精品一区二区 | 亚洲成aⅴ人在线观看 | 91九色porny在线 | av黄色免费在线观看 | 国产一区二区三区在线 | 97电影在线看视频 | 久久久免费精品视频 | 亚洲精品视频在 | 午夜久久久精品 | 国产精品理论片 | 青青久草在线 | 日韩免费不卡视频 | 久久看毛片 | 日韩免费高清在线 | 日日夜夜婷婷 | 久久久精品国产一区二区三区 | 国产在线播放一区 | 美女网站在线免费观看 | 友田真希x88av | 色视频在线观看 | 日韩精品中文字幕在线 | 人成在线免费视频 | 97超视频免费观看 | 久久精品综合 | 99热国产在线观看 | 香蕉视频久久 | 91福利影院在线观看 | 久久国内免费视频 | 日韩有码中文字幕在线 | 欧美孕妇与黑人孕交 | 毛片视频电影 | 亚洲精品乱码久久久久久蜜桃欧美 | 在线观看av不卡 | 欧美日韩国产免费视频 | 久久精品一区二区三区四区 | 国产精品mv在线观看 | 亚洲妇女av | 日韩在线视频二区 | 人人网av| 69视频国产 | 一级黄色大片在线观看 | 亚洲国产精品久久久久婷婷884 | 欧美激情在线网站 | 91香蕉视频在线下载 | 久久综合九色综合久99 | 成人av影视观看 | 欧美日韩国产三级 | 日本精品一区二区在线观看 | 久草精品电影 | 亚洲国产剧情 | 在线网站黄 | 国产精品av在线免费观看 | 在线观看视频在线观看 | 麻豆91网站 | 国产精品久久久久久久久久久免费看 | 成人久久久久久久久久 | 久久综合狠狠综合久久综合88 | 国产 日韩 欧美 在线 | 手机看片中文字幕 | 9i看片成人免费看片 | 一区二区三区四区不卡 | 91亚洲精品久久久中文字幕 | 人人盈棋牌 | 国内精品视频在线播放 | 日本黄区免费视频观看 | 亚洲麻豆精品 | 国产不卡免费 | 欧美日韩一区二区免费在线观看 | 国产传媒一区在线 | 国产成人免费av电影 | 精品国产欧美一区二区 | 久久久久国产视频 | 又湿又紧又大又爽a视频国产 | 日韩欧三级 | 久久视频| 激情影音 | 日本精品久久久久中文字幕5 | 亚洲japanese制服美女 | 免费看污片 | 成人免费视频在线观看 | av在线一二三区 | 久久精品在线 | 天天操天天干天天爱 | av一级黄| 久久午夜国产精品 | 欧美成人一区二区 | 日韩一区二区三区高清免费看看 | 天天狠狠| 国产一区精品在线观看 | 欧美 日韩 国产 成人 在线 | 91视频在线网址 | 91九色免费视频 | 在线电影日韩 | 美女免费电影 | 欧美日韩在线电影 | 欧美色就是色 | 日日成人网 | 中文超碰字幕 | 二区视频在线观看 | 精品福利在线视频 | 久久 亚洲视频 | 久久久久久久久爱 | 国产一级小视频 | 午夜免费视频网站 | 狠狠干激情 | 久青草影院 | 人人干天天射 | 亚洲网站在线 | 国产69熟 | 国产成人精品女人久久久 | 9999精品视频 | 国产日韩欧美在线播放 | 久久久久久久久久久福利 | 97精品免费视频 | 中文字幕在线观看第一页 | 日本最新高清不卡中文字幕 | 偷拍精偷拍精品欧洲亚洲网站 | 国产精品久久久久久久久久久免费 | 午夜精品久久久久久中宇69 | 国产一卡久久电影永久 | 欧美999| 久草在线| 国产精品一区二区在线观看免费 | 91精品少妇偷拍99 | 97超在线视频 | 亚洲97在线 | av网站大全免费 | 一区二区三区四区在线免费观看 | 欧美日韩国产一区二区在线观看 | 成人综合日日夜夜 | 91久草视频 | 国产精品视频 | 久久久久久久久毛片精品 | 婷婷av综合| www免费在线观看 | 亚洲精品小视频在线观看 | 欧美日本啪啪无遮挡网站 | 99精品国产在热久久下载 | 91秒拍国产福利一区 | 香蕉手机在线 | 午夜av剧场 | 欧美日韩不卡在线观看 | 91视频链接 | 免费又黄又爽 | 日韩在线中文字幕 | 毛片3 | 又爽又黄在线观看 | 天天干夜夜夜 | www.玖玖玖| 久久综合毛片 | aaa日本高清在线播放免费观看 | 免费久久99精品国产婷婷六月 | 亚洲电影网站 | 超碰com| 国产一区二区在线观看视频 | 国产流白浆高潮在线观看 | 91精品小视频 | 日韩在线观看第一页 | 免费看污黄网站 | 欧美少妇xxx | 婷婷丁香花五月天 | 欧美成人黄色片 | 亚洲精选视频在线 | 国产剧情一区二区 | 成人毛片a | 国产一区欧美日韩 | 毛片1000部免费看 | 国偷自产中文字幕亚洲手机在线 | 麻豆国产精品永久免费视频 | 国产资源网站 | 国产午夜麻豆影院在线观看 | 超碰97.com| 色是在线视频 | 久久久久欠精品国产毛片国产毛生 | 西西大胆免费视频 | 日韩高清一二区 | 日韩午夜在线 | 国产视频1 | 国产在线a| 国产免费一区二区三区最新6 | 国产小视频在线观看 | 亚洲欧美日韩精品久久久 | 国产精品岛国久久久久久久久红粉 | 91麻豆精品国产午夜天堂 | 久久8精品 | 亚洲三级网 | 成人免费在线观看av | 丁香午夜婷婷 | 国产精品久久久久永久免费观看 | 操操操日日日干干干 | 九九免费精品视频在线观看 | 成年性视频 | 欧美a在线免费观看 | 精品视频999 | 亚洲婷久久 | 免费国产视频 | 色婷婷激情五月 | 99久久爱 | 久久视频免费观看 | 日韩精品观看 | a级片韩国 | 国产精品网红福利 | 天天干天天插伊人网 | 日韩在线首页 | 天天爱天天射天天干天天 | 日韩高清一二三区 | 国产福利av在线 | 黄色软件大全网站 | 黄色三级网站在线观看 | 97在线观 | 人人狠狠综合久久亚洲婷 | 亚洲精品高清视频在线观看 | 欧美男男激情videos | 精品美女久久久久 | 成人黄大片 | 久久精品艹 | 国产精品久久久久久一区二区三区 | 天天五月天色 | 九色91在线视频 | 精品视频成人 | 亚洲免费专区 | 亚洲精品久久久久中文字幕m男 | 免费成人av在线看 | 一级片免费观看视频 | 国产视频久久 | 日韩在线在线 | 99久热在线精品视频观看 | 色视频网站在线 | 久久免费国产电影 | 在线观看亚洲精品 | 色偷偷人人澡久久超碰69 | 九月婷婷色 | 五月天激情视频在线观看 | 久久精品国产久精国产 | 亚洲春色奇米影视 | 天天干天天天 | .国产精品成人自产拍在线观看6 | 免费日p视频 | 波多野结衣电影久久 | 这里有精品在线视频 | 国产精品久久久久高潮 | 91精品国产成人观看 | 成人午夜影院 | 国产精品成人一区二区 | 久久久久亚洲国产 | 亚洲一区二区三区毛片 | 四虎在线视频 | 98超碰在线 | 99色| 奇米影视777四色米奇影院 | 亚洲黄色小说网 | 国产在线 一区二区三区 | 久草在线免费资源 | 成全免费观看视频 | 成年人免费看的视频 | av免费在线观看1 | 在线观看不卡的av | 国产亚洲精品久久久久久大师 | 欧美激情va永久在线播放 | 国产一卡二卡在线 | 国产精品欧美久久久久三级 | 久久免费视频一区 | 激情五月婷婷丁香 | 久草99| 色视频在线免费 | 午夜久草 | 在线精品视频在线观看高清 | 亚洲一区网 | 又粗又长又大又爽又黄少妇毛片 | 毛片视频网址 | 91传媒视频在线观看 | 黄色一级大片免费看 | 国产中文字幕av | 精品成人a区在线观看 | 国产日本在线 | 婷婷av资源| 伊人天堂网 | 91网页版在线观看 | 成人午夜剧场在线观看 | 国产精品毛片一区视频播 | 欧美久久综合 | 婷婷久月 | 精品一区二区三区久久久 | 欧美少妇bbwhd | 91成人免费视频 | 久久久www免费电影网 | 在线观看片 | 久九视频| 久久社区视频 | 五月天久久综合网 | aⅴ精品av导航 | 欧美性黑人 | 九九热av| 国内精品久久久久影院日本资源 | av电影一区二区三区 | 国产一级片免费观看 | 狠狠躁夜夜躁人人爽视频 | 国产香蕉97碰碰久久人人 | 国产成人一区二区在线观看 | 亚洲视频,欧洲视频 | 中文免费| 婷婷在线免费观看 | 九色91在线| 五月开心六月伊人色婷婷 | 国产午夜精品一区二区三区欧美 | 亚洲欧美成人网 | 免费福利在线视频 | 中文字幕在线色 | 欧美日韩性生活 | 在线观看视频免费大全 | 午夜精品福利在线 | 亚洲电影一区二区 | 激情深爱五月 | 亚洲视频2 | 91精品在线视频观看 | 亚洲精品免费在线视频 | 在线观看日本高清mv视频 | 2024av| 天天操天天操天天操天天操天天操天天操 | 国产又黄又硬又爽 | 日韩午夜一级片 | 午夜精品视频在线 | 国产一区观看 | 中文字幕在线观看日本 | 久久爱综合 | 日韩精品极品视频 | 五月天激情在线 | 日韩中文字幕免费看 | 免费a v视频 | 亚洲闷骚少妇在线观看网站 | av网址在线播放 | 在线日韩视频 | 亚洲精品视频偷拍 | 一级片视频在线 | 久久精品爱爱视频 | 午夜精品一二区 | 久草在线观看视频免费 | 日日干精品| 国产91粉嫩白浆在线观看 | 久久久99精品免费观看乱色 | 久久综合五月 | 99久久精品国 | 久久久精品网站 | 婷婷去俺也去六月色 | 国内精品久久久久久久久久久久 | 久久天天躁狠狠躁亚洲综合公司 | 综合网在线视频 | 日日夜夜精品免费观看 | 在线观看中文字幕视频 | 最新91在线视频 | 免费网站观看www在线观看 | 97日日碰人人模人人澡分享吧 | 国产一区二区高清 | 九九激情视频 | 免费精品| 久久9999久久免费精品国产 | 黄污在线看 | 黄色av免费看 | 中文字幕在线观看第一区 | 91精品办公室少妇高潮对白 | 中文字幕字幕中文 | 99re8这里有精品热视频免费 | 日本中文字幕在线电影 | 亚洲精品福利在线 | 久久夜色电影 | 亚洲成av | 黄色1级毛片 | 欧美aaa大片 | 国产精品一区电影 | 亚洲一级电影 | 91亚洲精品久久久中文字幕 | 97超碰人人澡人人 | 波多野结衣综合网 | 麻豆一区在线观看 | 免费视频你懂的 | 欧美性大胆 | 91亚洲成人 | 中文资源在线官网 | 一区二区三区免费在线 | 91成年人在线观看 | 天天干.com | 久久精品国产免费看久久精品 | 五月天综合婷婷 | 在线观看日韩中文字幕 | 国产精品激情偷乱一区二区∴ | 免费国产亚洲视频 | 91成人精品一区在线播放 | 米奇狠狠狠888 | 欧美一二三在线 | 天天综合天天做 | 伊人欧美| 人人射网站 | 美女视频永久黄网站免费观看国产 | 亚洲日本一区二区在线 | 国产午夜av | 国产亚洲人成网站在线观看 | 久久欧美视频 | 91免费在线视频 | 国产成人亚洲精品自产在线 | 99精品视频播放 | 精品99久久 | 日韩xxxxxxxxx | 成人在线黄色电影 | 精品国产乱码一区二区三区在线 | 午夜视频在线观看一区 | 久久久久亚洲国产精品 | 欧美日韩精品在线观看视频 | 中文字幕中文字幕在线一区 | 久草免费电影 | 日韩在线视频二区 | 狠狠躁18三区二区一区ai明星 | 日韩精品一区二区久久 | 久久精品久久精品久久39 | av成人在线网站 | 日韩美精品视频 | 成人av电影在线 | 国产一级黄色免费看 | 成人性生交大片免费观看网站 | 日韩在线播放欧美字幕 | 一级性视频 | 色综合色综合久久综合频道88 | 久久天堂精品视频 | 二区三区在线观看 | 亚洲成人xxx | 超碰精品在线观看 | 国产97av| 在线免费中文字幕 | 色婷婷av在线 | 丁香婷婷综合激情五月色 | 开心激情五月婷婷 | 日韩一区二区三区高清在线观看 | 在线91精品| 丁香花在线观看视频在线 | 美女在线黄| 国产又黄又硬又爽 | 午夜久草| 久久综合影院 | 国产美女网站在线观看 | 久久久久久蜜av免费网站 | 欧美一级免费 | 又紧又大又爽精品一区二区 | 51久久夜色精品国产麻豆 | 99在线观看 | 亚洲一区尤物 | 日韩影片在线观看 | 欧美最猛性xxxxx亚洲精品 | 国产激情免费 | 国产精久久久久久妇女av | 国产精品久久久久国产精品日日 | www夜夜操com | 久久精品久久久久电影 | 国产91免费在线 | 国产精品一区久久久久 | 色资源网免费观看视频 | 93久久精品日日躁夜夜躁欧美 | 国产成人精品电影久久久 | av网站手机在线观看 | 亚洲区视频在线 | av一区二区三区在线观看 | 国产日韩视频在线播放 | 日韩精品视频免费在线观看 | 成 人 免费 黄 色 视频 | 有码中文字幕 | 国产成人av电影在线观看 | 久久国产精品电影 | 久久久国产一区 | 国产美女无遮挡永久免费 | 久久专区 | 四虎在线永久免费观看 | 97超碰在线久草超碰在线观看 | 日韩欧美在线观看一区二区 | 国产精品专区h在线观看 | 99中文视频在线 | 亚洲第一av在线 | 99国产精品视频免费观看一公开 | 久久亚洲电影 | 波多野结衣综合网 | 91在线视频在线 | 国产伦理精品一区二区 | 久久久久国产成人精品亚洲午夜 | 国产在线播放观看 | 日韩av资源站 | 天天爱天天舔 | 欧美色婷 | 久久久久久免费毛片精品 | 免费福利视频网 | 久久久精品网站 | 久久精品欧美一 | 四虎国产精品永久在线国在线 | 99高清视频有精品视频 | 91豆花在线观看 | 免费日p视频| 久草网视频 | 亚洲综合成人av | 亚洲精品理论 | 日本激情动作片免费看 |