feat: 初始化慧遇书院官网一期

This commit is contained in:
2026-08-12 18:01:17 +08:00
commit 5d31ee5743
101 changed files with 17259 additions and 0 deletions

72
README.md Normal file
View File

@@ -0,0 +1,72 @@
# 慧愈科技官网一期
单体 Nuxt 4 全栈应用公开官网、结构化内容管理后台、SQLite、服务器本地图片存储。
## 一期功能范围
- 一屏一屏滚动展示的品牌首页,含公司、卢慧老师、课程产品、官方信息、团队与品牌动态。
- 卢慧老师、课程列表与详情、动态列表与详情、官方声明、陪伴团队、隐私政策和服务条款独立页面。
- 后台首页编辑、课程产品/动态声明/团队增删改查、公司主体/人物资料/官方渠道/法律文本配置。
- 素材中心支持图片像素校验、原图保留、WebP/缩略图生成、来源与授权记录、引用保护和回收站恢复。
- 草稿与发布版本分离、发布版本记录、审计日志、管理员登录与上传图片校验。
- 最近 20 个发布版本可恢复为草稿,管理员可在后台修改高强度密码。
- `sitemap.xml``robots.txt`、canonical、Open Graph 和首页组织机构 JSON-LD。
## 本机直接运行
```bash
npm install --legacy-peer-deps
npm run dev
```
后台入口:`/admin/login`。开发环境初始账号为 `admin`,初始密码为 `DevOnly-ChangeMe-2026!`
## Docker 测试环境
项目已附带仅供本机测试的 `.env.docker`。启动:
```bash
docker compose up -d --build
docker compose ps
```
本机测试后台账号为 `admin`,密码为 `LocalTest-Huiyu-2026!`。正式部署前必须替换 `.env.docker` 中的两个密码;该文件已被 Git 忽略。
```bash
docker compose logs -f web
docker compose down
```
数据库和上传图片保存在 Docker 命名卷 `huiyu_official_site_data`,重建容器不会丢失。不要使用 `docker compose down -v`,除非明确需要删除全部业务数据。
## 备份
容器运行时执行:
```bash
sh scripts/backup.sh
```
脚本使用 SQLite 在线备份 API同时打包上传素材加密后写入宿主机 `BACKUP_HOST_DIR`,并立即执行完整性校验。详细操作见 [部署与恢复手册](docs/部署与恢复手册.md)。
## 上线前最低检查
- 修改会话密钥和后台初始密码。
- 配置域名、HTTPS 和反向代理。
- 域名启用 HTTPS 后,把 `NUXT_SESSION_COOKIE_SECURE` 改为 `true`
- 配置每日备份及恢复演练。
-`.env.docker` 仅保存在服务器,不提交版本库。
- 验证后台发布、图片上传、首页移动端和桌面端展示。
- 在部署环境设置 `NUXT_PUBLIC_SITE_URL=https://正式域名`,用于 canonical、站点地图和 robots。
## 当前演示内容说明
数据库首次启动会写入清楚标注的演示课程、动态、声明和团队内容。正式上线前,请在后台逐项替换并由相关负责人核验;公司主体、联系方式、备案号和官方账号默认显示“待后台配置”。
需要重新写入完整演示数据时,在 Docker 测试环境启动后执行:
```bash
ADMIN_PASSWORD='本地后台密码' node scripts/seed-mock-content.mjs
```
脚本会通过后台 API 保存草稿并立即发布新版本。数据源在 `content/演示数据/一期官网演示数据.json`,人物资料依据已清洗的百度百科内容整理,其余公司、课程、团队、账号和联系信息均明确属于演示数据。