From 917e3094a2da77e053b5dda67f8e59098257bc7f Mon Sep 17 00:00:00 2001 From: hailin Date: Fri, 19 Dec 2025 04:21:53 -0800 Subject: [PATCH] =?UTF-8?q?fix(api-gateway,admin-web):=20=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E4=BB=AA=E8=A1=A8=E6=9D=BFAPI=E8=B7=AF=E7=94=B1?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Kong 网关: - 添加 /api/v1/dashboard 路由到 reporting-service Admin-Web 前端: - 修复所有 API endpoints 添加 /v1 前缀 - 确保与 Kong 路由配置一致 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- backend/api-gateway/kong.yml | 5 +- .../src/infrastructure/api/endpoints.ts | 131 ++++++++++-------- 2 files changed, 74 insertions(+), 62 deletions(-) diff --git a/backend/api-gateway/kong.yml b/backend/api-gateway/kong.yml index f27eddcd..83cfc7dd 100644 --- a/backend/api-gateway/kong.yml +++ b/backend/api-gateway/kong.yml @@ -161,10 +161,13 @@ services: - name: reporting-service url: http://192.168.1.111:3008 routes: + - name: reporting-dashboard + paths: + - /api/v1/dashboard + strip_path: false - name: reporting-api paths: - /api/v1/reports - - /api/v1/statistics strip_path: false - name: reporting-export paths: diff --git a/frontend/admin-web/src/infrastructure/api/endpoints.ts b/frontend/admin-web/src/infrastructure/api/endpoints.ts index 16fc4d34..c90cd215 100644 --- a/frontend/admin-web/src/infrastructure/api/endpoints.ts +++ b/frontend/admin-web/src/infrastructure/api/endpoints.ts @@ -1,90 +1,99 @@ // API 端点定义 +// 注意: baseURL 是 https://api.rwadurian.com/api,Kong 路由前缀是 /api/v1/ +// 所以这里的端点需要以 /v1/ 开头 export const API_ENDPOINTS = { - // 认证 + // 认证 (identity-service) AUTH: { - LOGIN: '/auth/login', - LOGOUT: '/auth/logout', - REFRESH: '/auth/refresh', - FORGOT_PASSWORD: '/auth/forgot-password', - REGISTER: '/auth/register', + LOGIN: '/v1/auth/login', + LOGOUT: '/v1/auth/logout', + REFRESH: '/v1/auth/refresh', + FORGOT_PASSWORD: '/v1/auth/forgot-password', + REGISTER: '/v1/auth/register', }, // 用户管理 (admin-service) USERS: { - LIST: '/admin/users', - DETAIL: (id: string) => `/admin/users/${id}`, - STATS: '/admin/users/stats/summary', - UPDATE: (id: string) => `/admin/users/${id}`, - DELETE: (id: string) => `/admin/users/${id}`, - EXPORT: '/admin/users/export', - BATCH_UPDATE: '/admin/users/batch', + LIST: '/v1/admin/users', + DETAIL: (id: string) => `/v1/admin/users/${id}`, + STATS: '/v1/admin/users/stats/summary', + UPDATE: (id: string) => `/v1/admin/users/${id}`, + DELETE: (id: string) => `/v1/admin/users/${id}`, + EXPORT: '/v1/admin/users/export', + BATCH_UPDATE: '/v1/admin/users/batch', }, - // 龙虎榜 + // 龙虎榜 (leaderboard-service) LEADERBOARD: { - RANKINGS: '/leaderboard/rankings', - DAILY: '/leaderboard/daily', - WEEKLY: '/leaderboard/weekly', - MONTHLY: '/leaderboard/monthly', - SETTINGS: '/leaderboard/settings', - EXPORT: '/leaderboard/export', + RANKINGS: '/v1/leaderboard/rankings', + DAILY: '/v1/leaderboard/daily', + WEEKLY: '/v1/leaderboard/weekly', + MONTHLY: '/v1/leaderboard/monthly', + SETTINGS: '/v1/leaderboard/settings', + EXPORT: '/v1/leaderboard/export', }, - // 授权管理 + // 授权管理 (authorization-service) AUTHORIZATION: { - PROVINCE_COMPANIES: '/authorization/province-companies', - CITY_COMPANIES: '/authorization/city-companies', - PROVINCE_RULES: '/authorization/province-rules', - CITY_RULES: '/authorization/city-rules', - ASSESSMENT_RULES: '/authorization/assessment-rules', - LADDER_TARGETS: '/authorization/ladder-targets', - LIMITS: '/authorization/limits', - AUTHORIZE: (id: string) => `/authorization/${id}/authorize`, - REVOKE: (id: string) => `/authorization/${id}/revoke`, + PROVINCE_COMPANIES: '/v1/authorizations/province-companies', + CITY_COMPANIES: '/v1/authorizations/city-companies', + PROVINCE_RULES: '/v1/authorizations/province-rules', + CITY_RULES: '/v1/authorizations/city-rules', + ASSESSMENT_RULES: '/v1/authorizations/assessment-rules', + LADDER_TARGETS: '/v1/authorizations/ladder-targets', + LIMITS: '/v1/authorizations/limits', + AUTHORIZE: (id: string) => `/v1/authorizations/${id}/authorize`, + REVOKE: (id: string) => `/v1/authorizations/${id}/revoke`, }, - // 数据统计 + // 数据统计 (reporting-service) STATISTICS: { - OVERVIEW: '/statistics/overview', - TREND: '/statistics/trend', - REGION: '/statistics/region', - REGION_PROVINCE: '/statistics/region/province', - REGION_CITY: '/statistics/region/city', - LEADERBOARD: '/statistics/leaderboard', - OPERATIONS: '/statistics/operations', - REVENUE: '/statistics/revenue', - EXPORT: '/statistics/export', + OVERVIEW: '/v1/reports/overview', + TREND: '/v1/reports/trend', + REGION: '/v1/reports/region', + REGION_PROVINCE: '/v1/reports/region/province', + REGION_CITY: '/v1/reports/region/city', + LEADERBOARD: '/v1/reports/leaderboard', + OPERATIONS: '/v1/reports/operations', + REVENUE: '/v1/reports/revenue', + EXPORT: '/v1/export', }, - // 系统设置 + // 系统设置 (admin-service) SETTINGS: { - ALL: '/settings', - SETTLEMENT: '/settings/settlement', - LEADERBOARD: '/settings/leaderboard', - QUOTA: '/settings/quota', - ASSESSMENT: '/settings/assessment', - DISPLAY: '/settings/display', - SECURITY: '/settings/security', - ACCOUNTS: '/settings/accounts', - OPERATION_LOGS: '/settings/operation-logs', + ALL: '/v1/admin/settings', + SETTLEMENT: '/v1/admin/settings/settlement', + LEADERBOARD: '/v1/admin/settings/leaderboard', + QUOTA: '/v1/admin/settings/quota', + ASSESSMENT: '/v1/admin/settings/assessment', + DISPLAY: '/v1/admin/settings/display', + SECURITY: '/v1/admin/settings/security', + ACCOUNTS: '/v1/admin/settings/accounts', + OPERATION_LOGS: '/v1/admin/settings/operation-logs', + }, + + // 系统配置 (admin-service) + SYSTEM_CONFIG: { + ALL: '/v1/admin/system-config', + DISPLAY_SETTINGS: '/v1/admin/system-config/display/settings', + BY_KEY: (key: string) => `/v1/admin/system-config/${key}`, }, // 帮助中心 HELP: { - DOCUMENTS: '/help/documents', - DOCUMENT_DETAIL: (id: string) => `/help/documents/${id}`, - FAQ: '/help/faq', - SEARCH: '/help/search', - FEEDBACK: '/help/feedback', + DOCUMENTS: '/v1/help/documents', + DOCUMENT_DETAIL: (id: string) => `/v1/help/documents/${id}`, + FAQ: '/v1/help/faq', + SEARCH: '/v1/help/search', + FEEDBACK: '/v1/help/feedback', }, - // 仪表板 + // 仪表板 (reporting-service) DASHBOARD: { - OVERVIEW: '/dashboard/overview', - STATS: '/dashboard/stats', - ACTIVITIES: '/dashboard/activities', - CHARTS: '/dashboard/charts', - REGION: '/dashboard/region', + OVERVIEW: '/v1/dashboard/overview', + STATS: '/v1/dashboard/stats', + ACTIVITIES: '/v1/dashboard/activities', + CHARTS: '/v1/dashboard/charts', + REGION: '/v1/dashboard/region', }, } as const;