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

外贸供应链管理系统

一个专为外贸企业设计的供应链与客户管理系统。

功能模块

业务管理

  • 工作台 - 数据汇总、日程提醒、节日显示
  • 供应商价格管理 - 继承 SKU Manager 完整功能
  • 产品管理 - SKU/SPU 两层管理、包装参数、阶梯价格
  • PI合同管理 - 合同解析、价格历史追踪

客户管理

  • 客户管理 - 客户信息、联系人、跟进记录
  • 新客开发 - 自动获客、AI 智能分析
  • 商机管理 - 销售管道、成交预测
  • 订单管理 - 订单跟踪、备注跟进

技术栈

后端

  • Node.js + Express
  • SQLite + better-sqlite3-multiple-ciphers

前端

  • React 18
  • React Router
  • Vite
  • 原生 CSS

快速开始

安装依赖

# 后端
cd backend
npm install

# 前端
cd frontend
npm install

启动开发环境

# 启动后端服务器(终端1)
cd backend
npm start

# 启动前端开发服务器(终端2)
cd frontend
npm run dev

访问系统

默认账号

  • 用户名: 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:基础框架 ✅

  • 项目结构搭建
  • 数据库设计
  • 前后端基础框架
  • 工作台页面

Phase 2:供应商与产品管理

  • 迁移 SKU Manager 功能
  • 阶梯价格管理
  • 合同解析引擎
  • 产品图片管理

Phase 3:客户 CRM

  • 客户详细页面
  • 联系人管理
  • 商机管道视图
  • 跟进活动时间线

Phase 4:订单管理

  • 订单创建和编辑
  • 订单状态流转
  • 订单备注系统
  • PDF 导出

Phase 5:自动获客

  • 集成 GoodJob 获客引擎
  • 数据源适配
  • AI 智能分析
  • 线索转化

许可证

本项目采用 GNU Affero 通用公共许可证 v3.0(AGPL-3.0)。

你可以自由使用、修改和分发,但需要遵守 AGPL-3.0 的核心义务: 如果你修改后的版本通过网络对外提供服务,必须向使用者公开你的完整源代码, 并以同样的许可证授权。完整的条款见 LICENSE。

作者

Wayne

S
Description
No description provided
Readme AGPL-3.0
656 KiB
Languages
JavaScript 83.5%
CSS 16.3%