vue.js聊天例項|仿微信聊天室vue版
一、專案簡介
基於Vue2.0+Vuex+vue-router+webpack2.0+es6+vuePhotoPreview+wcPop等技術架構開發的仿微信介面聊天室——vueChatRoom,實現了微信聊天下拉重新整理、傳送訊息、表情(動圖),圖片、視訊預覽,打賞、紅包等功能。
https://www.cnblogs.com/xiaoyan2017/p/10657781.html
二、技術棧
- MVVM框架:Vue.js 2.0
- 狀態管理:Vuex
- 頁面路由:Vue-router
- 彈窗外掛:wcPop
- 打包工具:webpack 2.0
- 環境配置:node.js + cnpm
- 圖片外掛:vue-photo-preview
``` /* * 頁面地址路由js */ import Vue from 'vue' import _router from 'vue-router' import store from '../vuex'
Vue.use(_router) //應用路由
const router = new _router({ routes: [ // 登入、註冊 { path: '/login', component: resolve => require(['../views/auth/login'], resolve), }, { path: '/register', component: resolve => require(['../views/auth/register'], resolve), },
// 首頁、通訊錄、我
{
path: '/',
component: resolve => require(['../views/index'], resolve),
meta: { showHeader: true, showTabBar: true, requireAuth: true }
},
{
path: '/contact',
component: resolve => require(['../views/contact'], resolve),
meta: { showHeader: true, showTabBar: true, requireAuth: true },
},
{
path: '/contact/uinfo',
component: resolve => require(['../views/contact/uinfo'], resolve),
},
{
path: '/ucenter',
component: resolve => require(['../views/ucenter'], resolve),
meta: { showHeader: true, showTabBar: true, requireAuth: true }
},
// 聊天頁面
{
path: '/chat/group-chat',
component: resolve => require(['../views/chat/group-chat'], resolve),
meta: { requireAuth: true }
},
{
path: '/chat/single-chat',
component: resolve => require(['../views/chat/single-chat'], resolve),
meta: { requireAuth: true }
},
{
path: '/chat/group-info',
component: resolve => require(['../views/chat/group-info'], resolve),
meta: { requireAuth: true }
}
// ...
]
})
// 註冊全域性鉤子攔截登入狀態 const that = this router.beforeEach((to, from, next) => { const token = store.state.token // 判斷該路由地址是否需要登入許可權 if(to.meta.requireAuth){ // 通過vuex state獲取當前token是否存在 if(token){ next() }else{ // console.log('還未登入授權!') next() wcPop({ content: '還未登入授權!', style: 'background:#e03b30;color:#fff;', time: 2, end: function(){ next({ path: '/login' }) } }); } }else{ next() } })
export default router ```
``` // >>>引入js import $ from 'jquery' import fontsize from './assets/js/fontsize'
// >>>引入彈窗外掛 import wcPop from './assets/js/wcPop/wcPop' import './assets/js/wcPop/skin/wcPop.css'
// >>>引入餓了麼移動端vue元件庫 import MintUI, { Loadmore } from 'mint-ui' import 'mint-ui/lib/style.css' Vue.component(Loadmore.name, Loadmore) Vue.use(MintUI)
// >>>引入圖片預覽外掛 import photoPreview from 'vue-photo-preview' import 'vue-photo-preview/dist/skin.css' Vue.use(photoPreview, { loop: false, fullscreenEl: false, //是否全屏 arrowEl: false, //左右按鈕 })
// >>>引入地址路由 import router from './router' import store from './vuex' ```
相關文章
- Nuxt+Vue聊天室|nuxt仿微信App介面|nuxt.js聊天例項UXVueAPPJS
- 基於 Flutter+Dart 聊天例項 | Flutter 仿微信介面聊天室FlutterDart
- electron+vue 仿微信客戶端聊天|electron 仿微信介面|electron 聊天例項Vue客戶端
- 基於 Taro+react 多端仿微信聊天室|taro 聊天例項分享React
- Next.js+React聊天室|Next仿微信桌面端|next.js聊天例項JSReact
- vue 高仿微信即時 IM 聊天|仿微信 vue+h5 版|仿微信介面VueH5
- Svelte3聊天室|svelte+svelteKit仿微信聊天例項|svelte.js開發AppJSAPP
- vue3.0仿製QQ+微信PC端|vue3+element-plus實戰聊天室|vue3網頁例項Vue網頁
- Svelte3-Chat:基於svelte+svelteKit+sass仿微信聊天例項|svelte仿微信
- 基於svelteKit開發仿微信app介面聊天例項APP
- vue+h5仿微信網頁版聊天室vueWebChat專案VueH5網頁Web
- angular 版 IM 聊天室|仿微信 App 介面|angular 實戰開發AngularAPP
- nuxt.js仿微信App通訊聊天|vue+nuxt聊天|仿微信介面UXJSAPPVue
- react18+arco網頁聊天室|react hooks高仿微信聊天React網頁Hook
- Tauri2.0+Vite5聊天室|vue3+tauri2+element-plus仿微信|tauri聊天應用ViteVue
- html5版聊天室|仿微信語音|搖一搖|地圖定位HTML地圖
- Svelte3.x網頁聊天例項|svelte.js仿微信PC版聊天svelte-webchat網頁JSWeb
- 微信小程式websocket聊天室微信小程式Web
- Vite5+Electron聊天室|electron31跨平臺仿微信EXE客戶端|vue3聊天程式Vite客戶端Vue
- uniapp+vue3聊天室|uni-app+vite4+uv-ui跨端仿微信app聊天語音/朋友圈APPVueViteUI跨端
- svelte-webchat:基於Svelte3+SvelteKit仿微信Mac網頁介面聊天例項WebMac網頁
- vue3.0仿製微信app聊天|vue3.x+vant3.x實戰聊天|仿朋友圈VueAPP
- vue 網頁版聊天系統|仿微信、微博網頁端Vue網頁
- Vite-Wechat網頁聊天室|vite5.x+vue3+pinia+element-plus仿微信客戶端Vite網頁Vue客戶端
- flutter3-winchat桌面端聊天例項|Flutter3+Dart3+Getx仿微信Exe程式FlutterDart
- 網頁版微信介面呼叫例項網頁
- WEB例項:開發一個聊天室應用Web
- uni-App 仿微信 App 即時通訊|vue+uniapp 聊天APPVue
- 微信小程式--聊天室小程式(雲開發)微信小程式
- 基於Flutter的仿微信聊天應用Flutter
- Vue3.0+Electron聊天室|electron跨平臺仿QQ客戶端|vue3.x聊天應用Vue客戶端
- HarmonyOS 5.0應用開發——仿微信聊天介面
- 基於 Flutter+Dart 仿微信 App 聊天應用|flutter 聊天介面FlutterDartAPP
- Vue.js編輯文字--菜鳥教程例項Vue.js
- Vue.js自定義指令的用法與例項Vue.js
- 高仿微信聊天介面長按彈框樣式
- vueMinishop 基於 Vue.js 的微信商城Vue.js
- react 實戰開發|react+redux 仿微信聊天介面ReactRedux