fix: 修复auth-service CDC配置和API路由

- 修复docker-compose.2.0.yml中CDC_TOPIC_USERS为正确的topic名称
- 添加CDC_ENABLED环境变量
- 更新Kong配置auth-service路由使用strip_path
- 更新mining-app API端点匹配v2服务路由
- 更新mining-app baseUrl指向Kong网关根路径

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
hailin 2026-01-11 08:29:16 -08:00
parent dd77dc65d1
commit a749a3b9e1
4 changed files with 45 additions and 32 deletions

View File

@ -337,18 +337,19 @@ services:
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
# Auth Service 2.0 - 用户认证服务 # Auth Service 2.0 - 用户认证服务
# 服务全局前缀: /api/v2, 所以需要strip_path后添加前缀
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
- name: auth-service-v2 - name: auth-service-v2
url: http://192.168.1.111:3024 url: http://192.168.1.111:3024/api/v2
routes: routes:
- name: auth-v2-api - name: auth-v2-api
paths: paths:
- /api/v2/auth - /api/v2/auth
strip_path: false strip_path: true
- name: auth-v2-health - name: auth-v2-health
paths: paths:
- /api/v2/auth/health - /api/v2/auth/health
strip_path: false strip_path: true
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
# Mining Wallet Service 2.0 - 挖矿钱包服务 # Mining Wallet Service 2.0 - 挖矿钱包服务

View File

@ -174,9 +174,10 @@ services:
REDIS_PORT: 6379 REDIS_PORT: 6379
REDIS_PASSWORD: ${REDIS_PASSWORD:-} REDIS_PASSWORD: ${REDIS_PASSWORD:-}
REDIS_DB: 14 REDIS_DB: 14
# Kafka - 消费 CDC 事件 # Kafka - 消费 CDC 事件 (从1.0 identity-service同步用户)
KAFKA_BROKERS: kafka:29092 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 CDC_CONSUMER_GROUP: auth-service-cdc-group
# JWT 配置 # JWT 配置
JWT_SECRET: ${JWT_SECRET:-your-jwt-secret-change-in-production} JWT_SECRET: ${JWT_SECRET:-your-jwt-secret-change-in-production}

View File

@ -2,7 +2,7 @@ import 'package:flutter/foundation.dart';
class EnvironmentConfig { class EnvironmentConfig {
// API - Kong // 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; static bool get isDebug => kDebugMode;

View File

@ -1,31 +1,42 @@
class ApiEndpoints { class ApiEndpoints {
// Auth Service (v2) // Auth Service 2.0
static const String sendSms = '/sms/send'; // Kong路由: /api/v2/auth -> strip_path: true -> http://192.168.1.111:3024/api/v2
static const String verifySms = '/sms/verify'; // : /api/v2/auth/auth/login -> strip /api/v2/auth -> /auth/login -> /api/v2/auth/login
static const String register = '/auth/register'; static const String sendSms = '/api/v2/auth/sms/send';
static const String login = '/auth/login'; static const String verifySms = '/api/v2/auth/sms/verify';
static const String loginSms = '/auth/login-sms'; static const String register = '/api/v2/auth/auth/register';
static const String refreshToken = '/auth/refresh'; static const String login = '/api/v2/auth/auth/login';
static const String logout = '/auth/logout'; static const String loginSms = '/api/v2/auth/auth/login-sms';
static const String userProfile = '/user/profile'; static const String refreshToken = '/api/v2/auth/auth/refresh';
static const String resetPassword = '/password/reset'; static const String logout = '/api/v2/auth/auth/logout';
static const String changePassword = '/password/change'; 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 // Mining Service 2.0 (Kong路由: /api/v2/mining)
static String shareAccount(String accountSequence) => '/api/v1/accounts/$accountSequence'; static String shareAccount(String accountSequence) =>
static String miningRecords(String accountSequence) => '/api/v1/accounts/$accountSequence/records'; '/api/v2/mining/accounts/$accountSequence';
static const String globalState = '/api/v1/global-state'; static String miningRecords(String accountSequence) =>
static String realtimeEarning(String accountSequence) => '/api/v1/accounts/$accountSequence/realtime'; '/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 // Trading Service 2.0 (Kong路由: /api/v2/trading)
static const String currentPrice = '/api/v1/price'; static const String currentPrice = '/api/v2/trading/price';
static const String klineData = '/api/v1/kline'; static const String klineData = '/api/v2/trading/kline';
static String tradingAccount(String accountSequence) => '/api/v1/accounts/$accountSequence'; static String tradingAccount(String accountSequence) =>
static String createOrder(String accountSequence) => '/api/v1/accounts/$accountSequence/orders'; '/api/v2/trading/accounts/$accountSequence';
static String orders(String accountSequence) => '/api/v1/accounts/$accountSequence/orders'; static String createOrder(String accountSequence) =>
static String transfer(String accountSequence) => '/api/v1/accounts/$accountSequence/transfer'; '/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 // Contribution Service 2.0 (Kong路由: /api/v2/contribution)
static String contribution(String accountSequence) => '/api/v1/contribution/$accountSequence'; static String contribution(String accountSequence) =>
static String contributionRecords(String accountSequence) => '/api/v1/contribution/$accountSequence/records'; '/api/v2/contribution/$accountSequence';
static String contributionRecords(String accountSequence) =>
'/api/v2/contribution/$accountSequence/records';
} }