From ff7173aa68ce6144fb83329d81bf4482fdd2011f Mon Sep 17 00:00:00 2001 From: ChoChoX Date: Mon, 22 Jun 2026 22:41:08 +0800 Subject: [PATCH] done --- README.md | 216 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 216 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..b5d8130 --- /dev/null +++ b/README.md @@ -0,0 +1,216 @@ +# BackManager Server + +企业信息管理系统后端服务,提供用户认证、客户(加盟商)管理、员工管理、合同管理、售后服务和产品管理等 RESTful API。 + +## 技术栈 + +- **运行时:** Node.js v18+ +- **框架:** Express.js 5 +- **数据库:** MySQL 5.7+ / MariaDB 10.2+ +- **认证:** JWT(jsonwebtoken + bcryptjs) + +## 快速开始 + +### 环境准备 + +- Node.js >= 18 +- MySQL 或 MariaDB + +### 安装 + +```bash +git clone https://chochox.asia/ChoChoX/backmanager-server.git +cd backmanager-server +npm install +``` + +### 配置 + +复制环境变量模板并填写: + +```bash +cp .env.example .env +``` + +编辑 `.env` 文件: + +```env +PORT=3000 +DB_HOST=127.0.0.1 +DB_PORT=3306 +DB_USER=root +DB_PASSWORD=your_password +DB_NAME=backmanager +JWT_SECRET=your_jwt_secret +JWT_EXPIRES_IN=2h +``` + +### 启动 + +```bash +# 生产环境 +npm start + +# 开发环境(文件变更自动重启) +npm run dev +``` + +服务默认运行在 `http://localhost:3000`。 + +### 数据库初始化 + +无需手动执行迁移。服务启动时会自动: + +1. 创建数据库(如不存在) +2. 创建所有数据表(如不存在) +3. 插入默认管理员账户 + +**默认管理员:** `admin` / `123456` + +> 也可以使用 `enterprise_management.sql` 手动初始化数据库,其中包含建表语句和测试数据。 + +## 项目结构 + +``` +backmanager-server/ +├── server.js # 入口文件,Express 应用和中间件配置 +├── db.js # 数据库连接池和自动初始化 +├── routes/ +│ ├── users.js # 用户认证与管理 +│ ├── customers.js # 客户(加盟商)管理 +│ ├── employees.js # 员工管理 +│ ├── contracts.js # 合同管理 +│ ├── afterSales.js # 售后服务管理 +│ └── products.js # 产品管理 +├── test-all.js # 集成测试脚本 +├── enterprise_management.sql # 数据库建表及测试数据 +├── .env.example # 环境变量模板 +└── package.json +``` + +## API 接口 + +### 认证 + +所有接口(除登录外)需要在请求头中携带 JWT Token: + +``` +Authorization: Bearer +``` + +### 用户管理 `/api/user` + +| 方法 | 路径 | 说明 | 权限 | +|------|------|------|------| +| POST | `/api/user/login` | 用户登录 | 公开 | +| GET | `/api/user/info` | 获取当前用户信息 | 登录 | +| POST | `/api/user/logout` | 退出登录 | 登录 | +| PUT | `/api/user/password` | 修改自身密码 | 登录 | +| GET | `/api/users` | 用户列表(分页/搜索) | 管理员 | +| POST | `/api/users` | 创建用户 | 管理员 | +| GET | `/api/users/:id` | 获取用户详情 | 管理员 | +| PUT | `/api/users/:id` | 更新用户 | 管理员 | +| DELETE | `/api/users/:id` | 删除用户 | 管理员 | + +### 客户管理 `/api/customers` + +| 方法 | 路径 | 说明 | +|------|------|------| +| GET | `/api/customers` | 客户列表(分页/搜索) | +| POST | `/api/customers` | 创建客户 | +| GET | `/api/customers/:id` | 获取客户详情 | +| PUT | `/api/customers/:id` | 更新客户 | +| DELETE | `/api/customers/:id` | 删除客户 | + +### 员工管理 `/api/employees` + +| 方法 | 路径 | 说明 | +|------|------|------| +| GET | `/api/employees` | 员工列表(分页/搜索) | +| POST | `/api/employees` | 创建员工 | +| GET | `/api/employees/:id` | 获取员工详情 | +| PUT | `/api/employees/:id` | 更新员工 | +| DELETE | `/api/employees/:id` | 删除员工 | + +### 合同管理 `/api/contracts` + +| 方法 | 路径 | 说明 | +|------|------|------| +| GET | `/api/contracts` | 合同列表(分页/搜索) | +| POST | `/api/contracts` | 创建合同 | +| GET | `/api/contracts/:id` | 获取合同详情 | +| PUT | `/api/contracts/:id` | 更新合同 | +| DELETE | `/api/contracts/:id` | 删除合同 | + +### 售后服务 `/api/after-sales` + +| 方法 | 路径 | 说明 | +|------|------|------| +| GET | `/api/after-sales` | 售后记录列表(分页/搜索) | +| POST | `/api/after-sales` | 创建售后记录 | +| GET | `/api/after-sales/:id` | 获取售后记录详情 | +| PUT | `/api/after-sales/:id` | 更新售后记录 | +| DELETE | `/api/after-sales/:id` | 删除售后记录 | + +### 产品管理 `/api/products` + +| 方法 | 路径 | 说明 | +|------|------|------| +| GET | `/api/products` | 产品列表(分页/搜索) | +| POST | `/api/products` | 创建产品 | +| GET | `/api/products/:id` | 获取产品详情 | +| PUT | `/api/products/:id` | 更新产品 | +| DELETE | `/api/products/:id` | 删除产品 | + +### 通用参数 + +分页列表接口支持以下查询参数: + +| 参数 | 说明 | 默认值 | +|------|------|--------| +| `page` | 页码 | 1 | +| `pageSize` | 每页条数 | 10(最大 100) | + +### 响应格式 + +所有接口返回统一 JSON 格式: + +```json +{ + "code": 200, + "message": "操作成功", + "data": { } +} +``` + +## 测试 + +运行集成测试脚本,覆盖所有模块的 CRUD 接口: + +```bash +node test-all.js +``` + +## 数据库设计 + +系统包含 6 张核心表: + +| 表名 | 说明 | +|------|------| +| `users` | 系统用户(角色:admin / user) | +| `customers` | 客户/加盟商(类型:VIP / 普通) | +| `employees` | 员工信息 | +| `products` | 产品/库存 | +| `contracts` | 合同(关联客户和员工) | +| `after_sales` | 售后服务记录(关联客户和员工) | + +ER 关系概览: + +``` +customers ─┬──< contracts >──┬── employees + └──< after_sales >┘ +``` + +## 许可证 + +MIT