xiaoxia-saas
-SaaS 新主线前端骨架已创建。
--
-
- 项目管理 -
- 素材管理 -
- 配音管理 -
- 任务与成片 -
diff --git a/STATUS.md b/STATUS.md index f2cd3a60e..43c541c61 100644 --- a/STATUS.md +++ b/STATUS.md @@ -7,7 +7,8 @@ ## 当前阶段 -**Phase 1 已完成** - 核心平台层已搭建完成并稳定化中 +**Phase 1 已完成** - 核心平台层已搭建完成并稳定化中 +**Phase 2 进行中** - 项目管理模块已落地 --- @@ -28,11 +29,17 @@ - ✅ Asset(素材) - ✅ IngestJob(入库任务:PENDING → PROCESSING → COMPLETED/FAILED) - ✅ ClassificationJob(分类任务:含 9 种分类) +- ✅ **Task(任务:支持状态/进度/优先级/子任务/计划时间/实际时间)** +- ✅ **Milestone(里程碑)** +- ✅ **TaskIssue(任务问题/卡点)** ### 核心业务流程 - ✅ 上传 → 入库 → Asset 创建链路 - ✅ 分类任务链路 - ✅ 完整异步任务处理(Celery + Redis) +- ✅ **任务创建 → 状态更新 → 进度跟踪链路** +- ✅ **里程碑管理** +- ✅ **任务问题/卡点记录与解决** ### 基础设施 - ✅ **MinIO 真实文件存储**(`apps/api/app/core/storage.py`) @@ -41,29 +48,34 @@ - ✅ API 文档(Swagger) ### 测试与质量 -- ✅ 8 个集成测试全绿 +- ✅ **15 个集成测试全绿**(素材管理 8 个 + 项目管理 7 个) - ✅ 测试策略:集成测试优先,覆盖核心业务流程 --- ## 进行中 +### 项目推进器前端页面 +- 🔄 Next.js 页面设计与开发(下一步) +- 🔄 树形任务视图 +- 🔄 甘特图视图 +- 🔄 里程碑时间轴 +- 🔄 问题卡点面板 + ### 稳定化与部署打磨 -- 🔄 Gitea workflows 持续优化(最近 10+ commits) +- 🔄 Gitea workflows 持续优化 - 🔄 部署流程与环境隔离稳定化 - 🔄 Docker 构建优化(国内镜像源、多阶段构建) -### 前端页面 -- 🔄 Next.js 前端占位已建立,实际页面待补 - --- ## 下一步优先级 -1. **前端页面补齐** - - 项目/素材库管理页面 - - 素材上传/预览页面 - - 任务状态监控页面 +1. **项目推进器前端页面** + - 任务列表与详情页 + - 里程碑管理页 + - 问题卡点面板 + - 甘特图/时间线视图 2. **更完整的 SAAS 产品化能力** - 多租户/组织/权限体系 @@ -115,6 +127,7 @@ - 测试策略:集成测试优先,覆盖核心业务流程 - 数据库迁移从第一天起就版本化管理 - CI/CD 基于 Gitea Actions + 自建 runner +- **旧项目推进器(纯前端 HTML)已废弃,项目管理功能重新在 SAAS 里实现** --- @@ -123,7 +136,7 @@ - **本地路径**: `F:\openclaw-saas` - **远程仓库**: `xiaoxia-server:/var/lib/xiaoxia-ci/xiaoxia-saas.git` - **分支**: `main` -- **最新提交**: `2c78407 fix: pass commit metadata into deploy builds` +- **最新提交**: `355dd0f feat: add project management module (tasks, milestones, issues)` --- diff --git a/apps/web/app/globals.css b/apps/web/app/globals.css new file mode 100644 index 000000000..6209f4970 --- /dev/null +++ b/apps/web/app/globals.css @@ -0,0 +1,26 @@ +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body { + font-family: -apple-system, BlinkMacSystemFont, "Microsoft YaHei", sans-serif; + background: #F5F7FA; + color: #1D2129; + height: 100vh; + overflow: hidden; +} + +:root { + --primary: #165DFF; + --primary-hover: #0e48d1; + --border: #E5E6EB; + --bg-white: #fff; + --bg-gray: #F5F7FA; + --text-primary: #1D2129; + --text-secondary: #6E7681; + --success: #00B42A; + --warning: #FF7D00; + --error: #F53F3F; +} diff --git a/apps/web/app/layout.tsx b/apps/web/app/layout.tsx index 928393710..87f087c02 100644 --- a/apps/web/app/layout.tsx +++ b/apps/web/app/layout.tsx @@ -1,9 +1,16 @@ -export const metadata = { - title: 'xiaoxia-saas', - description: 'Xiaoxia SaaS scaffold', +import type { Metadata } from "next"; +import "./globals.css"; + +export const metadata: Metadata = { + title: "小虾 SaaS - 项目推进器", + description: "AI 视频自动化剪辑系统 - 项目管理", }; -export default function RootLayout({ children }: { children: React.ReactNode }) { +export default function RootLayout({ + children, +}: Readonly<{ + children: React.ReactNode; +}>) { return (
{children} diff --git a/apps/web/app/page.tsx b/apps/web/app/page.tsx index 5015b7760..6afcdd944 100644 --- a/apps/web/app/page.tsx +++ b/apps/web/app/page.tsx @@ -1,14 +1,48 @@ export default function HomePage() { return ( -SaaS 新主线前端骨架已创建。
-加载中...
+暂无任务
+点击右上角"+ 新增任务"创建第一个任务
+| 任务名称 | +状态 | +优先级 | +进度 | +创建时间 | +
|---|---|---|---|---|
| {task.name} | ++ + {getStatusText(task.status)} + + | ++ {getPriorityText(task.priority)} + | +
+
+
+
+
+
+
+ {task.progress}%
+
+ |
+ + {new Date(task.created_at).toLocaleDateString('zh-CN')} + | +