电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

vue實(shí)現(xiàn)集成騰訊TIM即時(shí)通訊

瀏覽:105日期:2022-09-28 17:14:45

本文主要介紹了vue實(shí)現(xiàn)集成騰訊TIM即時(shí)通訊,分享給大家,具體如下:

上圖

vue實(shí)現(xiàn)集成騰訊TIM即時(shí)通訊

vue實(shí)現(xiàn)集成騰訊TIM即時(shí)通訊

前言

項(xiàng)目需要做個(gè)客服功能,用戶端小程序,客服人員web端,于是用到了騰訊的tim

準(zhǔn)備工作

在騰訊云官網(wǎng)上創(chuàng)建應(yīng)用,獲取到相應(yīng)的SDKAppID和相應(yīng)的秘鑰信息

安裝SDK

(1) web項(xiàng)目使用命令

// IM Web SDKnpm install tim-js-sdk --save// 發(fā)送圖片、文件等消息需要的 COS SDKnpm install cos-js-sdk-v5 --save

(2) 小程序項(xiàng)目使用命令

// IM 小程序 SDKnpm install tim-wx-sdk --save// 發(fā)送圖片、文件等消息需要的 COS SDKnpm install cos-wx-sdk-v5 --save

main.js中引入

import TIM from ’tim-js-sdk’;// import TIM from ’tim-wx-sdk’; // 微信小程序環(huán)境請(qǐng)取消本行注釋,并注釋掉 import TIM from ’tim-js-sdk’;import COS from ’cos-js-sdk-v5’;// import COS from ’cos-wx-sdk-v5’; // 微信小程序環(huán)境請(qǐng)取消本行注釋,并注釋掉 import COS from ’cos-js-sdk-v5’;// 創(chuàng)建 SDK 實(shí)例,TIM.create() 方法對(duì)于同一個(gè) SDKAppID 只會(huì)返回同一份實(shí)例let options = { SDKAppID: 0 // 接入時(shí)需要將0替換為您的即時(shí)通信應(yīng)用的 SDKAppID};let tim = TIM.create(options); // SDK 實(shí)例通常用 tim 表示// 設(shè)置 SDK 日志輸出級(jí)別,詳細(xì)分級(jí)請(qǐng)參見(jiàn) setLogLevel 接口的說(shuō)明tim.setLogLevel(0); // 普通級(jí)別,日志量較多,接入時(shí)建議使用// tim.setLogLevel(1); // release級(jí)別,SDK 輸出關(guān)鍵信息,生產(chǎn)環(huán)境時(shí)建議使用// 將騰訊云對(duì)象存儲(chǔ)服務(wù) SDK (以下簡(jiǎn)稱 COS SDK)注冊(cè)為插件,IM SDK 發(fā)送文件、圖片等消息時(shí),需要用到騰訊云的 COS 服務(wù)wx.$app = timwx.$app.registerPlugin({’cos-wx-sdk’: COS})wx.store = storewx.TIM = TIM wx.dayjs = dayjs dayjs.locale(’zh-cn’)let $bus = new Vue()Vue.prototype.TIM = TIMVue.prototype.$type = TYPESVue.prototype.$store = storeVue.prototype.$bus = $bus// 監(jiān)聽(tīng)事件 收到離線消息和會(huì)話列表同步完畢通知tim.on(TIM.EVENT.SDK_READY, onReadyStateUpdate, this)// 收到SDK進(jìn)入not ready狀態(tài)通知,此時(shí)SDK無(wú)法正常工作tim.on(TIM.EVENT.SDK_NOT_READY, onReadyStateUpdate, this)// 收到被踢下線通知tim.on(TIM.EVENT.KICKED_OUT, kickOut, this)// 出錯(cuò)統(tǒng)一處理tim.on(TIM.EVENT.ERROR, onError, this)// 收到推送的消息,遍歷event.data獲取消息列表數(shù)據(jù)并渲染到頁(yè)面tim.on(TIM.EVENT.MESSAGE_RECEIVED, messageReceived, this)// 更新會(huì)話列表tim.on(TIM.EVENT.CONVERSATION_LIST_UPDATED, convListUpdate, this)// 更新群組列表tim.on(TIM.EVENT.GROUP_LIST_UPDATED, groupListUpdate, this)// 更新黑名單tim.on(TIM.EVENT.BLACKLIST_UPDATED, blackListUpdate, this)// 網(wǎng)絡(luò)狀態(tài)變化tim.on(TIM.EVENT.NET_STATE_CHANGE, netStateChange, this)function onReadyStateUpdate ({ name }) { const isSDKReady = (name === TIM.EVENT.SDK_READY) if (isSDKReady) { //用戶信息 wx.$app.getMyProfile().then(res => { store.commit(’updateMyInfo’, res.data) uni.setStorageSync(’name’, res.data.nick); console.log(name,’updateMyInfo’); }) //黑名單列表,存入vuex中 wx.$app.getBlacklist().then(res => { store.commit(’setBlacklist’, res.data) }) } store.commit(’setSdkReady’, isSDKReady)}//被踢下線函數(shù),被踢下線之后需要設(shè)置重新登錄function kickOut (event) { store.dispatch(’resetStore’) wx.showToast({ title: ’你已被踢下線’, icon: ’none’, duration: 1500 }) setTimeout(() => { wx.reLaunch({ url: ’../account/login’ }) }, 500)}function onError (event) { // 網(wǎng)絡(luò)錯(cuò)誤不彈toast && sdk未初始化完全報(bào)錯(cuò) if (event.data.message && event.data.code && event.data.code !== 2800 && event.data.code !== 2999) { store.commit(’showToast’, { title: event.data.message, duration: 2000 }) }}//function checkoutNetState (state) { switch (state) { case TIM.TYPES.NET_STATE_CONNECTED: return { title: ’已接入網(wǎng)絡(luò)’, duration: 2000 } case TIM.TYPES.NET_STATE_CONNECTING: return { title: ’當(dāng)前網(wǎng)絡(luò)不穩(wěn)定’, duration: 2000 } case TIM.TYPES.NET_STATE_DISCONNECTED: return { title: ’當(dāng)前網(wǎng)絡(luò)不可用’, duration: 2000 } default: return ’’ }}//網(wǎng)絡(luò)狀態(tài)變化函數(shù)function netStateChange (event) { console.log(event.data.state) store.commit(’showToast’, checkoutNetState(event.data.state))}//消息收發(fā)function messageReceived (event) {console.log(event,’main.js’); for (let i = 0; i < event.data.length; i++) { let item = event.data[i] if (item.type === TYPES.MSG_GRP_TIP) { if (item.payload.operationType) {$bus.$emit(’groupNameUpdate’, item.payload) } } if (item.type === TYPES.MSG_CUSTOM) { if (isJSON(item.payload.data)) {const videoCustom = JSON.parse(item.payload.data) console.log(item,’首頁(yè)信息’)if (videoCustom.version === 3) { switch (videoCustom.action) { // 對(duì)方呼叫我 case 0: if (!store.getters.isCalling) {let url = `call?args=${item.payload.data}&&from=${item.from}&&to=${item.to}&&name=`+uni.getStorageSync(’name’)+’&&nick=’+’’; console.log(url,’url’)wx.navigateTo({url}) } else {$bus.$emit(’isCalling’, item) } break // 對(duì)方取消 case 1: wx.navigateBack({delta: 1 }) break // 對(duì)方拒絕 case 2: $bus.$emit(’onRefuse’) break // 對(duì)方不接1min case 3: wx.navigateBack({delta: 1 }) break // 對(duì)方接聽(tīng) case 4: $bus.$emit(’onCall’, videoCustom) break // 對(duì)方掛斷 case 5: $bus.$emit(’onClose’) break // 對(duì)方正在通話中 case 6: $bus.$emit(’onBusy’) break default: break }} } } } store.dispatch(’onMessageEvent’, event)}function convListUpdate (event) { store.commit(’updateAllConversation’, event.data)}function groupListUpdate (event) { store.commit(’updateGroupList’, event.data)}function blackListUpdate (event) { store.commit(’updateBlacklist’, event.data)}

到此這篇關(guān)于vue實(shí)現(xiàn)集成騰訊TIM即時(shí)通訊的文章就介紹到這了,更多相關(guān)vue騰訊TIM即時(shí)通訊內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 大型冰雕-景区冰雕展制作公司,3D创意设计源头厂家-[赛北冰雕] | 防水试验机_防水测试设备_防水试验装置_淋雨试验箱-广州岳信试验设备有限公司 | 电磁辐射仪-电磁辐射检测仪-pm2.5检测仪-多功能射线检测仪-上海何亦仪器仪表有限公司 | 专注提供国外机电设备及配件-工业控制领域一站式服务商-深圳市华联欧国际贸易有限公司 | 危废处理系统,水泥厂DCS集散控制系统,石灰窑设备自动化控制系统-淄博正展工控设备 | 南方珠江-南方一线电缆-南方珠江科技电缆-南方珠江科技有限公司 南汇8424西瓜_南汇玉菇甜瓜-南汇水蜜桃价格 | 魔方网-培训咨询服务平台| 浙江栓钉_焊钉_剪力钉厂家批发_杭州八建五金制造有限公司 | 艾默生变频器,艾默生ct,变频器,ct驱动器,广州艾默生变频器,供水专用变频器,风机变频器,电梯变频器,艾默生变频器代理-广州市盟雄贸易有限公司官方网站-艾默生变频器应用解决方案服务商 | 诗词大全-古诗名句 - 古诗词赏析 | 骨龄仪_骨龄检测仪_儿童骨龄测试仪_品牌生产厂家【品源医疗】 | 干法制粒机_智能干法制粒机_张家港市开创机械制造有限公司 | 深圳诚暄fpc首页-柔性线路板,fpc柔性线路板打样生产厂家 | 上海三信|ph计|酸度计|电导率仪-艾科仪器 | 车辆定位管理系统_汽车GPS系统_车载北斗系统 - 朗致物联 | 酒店品牌设计-酒店vi设计-酒店标识设计【国际级】VI策划公司 | 河南正规膏药生产厂家-膏药贴牌-膏药代加工-修康药业集团官网 | 消泡剂-水处理消泡剂-涂料消泡剂-切削液消泡剂价格-东莞德丰消泡剂厂家 | Safety light curtain|Belt Sway Switches|Pull Rope Switch|ultrasonic flaw detector-Shandong Zhuoxin Machinery Co., Ltd | 制丸机,小型中药制丸机,全自动制丸机价格-甘肃恒跃制药设备有限公司 | 万师讲师网-优质讲师培训师供应商,讲师认证,找讲师来万师 | 菏泽知彼网络科技有限公司 | 喷码机,激光喷码打码机,鸡蛋打码机,手持打码机,自动喷码机,一物一码防伪溯源-恒欣瑞达有限公司 | 大通天成企业资质代办_承装修试电力设施许可证_增值电信业务经营许可证_无人机运营合格证_广播电视节目制作许可证 | 青岛代理记账_青岛李沧代理记账公司_青岛崂山代理记账一个月多少钱_青岛德辉财税事务所官网 | 模具硅橡胶,人体硅胶,移印硅胶浆厂家-宏图硅胶科技 | 济南宣传册设计-画册设计_济南莫都品牌设计公司 | 冷柜风机-冰柜电机-罩极电机-外转子风机-EC直流电机厂家-杭州金久电器有限公司 | 3dmax渲染-效果图渲染-影视动画渲染-北京快渲科技有限公司 | 北京租车牌|京牌指标租赁|小客车指标出租 | 青岛美佳乐清洁工程有限公司|青岛油烟管道清洗|酒店|企事业单位|学校工厂厨房|青岛油烟管道清洗 插针变压器-家用电器变压器-工业空调变压器-CD型电抗器-余姚市中驰电器有限公司 | 锂电池砂磨机|石墨烯砂磨机|碳纳米管砂磨机-常州市奥能达机械设备有限公司 | 固诺家居-全屋定制十大品牌_整体衣柜木门橱柜招商加盟 | 特材真空腔体_哈氏合金/镍基合金/纯镍腔体-无锡国德机械制造有限公司 | 截齿|煤截齿|采煤机截齿|掘进机截齿|旋挖截齿-山东卓力截齿厂家报价 | 海德莱电力(HYDELEY)-无功补偿元器件生产厂家-二十年专业从事电力电容器 | 包塑丝_高铁绑丝_地暖绑丝_涂塑丝_塑料皮铁丝_河北创筹金属丝网制品有限公司 | 生鲜配送系统-蔬菜食材配送管理系统-连锁餐饮订货配送软件-挪挪生鲜供应链管理软件 | 鑫铭东办公家具一站式定制采购-深圳办公家具厂家直销 | 都江堰招聘网-都江堰人才网 都江堰人事人才网 都江堰人才招聘网 邢台人才网_邢台招聘网_邢台123招聘【智达人才网】 | 医养体检包_公卫随访箱_慢病随访包_家签随访包_随访一体机-济南易享医疗科技有限公司 |