mirror of
https://github.com/mayswind/ezbookkeeping.git
synced 2026-05-18 16:54:25 +08:00
support application lock
This commit is contained in:
+68
-8
@@ -3,6 +3,7 @@ import userState from "../lib/userstate.js";
|
||||
import HomePage from '../views/mobile/Home.vue';
|
||||
import LoginPage from '../views/mobile/Login.vue';
|
||||
import SignUpPage from '../views/mobile/Signup.vue';
|
||||
import UnlockPage from '../views/mobile/Unlock.vue';
|
||||
|
||||
import TransactionDetailPage from '../views/mobile/transactions/Detail.vue';
|
||||
import TransactionNewPage from '../views/mobile/transactions/New.vue';
|
||||
@@ -13,6 +14,7 @@ import AccountEditPage from '../views/mobile/accounts/AccountEdit.vue';
|
||||
import StatisticsOverviewPage from '../views/mobile/statistics/Overview.vue';
|
||||
|
||||
import SettingsPage from '../views/mobile/Settings.vue';
|
||||
import ApplicationLockPage from '../views/mobile/ApplicationLock.vue';
|
||||
import ExchangeRatesPage from "../views/mobile/ExchangeRates.vue";
|
||||
import AboutPage from "../views/mobile/About.vue";
|
||||
import UserProfilePage from "../views/mobile/users/UserProfile.vue";
|
||||
@@ -22,25 +24,73 @@ import SessionListPage from "../views/mobile/users/SessionList.vue";
|
||||
function checkLogin(to, from, resolve, reject) {
|
||||
const router = this;
|
||||
|
||||
if (userState.isUserLogined()) {
|
||||
resolve();
|
||||
if (!userState.isUserLogined()) {
|
||||
reject();
|
||||
router.navigate('/login', {
|
||||
clearPreviousHistory: true,
|
||||
pushState: false
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
reject();
|
||||
router.navigate('/login');
|
||||
if (!userState.isUserUnlocked()) {
|
||||
reject();
|
||||
router.navigate('/unlock', {
|
||||
clearPreviousHistory: true,
|
||||
pushState: false
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
resolve();
|
||||
}
|
||||
|
||||
function checkLocked(to, from, resolve, reject) {
|
||||
const router = this;
|
||||
|
||||
if (!userState.isUserLogined()) {
|
||||
reject();
|
||||
router.navigate('/login', {
|
||||
clearPreviousHistory: true,
|
||||
pushState: false
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
if (userState.isUserUnlocked()) {
|
||||
reject();
|
||||
router.navigate('/', {
|
||||
clearPreviousHistory: true,
|
||||
pushState: false
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
resolve();
|
||||
}
|
||||
|
||||
function checkNotLogin(to, from, resolve, reject) {
|
||||
const router = this;
|
||||
|
||||
if (!userState.isUserLogined()) {
|
||||
resolve();
|
||||
if (userState.isUserLogined() && !userState.isUserUnlocked()) {
|
||||
reject();
|
||||
router.navigate('/unlock', {
|
||||
clearPreviousHistory: true,
|
||||
pushState: false
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
reject();
|
||||
router.navigate('/');
|
||||
if (userState.isUserLogined()) {
|
||||
reject();
|
||||
router.navigate('/', {
|
||||
clearPreviousHistory: true,
|
||||
pushState: false
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
resolve();
|
||||
}
|
||||
|
||||
const routes = [
|
||||
@@ -59,6 +109,11 @@ const routes = [
|
||||
component: SignUpPage,
|
||||
beforeEnter: checkNotLogin
|
||||
},
|
||||
{
|
||||
path: '/unlock',
|
||||
component: UnlockPage,
|
||||
beforeEnter: checkLocked
|
||||
},
|
||||
{
|
||||
path: '/transaction/details',
|
||||
component: TransactionDetailPage,
|
||||
@@ -94,6 +149,11 @@ const routes = [
|
||||
component: SettingsPage,
|
||||
beforeEnter: checkLogin
|
||||
},
|
||||
{
|
||||
path: '/app_lock',
|
||||
component: ApplicationLockPage,
|
||||
beforeEnter: checkLogin
|
||||
},
|
||||
{
|
||||
path: '/exchange_rates',
|
||||
component: ExchangeRatesPage,
|
||||
|
||||
Reference in New Issue
Block a user