项目背景
这个站点同时承担四件事:写作、卖知识产品、接技术服务、用 AI 回答访客问题。 拆成四个系统会导致账号、订单、内容和权限各一套,所以做成了一个平台。
系统架构
- 前台 Nuxt 3(SSR,负责 SEO 与首屏)
- 后台 Vue 3 + Element Plus(内容、商品、交易、服务、页面配置)
- 接口 Spring Boot 4 + MySQL 8 + Redis
- 业务边界按模块划分:内容 / 商品 / 交易 / 服务 / AI / 站点配置
核心功能
- 文章、专题、分类、标签与双语内容
- 知识产品:下单、收款码、人工确认、权益开通
- 技术服务:需求 → 报价 → 立项 → 里程碑 → 交付 → 验收
- AI 问答:基于站内知识库检索并给出可点击来源
技术选型
选 Spring Boot 而不是 Node 后端,是因为交易与服务流程需要强事务; 选 Nuxt 而不是纯 SPA,是因为内容站必须让搜索引擎拿到完整 HTML。
技术实现
- Flyway 管理全部表结构变更,每次迁移可追溯
- 定时任务由 Quartz 统一调度,同一任务不并发执行
- 图片走统一文件表,私有文件用临时 token 访问