阿美巴官网与 CMS
阿美巴企业管理咨询官网项目,包含客户前台、CMS 后端和 CMS 管理后台。前台是 Vite + React SPA,业务文案由 CMS 提供,CMS 使用 MySQL 保存正式数据。
本地运行
前台
npm install
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,请先启动后端。
CMS 后端
cd cms/server
npm install
npm start # 默认监听 13001
健康检查:http://127.0.0.1:13001/health。CMS 管理后台源码位于 cms/admin,如需重新构建:
cd cms/admin
npm install
npm run build
后端会从 cms/admin/dist 提供 /admin 页面。
环境变量
项目不提交 .env,因为其中可能包含数据库和后台登录敏感信息。CMS 后端支持以下变量:
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=首次初始化后台密码
CONTENT_INGEST_TOKEN=请填写内容判断引擎专用随机密钥
CONTENT_INGEST_RATE_LIMIT=30
PUBLIC_SITE_URL=https://www.ameiba.cn
生产环境使用 MySQL;cms.db 仅用于历史 SQLite 数据迁移,不作为当前生产数据库。不要把真实 .env、数据库备份或上传文件提交到 Git。
内容判断引擎通过独立的内部发布接口向“认知观察”新增或更新文章,不复用后台 JWT。协议、鉴权、请求示例和幂等规则见 docs/内容判断引擎文章发布API.md。
CMS 内容对应关系
后台地址:/admin/。保存后的已发布内容由 /api/cms/public 提供,前台刷新后读取最新内容。
| 后台栏目 | 前台内容 |
|---|---|
| 全局配置 | 网站标题、Slogan、联系方式、地址、二维码等公共内容 |
| 全站文案 | 首页、页脚、按钮及公共提示文案 |
| 首页模块 | 首页 Hero、模块标题和说明 |
| 阿美巴页面 | 品牌定位、使命、哲学、实践、专家 |
| 企业进化 | 企业进化思想、四大价值、A/M/B 三态 |
| 方法与能力 | 八步闭环、十大系统 |
| 产品服务 | 服务名称、描述、价格、状态和排序 |
| 实践案例 | 案例标题、行业及完整案例内容 |
| 认知观察 | 文章标题、分类、摘要和正文 |
| 自我对照 | 自我对照引导文案 |
| 诊断问卷 / 配置 | 题目、选项、权重、阈值和结果模板 |
前台仍保留本地 fallback 文案,用于 CMS 暂时不可用时保证页面结构可显示;生产内容应在后台发布并以数据库内容为准。
生产部署
当前部署约定:
- 前台代码与构建目录:
/var/www/ameiba-cn-new - CMS 后端:
/var/www/ameiba-cn-new/cms/server - CMS 管理后台源码与构建目录:
/var/www/ameiba-cn-new/cms/admin - CMS 进程:Node.js,监听
127.0.0.1:13001,由进程管理器保持运行 - 数据库:MySQL,默认端口
33306 - Nginx:网站 HTTPS 对外提供前台和
/api、/admin反向代理
前台更新流程:
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。提交前至少执行:
npm run build
git status
git add <文件>
git commit -m "用中文填写本次变更说明"
git push origin main
不要提交 node_modules、dist、.env、生产数据库文件或上传目录;如需发布前台,服务器会在拉取代码后重新构建 dist。
目录结构
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/ 前台构建产物(本地生成)