2026-02-06 14:29:29 +08:00
2026-02-06 14:29:29 +08:00
2026-02-06 14:29:29 +08:00
2026-02-06 14:29:29 +08:00
2026-02-06 14:29:29 +08:00
2026-02-06 14:29:29 +08:00
2026-02-06 14:29:29 +08:00
2026-02-06 14:29:29 +08:00
2026-02-06 14:29:29 +08:00
2026-02-06 14:29:29 +08:00

授权管理系统 - 后端服务

浙江贝凡企业授权管理系统的后端服务,基于 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       # 项目配置

安装

pnpm install

开发

启动开发服务器(支持热重载):

pnpm dev

服务器将在 http://localhost:3000 运行

生产

启动生产服务器:

pnpm start

数据库初始化

初始化数据库和默认管理员账户:

pnpm init-db

环境变量

创建 .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

Description
No description provided
Readme 727 KiB
Languages
TypeScript 100%