提交 84db1843 authored 作者: 詹银鑫's avatar 詹银鑫

ci: 修改axios请求配置

上级 fd795644
......@@ -224,7 +224,7 @@ export type LoginResult = {
status: number;
success: boolean;
data: {
jwt: string;
token: string;
/** 头像 */
avatar: string;
/** 用户名 */
......
......@@ -4,7 +4,7 @@ export type UserResult = {
status: number;
success: boolean;
data: {
jwt: string;
token: string;
/** 头像 */
avatar: string;
/** 用户名 */
......@@ -28,7 +28,7 @@ export type RefreshTokenResult = {
success: boolean;
data: {
/** `token` */
jwt?: string;
token?: string;
/** `token` */
accessToken: string;
/** 用于调用刷新`accessToken`的接口时所需的`token` */
......
......@@ -43,7 +43,7 @@ export const useUserStore = defineStore("pure-user", {
isRemembered: false,
// 登录页的免登录存储几天,默认7天
loginDay: 7,
token: localStorage.getItem("jwt") || "",
token: localStorage.getItem("token") || "",
refreshToken: localStorage.getItem("refreshToken") || ""
}),
actions: {
......@@ -112,8 +112,8 @@ export const useUserStore = defineStore("pure-user", {
refreshTokenApi(data)
.then(data => {
if (data) {
if (data.data.jwt) {
data.data.accessToken = data.data.jwt;
if (data.data.token) {
data.data.accessToken = data.data.token;
}
setToken(data.data);
console.log("data", data.data);
......
......@@ -20,7 +20,7 @@ export interface DataInfo<T> {
/** 当前登录用户的按钮级别权限 */
permissions?: Array<string>;
/** 用于调用刷新accessToken的接口时所需的token */
jwt?: string;
token?: string;
}
export const userKey = "user-info";
......
......@@ -13,6 +13,7 @@ import { stringify } from "qs";
import NProgress from "../progress";
import { getToken, formatToken } from "@/utils/auth";
import { useUserStoreHook } from "@/store/modules/user";
import packageJson from "../../../package.json";
// 相关配置请参考:www.axios-js.com/zh-cn/docs/#axios-request-config-1
const defaultConfig: AxiosRequestConfig = {
......@@ -21,7 +22,11 @@ const defaultConfig: AxiosRequestConfig = {
headers: {
Accept: "application/json, text/plain, */*",
"Content-Type": "application/json",
"X-Requested-With": "XMLHttpRequest"
"X-Requested-With": "XMLHttpRequest",
System: "PureAdmin",
Version: packageJson.version,
"Request-Id": "",
Device: "PC"
},
// 数组格式参数序列化(https://github.com/axios/axios/issues/5142)
paramsSerializer: {
......@@ -73,7 +78,6 @@ class PureHttp {
PureHttp.initConfig.beforeRequestCallback(config);
return config;
}
/** 请求白名单,放置一些不需要`token`的接口(通过设置请求白名单,防止`token`过期后再请求造成的死循环问题) */
const whiteList = ["/refresh-token", "/login"];
return whiteList.some(url => config.url.endsWith(url))
......@@ -104,6 +108,9 @@ class PureHttp {
config.headers["Authorization"] = formatToken(
data.accessToken
);
config.headers["Request-Id"] = crypto
.randomUUID()
.replaceAll("-", "");
resolve(config);
}
} else {
......
......@@ -141,7 +141,7 @@ const onLogin = async (formEl: FormInstance | undefined) => {
if (res.status === 200 || res.success) {
// 登录成功,设置 token
setToken({
accessToken: res.data.jwt,
accessToken: res.data.token,
refreshToken: res.data.refreshToken,
expires: res.data.expires
// expires: new Date(Date.now() + 9999999 * 1000)
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论