diff options
| author | Somhairle H. Marisol <[email protected]> | 2026-09-21 02:23:43 +0800 |
|---|---|---|
| committer | Somhairle H. Marisol <[email protected]> | 2026-09-21 02:23:43 +0800 |
| commit | f55ed58d2c75b53774ef7256fddb973ae3e73323 (patch) | |
| tree | 63269f233f4305d5b68aa252e9548244a362adcf /README.md | |
| parent | be1afd248e4cc9b03a1e21090602a945af6988b2 (diff) | |
| download | fund-lab-f55ed58d2c75b53774ef7256fddb973ae3e73323.tar.gz | |
feat(web): 基金创建/读取界面与仓库内浏览器 QA
[变更性质]
- 本提交完成 3c-1 切片:Web 端基金建档(创建/重读)表单接入既有幂等 API,并提供仓库内可复现的端到端 QA 入口与生命周期回归。
[新增功能]
- 前端新增 03 / CREATE 面板:名称与初始现金(decimal 字符串)输入、创建/重新读取按钮、服务端返回的基金档案行(份额诚实显示 0、来源标注真实建档/合成标记);移动端单列布局。
- 创建请求携带 32 位十六进制 Idempotency-Key;网络失败重试复用同一 key,输入变更或成功后换新 key;token 变更清空档案并按序列号拒绝过期响应。
[实现方案]
- 金额全程 decimal 字符串,不经 JS float;update 层 fundSeq 守卫 FundCreate/FundRead 完成消息;BoundaryTests 新增 FundBoundaryTests 9 项(幂等键长度/复用、token 失效、stale 读取拒绝等)。
- qa/run.sh 一次性拉起非默认端口 Postgres/API/Vite(桩行情,_synthetic 标记),清理仅限本次创建的容器(ID+名称归属校验);临时目录 mktemp 隔离;qa/lifecycle-test.sh 验证拒绝路径不破坏既有资源。
[影响范围]
- Web 测试增至 17 项,全套 56 项通过;浏览器 QA 30/30 通过;README 更新阶段描述。本提交不包含 docs/overnight-progress.md 的现有修改。
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -1,6 +1,6 @@ # fund-lab -私人单用户模拟基金平台。当前仓库处于阶段 1 骨架和阶段 2a 纯 F# 账本切片阶段;已接入基金创建/读取 PostgreSQL 持久化,尚未接入真实行情或真实下单。 +私人单用户模拟基金平台。已接入基金创建/读取 PostgreSQL 持久化与基于 akshare 的行情数据源(解释器缺失依赖时回退合成数据并显式标记 `_synthetic`),Web 端提供基金创建/读取界面;尚未接入真实下单。 ## 本地验证 @@ -32,6 +32,6 @@ API 使用环境变量 `FUND_LAB_AUTH_TOKEN` 配置 Bearer token,使用 `FUND_ 基金创建接口为 `POST /api/funds`,需要 `Idempotency-Key` 和 decimal 字符串字段;基金读取接口为 `GET /api/funds/{id}`。首次启动会自动创建所需表。 -运行时数据库、行情缓存、凭证和构建产物不应进入 Git。当前 `origin` 为 `/home/somhairle/git/fund-lab.git`;基线提交已独立发布并核对,最新 3a 持久化修改在完成最终验证前保持在本地工作树。 +运行时数据库、行情缓存、凭证和构建产物不应进入 Git。当前 `origin` 为 `/home/somhairle/git/fund-lab.git`;基线提交已独立发布并核对,最新 3c-1 Web 建档切片修改在完成最终验证前保持在本地工作树。 3a 收口测试还会启动独立临时 PostgreSQL 和真实 Kestrel 进程,覆盖 HTTP 创建、幂等重放/冲突、认证、畸形 JSON、金额边界、停止重启后的读取,以及首次 SQL 写入后故障的完整事务回滚。 |
