fix: IM退出数据清空问题

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

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

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

@ -2,7 +2,7 @@
* @Author: ch * @Author: ch
* @Date: 2021-07-26 23:22:16 * @Date: 2021-07-26 23:22:16
* @LastEditors: ch * @LastEditors: ch
* @LastEditTime: 2022-06-09 11:43:04 * @LastEditTime: 2022-06-13 10:15:03
* @Description: file content * @Description: file content
*/ */
import Vue from 'vue'; import Vue from 'vue';
@ -16,12 +16,22 @@ import {ApiGetOpenId, ApiGetAuthUrl} from '@/common/api/wx';
import {Im, ImInit} from '@/common/utils'; import {Im, ImInit} from '@/common/utils';
import { ApiSktSysGetSession, ApiSktSysHeart } from './common/api/im'; import { ApiSktSysGetSession, ApiSktSysHeart } from './common/api/im';
if (store.state.token) { const socketInit = () => {
if (!store.state.userInfo.id) {
setTimeout(() => {
socketInit();
},10000)
return false;
}
// 初始化IM // 初始化IM
ImInit().then(() => { ImInit().then(() => {
// 获取到会话列表 // 获取到会话列表
Im.getSessionList(); 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 * @Author: ch
* @Date: 2022-03-22 16:13:00 * @Date: 2022-03-22 16:13:00
* @LastEditors: ch * @LastEditors: ch
* @LastEditTime: 2022-06-10 11:29:11 * @LastEditTime: 2022-06-12 15:30:00
* @Description: file content * @Description: file content
--> -->
<template> <template>
@ -40,7 +40,7 @@
<script> <script>
import BsEmpty from '../../../components/BsEmpty.vue'; import BsEmpty from '../../../components/BsEmpty.vue';
import {MSG_TYPE} from '@/common/dicts/im'; import {MSG_TYPE} from '@/common/dicts/im';
import {FormatDate} from '@/common/utils'; import {FormatDate, Im} from '@/common/utils';
export default { export default {
components: { BsEmpty }, components: { BsEmpty },
data (){ data (){
@ -62,6 +62,7 @@ export default {
methods:{ methods:{
FormatDate, FormatDate,
openMsg(item){ openMsg(item){
Im.setCurSessionId(item.id);
if(item.type === 4){ if(item.type === 4){
if(JSON.parse(item.payload).type === 'system'){ if(JSON.parse(item.payload).type === 'system'){
this.$Router.push(`/messageSystem?sessionId=${item.id}`); this.$Router.push(`/messageSystem?sessionId=${item.id}`);

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

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

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

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

Loading…
Cancel
Save