Red de conocimiento informático - Problemas con los teléfonos móviles - Uni-app utiliza Tencent Cloud im para desarrollar salas de chat de aplicaciones.

Uni-app utiliza Tencent Cloud im para desarrollar salas de chat de aplicaciones.

Dirección del componente:/document/product/269/64507

Dónde encontrar tutoriales y qué documentos desarrollar.

npm install tim-wx-sdk@2.15.0 -save

npm install cos-wx-SDK-V5 @ 0. 7. 11-save

-

Importar TIM desde "tim-wx-sdk";

Importar COS desde "cos-wx-sdk-v5";

Importar desde ' registrador. /utils/logger '///app.js

Importar { genTestUserSig } desde '. /debug/GenerateTestUserSig.js '

En el bucle onLaunch bajo el archivo app.vue:

///?UserInfo se utiliza para determinar si el usuario ha iniciado sesión.

if (userInfo!= '' || userInfo!=undefinido){

if(uni . gettoragesync(' zuserInfo '). role == 1 | | uni . getstoragesync ( 'zuserInfo'). rol == 2) {

//Conectar mensajería instantánea

//Si se puede acceder a tim, cambie uni.tim a uni. $TUIKit.

Universidad. $TUIKit = TIM.create({

?SDK AppID:' '//Rellena el appid que solicitaste.

});

Universidad. $TUIKit.registerPlugin({

?' cos-wx-sdk': COS

});

Universidad. $ resetLoginData = esto. resetLoginData(userInfo)

Universidad. $TUIKitTIM = TIM

Universidad. $TUIKitEvent = TIM. Evento;

Universidad. $TUIKitVersion = TIM. Versión;

Universidad. $TUIKitTypes = TIM. Type; //Escuche eventos a nivel del sistema

Universidad. $TUIKit.on(uni. $TUIKitEvent. SDK_NOT_READY, this. onsdknotready);

Universidad. $TUIKit.on(uni.$TUIKitEvent.KICKED_OUT,this.onkickedout);

Universidad. $TUIKit.on(uni.$TUIKitEvent.error,this.ontimerror);

Universidad. $TUIKit.on(uni.$TUIKitEvent.NET_STATE_CHANGE, this.onnetstatechange);

Universidad. $TUIKit.on(uni.$TUIKitEvent.SDK_RELOAD,this.onsdk RELOAD);

Universidad. $TUIKit.on(uni.$TUIKitEvent.

SDK_READY, este . onsdkready);

}

}

// TODO:

? resetLoginData(información){

Deja que esto = esto

estos datos globales. expi resin = "";

estos datos globales. ";

this.globalData.userInfoIm = {

? ID de usuario: info.ID de usuario

? userSig: info.txSig,

? token: info.token,

? Teléfono:info.phone

};

estos datos globales del usuario = null

Universidad. $ tui kit iniciar sesión ({ ID de usuario: info . ID de usuario . tostring(), userSig: info.txSig.toString()})

. Luego (función (imResponse) {

?//console . log(im respuesta . data); //Inicio de sesión exitoso

// _this.getUpdateMyProfile()

? if(im respuesta . datos . repetir inicio de sesión = = = verdadero){

//Identifica que la cuenta ha iniciado sesión. Esta operación de inicio de sesión es compatible desde v2.5.1. >//console . log(respuesta im. datos. información de error);

? catch(function(imError) {

?console.warn('Error de inicio de sesión:', imError); //Información de error de inicio de sesión

});

? },

onTIMError() {},

? onNetStateChange() {},

? onSDKReload() {},

? onSDKReady(evento){

Let this = this

_this.getUpdateMyProfile()

_this.getImUnread()

},

? onSdkNotReady() {

this.getImLogin()

},

? onKickedOut() {

uni.showToast({

?Title: 'Te echaron de la línea de montaje',

?Icon: "Error"

});

Let userinfo = ' '

uni.setStorageSync('zuserInfo ', userInfo)

setTimeout(() = & gt ;{

uni redireccionamiento({

?URL: “/pages/iniciar sesión/iniciar sesión”

});

},2000)

// uni.navigateTo({

//?url:'./pages/TUI-Login/Login'

/ / });

? },

logoutTim() {

Universidad.

$TUIKit.logout()

},

uni.navigateTo({

URL:'/pages/TUI-Chat/chat?id de conversación = C2C '+esta información . usuario _ id

});

getImUnread() {

Universidad. $TUIKit.getConversationList(). Entonces (res = & gt{

//console . log(RES . data . lista de conversaciones)

for(let I of RES . data . lista de conversaciones){

if( i.unreadCount!= 0 ) {

uni . showtabbareddot({ index:2 })

Regresar

}

}

}).catch(fail = & gt;{

// console.log(failure)

});

},