Commit 217537d0 authored by liwenhong's avatar liwenhong

add:清cookie

parent f603c787
......@@ -8,9 +8,9 @@ import "element-plus/lib/theme-chalk/index.css";
import "dayjs/locale/zh-cn";
import locale from "element-plus/lib/locale/lang/zh-cn";
// import { fetchCurrentUser } from "./service/user";
import { fetchCurrentUser } from "./service/user";
import { checkPathAuth } from "./utils/authUtil";
import { redirectToLogin } from "./utils/util";
import { redirectToLogin, getCookie } from "./utils/util";
// 处理路由权限
router.beforeResolve(async (to, from, next) => {
......@@ -25,14 +25,18 @@ router.beforeResolve(async (to, from, next) => {
}
if (!store.state.permissions) {
this.$message('您暂无权限');
// const { status, user } = await fetchCurrentUser();
// if (status === 'success') {
// store.commit('updateUserInfo', user);
// await store.dispatch('updateUserPermission', { email: user.email })
// } else {
// redirectToLogin();
// return false;
// }
let isDefault = window.localStorage.getItem('isDefault');
if(isDefault == 2) {
user.email = getCookie('username');
}
const { status, user } = await fetchCurrentUser();
if (status === 'success') {
store.commit('updateUserInfo', user);
await store.dispatch('updateUserPermission', { email: user.email })
} else {
redirectToLogin();
return false;
}
}
......
......@@ -18,38 +18,37 @@ export default {
}
let res = flag ? await yd_login(payload) : await j_login(params)
let storage = window.localStorage;
if(!getCookie('username')) {
// if(!getCookie('username')) {
if (res.userInfo && flag) {
storage['YD_PANDORA_auth'] = JSON.stringify(res.auth || {})
storage['YD_PANDORA_JWT_TOKEN'] = (res.type + ' ' + res.token )|| ''
storage['YD_PANDORA_user'] = JSON.stringify(res.userInfo || {})
setCookie('uid', res.userInfo && res.userInfo.id, 16)
setCookie('YD_PANDORA_UID', res.userInfo && res.userInfo.id, 16)
setCookie('userid', res.userInfo && res.userInfo.id, 16)
setCookie('username', res.userInfo && res.userInfo.email, 16)
setCookie('nickname', res.userInfo && res.userInfo.displayName, 16)
setCookie('YD_PANDORA_JWT_TOKEN', (res.type + ' ' + res.token )|| '', 16)
if(!storage.getItem('YD_PANDORA_auth')) storage['YD_PANDORA_auth'] = JSON.stringify(res.auth || {})
if(!storage.getItem('YD_PANDORA_JWT_TOKEN')) storage['YD_PANDORA_JWT_TOKEN'] = (res.type + ' ' + res.token )|| ''
if(!storage.getItem('YD_PANDORA_user')) storage['YD_PANDORA_user'] = JSON.stringify(res.userInfo || {})
if(!getCookie('uid')) setCookie('uid', res.userInfo && res.userInfo.id, 16)
if(!getCookie('YD_PANDORA_UID')) setCookie('YD_PANDORA_UID', res.userInfo && res.userInfo.id, 16)
if(!getCookie('userid')) setCookie('userid', res.userInfo && res.userInfo.id, 16)
if(!getCookie('username')) setCookie('username', res.userInfo && res.userInfo.email, 16)
if(!getCookie('nickname')) setCookie('nickname', res.userInfo && res.userInfo.displayName, 16)
if(!getCookie('YD_PANDORA_JWT_TOKEN')) setCookie('YD_PANDORA_JWT_TOKEN', (res.type + ' ' + res.token )|| '', 16)
storage['isDefault'] = 1;
return true
} else if(+res.code === 0){
storage['isDefault'] = 2;
setCookie('username', payload.email, 16);
if(!getCookie('username')) setCookie('username', payload.email, 16);
return true
} else {
ElMessage.error(res);
}
}
// }
},
logout() {
return new Promise((resolve) => {
return new Promise(async (resolve) => {
window.localStorage.clear();
delCookie('username')
delCookie('uid')
delCookie('YD_PANDORA_JWT_TOKEN')
delCookie('nickname')
delCookie('userid')
delCookie('YD_PANDORA_UID')
// Cookies.remove('username','', { path: 'http://dev.yidian-inc.com' }) // removed!
await delCookie('username')
await delCookie('uid')
await delCookie('YD_PANDORA_JWT_TOKEN')
await delCookie('nickname')
await delCookie('userid')
await delCookie('YD_PANDORA_UID')
redirectToLogin()
resolve()
});
......
......@@ -38,7 +38,7 @@ const getDefaultParams = () => {
}
};
const getDefaultHeaders = (config) => {
const getDefaultHeaders = config => {
const { method } = config;
if (method.toLowerCase() === "post") {
return {
......
/* eslint-disable */
import router from "@/router";
// export async function handleUserLogin() {
// const { status, user } = await fetchCurrentUser();
......@@ -38,11 +37,11 @@ export function isYdUser(email) {
return email.match(/yidian-inc/) || false
}
export function setCookie(cname, cvalue, exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires="+d.toUTCString();
document.cookie = cname + "=" + cvalue + "; " + expires;
export function setCookie(name, value) {
var hour = 8;
var exp = new Date();
exp.setTime(exp.getTime() + hour*60*60*1000);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString()+";path=/";
}
//获取cookie
......@@ -62,7 +61,6 @@ export function getCookie(NameOfCookie) {
export function delCookie(name) {
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval=getCookie(name);
if(cval!=null)
document.cookie= name + "="+cval+";expires="+exp.toGMTString();
var cval = getCookie(name);
if(cval != null) document.cookie= name + "="+cval+";expires="+exp.toGMTString()+";path=/";
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment