update 进入登录页时验证缓存token是否有效
This commit is contained in:
@@ -39,3 +39,6 @@ export enum CacheTypeEnum {
|
|||||||
SESSION,
|
SESSION,
|
||||||
LOCAL,
|
LOCAL,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 退出时当前页面路径
|
||||||
|
export const LOGOUT_CURRENT_PATH = 'LOGOUT_CURRENT_PATH';
|
||||||
|
|||||||
+25
-1
@@ -1,9 +1,12 @@
|
|||||||
|
import { LOGOUT_CURRENT_PATH } from '/@/enum/cacheEnum.ts';
|
||||||
|
|
||||||
export enum PageEnum {
|
export enum PageEnum {
|
||||||
// basic login path
|
// basic login path
|
||||||
BASE_LOGIN = '/login', //西安登录页
|
BASE_LOGIN = '/login', //西安登录页
|
||||||
BASE_HOME = '/home', //西安首页
|
BASE_HOME = '/home', //西安首页
|
||||||
BASE_LOGIN_YINCHUAN = '/screenLogin', //银川登录页
|
BASE_LOGIN_YINCHUAN = '/screenLogin', //银川登录页
|
||||||
YINCHUAN_HOME = '/yinChuanHome', //银川首页
|
YINCHUAN_HOME = '/yinChuanHome', //银川首页
|
||||||
|
//other
|
||||||
}
|
}
|
||||||
|
|
||||||
export function setBaseLogin(baseLogin) {
|
export function setBaseLogin(baseLogin) {
|
||||||
@@ -16,7 +19,6 @@ export function getBaseLogin() {
|
|||||||
|
|
||||||
//根据当前路径跳转登录页
|
//根据当前路径跳转登录页
|
||||||
export function toLoginByNowPath(nowPath: string) {
|
export function toLoginByNowPath(nowPath: string) {
|
||||||
console.log('nowPath', nowPath);
|
|
||||||
//西安的页面路径
|
//西安的页面路径
|
||||||
const xianPath = ['/home', '/secondScreen', '/'];
|
const xianPath = ['/home', '/secondScreen', '/'];
|
||||||
//银川的页面路径
|
//银川的页面路径
|
||||||
@@ -27,3 +29,25 @@ export function toLoginByNowPath(nowPath: string) {
|
|||||||
return PageEnum.BASE_LOGIN_YINCHUAN;
|
return PageEnum.BASE_LOGIN_YINCHUAN;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//根据退出时的页面路径跳转首页
|
||||||
|
export function toHomeByLogoutPath(nowPath: string) {
|
||||||
|
//西安的页面路径
|
||||||
|
const xianPath = ['/home', '/secondScreen', '/'];
|
||||||
|
//银川的页面路径
|
||||||
|
const yinchuanPath = ['/yinChuanHome'];
|
||||||
|
if (xianPath.includes(nowPath)) {
|
||||||
|
return PageEnum.BASE_HOME;
|
||||||
|
} else if (yinchuanPath.includes(nowPath)) {
|
||||||
|
return PageEnum.YINCHUAN_HOME;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//缓存退出时的页面路径
|
||||||
|
export function setCurrentPath(nowPath) {
|
||||||
|
localStorage.setItem(LOGOUT_CURRENT_PATH, nowPath);
|
||||||
|
}
|
||||||
|
|
||||||
|
export function getCurrentPath() {
|
||||||
|
return localStorage.getItem(LOGOUT_CURRENT_PATH);
|
||||||
|
}
|
||||||
|
|||||||
+29
-3
@@ -91,7 +91,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script lang="ts" name="login-mini" setup>
|
<script lang="ts" name="login-mini" setup>
|
||||||
import { getCodeInfo } from '/@/api/user';
|
import { getCodeInfo, getUserInfo } from '/@/api/user';
|
||||||
import { onMounted, reactive, ref, toRaw, watch } from 'vue';
|
import { onMounted, reactive, ref, toRaw, watch } from 'vue';
|
||||||
import codeImg from '/@/assets/images/checkcode.png';
|
import codeImg from '/@/assets/images/checkcode.png';
|
||||||
import { useUserStore } from '/@/store/modules/user';
|
import { useUserStore } from '/@/store/modules/user';
|
||||||
@@ -101,7 +101,7 @@
|
|||||||
import { useRoute, useRouter } from 'vue-router';
|
import { useRoute, useRouter } from 'vue-router';
|
||||||
import { getAuthCache } from '/@/utils/auth.ts';
|
import { getAuthCache } from '/@/utils/auth.ts';
|
||||||
import { TOKEN_KEY } from '/@/enum/cacheEnum.ts';
|
import { TOKEN_KEY } from '/@/enum/cacheEnum.ts';
|
||||||
import { PageEnum, setBaseLogin } from '/@/enum/pageEnum.ts';
|
import { getCurrentPath, PageEnum, setBaseLogin, toHomeByLogoutPath, toLoginByNowPath } from '/@/enum/pageEnum.ts';
|
||||||
|
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
@@ -157,6 +157,10 @@
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
function toHomeByNowPath() {
|
||||||
|
return route.path == PageEnum.BASE_LOGIN_YINCHUAN ? PageEnum.YINCHUAN_HOME : PageEnum.BASE_HOME;
|
||||||
|
}
|
||||||
|
|
||||||
async function accountLogin() {
|
async function accountLogin() {
|
||||||
if (!formData.username) {
|
if (!formData.username) {
|
||||||
createMessage.warn(t('login.accountPlaceholder'));
|
createMessage.warn(t('login.accountPlaceholder'));
|
||||||
@@ -190,7 +194,7 @@
|
|||||||
duration: 3,
|
duration: 3,
|
||||||
});
|
});
|
||||||
|
|
||||||
let path = route.path == PageEnum.BASE_LOGIN_YINCHUAN ? PageEnum.YINCHUAN_HOME : PageEnum.BASE_HOME;
|
let path = toHomeByNowPath();
|
||||||
setBaseLogin(route.path);
|
setBaseLogin(route.path);
|
||||||
router.replace({ path: path });
|
router.replace({ path: path });
|
||||||
}
|
}
|
||||||
@@ -207,9 +211,31 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
|
checkToken();
|
||||||
|
|
||||||
//加载验证码
|
//加载验证码
|
||||||
handleChangeCheckCode();
|
handleChangeCheckCode();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
//校验缓存token是否有效
|
||||||
|
function checkToken() {
|
||||||
|
const token = getAuthCache(TOKEN_KEY);
|
||||||
|
if (!token) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const logoutPath = getCurrentPath(); //退出时路径
|
||||||
|
let path = toHomeByNowPath();
|
||||||
|
getUserInfo().then(({ code }) => {
|
||||||
|
if (code == 200) {
|
||||||
|
if (logoutPath) {
|
||||||
|
const hasLogoutPath = toHomeByLogoutPath(logoutPath);
|
||||||
|
router.push({ path: hasLogoutPath });
|
||||||
|
} else {
|
||||||
|
router.push({ path: path });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
|
|||||||
Reference in New Issue
Block a user