fix: IM退出数据清空问题

feature/im-0602-ch
ch 3 years ago
parent 58657621d9
commit 71e6293742

@ -2,7 +2,7 @@
* @Author: ch
* @Date: 2022-05-18 14:54:47
* @LastEditors: ch
* @LastEditTime: 2022-06-10 19:12:35
* @LastEditTime: 2022-06-12 13:43:09
* @Description: file content
*/
import { CreateUUID, FormatDate, ToAsyncAwait } from "@/common/utils";
@ -454,5 +454,11 @@ class MsbIm {
}
return Promise.resolve(result);
}
close() {
this.socket.close();
this.socket = null;
this.isOpen = false;
this.setSessionData([]);
}
}
export default MsbIm;

@ -2,7 +2,7 @@
* @Author: ch
* @Date: 2022-05-20 11:00:07
* @LastEditors: ch
* @LastEditTime: 2022-06-09 11:32:37
* @LastEditTime: 2022-06-13 10:11:33
* @Description: file content
*/
@ -17,10 +17,6 @@ const Im = new MsbIm({
reconnect: true,
});
const ImInit = async () => {
if (!$store.state.userInfo.id) {
ImInit();
return false;
}
const { error, result } = await ApiGetSoketTicket();
if (error) {
return false;
@ -48,7 +44,7 @@ Im.interceptors.dataChangeAfter = () => {
$store.commit('SET_IM_MSG_COUNT', msgCount);
}
Im.interceptors.onLogout = () => {
Im.interceptors.onClose = () => {
Im.setSessionData([]);
Im.setCurSessionId(null);
$store.commit('SET_IM_DATA', []);

@ -2,7 +2,7 @@
* @Author: ch
* @Date: 2021-07-26 23:22:16
* @LastEditors: ch
* @LastEditTime: 2022-06-09 11:43:04
* @LastEditTime: 2022-06-13 10:15:03
* @Description: file content
*/
import Vue from 'vue';
@ -16,12 +16,22 @@ import {ApiGetOpenId, ApiGetAuthUrl} from '@/common/api/wx';
import {Im, ImInit} from '@/common/utils';
import { ApiSktSysGetSession, ApiSktSysHeart } from './common/api/im';
if (store.state.token) {
const socketInit = () => {
if (!store.state.userInfo.id) {
setTimeout(() => {
socketInit();
},10000)
return false;
}
// 初始化IM
ImInit().then(() => {
// 获取到会话列表
Im.getSessionList();
});
}
if (store.state.token) {
socketInit();
}

@ -1,75 +0,0 @@
{
"name": "",
"appid": "",
"description": "",
"versionName": "1.0.0",
"versionCode": "100",
"transformPx": false,
"app-plus": { /* 5+App */
"usingComponents": true,
"splashscreen": {
"alwaysShowBeforeRender": true,
"waiting": true,
"autoclose": true,
"delay": 0
},
"modules": { /* */
},
"distribute": { /* */
"android": { /* android */
"permissions": ["<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.READ_CONTACTS\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
"<uses-permission android:name=\"android.permission.WRITE_CONTACTS\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
"<uses-permission android:name=\"android.permission.RECORD_AUDIO\"/>",
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
"<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>",
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
"<uses-permission android:name=\"android.permission.CALL_PHONE\"/>",
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>",
"<uses-feature android:name=\"android.hardware.camera\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>",
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
]
},
"ios": { /* ios */
},
"sdkConfigs": { /* SDK */
}
}
},
"quickapp": { /* */
},
"mp-weixin": { /* */
"appid": "",
"setting": {
"urlCheck": false
},
"usingComponents": true
},
"mp-alipay" : {
"usingComponents" : true
},
"mp-baidu" : {
"usingComponents" : true
},
"mp-toutiao" : {
"usingComponents" : true
},
"mp-qq" : {
"usingComponents" : true
}
}

@ -2,7 +2,7 @@
* @Author: ch
* @Date: 2022-03-22 16:13:00
* @LastEditors: ch
* @LastEditTime: 2022-06-10 11:29:11
* @LastEditTime: 2022-06-12 15:30:00
* @Description: file content
-->
<template>
@ -40,7 +40,7 @@
<script>
import BsEmpty from '../../../components/BsEmpty.vue';
import {MSG_TYPE} from '@/common/dicts/im';
import {FormatDate} from '@/common/utils';
import {FormatDate, Im} from '@/common/utils';
export default {
components: { BsEmpty },
data (){
@ -62,6 +62,7 @@ export default {
methods:{
FormatDate,
openMsg(item){
Im.setCurSessionId(item.id);
if(item.type === 4){
if(JSON.parse(item.payload).type === 'system'){
this.$Router.push(`/messageSystem?sessionId=${item.id}`);

@ -2,7 +2,7 @@
* @Author: ch
* @Date: 2022-03-22 15:09:06
* @LastEditors: ch
* @LastEditTime: 2022-05-24 17:24:35
* @LastEditTime: 2022-06-12 13:46:04
* @Description: file content
-->
<template>
@ -43,7 +43,7 @@ export default {
return false;
}
this.$store.commit('SET_TOKEN');
Im.logout();
Im.close();
this.$Router.replace('/login');
}
}

@ -2,11 +2,12 @@
* @Author: ch
* @Date: 2019-08-22 19:41:20
* @LastEditors: ch
* @LastEditTime: 2022-05-31 17:35:15
* @LastEditTime: 2022-06-11 18:25:24
* @Description: file content
-->
<template>
<view>
<view class="test">xxxx</view>
<view class="header">
<view class="logo" :class="{'logo__min' : scrollTop > 35 }"></view>
<view class="search search__min" v-if="scrollTop > 35" @click="$Router.push('/search')">
@ -113,7 +114,7 @@ export default {
async getSeckillList(){
const {error, result} = await ApiGetHomeSeckill();
if(result){
this.seckillData = result
this.seckillData = result;
}
},
AdJump
@ -127,6 +128,14 @@ page {
}
</style>
<style lang="scss" scoped>
.test{
background: #ccc;
color: #fff;
position: fixed;
z-index: 9999;
left: 50%;
bottom: 0;
}
.header{
position: sticky;
top: var(--window-top);

@ -2,7 +2,7 @@
* @Author: ch
* @Date: 2022-03-22 15:36:46
* @LastEditors: ch
* @LastEditTime: 2022-05-24 09:57:06
* @LastEditTime: 2022-06-13 10:20:21
* @Description: file content
-->
<template>
@ -119,9 +119,7 @@ export default {
// IM
ImInit().then(() => {
//
Im.getSessionList({
content: { sysId : 1 }
});
Im.getSessionList();
});
this.goBack();

@ -7,6 +7,7 @@
-->
<template>
<view>
<view class="test">xxxx</view>
<image class="back" src="@/static/common/back_white.png" @click="$Router.back()"/>
<image class="banner" src="@/static/seckill/banner.png"/>
<view class="tab">
@ -111,6 +112,14 @@ page {
}
</style>
<style lang="scss" scoped>
.test{
background: #ccc;
color: #fff;
position: fixed;
z-index: 9999;
left: 50%;
bottom: var(--window-bottom);
}
.back{
width: 14rpx;
height: 28rpx;

Loading…
Cancel
Save