2026-06-22 22:41:08 +08:00
2026-06-22 20:48:29 +08:00
2026-06-15 20:46:48 +08:00
2026-06-15 20:46:48 +08:00
2026-06-22 20:48:29 +08:00
2026-06-15 20:46:48 +08:00
2026-06-15 20:46:48 +08:00
2026-06-22 22:41:08 +08:00
2026-06-22 20:48:29 +08:00
2026-06-22 20:48:29 +08:00

BackManager Server

企业信息管理系统后端服务,提供用户认证、客户(加盟商)管理、员工管理、合同管理、售后服务和产品管理等 RESTful API。

技术栈

  • 运行时: Node.js v18+
  • 框架: Express.js 5
  • 数据库: MySQL 5.7+ / MariaDB 10.2+
  • 认证: JWTjsonwebtoken + bcryptjs

快速开始

环境准备

  • Node.js >= 18
  • MySQL 或 MariaDB

安装

git clone https://chochox.asia/ChoChoX/backmanager-server.git
cd backmanager-server
npm install

配置

复制环境变量模板并填写:

cp .env.example .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

启动

# 生产环境
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 <token>

用户管理 /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 格式:

{
  "code": 200,
  "message": "操作成功",
  "data": { }
}

测试

运行集成测试脚本,覆盖所有模块的 CRUD 接口:

node test-all.js

数据库设计

系统包含 6 张核心表:

表名 说明
users 系统用户角色admin / user
customers 客户/加盟商类型VIP / 普通)
employees 员工信息
products 产品/库存
contracts 合同(关联客户和员工)
after_sales 售后服务记录(关联客户和员工)

ER 关系概览:

customers ─┬──< contracts >──┬── employees
            └──< after_sales >┘

许可证

MIT

Description
No description provided
Readme 68 KiB
Languages
JavaScript 100%