Files
happy-export/README.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

166 lines
4.3 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.
# 外贸供应链管理系统
一个专为外贸企业设计的供应链与客户管理系统。
## 功能模块
### 业务管理
- **工作台** - 数据汇总、日程提醒、节日显示
- **供应商价格管理** - 继承 SKU Manager 完整功能
- **产品管理** - SKU/SPU 两层管理、包装参数、阶梯价格
- **PI合同管理** - 合同解析、价格历史追踪
### 客户管理
- **客户管理** - 客户信息、联系人、跟进记录
- **新客开发** - 自动获客、AI 智能分析
- **商机管理** - 销售管道、成交预测
- **订单管理** - 订单跟踪、备注跟进
## 技术栈
### 后端
- Node.js + Express
- SQLite + better-sqlite3-multiple-ciphers
### 前端
- React 18
- React Router
- Vite
- 原生 CSS
## 快速开始
### 安装依赖
```bash
# 后端
cd backend
npm install
# 前端
cd frontend
npm install
```
### 启动开发环境
```bash
# 启动后端服务器(终端1)
cd backend
npm start
# 启动前端开发服务器(终端2)
cd frontend
npm run dev
```
### 访问系统
- 前端开发地址: http://127.0.0.1:5300
- 后端 API 地址: http://127.0.0.1:4300
### 默认账号
- 用户名: `admin`
- 密码: `admin123`
**⚠️ 首次登录后请立即修改密码!**
## 项目结构
```
happy-export/
├── backend/ # 后端
│ ├── db/ # 数据库
│ │ ├── schema.sql # 数据库结构
│ │ └── db.js # 数据库连接
│ ├── lib/ # 工具库
│ ├── routes/ # API 路由
│ ├── data/ # 数据存储目录
│ ├── uploads/ # 上传文件
│ ├── server.js # 服务器入口
│ └── package.json
├── frontend/ # 前端
│ ├── src/
│ │ ├── components/ # 组件
│ │ ├── pages/ # 页面
│ │ ├── services/ # API 服务
│ │ ├── styles/ # 样式
│ │ ├── App.jsx # 主应用
│ │ └── main.jsx # 入口文件
│ ├── index.html
│ ├── vite.config.js
│ └── package.json
├── docs/ # 文档
└── README.md
```
## 数据库与配置
SQLite 单文件存储:
- 数据库文件:`backend/data/trade.db`
- 首次启动时自动建表
- 支持备份和迁移
- 数据目录与上传文件已在 `.gitignore` 中排除,不会入库
> **已知限制:数据库当前未加密。** 驱动选用的是 `better-sqlite3-multiple-ciphers`
> (本身具备 SQLCipher 能力),但代码尚未设置加密密钥,`trade.db` 以明文存放。
> 部署到共享主机或不可信环境前,请自行启用磁盘加密。
后端可识别的环境变量(全部有代码默认值,不设置也能跑):
| 变量 | 默认值 | 说明 |
| --- | --- | --- |
| `DATA_DIR` | `backend/data` | 数据库与汇率缓存所在目录 |
| `PORT` | `4300` | 后端监听端口 |
| `CONTRACT_RETENTION_DAYS` | `7` | 合同导入原文件的保留天数 |
| `HAPPY_UPDATE_REPO` | `Drsakura/happy-export` | 在线更新检查所用的 GitHub 仓库 |
> 注意:后端**没有引入 dotenv**,不会自动读取 `.env` 文件。
> 请通过系统环境变量、启动脚本或容器编排来设置上述变量。
## 开发计划
### Phase 1:基础框架 ✅
- [x] 项目结构搭建
- [x] 数据库设计
- [x] 前后端基础框架
- [x] 工作台页面
### Phase 2:供应商与产品管理
- [ ] 迁移 SKU Manager 功能
- [ ] 阶梯价格管理
- [ ] 合同解析引擎
- [ ] 产品图片管理
### Phase 3:客户 CRM
- [ ] 客户详细页面
- [ ] 联系人管理
- [ ] 商机管道视图
- [ ] 跟进活动时间线
### Phase 4:订单管理
- [ ] 订单创建和编辑
- [ ] 订单状态流转
- [ ] 订单备注系统
- [ ] PDF 导出
### Phase 5:自动获客
- [ ] 集成 GoodJob 获客引擎
- [ ] 数据源适配
- [ ] AI 智能分析
- [ ] 线索转化
## 许可证
本项目采用 [GNU Affero 通用公共许可证 v3.0](LICENSE)(AGPL-3.0)。
你可以自由使用、修改和分发,但需要遵守 AGPL-3.0 的核心义务:
**如果你修改后的版本通过网络对外提供服务,必须向使用者公开你的完整源代码**,
并以同样的许可证授权。完整的条款见 [LICENSE](LICENSE)。
## 作者
Wayne