mirror of
https://github.com/m-xlsea/ruoyi-plus-soybean.git
synced 2025-09-24 07:49:47 +08:00
feat(projects): 添加网络代理
This commit is contained in:
@ -1,3 +0,0 @@
|
||||
export * from './system';
|
||||
export * from './router';
|
||||
export * from './layout';
|
@ -1 +0,0 @@
|
||||
export {};
|
@ -1 +1,3 @@
|
||||
export * from './common';
|
||||
export * from './system';
|
||||
export * from './router';
|
||||
export * from './layout';
|
||||
|
@ -1 +0,0 @@
|
||||
export {};
|
@ -1,3 +0,0 @@
|
||||
export * from './service';
|
||||
export * from './regexp';
|
||||
export * from './map-sdk';
|
@ -1 +1,3 @@
|
||||
export * from './common';
|
||||
export * from './service';
|
||||
export * from './regexp';
|
||||
export * from './map-sdk';
|
||||
|
6
src/service/api/demo.ts
Normal file
6
src/service/api/demo.ts
Normal file
@ -0,0 +1,6 @@
|
||||
import { request } from '../request';
|
||||
|
||||
/** 测试请求代理 */
|
||||
export function fetchTestProxy() {
|
||||
return request.get('/test');
|
||||
}
|
@ -1 +1,2 @@
|
||||
export * from './auth';
|
||||
export * from './demo';
|
||||
|
@ -7,10 +7,10 @@ import { fetchUpdateToken } from '../api';
|
||||
* 刷新token
|
||||
* @param axiosConfig - token失效时的请求配置
|
||||
*/
|
||||
export async function refreshToken(axiosConfig: AxiosRequestConfig) {
|
||||
export async function handleRefreshToken(axiosConfig: AxiosRequestConfig) {
|
||||
const { resetAuthStore } = useAuthStore();
|
||||
const rToken = getRefreshToken();
|
||||
const { data } = await fetchUpdateToken(rToken);
|
||||
const refreshToken = getRefreshToken();
|
||||
const { data } = await fetchUpdateToken(refreshToken);
|
||||
if (data) {
|
||||
setToken(data.token);
|
||||
setRefreshToken(data.refreshToken);
|
||||
|
@ -1,10 +1,9 @@
|
||||
import { createRequest } from './request';
|
||||
import { serviceEnv } from '~/.env-config';
|
||||
import { getEnvConfig } from '~/.env-config';
|
||||
|
||||
const { VITE_HTTP_ENV = 'test' } = import.meta.env;
|
||||
const { http } = getEnvConfig(import.meta.env);
|
||||
const isHttpProxy = import.meta.env.VITE_HTTP_PROXY === 'true';
|
||||
|
||||
const { url } = serviceEnv[VITE_HTTP_ENV];
|
||||
|
||||
export const request = createRequest({ baseURL: url });
|
||||
export const request = createRequest({ baseURL: isHttpProxy ? http.proxy : http.url });
|
||||
|
||||
export const mockRequest = createRequest({ baseURL: '/mock' });
|
||||
|
@ -9,7 +9,7 @@ import {
|
||||
handleBackendError,
|
||||
handleServiceResult,
|
||||
} from '@/utils';
|
||||
import { refreshToken } from './helpers';
|
||||
import { handleRefreshToken } from './helpers';
|
||||
|
||||
/**
|
||||
* 封装axios请求类
|
||||
@ -71,7 +71,7 @@ export default class CustomAxiosInstance {
|
||||
|
||||
// token失效, 刷新token
|
||||
if (REFRESH_TOKEN_CODE.includes(backend[codeKey])) {
|
||||
const config = await refreshToken(response.config);
|
||||
const config = await handleRefreshToken(response.config);
|
||||
if (config) {
|
||||
return this.instance.request(config);
|
||||
}
|
||||
|
11
src/typings/env.d.ts
vendored
11
src/typings/env.d.ts
vendored
@ -7,6 +7,9 @@ declare module '*.vue' {
|
||||
export default component;
|
||||
}
|
||||
|
||||
/** env环境类型 */
|
||||
type EnvType = 'dev' | 'test' | 'prod';
|
||||
|
||||
interface ImportMetaEnv {
|
||||
/** 项目基本地址 */
|
||||
readonly VITE_BASE_URL: string;
|
||||
@ -16,10 +19,12 @@ interface ImportMetaEnv {
|
||||
readonly VITE_APP_TITLE: string;
|
||||
/** 项目描述 */
|
||||
readonly VITE_APP_DESC: string;
|
||||
/** vite环境类型 */
|
||||
readonly VITE_ENV_TYPE?: EnvType;
|
||||
/** 开启请求代理 */
|
||||
readonly VITE_HTTP_PROXY?: 'true' | 'false';
|
||||
/** 是否开启打包文件大小结果分析 */
|
||||
readonly VITE_VISUALIZER: 'true' | 'false';
|
||||
/** 网路请求环境类型 */
|
||||
readonly VITE_HTTP_ENV?: Service.HttpEnv;
|
||||
readonly VITE_VISUALIZER?: 'true' | 'false';
|
||||
/** hash路由模式 */
|
||||
readonly VITE_HASH_ROUTE?: 'true' | 'false';
|
||||
}
|
||||
|
Reference in New Issue
Block a user