跳转至

Agent 设计文档

1. 技术栈

React + Vite + React Router + Axios(httpClient baseURL=/api)+ Recharts。

2. 分层

src/app/         # routes、Layout、AuthProvider、ProtectedRoute
src/features/    # auth/dashboard/customers/transactions/links/settlement/settings/landing
src/shared/api/  # authApi、agentApi、settlementApi、exportApi

features 互不 import;HTTP 仅经 shared/api。

3. 登录与会话

sequenceDiagram
  participant A as Agent
  participant FE as AgentSPA
  participant API as Backend
  A->>FE: 手机号+验证码
  FE->>API: POST /auth/send-code
  FE->>API: POST /auth/login as_agent=true
  API-->>FE: JWT + user
  FE->>FE: localStorage.token
  Note over FE: 可选:本地有 referral_code 且非 agent 时 bind

刷新:有 token 则 GET /auth/me;失败清会话。

4. 推广链接设计

  • agent_code 来自 GET /agents/me
  • 公网 URL:VITE_CANVAS_PUBLIC_URL 或推导 canvas.*./r/{code}canvasPublicUrl.ts
  • 客户在 Canvas 落地完成点击统计与绑定

5. 结算设计

  • 状态:GET /settlement/status
  • 个人:创建 alipay/wechat scan → 轮询 status → mock-confirm(开发)
  • 商户:POST /settlement/merchant-info
  • 三选一互斥,切换 ConfirmDialog

6. 参考