日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

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

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

瀏覽:168日期: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)參見 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)聽事件 收到離線消息和會(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ì)方接聽 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)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
sm捆绑调教国产免费网站在线观看| 亚洲精品激情| 欧美激情在线精品一区二区三区| 日本成人中文字幕| 欧美专区一区二区三区| 亚洲制服少妇| 久久香蕉精品| 亚洲影视一区二区三区| 日本亚州欧洲精品不卡| 色综合视频一区二区三区日韩| 色综合视频一区二区三区日韩 | 国产不卡精品| 婷婷综合六月| 另类专区亚洲| 亚洲午夜一级| 热久久久久久久| 视频一区日韩精品| 国产精品久久久久久久久久久久久久久 | 国产探花在线精品一区二区| 国产精品调教| 黄色精品视频| 偷拍精品精品一区二区三区| 欧美性感美女一区二区| 黄色亚洲精品| 免费视频久久| 日韩高清国产一区在线| 国产精品超碰| 国产精品久久久久久久久久10秀 | 国产在线视频欧美一区| 欧美三级精品| 免费精品视频| 国产日韩一区二区三免费高清| 国产精品中文字幕亚洲欧美| 美日韩一区二区三区| 国产精品二区不卡| 99国产精品久久久久久久成人热| 国产精品美女久久久| 亚洲深夜福利在线观看| 免费精品一区| 亚洲三级网址| 99久久夜色精品国产亚洲1000部| 欧美专区18| 在线一区电影| 日韩精品中文字幕吗一区二区| 你懂的国产精品永久在线| 亚洲成av在线| 伊人久久亚洲| 精品少妇av| 99香蕉国产精品偷在线观看| 欧美一区二区三区久久| 98精品久久久久久久| 亚洲黄页一区| 亚洲伊人精品酒店| 欧美国产日本| 好看不卡的中文字幕| 日韩av字幕| 色婷婷久久久| 欧美一区在线观看视频| 日本在线高清| 青青草91视频| 欧美不卡高清一区二区三区| 中文精品电影| 91视频一区| 三级在线观看一区二区| 国产精品99久久精品| 一区三区视频| 久久99免费视频| 伊人精品视频| 国产欧美大片| 一本一道久久a久久精品蜜桃| 国产精品激情电影| 亚洲欧美日韩视频二区| 精品国产亚洲日本| 麻豆精品久久久| 国产精品亚洲欧美| 亚洲午夜一级| 久久精品三级| 天堂av一区| 激情五月色综合国产精品| 国产精品一区高清| 99香蕉国产精品偷在线观看 | 美女网站一区| 久久精品资源| 日韩1区2区3区| 欧美精品九九| 91亚洲一区| 欧美视频二区| 视频一区视频二区中文字幕| 国产传媒在线观看| 久久精品av麻豆的观看方式| 国产亚洲精品久久久久婷婷瑜伽| 国产成人久久精品一区二区三区| 日韩一区二区三区高清在线观看| 久久亚洲成人| 国内不卡的一区二区三区中文字幕| 日欧美一区二区| 999国产精品视频| 亚洲免费福利| 精品视频网站| 国产精品久久久久久久免费软件| 天堂va欧美ⅴa亚洲va一国产| 尤物在线精品| 1024精品一区二区三区| sm捆绑调教国产免费网站在线观看| 国产亚洲精品美女久久| 天堂成人国产精品一区| 激情欧美国产欧美| 欧美一区久久久| 久久不卡日韩美女| 清纯唯美亚洲综合一区| 视频一区中文字幕| 亚洲午夜电影| 日韩欧美少妇| 日韩av有码| 老司机免费视频一区二区| 日韩高清二区| 日韩va亚洲va欧美va久久| 亚洲欧美在线专区| 国产精品毛片| 久久国产高清| 久热综合在线亚洲精品| 国产精品社区| 亚洲欧美日韩国产综合精品二区| 亚洲激情av| 亚洲欧美日韩专区| 中文国产一区| 欧洲亚洲一区二区三区| 日韩大片在线观看| 成人日韩在线观看| 久久久水蜜桃av免费网站| 国产91在线播放精品| 蜜桃精品视频| 国产一区二区精品福利地址| 久久精品国产99国产精品| 久久精品资源| 久久久久久婷| 日韩高清中文字幕一区二区| 日韩欧美一区二区三区在线观看| 久久黄色影院| 精品欧美激情在线观看| 狠狠色狠狠色综合日日tαg| 亚洲国产综合在线看不卡| 一区二区视频欧美| 美女日韩在线中文字幕| 亚洲tv在线| 国产精品v一区二区三区| 麻豆精品av| 欧美日韩视频网站| 美女少妇全过程你懂的久久| 日韩中文字幕区一区有砖一区| 中文字幕日韩欧美精品高清在线| 精品亚洲a∨一区二区三区18| 麻豆网站免费在线观看| 日本精品不卡| 一本色道精品久久一区二区三区| 丝袜脚交一区二区| 欧美中文字幕| 日韩av中文字幕一区二区| 国产精品久久久久久久久久齐齐| 国产伦久视频在线观看| 亚洲大片在线| 亚洲精品在线国产| 日韩一区二区三区四区五区| 国产精品免费99久久久| 福利精品一区| 激情综合网五月| 日韩一区二区三免费高清在线观看 | 美女少妇全过程你懂的久久| 亚洲激情中文| 日本精品另类| 精品理论电影在线| 日本精品影院| 亚洲午夜国产成人| 国产精久久久| 成人日韩在线观看| 免费成人在线观看| 久久精品欧美一区| 精品成人免费一区二区在线播放| 亚洲福利国产| 天堂va在线高清一区| 精品欧美视频| 9色精品在线| 老司机精品视频网| 久久精品在线| 日韩精品亚洲aⅴ在线影院| 日韩综合在线| 亚洲欧美在线专区| 麻豆网站免费在线观看| 亚洲麻豆一区| 国产精品毛片久久| 免费人成精品欧美精品| 美女视频一区在线观看| 亚洲黄页一区| 欧美激情三区| 亚洲免费网址| 中文在线中文资源| 日本成人中文字幕在线视频| 久久久国产亚洲精品| 亚洲乱码久久| 亚洲精品福利电影|