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
This commit is contained in:
@@ -21,7 +21,6 @@
|
||||
### 后端
|
||||
- Node.js + Express
|
||||
- SQLite + better-sqlite3-multiple-ciphers
|
||||
- 加密存储(SQLCipher)
|
||||
|
||||
### 前端
|
||||
- React 18
|
||||
@@ -70,7 +69,7 @@ npm run dev
|
||||
## 项目结构
|
||||
|
||||
```
|
||||
trade-management-system/
|
||||
happy-export/
|
||||
├── backend/ # 后端
|
||||
│ ├── db/ # 数据库
|
||||
│ │ ├── schema.sql # 数据库结构
|
||||
@@ -96,12 +95,30 @@ trade-management-system/
|
||||
└── README.md
|
||||
```
|
||||
|
||||
## 数据库
|
||||
## 数据库与配置
|
||||
|
||||
使用 SQLite + SQLCipher 加密存储:
|
||||
- 数据库文件: `backend/data/trade.db`
|
||||
- 自动初始化表结构
|
||||
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` 文件。
|
||||
> 请通过系统环境变量、启动脚本或容器编排来设置上述变量。
|
||||
|
||||
## 开发计划
|
||||
|
||||
@@ -137,7 +154,11 @@ trade-management-system/
|
||||
|
||||
## 许可证
|
||||
|
||||
私有项目
|
||||
本项目采用 [GNU Affero 通用公共许可证 v3.0](LICENSE)(AGPL-3.0)。
|
||||
|
||||
你可以自由使用、修改和分发,但需要遵守 AGPL-3.0 的核心义务:
|
||||
**如果你修改后的版本通过网络对外提供服务,必须向使用者公开你的完整源代码**,
|
||||
并以同样的许可证授权。完整的条款见 [LICENSE](LICENSE)。
|
||||
|
||||
## 作者
|
||||
|
||||
|
||||
Reference in New Issue
Block a user