Uni-app utiliza Tencent Cloud im para desarrollar salas de chat de aplicaciones.
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)
}); p>
},