Files
ccdi/docs/plans/frontend/2026-03-20-lsfx-mock-phase2-random-hit-frontend-implementation.md

122 lines
4.7 KiB
Markdown

# LSFX Mock Phase 2 Random Hit Frontend Implementation Plan
> **For agentic workers:** REQUIRED: Use superpowers:subagent-driven-development (if subagents available) or superpowers:executing-plans to implement this plan. Steps use checkbox (`- [ ]`) syntax for tracking.
**Goal:** 明确本次 `lsfx-mock-server` 第二期稳定随机命中改造不引入前端代码变更,同时验证现有前端页面与接口契约无需调整。
**Architecture:** 本次改造只作用于 Mock 服务与本地数据库基线,不新增前端页面、字段、交互或路由。前端实施计划采用“零代码变更 + 契约核验 + 文档沉淀”的最短路径,若核验发现返回结构变化,再停止并回到设计阶段,而不是在本计划中临时扩展前端实现。
**Tech Stack:** Vue 2, npm, Axios request wrapper, Markdown docs
---
## File Structure
- `ruoyi-ui/src/api/`: 本次预期不修改,只用于核验现有接口调用契约是否保持不变。
- `ruoyi-ui/src/views/ccdiProject/`: 本次预期不修改,只用于核验“拉取本行信息”“重打标结果展示”“流水详情标签展示”相关页面是否无需联动调整。
- `docs/reports/implementation/2026-03-20-lsfx-mock-phase2-random-hit-frontend-record.md`: 记录本次前端无代码改动的范围说明。
- `docs/tests/records/2026-03-20-lsfx-mock-phase2-random-hit-frontend-verification.md`: 记录前端契约核验与页面回归结论。
### Task 1: 核验前端接口契约无需调整
**Files:**
- Reference: `ruoyi-ui/src/api/`
- Reference: `ruoyi-ui/src/views/ccdiProject/`
- Reference: `docs/design/2026-03-20-lsfx-mock-phase2-random-hit-design.md`
- [ ] **Step 1: Check the existing frontend touchpoints**
检查以下现有前端触点,不写代码:
- `拉取本行信息` 入口对应的接口调用位置
- `项目重打标` 入口对应的接口调用位置
- `流水详情命中标签` 展示链路
重点确认:
- 请求参数没有新增字段要求
- 返回结构没有新增前端必填字段要求
- 结果展示仍依赖现有标签结果接口,不需要额外渲染第二期专属字段
- [ ] **Step 2: Verify no code change is needed**
Run:
```bash
cd ruoyi-ui
rg -n "pull-bank-info|tags/rebuild|bank-statement/detail|hitTags" src
```
Expected:
- 只看到现有调用点
- 设计文档中的第二期改造不要求新增前端字段适配
- [ ] **Step 3: If contract drift is found, stop instead of patching**
若核验发现以下任一情况,则停止执行并回到设计阶段:
- 后端返回结构新增前端必须消费的新字段
- 结果展示需要新增新的专属列或筛选条件
- 现有页面无法承接第二期命中结果
若未发现上述情况,则保持前端零代码变更。
- [ ] **Step 4: Record the no-op decision**
在计划执行时将“无需前端改动”的事实沉淀到实施记录与验证记录,不创建任何前端源码改动。
- [ ] **Step 5: Commit**
```bash
git add docs/reports/implementation/2026-03-20-lsfx-mock-phase2-random-hit-frontend-record.md docs/tests/records/2026-03-20-lsfx-mock-phase2-random-hit-frontend-verification.md
git commit -m "补充第二期Mock联调前端核验记录"
```
### Task 2: 补前端实施与验证记录
**Files:**
- Create: `docs/reports/implementation/2026-03-20-lsfx-mock-phase2-random-hit-frontend-record.md`
- Create: `docs/tests/records/2026-03-20-lsfx-mock-phase2-random-hit-frontend-verification.md`
- [ ] **Step 1: Write implementation record**
`docs/reports/implementation/2026-03-20-lsfx-mock-phase2-random-hit-frontend-record.md` 中记录:
- 本次需求范围仅涉及 Mock 服务与数据库基线
- 前端页面、接口封装、路由和交互均不需要改动
- 不做“为了联调看起来完整”而新增无业务价值的前端补丁
- [ ] **Step 2: Write verification record**
`docs/tests/records/2026-03-20-lsfx-mock-phase2-random-hit-frontend-verification.md` 中记录:
- 核验的页面与接口触点
- 检查命令
- “无需前端改动”的依据
- 最终结论
- [ ] **Step 3: Confirm no frontend build/test is required**
若无源码改动,则不运行 `npm run build:prod`;在验证记录中明确写明“本次为零代码改动核验,因此未执行构建”。
- [ ] **Step 4: Verify git diff stays docs-only**
Run:
```bash
git diff --name-only -- ruoyi-ui
```
Expected:
- 无输出
- 证明本次前端计划执行保持零代码改动
- [ ] **Step 5: Commit**
```bash
git add docs/reports/implementation/2026-03-20-lsfx-mock-phase2-random-hit-frontend-record.md docs/tests/records/2026-03-20-lsfx-mock-phase2-random-hit-frontend-verification.md
git commit -m "记录第二期Mock联调前端零改动结论"
```