update:修复黑屏下挤号问题
This commit is contained in:
15
src/App.vue
15
src/App.vue
@@ -22,9 +22,7 @@
|
|||||||
const {
|
const {
|
||||||
updateUser,
|
updateUser,
|
||||||
updateOnline,
|
updateOnline,
|
||||||
updateDevice,
|
clearSessionState
|
||||||
updateGame,
|
|
||||||
updateRoomNumber
|
|
||||||
} = store;
|
} = store;
|
||||||
|
|
||||||
watch(
|
watch(
|
||||||
@@ -50,14 +48,9 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function onSessionKickedOut() {
|
function onSessionKickedOut() {
|
||||||
uni.removeStorageSync(
|
const env = uni.getAccountInfoSync().miniProgram.envVersion;
|
||||||
`${uni.getAccountInfoSync().miniProgram.envVersion}_token`
|
uni.removeStorageSync(`${env}_token`);
|
||||||
);
|
clearSessionState();
|
||||||
updateUser();
|
|
||||||
updateDevice("", "");
|
|
||||||
updateOnline(false);
|
|
||||||
updateGame(false, "");
|
|
||||||
updateRoomNumber("");
|
|
||||||
uni.showModal({
|
uni.showModal({
|
||||||
title: "提示",
|
title: "提示",
|
||||||
content: "账号已在其他设备登录",
|
content: "账号已在其他设备登录",
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ function request(method, url, data = {}) {
|
|||||||
if (code === 0) resolve(data);
|
if (code === 0) resolve(data);
|
||||||
else if (message) {
|
else if (message) {
|
||||||
if (message.indexOf("登录身份已失效") !== -1) {
|
if (message.indexOf("登录身份已失效") !== -1) {
|
||||||
|
console.log('1111111111111111111,token失效')
|
||||||
uni.removeStorageSync(
|
uni.removeStorageSync(
|
||||||
`${uni.getAccountInfoSync().miniProgram.envVersion}_token`
|
`${uni.getAccountInfoSync().miniProgram.envVersion}_token`
|
||||||
);
|
);
|
||||||
|
|||||||
39
src/store.js
39
src/store.js
@@ -1,5 +1,7 @@
|
|||||||
import { defineStore } from "pinia";
|
import { defineStore } from "pinia";
|
||||||
|
|
||||||
|
const PERSISTED_STORE_KEY = "store";
|
||||||
|
|
||||||
const defaultUser = {
|
const defaultUser = {
|
||||||
id: "",
|
id: "",
|
||||||
nickName: "",
|
nickName: "",
|
||||||
@@ -8,6 +10,22 @@ const defaultUser = {
|
|||||||
lvlName: "",
|
lvlName: "",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const getDefaultUser = () => ({ ...defaultUser });
|
||||||
|
|
||||||
|
const getDefaultDevice = () => ({
|
||||||
|
deviceId: "",
|
||||||
|
deviceName: "",
|
||||||
|
});
|
||||||
|
|
||||||
|
const getDefaultGame = () => ({
|
||||||
|
roomID: "",
|
||||||
|
inBattle: false,
|
||||||
|
roomNumber: "",
|
||||||
|
currentShot: 0,
|
||||||
|
totalShot: 0,
|
||||||
|
tips: "",
|
||||||
|
});
|
||||||
|
|
||||||
const getLvlName = (rankLvl, rankList = []) => {
|
const getLvlName = (rankLvl, rankList = []) => {
|
||||||
if (!rankList) return;
|
if (!rankList) return;
|
||||||
let lvlName = "";
|
let lvlName = "";
|
||||||
@@ -65,11 +83,8 @@ const getLvlImageByScore = (score, rankList = []) => {
|
|||||||
export default defineStore("store", {
|
export default defineStore("store", {
|
||||||
// 状态
|
// 状态
|
||||||
state: () => ({
|
state: () => ({
|
||||||
user: defaultUser,
|
user: getDefaultUser(),
|
||||||
device: {
|
device: getDefaultDevice(),
|
||||||
deviceId: "",
|
|
||||||
deviceName: "",
|
|
||||||
},
|
|
||||||
config: {},
|
config: {},
|
||||||
rankData: {
|
rankData: {
|
||||||
rank: [],
|
rank: [],
|
||||||
@@ -111,7 +126,7 @@ export default defineStore("store", {
|
|||||||
this.online = online;
|
this.online = online;
|
||||||
},
|
},
|
||||||
async updateUser(user = {}) {
|
async updateUser(user = {}) {
|
||||||
this.user = { ...defaultUser, ...user };
|
this.user = { ...getDefaultUser(), ...user };
|
||||||
this.user.lvlName = getLvlNameByScore(this.user.scores, this.config.randInfos)
|
this.user.lvlName = getLvlNameByScore(this.user.scores, this.config.randInfos)
|
||||||
this.user.lvlImage = getLvlImageByScore(
|
this.user.lvlImage = getLvlImageByScore(
|
||||||
this.user.scores,
|
this.user.scores,
|
||||||
@@ -152,6 +167,18 @@ export default defineStore("store", {
|
|||||||
updateRoomNumber(number) {
|
updateRoomNumber(number) {
|
||||||
this.game.roomNumber = number;
|
this.game.roomNumber = number;
|
||||||
},
|
},
|
||||||
|
clearSessionState() {
|
||||||
|
this.$patch({
|
||||||
|
user: getDefaultUser(),
|
||||||
|
device: getDefaultDevice(),
|
||||||
|
online: false,
|
||||||
|
game: getDefaultGame(),
|
||||||
|
});
|
||||||
|
uni.removeStorageSync(PERSISTED_STORE_KEY);
|
||||||
|
setTimeout(() => {
|
||||||
|
uni.removeStorageSync(PERSISTED_STORE_KEY);
|
||||||
|
}, 0);
|
||||||
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
// 数据持久化(via pinia-plugin-persistedstate)
|
// 数据持久化(via pinia-plugin-persistedstate)
|
||||||
|
|||||||
Reference in New Issue
Block a user