在vue-admin-template项目的store/modules/user.js目录下,在user.js文件的actions中怎么通过document.cookie属性获取保存在浏览器中的Cookie值
时间: 2024-04-09 18:28:23 浏览: 81
在Vue-admin-template项目的`store/modules/user.js`文件中,可以通过`document.cookie`属性获取保存在浏览器中的Cookie值。在`actions`中,你可以使用如下代码来获取Cookie值:
```javascript
import { getUserInfo } from '@/api/user';
const actions = {
// 其他 actions...
async getUserInfo({ commit }) {
// 获取保存在浏览器中的Cookie值
const cookies = document.cookie;
// 可以进一步处理Cookie值,例如解析JWT Token
// 示例:解析名为"jwtToken"的Cookie值
const jwtToken = getCookieValue("jwtToken");
// 打印获取到的Cookie值
console.log(cookies);
console.log(jwtToken);
// 调用后端接口获取用户信息
const response = await getUserInfo();
// 其他处理逻辑...
},
// 其他 actions...
};
// 解析特定名称的Cookie值
function getCookieValue(name) {
const cookieName = name + "=";
const decodedCookie = decodeURIComponent(document.cookie);
const cookieArray = decodedCookie.split(';');
for (let i = 0; i < cookieArray.length; i++) {
let cookie = cookieArray[i];
while (cookie.charAt(0) === ' ') {
cookie = cookie.substring(1);
}
if (cookie.indexOf(cookieName) === 0) {
return cookie.substring(cookieName.length, cookie.length);
}
}
return "";
}
export default actions;
```
以上代码示例中,在`getUserInfo` action中,我们首先通过`document.cookie`获取保存在浏览器中的所有Cookie值。然后,通过`getCookieValue`函数解析特定名称的Cookie值(如"jwtToken")。你可以根据自己的需求进行进一步处理。
请注意,在Vue组件的`actions`中使用`document.cookie`属性是可以的,但要注意处理Cookie时应遵循相关的安全性最佳实践,并遵循适用的法律和规定。
阅读全文