feat: start ecommerce product center

This commit is contained in:
QiuSW
2026-07-09 09:10:22 +08:00
parent b8323550da
commit bda9c57843
11 changed files with 448 additions and 8 deletions
+10
View File
@@ -52,6 +52,16 @@
| T-033 | 完成一次模板 smoke 清单 | T-023 | 登录、设置、业务样例、日志、统计、组件示例、托盘、热键都按清单验证并记录结果 | DONE |
| T-034 | 添加 Windows Wails 快捷脚本 | T-001 | `dev.bat` 一行切到项目根目录、补 Go bin PATH、自动选择空闲端口并运行 `wails3 dev`;`build.bat` 一行切到项目根目录、补 Go bin PATH 并运行 `wails3 build`;README、技术栈、当前状态和执行流水已同步 | DONE |
## EC 分支 · 电商场景
| ID | 任务 | 依赖 | 验收要点 | 状态 |
| --- | --- | --- | --- | --- |
| EC-001 | 建立商品中心页面 | T-023 | `/#/products` 可访问;支持商品草稿、筛选、列表、状态标签和图片优化入口 | DONE |
| EC-002 | 建立商品后端模型 | EC-001 | 新增 `products` 表、ProductService、基础测试和 Wails bindings | TODO |
| EC-003 | 商品中心接入后端 | EC-002 | 商品中心不再使用前端本地示例数据,支持创建和查询商品 | TODO |
| EC-004 | 图片优化关联商品 | EC-002 | 图片优化任务可关联 SKU 或 product_id,商品中心能看到图片状态 | TODO |
| EC-005 | 电商统计指标 | EC-003 | 展示商品总数、待优化图片、在售商品、失败图片任务和处理趋势 | TODO |
## Backlog
- 评估是否需要 Playwright / Vitest 覆盖前端关键页面。
+15 -4
View File
@@ -4,13 +4,14 @@
## 当前阶段
项目处于可复用桌面应用模板的 Phase 2 业务样例与日志统计收尾阶段。目标已经从迁移后的基础工程调整为“Windows-first、可扩展到其他平台的桌面端应用模板”。
项目处于 `ec` 分支的电商场景开发起步阶段。主线模板能力已经具备,当前分支开始把模板能力收敛成面向电商运营的桌面端应用。
当前代码已从迁移后的 Wails/Vue/SQLite 基线推进到主应用路由骨架、登录 provider 边界、统一设置 schema、主窗口状态恢复、商品图片 AI 优化页面、日志服务边界、P0 数据统计和常用组件示例阶段,已具备设置、多语言、主题、本地配置、热键、托盘、OCR 示例、模板级模块入口、本地登录能力、本地模拟图片优化任务能力、业务样例页面、组件示例页、审计日志、运行日志和 P0 统计查询能力。统计页面仍是骨架,尚未展示真实统计数据。
当前代码已从迁移后的 Wails/Vue/SQLite 基线推进到主应用路由骨架、登录 provider 边界、统一设置 schema、主窗口状态恢复、商品中心、商品图片 AI 优化页面、日志服务边界、P0 数据统计和常用组件示例阶段,已具备设置、多语言、主题、本地配置、热键、托盘、OCR 示例、本地登录能力、商品运营入口、本地模拟图片优化任务能力、审计日志、运行日志和 P0 统计查询能力。统计页面仍是骨架,尚未展示真实统计数据。
## 已确认事实
- 项目类型:可复用桌面应用模板。
- 当前业务分支:`ec`,面向电商运营应用开发。
- 主要运行场景:Windows 10 以及以后的 Windows 操作系统。
- 跨平台策略:Windows-first,保留 macOS / Linux 适配边界,不在 MVP 承诺完整体验。
- 第一批业务样例:电商商品图片 AI 优化。
@@ -29,7 +30,7 @@
- 本地数据库:SQLite,用户配置目录下 `cmbone/cmbone.db`
- 当前本地演示账号:`admin` / `admin123`,密码由后端初始化为 salt + SHA-256 hash,不写死在前端。
- 当前主窗口路由:`/#/` 重定向到 `/#/dashboard`。
- 当前主应用模块路由:`/#/login`、`/#/dashboard`、`/#/image-optimizer`、`/#/logs`、`/#/statistics`、`/#/settings`、`/#/components`。
- 当前主应用模块路由:`/#/login`、`/#/dashboard`、`/#/products`、`/#/image-optimizer`、`/#/logs`、`/#/statistics`、`/#/settings`、`/#/components`。
- 当前兼容重定向路由:`/#/business/image-optimizer`、`/#/logs/audit`、`/#/logs/app`。
- 当前第二窗口路由:`/#/second`
- 已实现主窗口策略:默认不最大化,初始 `1280x800`,最小 `1024x720`,居中,可调整大小;启动后可按 `window.*` 配置恢复尺寸和最大化状态。
@@ -41,6 +42,7 @@
- 已实现统一设置 schema:主题、语言、窗口行为、快捷键展示、数据目录、日志策略和登录 provider 配置都有默认值、说明和基础校验。
- 已实现设置页 schema 展示:`/#/settings` 可读取后端 `GetSettingsSchema` 并展示分组、当前值、默认值、说明和只读标记。
- 已实现主窗口状态持久化:主窗口普通尺寸和最大化状态会写回 `appconfig`,下次启动恢复;第二窗口不参与该逻辑。
- 已实现商品中心页面:支持商品草稿、SKU、类目、渠道、售价、库存、上架状态、图片状态、筛选和分页展示。
- 已实现 ImageOptimizationService:`CreateTask`、`ListTasks`、`GetTask`、`CancelTask`,当前 provider 为本地模拟实现。
- 已实现 `image_tasks` 和 `image_task_results` 表,模拟任务可写入成功状态、耗时、输出路径和前后文件大小。
- 已实现商品图片 AI 优化页面:支持文件选择、手动图片路径、创建任务、筛选任务、任务列表、状态标签、结果预览和失败提示。
@@ -239,9 +241,18 @@ wails3 build
- 自动发送默认 `Alt+P` 后可见窗口包含 `second, main`,热键打开第二窗口通过。
- 登录、设置、业务样例、日志、统计、组件示例、托盘、热键均已按清单记录验证方式和结果。
同日创建 `ec` 分支并启动电商场景:
- `ec` 分支已推送到 `origin/ec`。
- 新增 `/#/products` 商品中心路由。
- 新增商品中心页面,当前使用前端本地示例数据。
- 商品中心支持商品草稿、SKU、类目、渠道、售价、库存、上架状态、图片状态、筛选、分页和图片优化入口。
- 新增 `docs/ecommerce-scenario.md`。
- `go test ./...`、`cd frontend && npm run build`、`go build -o bin\cmbone.exe .` 和 `cmd /c build.bat` 通过。
## 下一步
当前任务看板中剩余任务均已完成。下一步建议先人工复核托盘菜单点击和 NSIS 打包环境,再决定是否新增真实 AI provider、统计页面展示或日志页面列表任务。
从 [`06-tasks.md`](06-tasks.md) 领取 `EC-002`:建立商品后端模型,新增 `products` 表、ProductService、基础测试和 Wails bindings。
## 当前 blocker
+34
View File
@@ -0,0 +1,34 @@
# 电商场景开发说明
当前分支:`ec`
目标:在可复用桌面应用模板基础上,发展一个面向电商运营的 Windows 桌面端应用。
## 场景边界
第一阶段聚焦商品运营,不做完整 ERP:
- 商品中心:维护 SKU、商品名称、类目、渠道、售价、库存、上架状态和图片状态。
- 商品图片 AI 优化:复用现有 `ImageOptimizationService`,服务于商品主图和渠道图。
- 操作日志:记录登录、设置变更、任务创建和后续商品关键操作。
- 数据统计:围绕商品图片处理量、成功率、失败任务和运营审计做基础统计。
## 当前已落地
- 新增 `/#/products` 商品中心页面。
- 主导航新增“商品中心”。
- 商品中心当前使用前端本地示例数据,支持:
- 新增商品草稿。
- 商品、SKU、渠道关键字筛选。
- 类目、上架状态、图片状态筛选。
- 商品列表、价格、库存、上架状态、图片状态展示。
- 跳转到图片优化和统计模块。
## 下一步建议
1. 后端新增商品模型和 SQLite 表:`products`。
2. 新增 `ProductService`:`CreateProduct`、`ListProducts`、`UpdateProductStatus`、`UpdateImageStatus`。
3. 商品中心改为调用 Wails bindings,不再使用前端本地示例数据。
4. 商品图片 AI 优化任务增加 `product_id` 或 `sku` 关联。
5. 统计模块增加商品维度:商品总数、待优化图片、在售商品、失败图片任务。
6. 操作日志接入商品草稿创建、上架、下架、图片优化关联等审计事件。
+2
View File
@@ -93,6 +93,7 @@
| `frontend/src/components/template/ModulePageShell.vue` | 模块页共享壳 | 模块标题、状态和摘要卡片 |
| `frontend/src/modules/auth/LoginPage.vue` | 登录页 | 调用 AuthService 登录并处理错误 |
| `frontend/src/modules/dashboard/DashboardPage.vue` | 工作台骨架 | P0 指标和近期任务入口 |
| `frontend/src/modules/products/ProductCenterPage.vue` | 商品中心 | 电商商品草稿、筛选、列表和状态入口 |
| `frontend/src/modules/image-optimizer/ImageOptimizerPage.vue` | 主业务页面 | 商品图片 AI 优化任务创建、列表、状态和结果预览 |
| `frontend/src/modules/logs/LogsPage.vue` | 日志页骨架 | 审计日志和运行日志入口 |
| `frontend/src/modules/statistics/StatisticsPage.vue` | 统计页骨架 | P0 指标和 7 天趋势入口 |
@@ -109,6 +110,7 @@
| `frontend/src/layouts/` | 登录布局和主应用布局 |
| `frontend/src/modules/auth/` | 登录和会话 |
| `frontend/src/modules/settings/` | 设置中心 |
| `frontend/src/modules/products/` | 电商商品中心 |
| `frontend/src/modules/image-optimizer/` | 商品图片 AI 优化业务样例 |
| `frontend/src/modules/logs/` | 审计日志和运行日志 |
| `frontend/src/modules/statistics/` | 数据统计 |
+2
View File
@@ -11,6 +11,7 @@
| `#/` | `frontend/src/layouts/MainLayout.vue` | 主窗口 | 重定向到 `#/dashboard` |
| `#/login` | `frontend/src/modules/auth/LoginPage.vue` | 主窗口 | 登录入口,已接入本地固定账号 provider,真实后端 provider 保留边界 |
| `#/dashboard` | `frontend/src/modules/dashboard/DashboardPage.vue` | 主窗口 | 工作台,展示 P0 指标和近期任务入口 |
| `#/products` | `frontend/src/modules/products/ProductCenterPage.vue` | 主窗口 | 电商商品中心,支持商品草稿、筛选、列表和图片优化入口 |
| `#/image-optimizer` | `frontend/src/modules/image-optimizer/ImageOptimizerPage.vue` | 主窗口 | 商品图片 AI 优化业务样例,已接入任务创建、列表和结果预览 |
| `#/logs` | `frontend/src/modules/logs/LogsPage.vue` | 主窗口 | 审计日志和运行日志统一入口骨架 |
| `#/statistics` | `frontend/src/modules/statistics/StatisticsPage.vue` | 主窗口 | 第一批统计指标和趋势入口;后端 `MetricsService` 已可查询 |
@@ -26,6 +27,7 @@
| 路由 | 页面 | 职责 |
| --- | --- | --- |
| `#/login` | 登录页 | 已接入本地固定账号登录;真实后端登录待后续接入 |
| `#/products` | 商品中心 | `ec` 分支起点,当前为前端本地示例数据;后续接入 ProductService |
| `#/image-optimizer` | 商品图片 AI 优化 | 已接入页面任务列表、状态、结果和失败原因 |
| `#/logs` | 操作日志 | 后端审计日志和运行日志服务已接入;页面列表待后续扩展 |
| `#/statistics` | 数据统计 | 后端 `MetricsService` 已接入趋势、成功率、耗时和失败任务;页面展示待后续扩展 |