code refactor

This commit is contained in:
MaysWind
2025-01-05 21:39:39 +08:00
parent 49f1f3c86b
commit 6dc0ebcac6
22 changed files with 279 additions and 229 deletions
+27 -20
View File
@@ -11,7 +11,14 @@ import { useOverviewStore } from './overview.js';
import { useStatisticsStore } from './statistics.js';
import { useExchangeRatesStore } from './exchangeRates.js';
import userState from '@/lib/userstate.ts';
import {
hasUserAppLockState,
getUserAppLockState,
updateCurrentToken,
clearWebAuthnConfig,
clearCurrentSessionToken,
clearCurrentTokenAndUserInfo
} from '@/lib/userstate.ts';
import services from '@/lib/services.ts';
import logger from '@/lib/logger.ts';
import { isObject, isString } from '@/lib/common.ts';
@@ -75,18 +82,18 @@ export const useRootStore = defineStore('root', {
return;
}
if (settingsStore.appSettings.applicationLock || userState.getUserAppLockState()) {
const appLockState = userState.getUserAppLockState();
if (settingsStore.appSettings.applicationLock || hasUserAppLockState()) {
const appLockState = getUserAppLockState();
if (!appLockState || appLockState.username !== data.result.user.username) {
userState.clearTokenAndUserInfo(true);
clearCurrentTokenAndUserInfo(true);
settingsStore.setEnableApplicationLock(false);
settingsStore.setEnableApplicationLockWebAuthn(false);
userState.clearWebAuthnConfig();
clearWebAuthnConfig();
}
}
userState.updateToken(data.result.token);
updateCurrentToken(data.result.token);
if (data.result.user && isObject(data.result.user)) {
const userStore = useUserStore();
@@ -136,18 +143,18 @@ export const useRootStore = defineStore('root', {
return;
}
if (settingsStore.appSettings.applicationLock || userState.getUserAppLockState()) {
const appLockState = userState.getUserAppLockState();
if (settingsStore.appSettings.applicationLock || hasUserAppLockState()) {
const appLockState = getUserAppLockState();
if (!appLockState || appLockState.username !== data.result.user.username) {
userState.clearTokenAndUserInfo(true);
clearCurrentTokenAndUserInfo(true);
settingsStore.setEnableApplicationLock(false);
settingsStore.setEnableApplicationLockWebAuthn(false);
userState.clearWebAuthnConfig();
clearWebAuthnConfig();
}
}
userState.updateToken(data.result.token);
updateCurrentToken(data.result.token);
if (data.result.user && isObject(data.result.user)) {
const userStore = useUserStore();
@@ -192,11 +199,11 @@ export const useRootStore = defineStore('root', {
if (settingsStore.appSettings.applicationLock) {
settingsStore.setEnableApplicationLock(false);
settingsStore.setEnableApplicationLockWebAuthn(false);
userState.clearWebAuthnConfig();
clearWebAuthnConfig();
}
if (data.result.token && isString(data.result.token)) {
userState.updateToken(data.result.token);
updateCurrentToken(data.result.token);
}
if (data.result.user && isObject(data.result.user)) {
@@ -219,7 +226,7 @@ export const useRootStore = defineStore('root', {
});
},
lock() {
userState.clearSessionToken();
clearCurrentSessionToken();
this.resetAllStates(false);
},
logout() {
@@ -234,8 +241,8 @@ export const useRootStore = defineStore('root', {
return;
}
userState.clearTokenAndUserInfo(true);
userState.clearWebAuthnConfig();
clearCurrentTokenAndUserInfo(true);
clearWebAuthnConfig();
self.resetAllStates(true);
resolve(data.result);
@@ -253,8 +260,8 @@ export const useRootStore = defineStore('root', {
});
},
forceLogout() {
userState.clearTokenAndUserInfo(true);
userState.clearWebAuthnConfig();
clearCurrentTokenAndUserInfo(true);
clearWebAuthnConfig();
this.resetAllStates(true);
},
verifyEmail({ token, requestNewToken }) {
@@ -271,7 +278,7 @@ export const useRootStore = defineStore('root', {
}
if (data.result.newToken && isString(data.result.newToken)) {
userState.updateToken(data.result.newToken);
updateCurrentToken(data.result.newToken);
}
if (data.result.user && isObject(data.result.user)) {
@@ -405,7 +412,7 @@ export const useRootStore = defineStore('root', {
}
if (data.result.newToken && isString(data.result.newToken)) {
userState.updateToken(data.result.newToken);
updateCurrentToken(data.result.newToken);
}
if (data.result.user && isObject(data.result.user)) {
+2 -2
View File
@@ -2,7 +2,7 @@ import { defineStore } from 'pinia';
import { useUserStore } from './user.js';
import userState from '@/lib/userstate.ts';
import { updateCurrentToken } from '@/lib/userstate.ts';
import services from '@/lib/services.ts';
import logger from '@/lib/logger.ts';
import { isObject } from '@/lib/common.ts';
@@ -46,7 +46,7 @@ export const useTokensStore = defineStore('tokens', {
}
if (data && data.success && data.result && data.result.newToken) {
userState.updateToken(data.result.newToken);
updateCurrentToken(data.result.newToken);
if (data.result.oldTokenId) {
self.revokeToken({
+9 -5
View File
@@ -12,7 +12,11 @@ import { DateRange } from '@/core/datetime.ts';
import { CategoryType } from '@/core/category.ts';
import { TransactionType, TransactionTagFilterType } from '@/core/transaction.ts';
import { TRANSACTION_MIN_AMOUNT, TRANSACTION_MAX_AMOUNT } from '@/consts/transaction.ts';
import userState from '@/lib/userstate.ts';
import {
getUserTransactionDraft,
updateUserTransactionDraft,
clearUserTransactionDraft
} from '@/lib/userstate.ts';
import services from '@/lib/services.ts';
import logger from '@/lib/logger.ts';
import {
@@ -366,7 +370,7 @@ function buildTransactionDraft(transaction) {
export const useTransactionsStore = defineStore('transactions', {
state: () => ({
transactionDraft: userState.getUserTransactionDraft(),
transactionDraft: getUserTransactionDraft(),
transactionsFilter: {
dateType: DateRange.All.type,
maxTime: 0,
@@ -502,7 +506,7 @@ export const useTransactionsStore = defineStore('transactions', {
const settingsStore = useSettingsStore();
if (settingsStore.appSettings.autoSaveTransactionDraft === 'enabled' || settingsStore.appSettings.autoSaveTransactionDraft === 'confirmation') {
this.transactionDraft = userState.getUserTransactionDraft();
this.transactionDraft = getUserTransactionDraft();
} else {
this.transactionDraft = null;
}
@@ -590,11 +594,11 @@ export const useTransactionsStore = defineStore('transactions', {
this.transactionDraft = buildTransactionDraft(transaction);
}
userState.updateUserTransactionDraft(this.transactionDraft);
updateUserTransactionDraft(this.transactionDraft);
},
clearTransactionDraft() {
this.transactionDraft = null;
userState.clearUserTransactionDraft();
clearUserTransactionDraft();
},
generateNewTransactionModel(type) {
const settingsStore = useSettingsStore();
+2 -2
View File
@@ -1,6 +1,6 @@
import { defineStore } from 'pinia';
import userState from '@/lib/userstate.ts';
import { updateCurrentToken } from '@/lib/userstate.ts';
import services from '@/lib/services.ts';
import logger from '@/lib/logger.ts';
import { isBoolean } from '@/lib/common.ts';
@@ -69,7 +69,7 @@ export const useTwoFactorAuthStore = defineStore('twoFactorAuth', {
}
if (data.result.token) {
userState.updateToken(data.result.token);
updateCurrentToken(data.result.token);
}
resolve(data.result);
+8 -4
View File
@@ -2,7 +2,11 @@ import { defineStore } from 'pinia';
import { useSettingsStore } from './setting.ts';
import userState from '@/lib/userstate.ts';
import {
getCurrentUserInfo,
updateCurrentUserInfo,
clearCurrentUserInfo
} from '@/lib/userstate.ts';
import services from '@/lib/services.ts';
import logger from '@/lib/logger.ts';
import {
@@ -12,7 +16,7 @@ import {
export const useUserStore = defineStore('user', {
state: () => ({
currentUserBasicInfo: userState.getUserInfo()
currentUserBasicInfo: getCurrentUserInfo()
}),
getters: {
currentUserNickname(state) {
@@ -99,11 +103,11 @@ export const useUserStore = defineStore('user', {
},
storeUserBasicInfo(userInfo) {
this.currentUserBasicInfo = userInfo;
userState.updateUserInfo(userInfo);
updateCurrentUserInfo(userInfo);
},
resetUserBasicInfo() {
this.currentUserBasicInfo = null;
userState.clearUserInfo();
clearCurrentUserInfo();
},
getCurrentUserProfile() {
return new Promise((resolve, reject) => {