日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

uniapp 即时通讯_uni-App 仿微信 App 即时通讯|vue+uniapp 聊天

發布時間:2024/3/12 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 uniapp 即时通讯_uni-App 仿微信 App 即时通讯|vue+uniapp 聊天 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

項目介紹

基于uni-app+vue+vuex+uniPop+swiper等技術開發仿微信App聊天室實戰項目,實現了發送消息、表情(gif動圖),圖片預覽、地圖位置、紅包、仿微信朋友圈等功能。

項目中用到的自定義頂部導航欄及自定義彈窗:

技術棧

編輯器:HBuilder X

技術框架:uni-app + vue

狀態管理:Vuex

iconfont圖標:阿里字體圖標庫

自定義導航欄 + 底部Tabbar

彈窗組件:uniPop(基于uni-app封裝模態彈窗)

測試環境:H5端 + 小程序 + App端(三端均兼容)

引入公共組件、樣式 main.js

import Vue from 'vue'

import App from './App'

// >>>引入css

import './assets/fonts/iconfont.css'

import './assets/css/reset.css'

import './assets/css/layout.css'

// >>>引入狀態管理

import store from './store'

Vue.prototype.$store = store

// >>>引入公共組件

import headerBar from './components/header/header.vue'

import tabBar from './components/tabbar/tabbar.vue'

import popupWindow from './components/popupWindow.vue'

Vue.component('header-bar', headerBar)

Vue.component('tab-bar', tabBar)

Vue.component('popup-window', popupWindow)

// >>>引入uniPop彈窗組件

import uniPop from './components/uniPop/uniPop.vue'

Vue.component('uni-pop', uniPop)

Vue.config.productionTip = false

App.mpType = 'app'

const app = new Vue({

...App

})

app.$mount()

uniapp中使用vuex狀態管理

import Vue from 'vue'

import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({

state: {

user: uni.getStorageSync('user'),

token: uni.getStorageSync('token'),

},

mutations: {

// 存儲token

SET_TOKEN(state, data) {

state.token = data

uni.setStorageSync('token', data)

},

// 存儲用戶名

SET_USER(state, data) {

state.user = data

uni.setStorageSync('user', data)

},

...

},

})

import { mapState, mapMutations } from 'vuex'

import util from '../../utils/util.js'

export default {

data() {

return {

formObj: {},

}

},

computed: {

...mapState(['user', 'token'])

},

mounted() {

// 判斷是否有登錄

if(this.user){

uni.redirectTo({url: '/pages/index/index'})

}

},

methods: {

// 提交表單

handleSubmit(e) {

...

}

}

}

uniapp實現仿微信朋友圈效果

如何實現類似微信朋友圈頁面向下滾動,頂部導航欄由透明變背景色,可以通過onPageScroll函數實現自定義導航上下滑動自動調整導航欄的透明度。

/**

* @tpl 朋友圈模板

*/

...

export default {

data() {

return {

headerBarBackground: 'transparent'

}

},

onPageScroll : function(e) {

// console.log("滾動距離為:" + e.scrollTop);

this.headerBarBackground = 'rgba(65,168,99,'+e.scrollTop / 200+')'

},

methods: {

...

}

}

uniapp實現聊天頁面滾動至最底部

uni-app中將聊天信息滾動到底部 可以借助scroll-view組件scroll-into-view屬性,不過只能設置一次,不能動態設置!所以只能通過動態改變scroll-top來實現。

xxx

xxx

xxx

...

export default {

data() {

return {

scrollTop: 0,

...

}

},

mounted() {

this.scrollToBottom()

},

updated() {

this.scrollToBottom()

},

methods: {

// 滾動至聊天底部

scrollToBottom(t) {

let that = this

let query = uni.createSelectorQuery()

query.select('#scrollview').boundingClientRect()

query.select('#msglistview').boundingClientRect()

query.exec((res) => {

// console.log(res)

if(res[1].height > res[0].height){

that.scrollTop = res[1].height - res[0].height

}

})

},

...

}

}

以上就是基于uniapp仿微信App聊天室介紹,后續會繼續為大家分享實戰項目~~ 😏😏

最后分享兩個最近實戰聊天項目,一起學習!!!

本作品采用《CC 協議》,轉載必須注明作者和本文鏈接

本文為原創文章,未經作者允許不得轉載,歡迎大家一起交流 QQ(282310962) wx(xy190310)

總結

以上是生活随笔為你收集整理的uniapp 即时通讯_uni-App 仿微信 App 即时通讯|vue+uniapp 聊天的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。