准备重构nginx的配置,先回退api-config配置,添加PM2的多端口服务的启动脚步

This commit is contained in:
2025-07-25 15:06:47 +08:00
parent ccd5cdf71e
commit d465260daf
11 changed files with 238 additions and 309 deletions
+5 -5
View File
@@ -21,7 +21,7 @@ export type QueryParams = Record<string, string | number | boolean | undefined>;
// const API_BASE_URL = 'http://172.16.0.119:9000/admin';
// 调试:打印当前API_BASE_URL的值
console.log('🔍 axios-client.ts - API_BASE_URL.value:', API_BASE_URL.value);
console.log('🔍 axios-client.ts - API_BASE_URL:', API_BASE_URL);
// 文档URL前缀 (从配置文件导入)
// export const DOCUMENT_URL = 'http://nas.7bm.co:9000/docauditai/';
@@ -35,7 +35,7 @@ const DEFAULT_TIMEOUT = 30000; // 增加到30秒
// 创建 axios 实例
const axiosInstance = axios.create({
baseURL: API_BASE_URL.value === '/api' ? '' : API_BASE_URL.value, // 如果是相对路径,则不设置baseURL
baseURL: API_BASE_URL,
timeout: DEFAULT_TIMEOUT, // 增加超时时间
headers: {
'Content-Type': 'application/json',
@@ -101,13 +101,13 @@ function buildUrl(endpoint: string, params?: QueryParams): string {
fullUrl = endpoint;
} else {
// 处理相对路径的情况
if (API_BASE_URL.value === '/api') {
if (API_BASE_URL === '/api') {
// 如果是相对路径,直接使用endpoint
const path = endpoint.startsWith('/') ? endpoint : `/${endpoint}`;
fullUrl = path;
} else {
// 确保API_BASE_URL格式正确
const baseUrl = API_BASE_URL.value.endsWith('/') ? API_BASE_URL.value.slice(0, -1) : API_BASE_URL.value;
const baseUrl = API_BASE_URL.endsWith('/') ? API_BASE_URL.slice(0, -1) : API_BASE_URL;
const path = endpoint.startsWith('/') ? endpoint : `/${endpoint}`;
fullUrl = `${baseUrl}${path}`;
}
@@ -200,7 +200,7 @@ export async function apiRequest<T>(
return getMockResponse<T>(endpoint);
}
console.log('api-base-url-----------',API_BASE_URL.value)
console.log('api-base-url-----------',API_BASE_URL)
try {
// 构建 URL
+7 -7
View File
@@ -133,7 +133,7 @@ export async function submitCrossCheckingOpinion(
evaluation_result_id: opinionData.reviewPointResultId
};
const response = await fetch(`${API_BASE_URL.value}/admin/cross_review/proposals`, {
const response = await fetch(`${API_BASE_URL}/admin/cross_review/proposals`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
@@ -189,7 +189,7 @@ export async function getCrossCheckingOpinions(
// 如果没传userId,默认用1
const realUserId = userId ?? 1;
// 实际后端API调用,拼接API_BASE_URL
const response = await fetch(`${API_BASE_URL.value}/admin/cross_review/proposals/document`, {
const response = await fetch(`${API_BASE_URL}/admin/cross_review/proposals/document`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
@@ -303,24 +303,24 @@ export async function performOpinionAction(
switch (actionData.action) {
case 'agree':
message = '已赞同该意见';
endpoint = `${API_BASE_URL.value}/admin/cross_review/proposals/${actionData.opinionId}/votes`;
endpoint = `${API_BASE_URL}/admin/cross_review/proposals/${actionData.opinionId}/votes`;
requestBody = { vote_type: 'agree', voter_id: userInfo?.user_id };
break;
case 'disagree':
message = '已反对该意见';
endpoint = `${API_BASE_URL.value}/admin/cross_review/proposals/${actionData.opinionId}/votes`;
endpoint = `${API_BASE_URL}/admin/cross_review/proposals/${actionData.opinionId}/votes`;
requestBody = { vote_type: 'disagree', voter_id: userInfo?.user_id };
break;
case 'withdraw_vote':
message = '已撤销投票';
// 撤销投票的接口,根据实际API调整
endpoint = `${API_BASE_URL.value}/admin/cross_review/proposals/${actionData.opinionId}/votes`;
endpoint = `${API_BASE_URL}/admin/cross_review/proposals/${actionData.opinionId}/votes`;
requestBody = { vote_type: 'cancel', voter_id: userInfo?.user_id };
break;
case 'withdraw_opinion':
message = '已撤销意见';
// 撤销意见的接口,根据实际API调整
endpoint = `${API_BASE_URL.value}/admin/cross_review/proposals/${actionData.opinionId}`;
endpoint = `${API_BASE_URL}/admin/cross_review/proposals/${actionData.opinionId}`;
requestBody = {};
break;
default:
@@ -415,7 +415,7 @@ export async function checkProposalVotes(
document_id: documentId
};
const response = await fetch(`${API_BASE_URL.value}/admin/cross_review/proposals/document/check_pending_votes`, {
const response = await fetch(`${API_BASE_URL}/admin/cross_review/proposals/document/check_pending_votes`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
+2 -2
View File
@@ -389,7 +389,7 @@ export async function getCrossCheckingStats(userInfo?: { user_id?: number; [key:
export async function getUserTaskDocuments(page: number = 1, pageSize: number = 10, jwtToken?: string): Promise<ApiResponse<UserTaskApiResponse>> {
try {
// 拼接绝对路径,去除多余斜杠
const base = API_BASE_URL.value.endsWith('/') ? API_BASE_URL.value.slice(0, -1) : API_BASE_URL.value;
const base = API_BASE_URL.endsWith('/') ? API_BASE_URL.slice(0, -1) : API_BASE_URL;
const url = `${base}/admin/cross_review/tasks/user_tasks`;
const response = await fetch(url, {
@@ -436,7 +436,7 @@ export async function getUserTaskDocuments(page: number = 1, pageSize: number =
export async function getTaskDocuments(taskId: number, page: number = 1, pageSize: number = 10, jwtToken?: string): Promise<ApiResponse<TaskDocumentApiResponse>> {
try {
// 拼接绝对路径,去除多余斜杠
const base = API_BASE_URL.value.endsWith('/') ? API_BASE_URL.value.slice(0, -1) : API_BASE_URL.value;
const base = API_BASE_URL.endsWith('/') ? API_BASE_URL.slice(0, -1) : API_BASE_URL;
const url = `${base}/admin/cross_review/tasks/${taskId}/documents`;
// console.log('最终请求URL:', url);
+1 -1
View File
@@ -29,7 +29,7 @@ export class TokenManager {
private oauthClient: OAuthClient;
constructor() {
this.oauthClient = new OAuthClient(OAUTH_CONFIG.value);
this.oauthClient = new OAuthClient(OAUTH_CONFIG);
}
/**
+1 -1
View File
@@ -57,7 +57,7 @@ export async function getOrganizationTree(includeUsers: boolean = true, jwtToken
if (jwtToken) {
// 如果提供了JWT Token,则使用fetch并携带Authorization头
const url = `${API_BASE_URL.value}/admin/users/organizations?include_users=${includeUsers}`;
const url = `${API_BASE_URL}/admin/users/organizations?include_users=${includeUsers}`;
const response = await fetch(url, {
headers: {
'Authorization': `Bearer ${jwtToken}`,