为中小企业打造的B2B客户关系管理平台,支持销售全流程数字化管理。独立完成全栈开发与部署。
核心功能:
1. 客户全生命周期管理:客户档案、公海池自动回收、数据权限隔离
2. 销售漏斗看板:拖拽式卡片管理销售阶段,实时统计金额与转化率
3. 数据分析大屏:业绩趋势、销售排名、客户来源、漏斗转化多维可视化
4. RBAC权限体系:功能权限+数据权限双重控制,支持按钮级鉴权
技术亮点:虚拟滚动优化万级数据渲染;Web Worker处理大量计算避免主线程阻塞;前端路由守卫+后端中间件双重鉴权。
2.2 技术栈详解
前端技术栈
| 技术 | 版本 | 用途 | 选型理由 |
|------|------|------|----------|
| **Vue 3** | 3.4 | 核心框架 | Composition API提升代码组织性,TypeScript支持好 |
| **TypeScript** | 5.x | 类型系统 | 编译时类型检查,减少运行时错误 |
| **Element Plus** | 2.5 | UI组件库 | 组件丰富(50+),企业级场景覆盖全面 |
| **Pinia** | 2.1 | 状态管理 | Vue官方推荐,比Vuex更简洁 |
| **Vue Router** | 4.2 | 路由管理 | 支持动态路由和权限控制 |
| **Axios** | 1.6 | HTTP客户端 | 拦截器机制,统一错误处理 |
| **ECharts** | 5.4 | 数据可视化 | 图表类型丰富,性能优秀 |
| **Vite** | 5.0 | 构建工具 | 冷启动2秒内,热更新<50ms |
| **Sass** | - | CSS预处理 | 支持变量和嵌套,主题定制方便 |
后端技术栈
| 技术 | 版本 | 用途 | 选型理由 |
|------|------|------|----------|
| **Node.js** | 18 LTS | 运行环境 | 前后端统一语言,异步IO性能好 |
| **Express** | 4.18 | Web框架 | 轻量灵活,中间件生态完善 |
| **MySQL** | 8.0 | 主数据库 | 关系型数据适合CRM业务,事务支持强 |
| **Redis** | 7.2 | 缓存数据库 | Token存储,字典缓存,性能优化 |
| **Sequelize** | 6.35 | ORM框架 | 数据库迁移管理,模型定义清晰 |
| **JWT** | - | 身份认证 | 无状态认证,跨域友好 |
| **Winston** | 3.11 | 日志管理 | 分级日志,支持文件/数据库输出 |
| **PM2** | 5.3 | 进程管理 | 自动重启,负载均衡,日志管理 |
**最佳实践**:
1. **前后端数据格式约定要提前确定**,避免后期大量返工
2. **移动端适配要从设计阶段就考虑**,而不是事后补救
3. **组件封装要遵循单一职责**,过度封装反而降低效率
4. **权限控制要前后端双重验证**,前端只是用户体验优化
**踩坑记录**:
1. Element Plus重复注册导致组件无法识别
2. v-model和props + events混用导致通信失败
3. Sass @import弃用警告(需要迁移到@use)