一、項目介紹
基于Vue2.5.6+Vuex+vue-cli+vue-router+vue-gemini-scrollbar+swiper+elementUI等技術混合架構開發的仿微信web端聊天室——vueWebChat,實現了發送消息、表情(動圖),圖片、視頻預覽,右鍵菜單、截屏、截圖可直接粘貼至文本框進行發送。
二、技術框架
•MVVM框架:Vue2.5.6
•狀態管理:Vuex
•頁面路由:Vue-router
•iconfont圖標:阿里巴巴字體圖標庫
•自定義滾動條:vue-gemini-scrollbar
•彈窗組件:element-ui(餓了么前端UI庫)
•環境配置:node.js + cnpm + webpack
•高德地圖:vue-amap
•圖片預覽:vue-photo-preview














◆ 點擊右上角最大化按鈕,可以進行全屏切換

◆ 引入公共及全局組件配置components.js
/* 引入公共及全局組件配置*/ // 引入側邊欄及聯系人import winBar from './components/winbar'import sideBar from './components/sidebar'import recordList from './components/recordList'import contactList from './components/contact'// 引入jqueryimport $ from 'jquery'// 引入wcPop彈窗插件import wcPop from './assets/js/wcPop/wcPop'import './assets/js/wcPop/skin/wcPop.css'// 引入餓了么pc端UI庫import elementUI from 'element-ui'import 'element-ui/lib/theme-chalk/index.css'// 引入圖片預覽插件import photoPreview from 'vue-photo-preview'import 'vue-photo-preview/dist/skin.css'// 引入自定義滾動條插件import geminiScrollbar from 'vue-gemini-scrollbar'// 引入加載更多插件import infiniteLoading from 'vue-infinite-scroll'// 引入高德地圖import vueAMap from 'vue-amap'const install = Vue => { // 注冊組件 Vue.component('win-bar', winBar) Vue.component('side-bar', sideBar) Vue.component('record-list', recordList) Vue.component('contact-list', contactList) // 應用實例 Vue.use(elementUI) Vue.use(photoPreview, { loop: false, fullscreenEl: true, //是否全屏 arrowEl: true, //左右按鈕 }); Vue.use(geminiScrollbar) Vue.use(infiniteLoading) Vue.use(vueAMap) vueAMap.initAMapApiLoader({ key: "e1dedc6bdd765d46693986ff7ff969f4", plugin: [ "AMap.Autocomplete", //輸入提示插件 "AMap.PlaceSearch", //POI搜索插件 "AMap.Scale", //右下角縮略圖插件 比例尺 "AMap.OverView", //地圖鷹眼插件 "AMap.ToolBar", //地圖工具條 "AMap.MapType", //類別切換控件,實現默認圖層與衛星圖、實施交通圖層之間切換的控制 "AMap.PolyEditor", //編輯 折線多,邊形 "AMap.CircleEditor", //圓形編輯器插件 "AMap.Geolocation" //定位控件,用來獲取和展示用戶主機所在的經緯度位置 ], uiVersion: "1.0" });}export default install
新聞熱點
疑難解答