Files
happy-export/docs/DEVELOPMENT.md
T
Drsakura 13d67c804f feat: 多用户权限体系、AI 助手、SKU 目录与合同清洗(开源准备)
本地长期开发成果的整体入库快照,包含后端鉴权/权限、AI 接入、合同解析、
SKU 目录等模块,以及前端相应页面与样式改版。

后端
- 新增鉴权与会话:scrypt 密码哈希、HttpOnly cookie(happy_sid)、登录失败锁定
- 新增「角色 → 权限组 → 权限点」三级权限模型与审计日志
- 新增 AI 提供商接入与预设(兼容 OpenAI 协议,内置 DeepSeek / 通义千问等)
- 新增合同解析、合同文件保留策略、客户归属与访问控制
- 新增 SKU 目录、组织品牌、新客开发、系统日志等路由

前端
- 新增登录页与用户 / 权限组 / 系统日志管理页
- 新增客户详情、客户公海、询盘详情、报价编辑器、合同清洗中心
- 新增 AI 配置、组织品牌、包装参数、SKU 选择器等组件
- 新增英文大写金额、未保存改动拦截、抽屉与骨架屏
- 新增 stage1 样式层;产品、供应商、订单等页面改版
- EmbeddedSku 页面并入现有产品体系后删除

开源准备
- 新增 AGPL-3.0 LICENSE
- README:移除未启用的 SQLCipher 加密声明(改为如实的「已知限制」)、
  补充环境变量说明、许可证由「私有项目」改为 AGPL-3.0
- 移除历史遗留的空文件 _index_backup.txt
- 文档中的项目路径更新为 happy-export
2026-09-17 14:53:02 +08:00

155 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 项目开发指南
## 当前进度
✅ **Phase 1 已完成:基础框架搭建**
### 已完成的工作
1. **项目结构**
- 前后端分离架构
- 标准化目录结构
- 开发环境配置
2. **数据库设计**
- 完整的表结构设计
- 索引优化
- SQLite + SQLCipher 加密
3. **后端 API**
- Express 服务器
- 数据库连接层
- 基础 CRUD 接口
- 健康检查接口
4. **前端页面**
- React + React Router
- 6个核心页面:
- 工作台(Dashboard)
- 供应商管理
- 产品管理
- 客户管理
- 订单管理
- 新客开发
- 响应式布局
- 完整的样式系统
## 下一步工作
### 立即可做
1. **安装依赖并启动**
```bash
cd D:\wayne\Personal\happy-export
# 安装后端依赖
cd backend
npm install
# 安装前端依赖
cd ..\frontend
npm install
# 或者直接双击 start.bat
```
2. **测试基础功能**
- 访问 http://127.0.0.1:5300
- 测试供应商和客户的增删改查
- 检查工作台数据展示
### 短期规划(1-2周)
1. **迁移 SKU Manager 核心功能**
- 复制合同解析引擎
- 复制产品管理逻辑
- 复制图片处理功能
- 复制 AI 配置模块
2. **完善供应商管理**
- 供应商详情页
- 阶梯价格表录入
- 报价记录管理
- 导入导出功能
3. **完善产品管理**
- 产品详情页
- SKU/SPU 两层管理
- 包装参数编辑
- 产品图片上传
### 中期规划(3-4周)
1. **客户 CRM**
- 客户详情页
- 联系人管理
- 跟进记录时间线
- 商机管道视图
2. **订单管理**
- 订单创建向导
- 订单详情页
- 订单状态流转
- 订单备注系统
3. **报价单生成**
- 客户报价单
- PDF 导出
- 模板定制
### 长期规划(1-2个月)
1. **自动获客**
- 集成 GoodJob 获客引擎
- 数据源适配器
- AI 智能分析
- 线索转化流程
2. **高级功能**
- 权限管理系统
- 数据分析报表
- 导入导出优化
- 移动端适配
## 技术决策记录
### 为什么选择 SQLite?
- 单文件数据库,备份简单
- 支持加密(SQLCipher)
- 适合中小规模(10万级数据)
- 零配置,易于部署
### 为什么选择 React?
- 组件化开发效率高
- 生态系统成熟
- 与 GoodJob 技术栈一致
### 为什么不用现成的 ERP?
- ERPNext 过于复杂,定制成本高
- 需要高度定制化的业务流程
- 完全掌控代码和数据
## 常见问题
### Q: 如何备份数据?
A: 直接复制 `backend/data/trade.db` 文件
### Q: 如何迁移到 MySQL?
A: 修改 `backend/db/db.js` 使用 mysql2 驱动
### Q: 如何部署到服务器?
A:
1. 后端:`npm start` 或 PM2
2. 前端:`npm run build` 后用 Nginx 托管
3. 配置反向代理
### Q: 如何集成 SKU Manager?
A:
1. 复制 `lib/` 目录下的解析器
2. 复制 `parsers/` 目录
3. 调整数据库表结构对应关系
## 联系方式
项目负责人:Wayne