107 lines
2.1 KiB
Markdown
107 lines
2.1 KiB
Markdown
# 授权管理系统 - 后端服务
|
|
|
|
浙江贝凡企业授权管理系统的后端服务,基于 Node.js + Express + SQLite。
|
|
|
|
## 技术栈
|
|
|
|
- **Node.js**: 运行时环境
|
|
- **Express**: Web 框架
|
|
- **SQLite**: 数据库
|
|
- **JWT**: 身份认证
|
|
- **bcryptjs**: 密码加密
|
|
|
|
## 项目结构
|
|
|
|
```
|
|
backend/
|
|
├── routes/ # API 路由
|
|
│ ├── auth.js # 认证路由
|
|
│ ├── serials.js # 序列号路由
|
|
│ └── companies.js # 企业路由
|
|
├── middleware/ # 中间件
|
|
│ └── auth.js # 认证中间件
|
|
├── scripts/ # 脚本
|
|
│ └── init-db.js # 数据库初始化
|
|
├── utils/ # 工具函数
|
|
│ └── database.js # 数据库连接
|
|
├── data/ # 数据文件
|
|
│ └── database.sqlite
|
|
├── server.js # 服务器入口
|
|
├── .env # 环境变量
|
|
└── package.json # 项目配置
|
|
```
|
|
|
|
## 安装
|
|
|
|
```bash
|
|
pnpm install
|
|
```
|
|
|
|
## 开发
|
|
|
|
启动开发服务器(支持热重载):
|
|
|
|
```bash
|
|
pnpm dev
|
|
```
|
|
|
|
服务器将在 http://localhost:3000 运行
|
|
|
|
## 生产
|
|
|
|
启动生产服务器:
|
|
|
|
```bash
|
|
pnpm start
|
|
```
|
|
|
|
## 数据库初始化
|
|
|
|
初始化数据库和默认管理员账户:
|
|
|
|
```bash
|
|
pnpm init-db
|
|
```
|
|
|
|
## 环境变量
|
|
|
|
创建 `.env` 文件:
|
|
|
|
```env
|
|
PORT=3000
|
|
JWT_SECRET=your-secret-key-here
|
|
```
|
|
|
|
## 默认账户
|
|
|
|
初始化后默认创建的管理员账户:
|
|
- 用户名: admin
|
|
- 密码: Beifan@2026
|
|
|
|
## API 接口
|
|
|
|
### 认证接口
|
|
|
|
- `POST /api/auth/login` - 用户登录
|
|
- `POST /api/auth/logout` - 用户登出
|
|
- `POST /api/auth/change-password` - 修改密码
|
|
|
|
### 序列号接口
|
|
|
|
- `POST /api/serials/generate` - 生成序列号
|
|
- `GET /api/serials/:serialNumber/query` - 查询序列号
|
|
- `POST /api/serials/:serialNumber/revoke` - 吊销序列号
|
|
- `GET /api/serials/` - 获取序列号列表
|
|
|
|
### 企业接口
|
|
|
|
- `GET /api/companies/` - 获取企业列表
|
|
- `GET /api/companies/:companyName` - 获取企业详情
|
|
- `POST /api/companies/:companyName/revoke` - 吊销企业
|
|
- `DELETE /api/companies/:companyName` - 删除企业
|
|
- `GET /api/companies/stats/overview` - 获取统计数据
|
|
|
|
## License
|
|
|
|
MIT
|