初始化
This commit is contained in:
@@ -0,0 +1,141 @@
|
||||
# 规划模板
|
||||
|
||||
当用户希望获得完整、可执行的前端实施方案时,使用本参考模板。
|
||||
|
||||
## 默认输出模板
|
||||
|
||||
### 需求摘要
|
||||
- 目标:
|
||||
- 核心用户:
|
||||
- 关键操作:
|
||||
- 约束条件:
|
||||
- 假设项:
|
||||
|
||||
### 页面与组件架构
|
||||
- 路由/页面容器职责:
|
||||
- 组件树:
|
||||
- 展示型组件:
|
||||
- 业务组件:
|
||||
- 可复用候选模块:
|
||||
|
||||
### 状态与数据流
|
||||
- 页面本地状态:
|
||||
- 派生状态:
|
||||
- 交互事件:
|
||||
- 异步流程:
|
||||
- 是否需要 Pinia:
|
||||
- 使用或不使用理由:
|
||||
|
||||
### API 与类型规划
|
||||
- Service 模块划分:
|
||||
- 请求方法:
|
||||
- 请求参数:
|
||||
- 响应类型:
|
||||
- ViewModel 映射:
|
||||
- 错误模型:
|
||||
|
||||
### 边界与失败状态
|
||||
- Loading:
|
||||
- Empty:
|
||||
- Error:
|
||||
- Validation:
|
||||
- Permission:
|
||||
- Retry/Fallback:
|
||||
|
||||
### 图片与占位图规范(强制)
|
||||
- 是否提供真实图片资源:
|
||||
- 若未提供,采用的占位图方案:
|
||||
- 占位图尺寸(按 UI 设计尺寸或容器尺寸):
|
||||
- 容器比例与 `object-fit` 策略:
|
||||
- 多图片位是否分别定义尺寸与样式:
|
||||
|
||||
### 实施步骤
|
||||
1.
|
||||
2.
|
||||
3.
|
||||
4.
|
||||
|
||||
### 验收清单
|
||||
- [ ] 组件边界清晰,职责拆分明确
|
||||
- [ ] 展示组件内无直接 API 调用
|
||||
- [ ] 仅在必要时使用 Pinia,且理由明确
|
||||
- [ ] Loading / Empty / Error 等状态已覆盖
|
||||
- [ ] 类型定义完整且显式
|
||||
- [ ] `scoped scss` 职责边界清楚
|
||||
- [ ] 缺图场景有占位图且尺寸符合 UI 设计
|
||||
|
||||
### 骨架目录建议
|
||||
```text
|
||||
src/
|
||||
pages/
|
||||
components/
|
||||
composables/
|
||||
services/
|
||||
http/
|
||||
api/
|
||||
types/
|
||||
utils/
|
||||
```
|
||||
|
||||
## 输入到输出示例
|
||||
|
||||
### 示例 1
|
||||
输入: “做一个用户列表页,支持搜索、筛选、分页、详情抽屉。”
|
||||
|
||||
重点关注:
|
||||
- 表格容器、工具栏、详情抽屉的职责分离
|
||||
- 查询条件状态是否抽离为 composable
|
||||
- 详情抽屉是否需要独立拉取逻辑
|
||||
- loading、empty、retry 状态设计
|
||||
|
||||
### 示例 2
|
||||
输入: “把这个原型图转成 Vue 页面实现方案。”
|
||||
|
||||
重点关注:
|
||||
- 视觉区域如何映射到组件树
|
||||
- 通用 UI 基础组件与一次性业务组件的边界
|
||||
- 占位 API 与类型化 DTO 假设
|
||||
- 明确的响应式与溢出行为
|
||||
- 若原型未提供真实图片,给出按 UI 尺寸的占位图方案
|
||||
|
||||
### 示例 3(Figma 素材落地)
|
||||
输入: “识别 Figma 图标和背景,下载保存到 `src/assets/images/png`,按模块建目录并正确引用到页面。”
|
||||
|
||||
重点关注:
|
||||
- 图标、背景图、装饰图的分类与复用判断
|
||||
- 素材目录是否按模块归档
|
||||
- 文件名是否语义化、可维护
|
||||
- 页面模板和 TS 里的引用方式是否正确
|
||||
- 缺失素材时是否有按 UI 尺寸的占位图兜底
|
||||
|
||||
可直接复用的输出片段:
|
||||
|
||||
````markdown
|
||||
### 素材落地清单
|
||||
- 模块:`mine/newHome`
|
||||
- 目标目录:`src/assets/images/png/mine/newHome/`
|
||||
- 素材映射:
|
||||
- `icon_message` -> `mine-home-icon-message.png`
|
||||
- `icon_setting` -> `mine-home-icon-setting.png`
|
||||
- `bg_header` -> `mine-home-bg-header.png`
|
||||
|
||||
### 目录结构
|
||||
```text
|
||||
src/assets/images/png/mine/newHome/
|
||||
mine-home-icon-message.png
|
||||
mine-home-icon-setting.png
|
||||
mine-home-bg-header.png
|
||||
mine-home-banner-placeholder.png
|
||||
```
|
||||
|
||||
### 页面引用建议
|
||||
- 模板静态引用:
|
||||
- `<img src="@/assets/images/png/mine/newHome/mine-home-icon-message.png" alt="message" />`
|
||||
- TS 计算型引用:
|
||||
- `new URL('@/assets/images/png/mine/newHome/mine-home-bg-header.png', import.meta.url).href`
|
||||
|
||||
### 占位图策略
|
||||
- 当 `bg_header` 未交付时,使用 `mine-home-banner-placeholder.png`
|
||||
- 占位图尺寸:`343 x 84`(按 UI 标注);若无标注则取容器尺寸
|
||||
- `object-fit: cover`,确保替换真实图前后布局不抖动
|
||||
````
|
||||
Reference in New Issue
Block a user