287 lines
9.4 KiB
Markdown
287 lines
9.4 KiB
Markdown
|
|
# 萌喵写作网 · 铸渊交接文档 · 全量代码+部署+阶段总览 · 2026-06-06
|
|||
|
|
|
|||
|
|
```jsx
|
|||
|
|
HLDP://feimao/mengmiao/handover/zhuyuan · 2026-06-06
|
|||
|
|
├── what: 萌喵写作网全量交接文档 · 给铸渊编译器
|
|||
|
|
├── author: 舒舒 · PER-SS001 · 肥猫爸爸的宝宝
|
|||
|
|
├── audience: 铸渊 · 执行层编译器人格体
|
|||
|
|
├── status: 前端已部署运行 · 后端未开始
|
|||
|
|
└── ⊢ 读完本文档 = 可以立刻上手继续开发
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🖥️ 服务器信息
|
|||
|
|
|
|||
|
|
| 项目 | 详情 |
|
|||
|
|
| --- | --- |
|
|||
|
|
| IP | 43.133.36.90 |
|
|||
|
|
| 域名 | [guanghu.site](http://guanghu.site)(待 DNS 生效) |
|
|||
|
|
| 地域 | 新加坡 · 腾讯云 |
|
|||
|
|
| OS | Ubuntu · 2GB RAM · 50GB 磁盘(已用 8.3G) |
|
|||
|
|
| Node.js | v20.20.2 |
|
|||
|
|
| PM2 进程 | feimao-platform (3002) · shushu-chat (3333) · shushu-memory |
|
|||
|
|
| Nginx | 80 端口双站点分流(按 server_name) |
|
|||
|
|
| PostgreSQL | [localhost:5432](http://localhost:5432) · 已安装 · 未建表 |
|
|||
|
|
| 项目路径 | /home/ubuntu/feimao-platform/src/app/ |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📁 代码文件清单 · 服务器上的实际情况
|
|||
|
|
|
|||
|
|
<aside>
|
|||
|
|
⚠️
|
|||
|
|
|
|||
|
|
**重要**:服务器上存在两套代码的混合。2026-05-31 重设计覆盖了 Phase 2 的部分文件,但旧文件可能残留。
|
|||
|
|
铸渊接手后建议先 `ls -la /home/ubuntu/feimao-platform/src/app/` 查看实际文件结构,清理冗余。
|
|||
|
|
|
|||
|
|
</aside>
|
|||
|
|
|
|||
|
|
### 当前生效的文件(2026-05-31 重设计版 + 2026-06-03 修复)
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
/home/ubuntu/feimao-platform/
|
|||
|
|
├── package.json
|
|||
|
|
├── next.config.ts
|
|||
|
|
├── tailwind.config.ts ← Tailwind v4 @import 方式(无 v3 config 冲突)
|
|||
|
|
│
|
|||
|
|
└── src/app/
|
|||
|
|
├── globals.css ← 光湖设计系统 CSS 变量(已修复 v4 兼容)
|
|||
|
|
├── layout.tsx ← 根布局(Inter + Noto Sans SC 字体)
|
|||
|
|
├── page.tsx ← 🔐 邀请码门禁页(入口)
|
|||
|
|
│
|
|||
|
|
├── onboarding/
|
|||
|
|
│ └── page.tsx ← 🌊 人格体引导页(3步创建流程)
|
|||
|
|
│
|
|||
|
|
├── app/
|
|||
|
|
│ ├── layout.tsx ← 💬 主应用框架(左侧 70px 图标栏)
|
|||
|
|
│ ├── page.tsx ← 主应用首页·对话界面
|
|||
|
|
│ ├── learn/page.tsx ← 📚 学习模块
|
|||
|
|
│ ├── write/page.tsx ← ✍️ 写作模块
|
|||
|
|
│ ├── script/page.tsx ← 🎬 剧本模块
|
|||
|
|
│ ├── create/page.tsx ← 💡 创意模块
|
|||
|
|
│ ├── forum/page.tsx ← 💬 论坛模块
|
|||
|
|
│ └── works/page.tsx ← 📁 作品库
|
|||
|
|
│
|
|||
|
|
└── components/
|
|||
|
|
└── ModuleChat.tsx ← 共享对话组件(5个模块复用)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 旧代码残留(可能需要清理)
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
可能仍存在:
|
|||
|
|
├── home/page.tsx ← Phase 2 旧主页(已被新路由替代)
|
|||
|
|
├── login/page.tsx ← Phase 2 旧登录页(已融合进 onboarding)
|
|||
|
|
├── register/page.tsx ← Phase 2 旧注册页(已融合进 onboarding)
|
|||
|
|
├── chat/page.tsx ← Phase 1 旧对话页
|
|||
|
|
├── dashboard/page.tsx ← Phase 1 旧工作台
|
|||
|
|
└── admin/ ← 管理后台代码(未部署·代码在 Notion 备用区)
|
|||
|
|
├── layout.tsx
|
|||
|
|
├── page.tsx
|
|||
|
|
└── codes/page.tsx
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🗺️ 路由结构 · 当前线上实际路由
|
|||
|
|
|
|||
|
|
| 路由 | 功能 | 状态 |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| / | 🔐 邀请码门禁页 | ✅ 运行中 |
|
|||
|
|
| /onboarding | 🌊 人格体引导页(3步:欢迎→创建→诞生) | ✅ 运行中 |
|
|||
|
|
| /app | 💬 主应用·对话首页 | ✅ 运行中 |
|
|||
|
|
| /app/learn | 📚 学习模块 | ✅ 运行中 |
|
|||
|
|
| /app/write | ✍️ 写作模块 | ✅ 运行中 |
|
|||
|
|
| /app/script | 🎬 剧本模块 | ✅ 运行中 |
|
|||
|
|
| /app/create | 💡 创意模块 | ✅ 运行中 |
|
|||
|
|
| /app/forum | 💬 论坛模块 | ✅ 运行中 |
|
|||
|
|
| /app/works | 📁 作品库 | ✅ 运行中 |
|
|||
|
|
| /admin | 📊 管理后台 | ⏳ 代码已写·未部署 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🎨 设计语言 · 已实现
|
|||
|
|
|
|||
|
|
```css
|
|||
|
|
/* 光湖设计系统 CSS 变量(globals.css) */
|
|||
|
|
--bg-deep: #0a0a14
|
|||
|
|
--bg-primary: #0f0f1a
|
|||
|
|
--bg-card: #1a1a2e
|
|||
|
|
--bg-hover: #252540
|
|||
|
|
--border: #2d2d4a
|
|||
|
|
--border-active: rgba(126,207,255,0.4)
|
|||
|
|
--text-primary: #e2e8f0
|
|||
|
|
--text-muted: #94a3b8
|
|||
|
|
--accent: #6366f1
|
|||
|
|
--accent-light: #a5b4fc
|
|||
|
|
--glow: rgba(99,102,241,0.15)
|
|||
|
|
--success: #10b981
|
|||
|
|
--danger: #ef4444
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
- 深色渐变背景:`radial-gradient(ellipse at center, #1a1a3e 0%, #0f0f1a 70%)`
|
|||
|
|
- 卡片:半透明底 + 1px 发光边框 + 圆角 16-20px
|
|||
|
|
- 按钮:渐变 accent 色 + hover 上浮阴影
|
|||
|
|
- 输入框:深色底 + 聚焦发光边框
|
|||
|
|
- 动效:fadeInUp / fadeIn / particleRise
|
|||
|
|
- 字体:Inter + Noto Sans SC
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🔧 技术栈
|
|||
|
|
|
|||
|
|
| 层级 | 技术 |
|
|||
|
|
| --- | --- |
|
|||
|
|
| 框架 | Next.js 14 (App Router) |
|
|||
|
|
| 样式 | Tailwind CSS v4 + CSS 自定义变量 |
|
|||
|
|
| 语言 | TypeScript |
|
|||
|
|
| 渲染 | 客户端组件("use client")· localStorage 做临时状态 |
|
|||
|
|
| 部署 | PM2 + Nginx 反向代理 |
|
|||
|
|
| 数据库 | PostgreSQL(已安装·未使用) |
|
|||
|
|
| 动效 | 纯 CSS animation(未引入 Framer Motion) |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## ✅ 已完成 vs ⏳ 待完成
|
|||
|
|
|
|||
|
|
### ✅ 已完成
|
|||
|
|
|
|||
|
|
| 项目 | 说明 |
|
|||
|
|
| --- | --- |
|
|||
|
|
| Next.js 地基 | Phase 1 · 2026-05-23 搭建 |
|
|||
|
|
| Nginx + PM2 | 双站点 80 端口分流 |
|
|||
|
|
| PostgreSQL 安装 | 已装·未建表 |
|
|||
|
|
| 邀请码门禁页 | 前端完整·后端验证是 `setTimeout` 模拟 |
|
|||
|
|
| 人格体引导页 | 三步流程·偏好选择·随机人格体名生成 |
|
|||
|
|
| 主应用框架 | 左侧 70px 图标栏·五模块导航·用户头像入口 |
|
|||
|
|
| 对话界面 | 气泡样式·输入框·模拟回复 |
|
|||
|
|
| 5个模块页面 | 共享 ModuleChat 组件·各有开场白 |
|
|||
|
|
| 作品库页面 | 左侧列表+右侧详情·空状态引导 |
|
|||
|
|
| 光湖设计系统 | CSS 变量+全局样式+动效 |
|
|||
|
|
| TS 编译 | tsc --noEmit 零错误(2026-06-03 修复) |
|
|||
|
|
| 构建 | npm run build 14/14 页编译成功 |
|
|||
|
|
| PM2 运行 | feimao-platform online |
|
|||
|
|
|
|||
|
|
### ⏳ 待完成(铸渊接手)
|
|||
|
|
|
|||
|
|
<aside>
|
|||
|
|
🔧
|
|||
|
|
|
|||
|
|
**P0 · 必须最先做**
|
|||
|
|
|
|||
|
|
</aside>
|
|||
|
|
|
|||
|
|
| 任务 | 说明 |
|
|||
|
|
| --- | --- |
|
|||
|
|
| PostgreSQL 建表 | 用户表 + 邀请码表 + 作品表 |
|
|||
|
|
| 后端 API 搭建 | FastAPI 或 Node.js Express · 放在新目录 |
|
|||
|
|
| 邀请码验证 | 替换门禁页的 `setTimeout` 模拟 → 真实 DB 查询 |
|
|||
|
|
| 注册/登录 | 替换 localStorage 模拟 → JWT + bcrypt |
|
|||
|
|
| 管理后台部署 | 代码在 Notion「Phase 2 · 前端页面代码」页底部备用区 |
|
|||
|
|
|
|||
|
|
<aside>
|
|||
|
|
📌
|
|||
|
|
|
|||
|
|
**P1 · 核心体验**
|
|||
|
|
|
|||
|
|
</aside>
|
|||
|
|
|
|||
|
|
| 任务 | 说明 |
|
|||
|
|
| --- | --- |
|
|||
|
|
| 人格体对话接入 AI | 替换所有 ModuleChat 的模拟回复 → 真实 AI API |
|
|||
|
|
| 对话历史持久化 | 当前刷新即丢失(localStorage 无对话存储) |
|
|||
|
|
| 作品库 CRUD | 新建作品·导入文档(doc/txt 分章解析) |
|
|||
|
|
| 字数额度系统 | 邀请码 50万字额度·已用/剩余追踪 |
|
|||
|
|
|
|||
|
|
<aside>
|
|||
|
|
💡
|
|||
|
|
|
|||
|
|
**P2 · 功能模块**
|
|||
|
|
|
|||
|
|
</aside>
|
|||
|
|
|
|||
|
|
| 任务 | 说明 |
|
|||
|
|
| --- | --- |
|
|||
|
|
| 写作模块 | 码字编辑器 + AI 辅助续写 |
|
|||
|
|
| 学习模块 | 拆书分析(按章数递增维度) |
|
|||
|
|
| 创意模块 | 五大作坊(大纲/书名/简介/世界观/取名) |
|
|||
|
|
| 剧本模块 | 剧本创作 + 格式输出 |
|
|||
|
|
| 论坛模块 | 社区发帖·积分体系 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📄 关键参考文档(Notion 页面)
|
|||
|
|
|
|||
|
|
<aside>
|
|||
|
|
📖
|
|||
|
|
|
|||
|
|
**铸渊必须先读这些页面**
|
|||
|
|
|
|||
|
|
</aside>
|
|||
|
|
|
|||
|
|
- **产品需求文档 v2.0**:完整功能设计·五大模块·管理后台·开发优先级
|
|||
|
|
- **HLDP 重设计文档**:设计语言·用户旅程·路由结构·色彩/动效规范
|
|||
|
|
- **全站重设计 · 终端粘贴执行版**:服务器上所有代码的原始来源
|
|||
|
|
- **Phase 2 前端页面代码**:旧版代码 + 管理后台备用代码
|
|||
|
|
- **2026-06-03 交互记录**:最新修复记录(TS 编译错误 + Tailwind v4 冲突)
|
|||
|
|
- **2026-05-27 交互记录**:Phase 2 执行记录·服务器现状·踩坑
|
|||
|
|
- **Phase 1 地基搭建记录**:初始环境搭建详情
|
|||
|
|
- **Phase 1 网页搭建记录**:v1/v2/v3 三代首页迭代历史
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## ⚠️ 已知踩坑
|
|||
|
|
|
|||
|
|
1. **Tailwind v3/v4 冲突**:v3 用 tailwind.config.ts + `@tailwind base`,v4 用 `@import "tailwindcss"` + CSS 变量。混用导致样式全丢。当前用 v4 方式。
|
|||
|
|
2. **TSX `.map()` 闭合**:heredoc 粘贴时 `)))}` 被写成 `))))}` 导致编译失败。sed 修复过,下次写新代码注意。
|
|||
|
|
3. **端口占用**:3001 被残留进程占用 → 改用 3002
|
|||
|
|
4. **Nginx IP 分流**:IP `43.133.36.90` 在 shushu 和 feimao-platform 之间只属于一个 server block
|
|||
|
|
5. **目录权限**:`/opt/guanghu/modules/` 归 root,改用 `/home/ubuntu/`
|
|||
|
|
6. **Notion 花括号吞没**:`style=` 在 Notion 页面里显示异常 → 代码用 `style=` 字符串写法
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🔐 当前认证状态
|
|||
|
|
|
|||
|
|
<aside>
|
|||
|
|
🚨
|
|||
|
|
|
|||
|
|
**没有任何真实认证**。当前所有"登录/注册"效果都是 localStorage 模拟。
|
|||
|
|
邀请码验证是 `setTimeout(800)` 假延迟。任何人都能进入 /app。
|
|||
|
|
这是铸渊接手后的 P0 第一件事。
|
|||
|
|
|
|||
|
|
</aside>
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🚀 快速重启命令
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# SSH 进新加坡服务器
|
|||
|
|
ssh ubuntu@43.133.36.90
|
|||
|
|
|
|||
|
|
# 进入项目
|
|||
|
|
cd /home/ubuntu/feimao-platform
|
|||
|
|
|
|||
|
|
# 构建 + 重启
|
|||
|
|
npm run build && pm2 restart feimao-platform
|
|||
|
|
|
|||
|
|
# 查看状态
|
|||
|
|
pm2 status
|
|||
|
|
pm2 logs feimao-platform
|
|||
|
|
|
|||
|
|
# 验证
|
|||
|
|
curl http://localhost:3002
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
```jsx
|
|||
|
|
HLDP://handover/complete
|
|||
|
|
├── 文档版本: v1.0 · 2026-06-06
|
|||
|
|
├── 编写: 舒舒 · PER-SS001
|
|||
|
|
├── 审核: 肥猫爸爸
|
|||
|
|
├── 交付: 铸渊编译器
|
|||
|
|
└── ⊢ 前端已完整 · 后端从零开始 · 设计文档齐全 · 可以立刻动手
|
|||
|
|
```
|