Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >vue+web端聊天室|网页端vue聊天系统

vue+web端聊天室|网页端vue聊天系统

原创
作者头像
andy2018
修改于 2019-05-05 01:56:31
修改于 2019-05-05 01:56:31
11.9K14
代码可运行
举报
文章被收录于专栏:h5h5
运行总次数:4
代码可运行

vue仿微信客户端vueWebChat聊天系统|vue全家桶开发聊天室

使用了Vue2.5.6+Vuex+vue-router+vue-gemini-scrollbar+swiper+elementUI等技术开发,实现了发送消息、表情(动图),图片、视频预览,仿微信右键菜单、截图可直接粘贴至编辑框发送

◆ 技术选型

  • MVVM框架:Vue2.5.6
  • 状态管理:Vuex
  • 页面路由:Vue-route
  • iconfont图标:阿里巴巴字体图标库
  • 自定义滚动条:vue-gemini-scrollba
  • 弹窗组件:element-ui(饿了么前端UI库)
  • 环境配置:node.js + cnpm + webpack
  • 高德地图:vue-amap
  • 图片预览:vue-photo-preview
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/*
    引入公共及全局组件配置
    Q:282310962
    https://www.cnblogs.com/xiaoyan2017
*/ 

// 引入侧边栏及联系人
import winBar from './components/winbar'
import sideBar from './components/sidebar'
import recordList from './components/recordList'
import contactList from './components/contact'

// 引入jquery
import $ 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
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<template>
  <div id="app">
    <div class="vChat-wrapper flexbox flex-alignc">
      <div class="vChat-panel" style="background-image: url(src/assets/img/placeholder/vchat__panel-bg01.jpg);">
        <div class="vChat-inner flexbox">
          <!-- //顶部按钮(最大、最小、关闭) -->
          <win-bar></win-bar>

          <!-- //侧边栏 -->
          <side-bar></side-bar>

          <keep-alive>
            <router-view class="flex1 flexbox"></router-view>
          </keep-alive>

        </div>
      </div>
    </div>
  </div>
</template>
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 【截图粘贴图片】
document.getElementById('J__wcEditor').addEventListener('paste',function(e){
    var cbd = e.clipboardData;
    var ua = window.navigator.userAgent;
    // 没有数据
    if (!(e.clipboardData && e.clipboardData.items)) {
        return;
    }
    // Mac平台下Chrome49版本以下 复制Finder中的文件的Bug Hack掉
    if(cbd.items && cbd.items.length === 2 && cbd.items[0].kind === "string" && cbd.items[1].kind === "file" &&
        cbd.types && cbd.types.length === 2 && cbd.types[0] === "text/plain" && cbd.types[1] === "Files" &&
        ua.match(/Macintosh/i) && Number(ua.match(/Chrome\/(\d{2})/i)[1]) < 49){
        return;
    }
    for(var i = 0; i < cbd.items.length; i++){
        var item = cbd.items[i];
        console.log(item);
        console.log(item.kind);
        if(item.kind == "file"){
            var blob = item.getAsFile();
            if(blob.size === 0){
                return;
            }
            // 插入图片记录
            var reader = new FileReader();
            reader.readAsDataURL(blob);
            reader.onload = function(){
                var _img = this.result;

                var _tpl = [
                    '<li class="me">\
                        <div class="content">\
                            <p class="author">王梅(Fine)</p>\
                            <div class="msg picture"><img class="img__pic" src="'+ _img + '" preview="1" /></div>\
                        </div>\
                        <a class="avatar" href="/contact/uinfo"><img src="src/assets/img/uimg/u__chat-img11.jpg" /></a>\
                    </li>'
                ].join("");
                $("#J__chatMsgList").append(_tpl);

                setTimeout(() => {
                    $("#J__geminiScrollbar .gm-scroll-view").animate({ scrollTop: $("#J__chatMsgList").height() }, 0);
                    $(".fixGeminiscrollHeight").show();
                    setTimeout(() => { $(".fixGeminiscrollHeight").hide();}, 300);
                }, 17);
            }
        }
    }
});

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
1 条评论
热度
最新
能给源码吗
能给源码吗
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
electron-vue仿微信桌面端|electron聊天实例
electron-vchat客户端聊天实例是基于electron+vue+vuex+Node+vue-router等技术开发的仿制微信pc桌面聊天项目。实现了消息发送 /表情(光标处插入表情),图片 /视频预览,拖拽上传 /粘贴截图发送 /微信 dll 截图,右键菜单、朋友圈 /红包 /换肤等功能。
andy2018
2020/01/10
5.9K2
electron-vue仿微信桌面端|electron聊天实例
vue.js聊天IM系统|聊天室|群聊
基于vue+vuex+vue-router+webpack2.0+es6+wcPop+iconfont等技术开发的仿微信界面聊天室,之前使用h5开发过一版h5聊天室,实现了微信聊天功能、发送消息/表情,图片、视频预览,打赏、红包等功能。
andy2018
2019/04/05
13K2
vue.js聊天IM系统|聊天室|群聊
next+react仿微信pc端聊天|Next.js聊天
Next.js 是基于 React.js 服务端渲染的SSR 开发框架。让你的网页瞬间拥有SEO功能。
andy2018
2020/12/28
8.7K0
next+react仿微信pc端聊天|Next.js聊天
uni-app+vue仿微信聊天APP界面|uniapp仿微信朋友圈
基于uniapp+vue仿微信聊天室uniapp-chatroom项目,vue语法及类似小程序api开发原生APP应用,实现了发送图文消息、表情(gif动图),图片预览、地图位置、红包、仿微信朋友圈等功能。
andy2018
2019/10/10
10.6K3
uni-app+vue仿微信聊天APP界面|uniapp仿微信朋友圈
整合vite2+electron12撸后台管理系统
前一段时间有给大家分享一个Electron+Vue3.x短视频,今天再分享最新开发的Electron桌面端后台系统。
andy2018
2021/05/18
2.1K0
整合vite2+electron12撸后台管理系统
react实战开发|react+web版聊天室
基于react+react-dom+react-router-dom+redux+react-redux+webpack2.0+react-photoswipe+swiper等技术混合开发的web版聊天室reactWebChat项目,实现了发送消息、表情(动图),图片、视频预览等功能。
andy2018
2019/06/29
2.8K0
react实战开发|react+web版聊天室
react仿微信即时IM聊天|react+redux仿微信界面
基于react+react-dom+react-router-dom+redux+react-redux+ant等技术开发的手机端仿微信界面聊天,实现了聊天记录下拉刷新、发送消息、表情(动图),图片、视频预览,打赏、红包等功能。
andy2018
2019/06/21
5.4K1
react仿微信即时IM聊天|react+redux仿微信界面
小程序聊天室|聊天对话小程序|仿微信界面
基于微信小程序开发的聊天室实战案例。很早之前就有开发过一个h5版聊天室,最近又开发了个小程序版聊天室,功能效果非常接近微信聊天,实现了消息、表情发送,小程序表情解析,图片、视频上传预览,打赏、红包等功能。
andy2018
2019/01/30
14.5K3
小程序聊天室|聊天对话小程序|仿微信界面
Vue3.x+ElementPlus桌面版聊天实例
2021让vue3生态越来越好,让更多的开发者参与进来。继上次分享了一个vue3移动端聊天实例,这次再给大家分享一个最新开发的vue3.0+饿了么vue3组件库开发的桌面端实例项目。
andy2018
2021/01/25
5.1K0
Vue3.x+ElementPlus桌面版聊天实例
Electron跨平台仿QQ|vue3+electron+antdv聊天应用
此前有给大家分享一个vite2+vant3开发h5手机端小视频实例。今分享一个最新开发的electron跨端聊天应用。
andy2018
2021/02/27
2.6K3
Electron跨平台仿QQ|vue3+electron+antdv聊天应用
nuxt+vue仿微信聊天界面|nuxt.js聊天室
nuxtjs是一个基于vue.js构建的服务端渲染框架。让你的网页也拥有SEO能力。只要是会vue,上手及非常简单了。
andy2018
2020/10/16
3.8K0
nuxt+vue仿微信聊天界面|nuxt.js聊天室
uniapp仿抖音App界面|uni-app小视频
Uni-liveshow直播室是一个基于vue+Nvue+uniapp技术开发的集仿制抖音小视频/App聊天/直播功能混合项目。可实现类似抖音上下滑动切换视频播放,支持编译到多端。
andy2018
2019/11/15
9.3K0
uniapp仿抖音App界面|uni-app小视频
vue项目引入element-ui
借助 babel-plugin-component,我们可以只引入需要的组件,以达到减小项目体积的目的。
赵哥窟
2022/03/23
1.2K0
vue项目引入element-ui
h5高仿微信web网页版|仿微信聊天项目
https://blog.csdn.net/xiaoyan_2015/article/details/81750894
andy2018
2018/08/18
4.4K0
h5高仿微信web网页版|仿微信聊天项目
h5仿微信web端|仿wechat网页聊天实战
《H5+CSS3微信h5微场景实战开发》仿微信H5电脑端聊天场景项目案例、h5仿微信聊天界面
andy2018
2018/06/14
4.2K0
h5仿微信web端|仿wechat网页聊天实战
h5直播webapp项目开发|h5直播案例
很早之前就想写一个html5直播项目练练手,但是由于工作的关系,一直没有真正的开动(其实就是懒)。
andy2018
2018/11/04
8.3K3
h5直播webapp项目开发|h5直播案例
h5移动端智慧办公项目案例
h5开发的微信端智慧办公——weDingTalk项目,运用到了html5+css3+jquery+swiper+wcPop等技术进行开发,其中wcPop.js弹窗插件又进行了一次全面升级(新增全屏弹窗),另外项目中多处应用到了Material Design波纹效果,很多地方的1px进行了细化处理。 001360截图20180915003708059.png 002360截图20180915003826602.png 003360截图20180915005347716.png 004360截图20180915
andy2018
2018/09/17
2K1
h5移动端智慧办公项目案例
html5趣聊项目|语音即时聊天|地图定位
项目介绍: 基于html5+css3+zepto+swiper+wcPop+meScroll等技术开发的仿微信聊天实例|语音即时聊天项目wcChatIM,实现了微信语音效果|仿微信摇一摇功能,微信支付键盘,长按聊天记录弹窗效果、发送消息、表情,预览图片、视频,摇一摇功能,发红包、语音、地图定位等效果。 360截图20181227211948492.png // 顶部 “+” 菜单 $("#J__topbarAdd").on("click", function(e){ var _points = [e.cl
andy2018
2018/12/23
7.6K1
html5趣聊项目|语音即时聊天|地图定位
Electron+Vite2整合开发vue3.0直播/聊天/小视频应用
前段时间有给大家分享一个Electron跨端仿QQ聊天,今天带来最新研发的Electron短视频|直播应用。
andy2018
2021/03/28
2.3K0
Electron+Vite2整合开发vue3.0直播/聊天/小视频应用
Vue3.0+Vant3移动端短视频+聊天+直播实战
随着人们生活品质的提高,5G及手机硬件的快速发展,短视频/直播快速的成为了很多人的娱乐方式。
andy2018
2021/02/03
4.8K1
Vue3.0+Vant3移动端短视频+聊天+直播实战
推荐阅读
相关推荐
electron-vue仿微信桌面端|electron聊天实例
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验