更新项目运行部署说明

This commit is contained in:
Rei
2026-09-09 13:42:08 +08:00
parent a06f77f052
commit 86808db894
+117 -38
View File
@@ -1,53 +1,132 @@
# 阿美巴传统官网1.0|前端工程
# 阿美巴官网与 CMS
> 任务 AmAba‑20260907‑03 | 基线 V1.1 FINAL 冻结 | 一期仅前端骨架 + 占位内容
阿美巴企业管理咨询官网项目,包含客户前台、CMS 后端和 CMS 管理后台。前台是 Vite + React SPA,业务文案由 CMS 提供,CMS 使用 MySQL 保存正式数据。
## 快速开始
## 本地运行
### 前台
```bash
cd "传统官网升级版"
npm install
npm run dev # http://localhost:15173
npm run build # 产出 dist/
npm run preview # http://localhost:14173
npm run dev # http://localhost:15173
npm run build # 类型检查并生成 dist/
npm run preview # http://localhost:14173
npm run typecheck
```
## 技术栈
开发服务器会把 `/api` 和 `/uploads` 代理到 `http://127.0.0.1:13001`。如果需要本地联调 CMS,请先启动后端。
- Vite 5 + React 18 + TypeScript 5 + React Router 6
- 纯静态 SPA,适配现有 Nginx 静态托管,无需 Node 服务端
- 业务数据与布局解耦,预留 CMS 接管
### CMS 后端
## 目录
```
src/
models/types.ts # 全量 Model(Service/Case/Insight/FourValue/AMB,含上下架/权重/CMS预留)
data/mock.ts # 占位数据(【占位|待业务确认】,不虚构)
data/nav.ts # 冻结导航6项 + 常驻入口
router/index.tsx # 完整路由(6主 + 二级 + 公共 + 301兼容)
components/Layout/ # 全局框架:导航/页脚/CTA/移动端
pages/ # 全部页面:Home/Ameba/Evolution/Methods/Cases/Services/Insights/SelfCheck/Contact
styles/global.css # 克制理性视觉系统
docs/
部署准备文档.md
nginx-301.conf.example
nginx-gray.conf.example
CMS接管点位清单.md
旧站备份与回滚手册.md
一期二期边界说明.md
待灌入清单.md
验收自检报告.md
```bash
cd cms/server
npm install
npm start # 默认监听 13001
```
## 冻结约束
健康检查:`http://127.0.0.1:13001/health`。CMS 管理后台源码位于 `cms/admin`,如需重新构建:
- 一级导航严格 6 项:阿美巴 / 企业进化 / 方法与能力 / 实践案例 / 产品服务 / 认知观察(首页通过 logo 访问,不占导航计数)
- 企业进化内部强制顺序:思想 → 四大价值 → A/M/B,不可调换
- 四大价值为观察坐标,非售卖产品;A/M/B 不绑定规模
- 案例固定 9 段叙事;服务禁电商逻辑;看看你的企业仅轻量对照
```bash
cd cms/admin
npm install
npm run build
```
## 部署
后端会从 `cms/admin/dist` 提供 `/admin` 页面。
见 `docs/部署准备文档.md` 与 `docs/旧站备份与回滚手册.md`。服务器、域名、SSL 复用现有生产环境,旧站完整备份可回滚。
## 环境变量
项目不提交 `.env`,因为其中可能包含数据库和后台登录敏感信息。CMS 后端支持以下变量:
```dotenv
CMS_PORT=13001
DB_HOST=127.0.0.1
DB_PORT=33306
DB_USER=admin
DB_PASSWORD=请填写数据库密码
DB_NAME=ameiba_cms
DB_CONNECTION_LIMIT=10
JWT_SECRET=请填写随机且长期不变的密钥
CMS_ADMIN_PASSWORD=首次初始化后台密码
```
生产环境使用 MySQL;`cms.db` 仅用于历史 SQLite 数据迁移,不作为当前生产数据库。不要把真实 `.env`、数据库备份或上传文件提交到 Git。
## CMS 内容对应关系
后台地址:`/admin/`。保存后的已发布内容由 `/api/cms/public` 提供,前台刷新后读取最新内容。
| 后台栏目 | 前台内容 |
| --- | --- |
| 全局配置 | 网站标题、Slogan、联系方式、地址、二维码等公共内容 |
| 全站文案 | 首页、页脚、按钮及公共提示文案 |
| 首页模块 | 首页 Hero、模块标题和说明 |
| 阿美巴页面 | 品牌定位、使命、哲学、实践、专家 |
| 企业进化 | 企业进化思想、四大价值、A/M/B 三态 |
| 方法与能力 | 八步闭环、十大系统 |
| 产品服务 | 服务名称、描述、价格、状态和排序 |
| 实践案例 | 案例标题、行业及完整案例内容 |
| 认知观察 | 文章标题、分类、摘要和正文 |
| 自我对照 | 自我对照引导文案 |
| 诊断问卷 / 配置 | 题目、选项、权重、阈值和结果模板 |
前台仍保留本地 fallback 文案,用于 CMS 暂时不可用时保证页面结构可显示;生产内容应在后台发布并以数据库内容为准。
## 生产部署
当前部署约定:
- 前台代码与构建目录:`/var/www/ameiba-cn-new`
- CMS 后端:`/opt/cms/server`
- CMS 管理后台:`/opt/cms/admin`
- CMS 进程:Node.js,监听 `127.0.0.1:13001`,由进程管理器保持运行
- 数据库:MySQL,默认端口 `33306`
- Nginx:网站 HTTPS 对外提供前台和 `/api`、`/admin` 反向代理
前台更新流程:
```bash
cd /var/www/ameiba-cn-new
git pull --ff-only origin main
npm install
npm run build
```
更新 CMS 后端或后台后,需要在对应目录安装依赖并重启 CMS 进程;仅更新前台 `dist` 不需要重启后端。部署前应备份 MySQL、上传目录和当前构建目录。
## 联系方式与移动端行为
- 页脚电话使用 `tel:` 链接,手机点击可直接拨号。
- 邮箱使用 `mailto:` 链接,手机和电脑会交给系统默认邮件客户端。
- 公司地址在 iPhone Safari 中使用高德官方 `iosamap://path` 深链;Android 使用 `geo:`。电脑端使用高德网页搜索。
- 微信内置浏览器通常限制外部地图 App 调起,需要通过右上角菜单选择“在 Safari 中打开”。
- 页脚二维码文件位于 `public/images/xcx.jpg` 和 `public/images/fwh.jpg`,构建后对应 `/images/xcx.jpg`、`/images/fwh.jpg`。
## Git 约定
默认分支为 `main`。提交前至少执行:
```bash
npm run build
git status
git add <文件>
git commit -m "用中文填写本次变更说明"
git push origin main
```
不要提交 `node_modules`、`dist`、`.env`、生产数据库文件或上传目录;如需发布前台,服务器会在拉取代码后重新构建 `dist`。
## 目录结构
```text
src/ 前台源码
pages/ 页面
components/Layout/ 导航、页脚、公共 CTA 和移动端布局
services/cms.ts CMS 公共内容请求与 fallback
models/types.ts 前台数据类型
cms/server/ CMS API、鉴权、MySQL 访问、迁移脚本
cms/admin/ CMS 管理后台源码
public/images/ Logo 与页脚二维码
docs/ 部署、迁移和验收相关文档
dist/ 前台构建产物(本地生成)
```