项目简介
本项目是基于NestJS框架构建的权限管理与文件上传系统。系统实现了用户管理、角色管理、权限控制、文件上传、JWT认证等功能。采用模块化设计,通过控制反转(IoC)解耦模块,使用TypeORM进行数据持久化。利用JWT进行用户认证,拦截器清理全局敏感信息,文件指纹技术实现文件上传。
项目的主要特性和功能
- 用户管理:支持用户注册、登录、信息查看与修改。
- 角色管理:可创建、删除、修改角色,并为角色分配权限。
- 权限管理:基于RBAC模型实现权限控制,支持角色与权限绑定。
- 文件上传:利用文件指纹技术生成唯一文件名并存储在指定目录。
- JWT认证:通过JWT实现用户身份验证与授权。
- 日志记录:使用Winston实现分级日志记录,支持日志分割和格式化。
- 敏感信息清理:利用拦截器在全局清理敏感信息。
- 分页功能:支持通用分页,方便数据展示。
安装使用步骤
假设用户已经下载了本项目的源码文件。
1. 安装依赖:在项目根目录下运行以下命令安装依赖:
bash
pnpm install
2. 配置环境变量:在项目根目录下创建.env
文件,并配置以下环境变量:
env
APP_ENV=development
APP_PORT=3000
DB_URL=mongodb://mongo:27017
DB_NAME=nest-server
DB_USER=xxxx
DB_PASS=xxxx
DB_SYNCHRONIZE=false
DB_LOGGING=true
JWT_SECRET=123456
JWT_EXPIRES_IN=3600
UPLOAD_DIR=static/upload
3. 启动项目:运行以下命令启动项目:
bash
pnpm run start
4. 访问API文档:项目启动后,访问http://localhost:3000/api/doc
查看Swagger API文档,进行用户注册、登录、文件上传等操作。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】