2.4 KiB
2.4 KiB
Workbench
移动端任务与账户平台后端。项目是独立应用,业务数据以 MySQL olons_admin 库中的 hg_* 表为唯一事实源。
当前接口
POST /v1/auth/registerPOST /v1/auth/loginPOST /v1/auth/logoutGET /v1/mePATCH /v1/me/avatarPUT /v1/me/passwordPUT /v1/me/trade-passwordGET /v1/homeGET /v1/bannersGET /v1/contents/{content_key}GET /v1/member-levelsGET /v1/task-hallsGET /v1/tasks/eligibilityGET /v1/tasks/statsPOST /v1/task-orders/claimGET /v1/task-ordersGET /v1/task-orders/{order_id}POST /v1/task-orders/{order_id}/submissionsGET /v1/manual-productsGET /v1/manual-products/{product_id}GET /v1/payment-accountsPOST /v1/payment-accountsPOST /v1/withdrawal-orders/quotePOST /v1/withdrawal-ordersGET /v1/withdrawal-ordersGET /v1/withdrawal-orders/{order_id}GET /healthzGET /metrics
注册使用 hg_app_member 作为账户主档,并在同一事务中创建 hg_app_member_profile 和 hg_wallet_account 记录。登录按 mobile_hash 查找会员,校验 bcrypt 密码后在 Redis 中创建独立会话。
启动配置
核心环境变量:
WORKBENCH_CONFIG=configs/workbench.local.json
WORKBENCH_MYSQL_DSN='user:password@tcp(host:3306)/olons_admin?parseTime=true&charset=utf8mb4&loc=Local'
WORKBENCH_REDIS_ADDR='127.0.0.1:6379'
WORKBENCH_DATA_ENCRYPTION_KEY='<32 字节随机密钥的 Base64>'
WORKBENCH_LOOKUP_HMAC_KEY='<至少 32 字节随机密钥的 Base64>'
WORKBENCH_API_KEYS='<API Key,多个以逗号分隔>'
WORKBENCH_DATA_ENCRYPTION_KEY 用于生成 mobile_cipher,WORKBENCH_LOOKUP_HMAC_KEY 用于生成 mobile_hash。两个密钥必须分开生成、通过部署 Secret 注入,并与已有数据的加密配置保持一致。
请求头
X-API-Key: <api key>
X-Request-ID: <request id>
X-Device-ID: <optional device id>
默认租户通过 WORKBENCH_DEFAULT_TENANT_ID 配置,现有 olons_admin 数据使用 tenant_id=0。服务不接受客户端传入租户身份。
验证
make test
make build
前后端完整对接契约见 docs/移动端任务与账户平台前后端对接文档.md,已实现的注册登录简版契约见 docs/注册登录对接文档.md。