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 - 用户认证服务
# 服务全局前缀: /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 - 挖矿钱包服务

View File

@ -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}

View File

@ -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;

View File

@ -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';
}