code refactor

This commit is contained in:
MaysWind
2023-04-21 22:11:10 +08:00
parent c08abfdfdf
commit e8b0470ceb
+37 -29
View File
@@ -33,6 +33,14 @@ import CategoryPresetPage from '../views/mobile/categories/Preset.vue';
import TagListPage from '../views/mobile/tags/List.vue'; import TagListPage from '../views/mobile/tags/List.vue';
function asyncResolve(component) {
return function({ resolve }) {
return resolve({
component: component
});
};
}
function checkLogin({ router, resolve, reject }) { function checkLogin({ router, resolve, reject }) {
if (!userState.isUserLogined()) { if (!userState.isUserLogined()) {
reject(); reject();
@@ -102,7 +110,7 @@ function checkNotLogin({ router, resolve, reject }) {
const routes = [ const routes = [
{ {
path: '/', path: '/',
async: ({resolve}) => resolve({component: HomePage}), async: asyncResolve(HomePage),
beforeEnter: [checkLogin], beforeEnter: [checkLogin],
options: { options: {
animate: false, animate: false,
@@ -110,7 +118,7 @@ const routes = [
}, },
{ {
path: '/login', path: '/login',
async: ({resolve}) => resolve({component: LoginPage}), async: asyncResolve(LoginPage),
beforeEnter: [checkNotLogin], beforeEnter: [checkNotLogin],
options: { options: {
animate: false, animate: false,
@@ -118,7 +126,7 @@ const routes = [
}, },
{ {
path: '/signup', path: '/signup',
async: ({resolve}) => resolve({component: SignUpPage}), async: asyncResolve(SignUpPage),
beforeEnter: [checkNotLogin], beforeEnter: [checkNotLogin],
options: { options: {
animate: false, animate: false,
@@ -126,7 +134,7 @@ const routes = [
}, },
{ {
path: '/unlock', path: '/unlock',
async: ({resolve}) => resolve({component: UnlockPage}), async: asyncResolve(UnlockPage),
beforeEnter: [checkLocked], beforeEnter: [checkLocked],
options: { options: {
animate: false, animate: false,
@@ -134,127 +142,127 @@ const routes = [
}, },
{ {
path: '/transaction/list', path: '/transaction/list',
async: ({resolve}) => resolve({component: TransactionListPage}), async: asyncResolve(TransactionListPage),
beforeEnter: [checkLogin] beforeEnter: [checkLogin]
}, },
{ {
path: '/transaction/add', path: '/transaction/add',
async: ({resolve}) => resolve({component: TransactionEditPage}), async: asyncResolve(TransactionEditPage),
beforeEnter: [checkLogin] beforeEnter: [checkLogin]
}, },
{ {
path: '/transaction/edit', path: '/transaction/edit',
async: ({resolve}) => resolve({component: TransactionEditPage}), async: asyncResolve(TransactionEditPage),
beforeEnter: [checkLogin] beforeEnter: [checkLogin]
}, },
{ {
path: '/transaction/detail', path: '/transaction/detail',
async: ({resolve}) => resolve({component: TransactionEditPage}), async: asyncResolve(TransactionEditPage),
beforeEnter: [checkLogin] beforeEnter: [checkLogin]
}, },
{ {
path: '/account/list', path: '/account/list',
async: ({resolve}) => resolve({component: AccountListPage}), async: asyncResolve(AccountListPage),
beforeEnter: [checkLogin] beforeEnter: [checkLogin]
}, },
{ {
path: '/account/add', path: '/account/add',
async: ({resolve}) => resolve({component: AccountEditPage}), async: asyncResolve(AccountEditPage),
beforeEnter: [checkLogin] beforeEnter: [checkLogin]
}, },
{ {
path: '/account/edit', path: '/account/edit',
async: ({resolve}) => resolve({component: AccountEditPage}), async: asyncResolve(AccountEditPage),
beforeEnter: [checkLogin] beforeEnter: [checkLogin]
}, },
{ {
path: '/statistic/transaction', path: '/statistic/transaction',
async: ({resolve}) => resolve({component: StatisticsTransactionPage}), async: asyncResolve(StatisticsTransactionPage),
beforeEnter: [checkLogin] beforeEnter: [checkLogin]
}, },
{ {
path: '/statistic/settings', path: '/statistic/settings',
async: ({resolve}) => resolve({component: StatisticsSettingsPage}), async: asyncResolve(StatisticsSettingsPage),
beforeEnter: [checkLogin] beforeEnter: [checkLogin]
}, },
{ {
path: '/statistic/filter/account', path: '/statistic/filter/account',
async: ({resolve}) => resolve({component: StatisticsAccountFilterSettingsPage}), async: asyncResolve(StatisticsAccountFilterSettingsPage),
beforeEnter: [checkLogin] beforeEnter: [checkLogin]
}, },
{ {
path: '/statistic/filter/category', path: '/statistic/filter/category',
async: ({resolve}) => resolve({component: StatisticsCategoryFilterSettingsPage}), async: asyncResolve(StatisticsCategoryFilterSettingsPage),
beforeEnter: [checkLogin] beforeEnter: [checkLogin]
}, },
{ {
path: '/settings', path: '/settings',
async: ({resolve}) => resolve({component: SettingsPage}), async: asyncResolve(SettingsPage),
beforeEnter: [checkLogin] beforeEnter: [checkLogin]
}, },
{ {
path: '/app_lock', path: '/app_lock',
async: ({resolve}) => resolve({component: ApplicationLockPage}), async: asyncResolve(ApplicationLockPage),
beforeEnter: [checkLogin] beforeEnter: [checkLogin]
}, },
{ {
path: '/exchange_rates', path: '/exchange_rates',
async: ({resolve}) => resolve({component: ExchangeRatesPage}), async: asyncResolve(ExchangeRatesPage),
beforeEnter: [checkLogin] beforeEnter: [checkLogin]
}, },
{ {
path: '/about', path: '/about',
async: ({resolve}) => resolve({component: AboutPage}), async: asyncResolve(AboutPage),
beforeEnter: [checkLogin] beforeEnter: [checkLogin]
}, },
{ {
path: '/user/profile', path: '/user/profile',
async: ({resolve}) => resolve({component: UserProfilePage}), async: asyncResolve(UserProfilePage),
beforeEnter: [checkLogin] beforeEnter: [checkLogin]
}, },
{ {
path: '/user/data/management', path: '/user/data/management',
async: ({resolve}) => resolve({component: DataManagementPage}), async: asyncResolve(DataManagementPage),
beforeEnter: [checkLogin] beforeEnter: [checkLogin]
}, },
{ {
path: '/user/2fa', path: '/user/2fa',
async: ({resolve}) => resolve({component: TwoFactorAuthPage}), async: asyncResolve(TwoFactorAuthPage),
beforeEnter: [checkLogin] beforeEnter: [checkLogin]
}, },
{ {
path: '/user/sessions', path: '/user/sessions',
async: ({resolve}) => resolve({component: SessionListPage}), async: asyncResolve(SessionListPage),
beforeEnter: [checkLogin] beforeEnter: [checkLogin]
}, },
{ {
path: '/category/all', path: '/category/all',
async: ({resolve}) => resolve({component: CategoryAllPage}), async: asyncResolve(CategoryAllPage),
beforeEnter: [checkLogin] beforeEnter: [checkLogin]
}, },
{ {
path: '/category/list', path: '/category/list',
async: ({resolve}) => resolve({component: CategoryListPage}), async: asyncResolve(CategoryListPage),
beforeEnter: [checkLogin] beforeEnter: [checkLogin]
}, },
{ {
path: '/category/add', path: '/category/add',
async: ({resolve}) => resolve({component: CategoryEditPage}), async: asyncResolve(CategoryEditPage),
beforeEnter: [checkLogin] beforeEnter: [checkLogin]
}, },
{ {
path: '/category/edit', path: '/category/edit',
async: ({resolve}) => resolve({component: CategoryEditPage}), async: asyncResolve(CategoryEditPage),
beforeEnter: [checkLogin] beforeEnter: [checkLogin]
}, },
{ {
path: '/category/preset', path: '/category/preset',
async: ({resolve}) => resolve({component: CategoryPresetPage}), async: asyncResolve(CategoryPresetPage),
beforeEnter: [checkLogin] beforeEnter: [checkLogin]
}, },
{ {
path: '/tag/list', path: '/tag/list',
async: ({resolve}) => resolve({component: TagListPage}), async: asyncResolve(TagListPage),
beforeEnter: [checkLogin] beforeEnter: [checkLogin]
}, },
{ {