From 957bcf790fd7292af76440c24a5ca0377ef4c2f3 Mon Sep 17 00:00:00 2001 From: MaysWind Date: Sun, 13 Aug 2023 15:18:38 +0800 Subject: [PATCH] code refactor --- src/stores/user.js | 14 ++++++++++++++ src/views/desktop/SignupPage.vue | 16 ++++------------ src/views/mobile/SignupPage.vue | 16 ++++------------ 3 files changed, 22 insertions(+), 24 deletions(-) diff --git a/src/stores/user.js b/src/stores/user.js index bff0c1f9..9c9ef812 100644 --- a/src/stores/user.js +++ b/src/stores/user.js @@ -61,6 +61,20 @@ export const useUserStore = defineStore('user', { } }, actions: { + generateNewUserInfo(language) { + const settingsStore = useSettingsStore(); + + return { + username: '', + password: '', + confirmPassword: '', + email: '', + nickname: '', + language: language, + defaultCurrency: settingsStore.localeDefaultSettings.currency, + firstDayOfWeek: settingsStore.localeDefaultSettings.firstDayOfWeek, + }; + }, storeUserInfo(userInfo) { this.currentUserInfo = userInfo; userState.updateUserInfo(userInfo); diff --git a/src/views/desktop/SignupPage.vue b/src/views/desktop/SignupPage.vue index 9033e374..8b7d6841 100644 --- a/src/views/desktop/SignupPage.vue +++ b/src/views/desktop/SignupPage.vue @@ -249,6 +249,7 @@ import { useTheme } from 'vuetify'; import { mapStores } from 'pinia'; import { useRootStore } from '@/stores/index.js'; import { useSettingsStore } from '@/stores/setting.js'; +import { useUserStore } from '@/stores/user.js'; import { useTransactionCategoriesStore } from '@/stores/transactionCategory.js'; import { useExchangeRatesStore } from '@/stores/exchangeRates.js'; @@ -266,20 +267,11 @@ import { export default { data() { - const self = this; - const settingsStore = useSettingsStore(); + const userStore = useUserStore(); + const newUser = userStore.generateNewUserInfo(this.$locale.getCurrentLanguageCode()); return { - user: { - username: '', - password: '', - confirmPassword: '', - email: '', - nickname: '', - language: self.$locale.getCurrentLanguageCode(), - defaultCurrency: settingsStore.localeDefaultSettings.currency, - firstDayOfWeek: settingsStore.localeDefaultSettings.firstDayOfWeek, - }, + user: newUser, currentStep: 'basicSetting', isPasswordVisible: false, isConfirmPasswordVisible: false, diff --git a/src/views/mobile/SignupPage.vue b/src/views/mobile/SignupPage.vue index ae3495c9..e65f4a59 100644 --- a/src/views/mobile/SignupPage.vue +++ b/src/views/mobile/SignupPage.vue @@ -177,6 +177,7 @@ import { mapStores } from 'pinia'; import { useRootStore } from '@/stores/index.js'; import { useSettingsStore } from '@/stores/setting.js'; +import { useUserStore } from '@/stores/user.js'; import { useTransactionCategoriesStore } from '@/stores/transactionCategory.js'; import { useExchangeRatesStore } from '@/stores/exchangeRates.js'; @@ -188,20 +189,11 @@ export default { 'f7router' ], data() { - const self = this; - const settingsStore = useSettingsStore(); + const userStore = useUserStore(); + const newUser = userStore.generateNewUserInfo(this.$locale.getCurrentLanguageCode()); return { - user: { - username: '', - password: '', - confirmPassword: '', - email: '', - nickname: '', - language: self.$locale.getCurrentLanguageCode(), - defaultCurrency: settingsStore.localeDefaultSettings.currency, - firstDayOfWeek: settingsStore.localeDefaultSettings.firstDayOfWeek, - }, + user: newUser, submitting: false, usePresetCategories: false, showPresetCategories: false,