www_site/docs/phase-1-report.md

7.5 KiB
Raw Blame History

Phase 1 设计系统与官网骨架报告

日期2026-09-08 范围P1-01 至 P1-06 状态官网骨架完成真实认证、TTS、CMS 和管理业务未实现。

1. 交付摘要

  • 建立 Next.js App Router + TypeScript + Tailwind CSS 4 本地应用。
  • 建立 KAOTINGS 深色设计系统:#0D0F12 背景、橙 #FF6A00、蓝 #1677FF、青 #00D1E6、近白文字及灰阶变量。
  • 使用正式 Logo 的网页公开副本 public/brand/logo_bt.pngAI/PDF 原档仍不直接公开。
  • 完成响应式导航、移动导航、页脚、跳过导航链接、键盘焦点样式和减少动效处理。
  • 首页以蓝牙、音频、嵌入式和硬件产品为主体AI Lab/TTS 保持轻量入口。
  • 完成产品列表、产品详情模板、关于、联系、TTS、登录、注册、账户和管理页面布局。
  • 所有缺少真实资料的产品内容集中在 lib/content.ts,并使用“开发占位”标识;没有虚构规格、联系方式、资质或操作成功。

2. P1 工作包

编号 状态 实现位置 验证
P1-01 已完成 app/globals.csscomponents/ui.tsx 设计令牌、按钮、输入、焦点、间距和响应式规则已集中定义
P1-02 已完成 components/site-header.tsxcomponents/site-footer.tsxapp/layout.tsx 桌面导航、移动菜单、账户入口、页脚和跳过导航已实现
P1-03 已完成 app/page.tsx Hero、硬件产品、技术能力、AI Lab、联系入口已实现
P1-04 已完成 app/products/app/about/app/contact/lib/content.ts 列表和详情模板由集中式占位数据驱动
P1-05 已完成(布局) app/tts/app/login/app/register/app/account/app/admin/ 加载/空/待接入/禁用/错误语义已展示;真实业务未接入
P1-06 功能实现与构建检查完成;真实视觉验收待完成 app/layout.tsxapp/not-found.tsx、全局样式 typecheck、build、路由冒烟和响应式源码检查通过真实浏览器桌面/移动验收未完成

3. 页面清单

路由 当前能力
/ 品牌首页产品为主AI Lab 为入口
/products 开发占位产品列表和分类视觉
/products/product-placeholder-a 产品详情模板
/products/product-placeholder-b 产品详情模板
/about 公司定位和原则,未虚构公司履历
/contact 联系信息边界和待确认状态
/tts TTS 工作台布局,控件禁用,不调用服务
/login/register 认证表单布局,提交禁用
/account 账户、权益、额度和历史空状态
/admin/admin/users/admin/tts 管理后台布局和禁用状态
404 友好 Not Found 页面

4. 占位数据规则

所有开发占位内容集中在 lib/content.ts。当前只使用:

  • 产品资料待补充 A/B 作为模板标识,不作为正式产品名称。
  • 无线音频蓝牙配件 作为待确认分类示意,不包含规格和性能承诺。
  • CSS 抽象产品视觉只用于检查版式,不冒充真实产品图片。
  • 联系页、页脚和关于页明确说明正式联系方式和公司资料待确认。

后续替换时只需先替换内容适配器Phase 4 接入 CMS 时不应重写页面模板。

5. 本地验证

已执行:

  • npm install:安装 46 个依赖包,审计结果为 0 vulnerabilities。
  • npm run typecheck:通过。
  • npm run build:通过,全部静态页面生成成功。
  • 本地 next start 动态端口启动:成功,无启动错误。
  • HTTP 冒烟首页、产品列表、两个产品详情、关于、联系、TTS、登录、注册、账户、管理首页、用户管理、TTS 管理和 Logo 静态资源均返回 200
  • 响应式源码检查:容器、断点、移动导航、移动端排列、键盘焦点和 prefers-reduced-motion 已覆盖。此项是源码检查,不等同于实际设备视觉验收。

当前执行环境对固定本地端口 300031003210 返回 Windows EACCES;动态端口可启动,因此没有修改系统端口策略。当前环境没有可用的 Chrome、Edge、Firefox 或既有 Playwright尚未完成真实桌面/移动浏览器视觉验收,也未生成截图。该项明确交由测试站浏览器或用户电脑/手机验收,不将源码检查写成设备验收通过。

6. 最小测试部署方案

6.1 本阶段部署范围

只部署官网骨架不部署数据库、Redis、TTS、Worker、CMS 或认证服务。页面中的真实业务入口保持禁用或预览说明。

6.2 服务器所需软件

  • Ubuntu 24.04 已有,建议安装 Node.js 20.9+,当前项目本地使用 Node.js 24.11.1 验证。
  • npm 随 Node.js 提供。
  • 不需要 PostgreSQL、Redis、对象存储、TTS 或 CMS。
  • 可先不安装 Nginx/Caddy直接由 next start 提供局域网 HTTP 验证。

6.3 部署目录和命令建议

在权限未落实前不执行。为避免第一阶段申请 root 部署目录,可优先评估用户目录:

/home/flym/kaotings-www

建议流程:

npm ci
npm run build
npm run start -- -H 0.0.0.0 -p 3000

访问地址:http://192.168.199.22:3000/

6.4 权限和端口

  • 文件复制到 /home/flym/kaotings-www 可由 flym 用户完成,前提是目录由该用户拥有。
  • 安装 Node.js、配置系统级进程、开放防火墙端口或绑定受控服务可能需要 sudo/管理员权限。
  • 当前 flym 属于 sudo 组,但非交互 sudo 仍需要额外认证;本次未安装或修改服务器服务。
  • 最小访问端口SSH 22 用于运维,应用 TCP 3000 仅允许局域网测试来源。
  • 本阶段不开放 80/443不配置正式域名或 HTTPS认证和生产发布前仍必须完成可信 HTTPS。

6.5 测试部署退出条件

  • 局域网浏览器能打开首页、产品模板、关于、联系和所有预览入口。
  • 仅显示开发占位内容,不显示虚构联系方式、产品规格或成功状态。
  • 服务器重启或进程重启后的启动方式已记录;正式部署前再替换为受控进程管理和反向代理。

7. 部署前核实状态

本方案已复核:本轮只部署 Next.js 官网骨架,所需新增软件为 Node.js 20.9+ 与 npm不安装 PostgreSQL、Redis、TTS、Worker、CMS 或对象存储。服务器变更前需要确认 Node.js 安装权限、/home/flym/kaotings-www 写权限、TCP/3000 局域网访问权限,以及后续进程保持方式。当前尚未执行服务器安装或部署。

8. 测试站部署前实测

本次通过已确认的 SSH 主机执行只读核实:

  • /home/flym 可写,适合作为用户级部署目录;/home/flym/kaotings-www 尚未创建。
  • 未安装 Node.js 和 npm无法执行 npm cinpm run buildnext start
  • flymsudo 组,但 sudo -n -l 返回需要密码,当前没有可供自动部署使用的非交互 sudo 权限。
  • 从开发机访问 TCP/3000 失败,当前没有应用监听或放行该端口。
  • 本次未安装软件、创建服务、开放端口或启动测试站。

因此当前部署阻断项是:管理员需要安装 Node.js 20.9+ 和 npm或提供用户目录可用的 Node.js同时需要允许 192.168.199.0/24(或实际测试网段)访问 TCP/3000。若要求系统级服务或防火墙变更还需要 sudo/管理员权限。权限落实后再执行最小部署,并提供 http://192.168.199.22:3000/ 实际访问结果和真实浏览器视觉验收记录。