VUE学习笔记(十三)-token过期时间处理
token过期时间处理
添加jwt指令
yarn add jsonwebtoken或者npm install jsonwebtoken -S
yarn add node-polyfill-webpack-plugin
src/auth/auth.service.js
import axios from "@/api/api_config" import router from '@/router' import * as jwt from 'jsonwebtoken' //登陆 export const loginUser=async(login)=>{ return await axios.post('Users/auth',login) } const key='tokenAnt' //从浏览器本地存储获取token值 export const getToken=()=>{ return localStorage.getItem(key) } //清除token export const logOut=()=>{ //localStorage.clear() localStorage.removeItem(key) router.replace('/login') } //设置token,不需要,因为只有用到一次 //检查token过期时间 export const isTokenFromLocalStorageVaild=()=>{ const token=localStorage.getItem(key) if(!token)return false const decoded=jwt.decode(token) //时间戳分为10位(秒级)和13位(毫秒级) const dateNow=Date.now() const expiresAt=decoded.exp*1000 return dateNow<=expiresAt }
最外层的vue.config.js
const { defineConfig } = require("@vue/cli-service");
const NodePolyfillPlugin=require('node-polyfill-webpack-plugin')
module.exports = defineConfig({
transpileDependencies: true,
devServer: {
proxy: {
"/api": {
target: "https://localhost:7107/api/", //服务器请求地址
secure: false, //如果是https接口,需要配置这个参数
changeOrigin: true, //请求头host属性,false表示不修改,发真实本机过去,true表示修改,修改为服务器地址,会把host成target
pathRewrite: {
"^/api": "",
},
},
},
},
configureWebpack:{
plugins:[new NodePolyfillPlugin()]
}
});
浙公网安备 33010602011771号