diff --git a/backend/api-gateway/kong.yml b/backend/api-gateway/kong.yml index c1e18365..0f699108 100644 --- a/backend/api-gateway/kong.yml +++ b/backend/api-gateway/kong.yml @@ -337,18 +337,19 @@ services: # --------------------------------------------------------------------------- # Auth Service 2.0 - 用户认证服务 + # 服务全局前缀: /api/v2, 所以需要strip_path后添加前缀 # --------------------------------------------------------------------------- - name: auth-service-v2 - url: http://192.168.1.111:3024 + url: http://192.168.1.111:3024/api/v2 routes: - name: auth-v2-api paths: - /api/v2/auth - strip_path: false + strip_path: true - name: auth-v2-health paths: - /api/v2/auth/health - strip_path: false + strip_path: true # --------------------------------------------------------------------------- # Mining Wallet Service 2.0 - 挖矿钱包服务 diff --git a/backend/services/docker-compose.2.0.yml b/backend/services/docker-compose.2.0.yml index 71991f34..bbb3548b 100644 --- a/backend/services/docker-compose.2.0.yml +++ b/backend/services/docker-compose.2.0.yml @@ -174,9 +174,10 @@ services: REDIS_PORT: 6379 REDIS_PASSWORD: ${REDIS_PASSWORD:-} REDIS_DB: 14 - # Kafka - 消费 CDC 事件 + # Kafka - 消费 CDC 事件 (从1.0 identity-service同步用户) KAFKA_BROKERS: kafka:29092 - CDC_TOPIC_USERS: ${CDC_TOPIC_USERS:-dbserver1.public.users} + CDC_ENABLED: "true" + CDC_TOPIC_USERS: ${CDC_TOPIC_USERS:-cdc.identity.public.user_accounts} CDC_CONSUMER_GROUP: auth-service-cdc-group # JWT 配置 JWT_SECRET: ${JWT_SECRET:-your-jwt-secret-change-in-production} diff --git a/frontend/mining-app/lib/core/config/environment.dart b/frontend/mining-app/lib/core/config/environment.dart index c6ba8843..68f53c45 100644 --- a/frontend/mining-app/lib/core/config/environment.dart +++ b/frontend/mining-app/lib/core/config/environment.dart @@ -2,7 +2,7 @@ import 'package:flutter/foundation.dart'; class EnvironmentConfig { // API 基础地址 - Kong 网关 - static const String baseUrl = 'https://rwaapi.szaiai.com/api/v2/mining-auth'; + static const String baseUrl = 'https://rwaapi.szaiai.com'; // 是否为调试模式 static bool get isDebug => kDebugMode; diff --git a/frontend/mining-app/lib/core/network/api_endpoints.dart b/frontend/mining-app/lib/core/network/api_endpoints.dart index 7faaa65a..9428861a 100644 --- a/frontend/mining-app/lib/core/network/api_endpoints.dart +++ b/frontend/mining-app/lib/core/network/api_endpoints.dart @@ -1,31 +1,42 @@ class ApiEndpoints { - // Auth Service (v2) - static const String sendSms = '/sms/send'; - static const String verifySms = '/sms/verify'; - static const String register = '/auth/register'; - static const String login = '/auth/login'; - static const String loginSms = '/auth/login-sms'; - static const String refreshToken = '/auth/refresh'; - static const String logout = '/auth/logout'; - static const String userProfile = '/user/profile'; - static const String resetPassword = '/password/reset'; - static const String changePassword = '/password/change'; + // Auth Service 2.0 + // Kong路由: /api/v2/auth -> strip_path: true -> http://192.168.1.111:3024/api/v2 + // 例如: /api/v2/auth/auth/login -> strip /api/v2/auth -> /auth/login -> 转发到 /api/v2/auth/login + static const String sendSms = '/api/v2/auth/sms/send'; + static const String verifySms = '/api/v2/auth/sms/verify'; + static const String register = '/api/v2/auth/auth/register'; + static const String login = '/api/v2/auth/auth/login'; + static const String loginSms = '/api/v2/auth/auth/login-sms'; + static const String refreshToken = '/api/v2/auth/auth/refresh'; + static const String logout = '/api/v2/auth/auth/logout'; + static const String userProfile = '/api/v2/auth/user/profile'; + static const String resetPassword = '/api/v2/auth/password/reset'; + static const String changePassword = '/api/v2/auth/password/change'; - // Mining Service - static String shareAccount(String accountSequence) => '/api/v1/accounts/$accountSequence'; - static String miningRecords(String accountSequence) => '/api/v1/accounts/$accountSequence/records'; - static const String globalState = '/api/v1/global-state'; - static String realtimeEarning(String accountSequence) => '/api/v1/accounts/$accountSequence/realtime'; + // Mining Service 2.0 (Kong路由: /api/v2/mining) + static String shareAccount(String accountSequence) => + '/api/v2/mining/accounts/$accountSequence'; + static String miningRecords(String accountSequence) => + '/api/v2/mining/accounts/$accountSequence/records'; + static const String globalState = '/api/v2/mining/global-state'; + static String realtimeEarning(String accountSequence) => + '/api/v2/mining/accounts/$accountSequence/realtime'; - // Trading Service - static const String currentPrice = '/api/v1/price'; - static const String klineData = '/api/v1/kline'; - static String tradingAccount(String accountSequence) => '/api/v1/accounts/$accountSequence'; - static String createOrder(String accountSequence) => '/api/v1/accounts/$accountSequence/orders'; - static String orders(String accountSequence) => '/api/v1/accounts/$accountSequence/orders'; - static String transfer(String accountSequence) => '/api/v1/accounts/$accountSequence/transfer'; + // Trading Service 2.0 (Kong路由: /api/v2/trading) + static const String currentPrice = '/api/v2/trading/price'; + static const String klineData = '/api/v2/trading/kline'; + static String tradingAccount(String accountSequence) => + '/api/v2/trading/accounts/$accountSequence'; + static String createOrder(String accountSequence) => + '/api/v2/trading/accounts/$accountSequence/orders'; + static String orders(String accountSequence) => + '/api/v2/trading/accounts/$accountSequence/orders'; + static String transfer(String accountSequence) => + '/api/v2/trading/accounts/$accountSequence/transfer'; - // Contribution Service - static String contribution(String accountSequence) => '/api/v1/contribution/$accountSequence'; - static String contributionRecords(String accountSequence) => '/api/v1/contribution/$accountSequence/records'; + // Contribution Service 2.0 (Kong路由: /api/v2/contribution) + static String contribution(String accountSequence) => + '/api/v2/contribution/$accountSequence'; + static String contributionRecords(String accountSequence) => + '/api/v2/contribution/$accountSequence/records'; }