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

ci: 修改axios请求配置

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