小程序可在 Go 上完成微信手机号登录、测评、预约和下单,不再反代 Java。 Co-authored-by: Cursor <cursoragent@cursor.com>
1.2 KiB
1.2 KiB
ADR-0008 — Go 为唯一用户后台,咨询域过渡反代
- Status: Accepted
- Date: 2026-09-14
- Tags: identity, miniprogram, consult, gateway
Context
愈心谷 C 端同时打两套后台:咨询/测评在 Java + MySQL,愈心魔方在 Go + PostgreSQL。
wx.login 的 code 只能用一次,无法先后换两套 token。小程序需要单一身份与单一请求入口。
Decision
- Go + PostgreSQL 是唯一用户身份源。 微信 openid / 手机号写在
users。 - Java 过渡期为被调方:Go 用 openid/phone 调内网
issue-mini-app换 Java Redis token,并反代/app-api、/admin-api。 - 咨询业务表本 ADR 不迁;支付与档期另开 ECR。
- Admin 登录独立,不走本决策。
Consequences
- 小程序只配置 Go 域名(现网经
/psy/api/反代)。 - 下线 Java 必须另开 ECR,并先迁支付。
- 历史魔方账密用户按手机号合并到
wx_openid。
Alternatives considered
- 只做 SSO、双库长期并存:否决(用户要求合库合服务)。
- 以 Java 吸收魔方:否决(栈已锁定 Go + PG)。
- 客户端双 token:否决(code 单次使用,且拖住前端统一接入)。