Skip to content

Latest commit

 

History

History

README.md

backend-user 客户端API

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 支付宝公钥路径

支付回调 URL

  • 微信:{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

环境

租户与登录校验

  • 登录:body 需传 domaintenantId(必填),服务端校验 tenantId 必须在域名匹配的租户清单中,禁止使用兜底租户ID
  • 域名匹配:同一域名可能匹配多个租户,/api/user/tenant 返回数组
  • 注册:body 需传 tenantId(必填),无租户ID则不能创建用户,禁止使用兜底租户ID
  • 已登录接口:租户从 JWT 解析