Files
MeetPaprika/working/03-推进台账.md

254 lines
12 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 03-推进台账
本文件按轮次记录工作。每轮结束必须写清楚:做了什么、改了哪些文件、验证了什么、下一步是什么。
## R001 - 建立 working 文档体系
- 日期2026-07-06
- 任务编号T001、T002
- 做了什么:
- 阅读 `doc/index.html` 的页面结构、导航、路由、表单 mockup、服务模块、FAQ、O-1A criteria、法务页面和渲染脚本。
- 建立 `working` 目录下 6 份编号文档和 README 索引。
- 初步记录当前项目是自包含静态 HTML mockup。
- 改了哪些文件:
- `working/README.md`
- `working/01-项目功能内容.md`
- `working/02-项目程序开发详细步骤.md`
- `working/03-推进台账.md`
- `working/04-任务矩阵.md`
- `working/05-验收证据.md`
- `working/06-决策记录.md`
- 验证了什么:
- 确认 `doc/index.html` 是自包含静态 HTML。
- 确认页面通过 `?page=...` 查询参数切换。
- 确认 Start Here 和 Ask a Question 当前是视觉 mockup不是真实表单。
- 证据链接或编号E001、E002、E003
- 遗留问题:
- 未做浏览器截图验收。
- 未做移动端回归。
- 未实现表单和部署。
- 下一步:
-`04-任务矩阵.md``VERIFY``TODO` 任务继续推进。
## R002 - 完全对标 doc/index.html 补强 working 文档
- 日期2026-07-06
- 任务编号T028
- 做了什么:
- 复读 `doc/index.html` 中 header、footer、`pageData`、页面组合函数、Press/Judging/Resources/FAQ/Legal/Form 模块。
- 补充 `01-项目功能内容.md`把页面路由、内容模块、表单字段、服务卡片、O-1A criteria、法律页面、已知缺陷和发布环境写完整。
- 补充 `02-项目程序开发详细步骤.md`形成阶段化路线基线复现、静态修复、真实表单、工程化拆分、8082 端口部署、HTTPS、回归验收。
- 补强任务矩阵新增服务器部署、凭据处理、contact 死链、outlet/network 陈述风险、README 索引维护等任务。
- 补强验收证据,记录本轮命令、源码发现和后续证据清单。
- 补强决策记录,明确不在长期文档保存明文密码、服务默认走 8082、Services 的 `contact` 路由是缺陷。
- 改了哪些文件:
- `working/README.md`
- `working/01-项目功能内容.md`
- `working/02-项目程序开发详细步骤.md`
- `working/03-推进台账.md`
- `working/04-任务矩阵.md`
- `working/05-验收证据.md`
- `working/06-决策记录.md`
- 验证了什么:
- `rg --files` 确认项目当前主要文件为 `doc/index.html``doc/README.md``working/*.md`
- `rg -n` 确认公开路由、隐藏路由、表单 mockup、legal 页面、动态路由逻辑均在 `doc/index.html`
- `sed` 分段读取源文件,确认 Services 04/05/06 卡片指向不存在的 `contact` 页面。
- `git status --short` 失败,确认当前目录不是 Git 仓库或未在 Git 工作树内。
- 证据链接或编号E004、E005、E006、E007
- 遗留问题:
- 尚未改 `doc/index.html`
- 尚未启动本地服务器或做截图。
- 尚未登录远端服务器。
- 用户提供了密码,但长期文档未写入明文密码。
- 下一步:
- 优先处理 T029修复 Services 页面不存在的 `contact` 路由。
- 继续 T003-T011对核心页面做浏览器截图验收。
- 之后按产品选择推进 T012/T013 表单落地或 T022 工程化拆分。
## R003 - 源码级对标附录完善
- 日期2026-07-06
- 任务编号T034
- 做了什么:
- 重新扫描 `doc/index.html` 的 CSS token、响应式断点、路由链接、函数列表、FAQ、Legal sections 和渲染逻辑。
-`01-项目功能内容.md` 增加视觉设计、组件 CSS 类、JavaScript 函数、CTA 全量映射、FAQ 完整编号、Legal 逐项结构和源码级结论。
-`02-项目程序开发详细步骤.md` 增加“完全对标核验清单”,规定以后如何证明文档与源 HTML 对齐。
- 更新任务矩阵、验收证据和决策记录。
- 改了哪些文件:
- `working/01-项目功能内容.md`
- `working/02-项目程序开发详细步骤.md`
- `working/03-推进台账.md`
- `working/04-任务矩阵.md`
- `working/05-验收证据.md`
- `working/06-决策记录.md`
- 验证了什么:
- `doc/index.html` 共 3423 行。
- CSS 只有一个显式响应式断点:`@media (max-width: 1080px)`
- `pageData` 包含公开路由、隐藏路由和 legal 页面。
- FAQ 共 4 组 20 个问题。
- Terms 编号缺少 17Legal 日期均为 `July 10, 2026`
- 多个函数和 CSS 模块存在但当前未调用。
- 证据链接或编号E016
- 遗留问题:
- 仍未修改 `doc/index.html` 源码。
- 仍未做浏览器截图和真实部署验收。
- 下一步:
- 按 T029 修复 `contact` 缺陷,或按 T003-T011 做页面截图验收。
## R004 - 明确正式开发技术架构
- 日期2026-07-06
- 任务编号T035
- 做了什么:
- 根据用户确认,将正式开发路线从候选方案收敛为 Next.js + React + PostgreSQL。
- 将默认数据访问层定为 Prisma ORM。
- 补充 Next.js 路由迁移表、PostgreSQL 数据模型初稿、表单 API、环境变量、8082 启动方式和部署验收标准。
- 更新任务矩阵和决策记录。
- 改了哪些文件:
- `working/01-项目功能内容.md`
- `working/02-项目程序开发详细步骤.md`
- `working/03-推进台账.md`
- `working/04-任务矩阵.md`
- `working/05-验收证据.md`
- `working/06-决策记录.md`
- `working/README.md`
- 验证了什么:
- 文档已不再把 Vite/静态拆分作为推荐路线。
- 部署命令已调整为 Next.js `npm run start -- -p 8082`
- 数据库任务已进入矩阵。
- 证据链接或编号E017
- 遗留问题:
- 尚未实际创建 Next.js 工程。
- 尚未创建 PostgreSQL 数据库或 Prisma migration。
- 文件上传存储方案仍需单独确认。
- 下一步:
- 执行 T036 初始化 Next.js 工程。
- 执行 T037 设计并迁移 PostgreSQL schema。
## R005 - 记录服务器 PostgreSQL 安装状态
- 日期2026-07-06
- 任务编号T040
- 做了什么:
- 根据用户反馈,记录 PostgreSQL 已在服务器 `170.106.192.152` 安装完成。
- 补充服务器 PostgreSQL 验证命令、应用数据库和受限用户创建建议。
- 保持凭据安全规则:不把明文 SSH 密码写入长期文档。
- 改了哪些文件:
- `working/01-项目功能内容.md`
- `working/02-项目程序开发详细步骤.md`
- `working/03-推进台账.md`
- `working/04-任务矩阵.md`
- `working/05-验收证据.md`
- `working/06-决策记录.md`
- 验证了什么:
- 本轮未登录服务器验证,仅记录用户确认。
- 证据链接或编号E018
- 遗留问题:
- 需要远程执行 `systemctl status postgresql``psql --version`、数据库列表检查。
- 需要创建或确认 `paprika` 数据库和 `paprika_app` 应用用户。
- 下一步:
- 执行 T040 远程验证 PostgreSQL。
- 执行 T037 接入 Prisma schema 和 migration。
## R006 - 记录邮箱系统账号需求
- 日期2026-07-06
- 任务编号T041
- 做了什么:
- 记录普通用户 webmail 入口、管理员入口和 `admin@paprikalaw.com` 管理员账号。
- 记录 10 个普通公司邮箱账号清单。
- 补充邮件 DNS、收发验证、表单通知接入和凭据安全要求。
- 明确用户提供的统一初始密码不写入长期文档。
- 改了哪些文件:
- `working/01-项目功能内容.md`
- `working/02-项目程序开发详细步骤.md`
- `working/03-推进台账.md`
- `working/04-任务矩阵.md`
- `working/05-验收证据.md`
- `working/06-决策记录.md`
- `working/README.md`
- 验证了什么:
- 本轮只记录需求,未登录邮件后台,未验证 DNS/MX/SPF/DKIM/DMARC。
- 证据链接或编号E019
- 遗留问题:
- 需要登录 `https://mail.paprikalaw.com/admin/` 确认账号是否已创建。
- 需要测试 webmail 登录、内外部收发和 DNS 记录。
- 需要决定网站表单通知使用哪个邮箱。
- 下一步:
- 执行 T041 邮箱账号创建/确认。
- 执行 T042 邮件 DNS 和收发测试。
- 执行 T043 Next.js 表单邮件通知配置。
## R007 - 落地 Next.js 工程、Prisma 和真实表单
- 日期2026-07-06
- 任务编号T012、T013、T017、T020、T022、T029、T036、T037、T038、T039、T044
- 做了什么:
- 修复 `doc/index.html` 中 Services 04/05/06 CTA 指向不存在 `contact` 的缺陷,统一改为 `start`
- 将 legal 页面日期从未来日期 `July 10, 2026` 改为当前工作日期 `July 6, 2026`
- 在项目根目录初始化 Next.js + React + TypeScript App Router 工程。
- 编写 `scripts/extract-legacy-pages.mjs`,从 `doc/index.html` 抽取 CSS 和静态页面 HTML生成 `app/globals.css``lib/legacy-pages.ts`
- 建立 `app/[page]/page.tsx` 静态路由,迁移公开页面到 `/press``/judging``/services` 等路径路由。
- 建立 `/start``/ask` 真实 React 表单,提交到 `POST /api/submissions`
- 建立 Prisma schema、初始化 migration、`.env.example`、数据库访问层和 Zod 校验。
- 增加基础 SEO metadata、`robots.txt``sitemap.xml`
- 升级到 Next `16.2.10`、React `19.2.7`,并配置 ESLint 9 flat config。
- 改了哪些文件:
- `doc/index.html`
- `.env.example`
- `.gitignore`
- `package.json`
- `package-lock.json`
- `tsconfig.json`
- `next-env.d.ts`
- `next.config.mjs`
- `eslint.config.mjs`
- `scripts/extract-legacy-pages.mjs`
- `app/*`
- `components/*`
- `lib/*`
- `prisma/schema.prisma`
- `prisma/migrations/20260706120000_init/migration.sql`
- `working/README.md`
- `working/01-项目功能内容.md`
- `working/02-项目程序开发详细步骤.md`
- `working/03-推进台账.md`
- `working/04-任务矩阵.md`
- `working/05-验收证据.md`
- `working/06-决策记录.md`
- 验证了什么:
- `npm run generate:legacy` 成功生成 12 个旧页面数据。
- `npm run prisma:generate` 成功生成 Prisma Client。
- `npm run lint` 通过。
- `npx tsc --noEmit` 通过。
- `npm run build` 通过,生成 19 个 app route。
- `npm run start -- -p 8082` 本地生产服务可启动。
- `/``/press``/judging``/scholarly``/services``/why``/resources``/faq``/start``/ask``/thanks``/terms``/privacy``/disclaimer``/robots.txt``/sitemap.xml` 本地生产服务均返回 200。
- `/api/submissions` 对缺失必填字段和错误 email 返回 400 校验错误。
- 有效提交在未配置 `DATABASE_URL` 时返回 500确认入库成功仍需真实 PostgreSQL。
- 证据链接或编号E022、E023、E024、E025、E026
- 遗留问题:
- 本地未配置 PostgreSQL `DATABASE_URL`,尚不能完成真实入库验收。
- 远程 PostgreSQL、应用数据库、应用用户、migration deploy 尚未验证。
- 邮箱后台、DNS、SMTP 通知未验证。
- 法务内容审核、outlet/network 名称确认、文件上传策略仍需外部确认。
- 尚未做浏览器截图/PDF 归档。
- 下一步:
- 执行 T040/T044远程验证 PostgreSQL配置生产 `DATABASE_URL`,执行 migration并提交 Start/Ask 获取 `submission_id`
- 执行 T039/T024部署 Next.js 到服务器 `8082` 并配置 systemd。
- 执行 T041-T043验证邮箱和 SMTP 通知。
- 执行 T018/T026补桌面和移动端截图证据。
## 后续轮次模板
### RXXX - 标题
- 日期:
- 任务编号:
- 做了什么:
- 改了哪些文件:
- 验证了什么:
- 证据链接或编号:
- 遗留问题:
- 下一步: