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. 参考¶
- 站内早期规格:
src/agent-system/agent.md(路由表部分过时) - billing-agent-flows.md
- 用户体系设计方案.md