C 端用户接口服务,与 backend 管理控制台分离,端口 8001。仅保留 C 端所需接口,不含平台级管理功能。
| 接口 | 需登录 |
|---|---|
/api/auth/login |
否 |
/api/auth/register |
否 |
/api/auth/captcha/img |
否 |
/api/user/tenant?domain=xxx |
否 |
/api/user/tenant/:id |
是(路径 id 须与 JWT 租户一致) |
/api/account/profile |
是 |
/api/account/logout |
是 |
/api/account/password |
是 |
/api/user/menus?code=xxx |
是 |
/api/user/config/:key |
是(由 JWT 解析租户) |
/api/product/list |
是 |
/api/product/:id |
是 |
/api/order/create |
是 |
/api/order/list |
是 |
/api/order/:id |
是 |
/api/order/:id/cancel |
是 |
/api/order/subscription |
是 |
/api/payment/methods |
是 |
/api/payment/create |
是 |
/api/payment/wechat/notify |
否(微信支付回调) |
/api/payment/alipay/notify |
否(支付宝回调) |
支付相关配置需在 .env 中设置:
| 变量 | 说明 |
|---|---|
PAYMENT_NOTIFY_BASE_URL |
支付回调基础 URL,需外网可访问,如 https://your-domain.com |
WECHAT_PAY_APP_ID |
微信支付 AppID |
WECHAT_PAY_MCH_ID |
微信支付商户号 |
WECHAT_PAY_API_V3_KEY |
微信支付 APIv3 密钥 |
WECHAT_PAY_PRIVATE_KEY_PATH |
商户私钥路径,如 keys/wechat/apiclient_key.pem |
WECHAT_PAY_CERT_PATH |
商户证书路径,如 keys/wechat/apiclient_cert.pem |
ALIPAY_APP_ID |
支付宝应用 ID |
ALIPAY_PRIVATE_KEY_PATH |
应用私钥路径 |
ALIPAY_PUBLIC_KEY_PATH |
支付宝公钥路径 |
- 微信:
{PAYMENT_NOTIFY_BASE_URL}/api/payment/wechat/notify - 支付宝:
{PAYMENT_NOTIFY_BASE_URL}/api/payment/alipay/notify
需在微信商户平台、支付宝开放平台中配置上述回调地址。
biz_product:商品/订阅计划biz_payment_method:支付方式(租户级)biz_order:订单主表biz_order_item:订单明细biz_payment_record:支付记录biz_user_subscription:用户订阅
- RSA 私钥:用于密码加密传输。
pnpm install后会在backend-user/RSA_PRIVATE_KEY/rsa-private.pem自动生成(若不存在);也可手动openssl genrsa -out RSA_PRIVATE_KEY/rsa-private.pem 2048。建议在.env中配置RSA_PRIVATE_KEY_PATH=RSA_PRIVATE_KEY/rsa-private.pem。
cd backend-user
pnpm dev
# 或从项目根目录
pnpm dev:backend-user- 与
backend共用同一数据库、Redis - 端口:8001
- Swagger:http://localhost:8001/api-docs/
- 登录:body 需传
domain和tenantId(必填),服务端校验tenantId必须在域名匹配的租户清单中,禁止使用兜底租户ID - 域名匹配:同一域名可能匹配多个租户,
/api/user/tenant返回数组 - 注册:body 需传
tenantId(必填),无租户ID则不能创建用户,禁止使用兜底租户ID - 已登录接口:租户从 JWT 解析