-
1、权限系统前端页面展示
- 用户中心
- 角色管理
- 资源管理
-
3、下载原代码及安装依赖包
-
4、根目录下创建一个
.env
的文件// 端口号 PORT = 4000; // mysql数据库配置 DB_TYPE = mysql; DB_HOST = localhost; DB_USERNAME = root; DB_PASSWORD = root; DB_DATABASE = test; DB_PORT = 3306; DB_SYNCHRONIZE = false; DB_LOGGING = true; // jwt加盐 SECRET = abc; // 前缀 PREFIX = api/v1;
-
5、创建数据库及创建表(直接使用项目中的
sql
文件) -
6、运行代码
npm run start:dev # or npm run webpack npm run start1
- 使用
nestjs-config
和dotenv
保存敏感数据及在项目中直接使用ConfigService
参考文档 - 使用
typeorm-model-generator
由数据库表迁移生成*.entity.ts
文件参考我的文章 - 使用
node-auth0
模块进行密码加密处理(见src/core/user/user.entity.ts
) - 使用
jwt
对用户登录授权(见src/shared/guard/auth.guard.ts
) - 封装了统一成功、失败数据返回格式,并在全局使用(见
src/shared/interceptor/transform.interceptor.ts
和src/shared/filters/http-exception.filter.ts
) - 封装了用户提交数据错误提示(见
src/shared/pipe/validation.pipe.ts
) - 日志拦截器,用于记录各个请求访问时间(见
src/shared/interceptor/logging.interceptor.ts
) - 核心模块
curl
封装了httpModule
模块的网络请求 - 使用
@nestjs/swagger swagger-ui-express
生成API
文档(见src/main.ts
) - 安全方面
-
src/core
中添加上传附近模块官网地址 - 使用
webpack
热更新官方文档 - 权限系统主要的功能
- 采用
RBAC
的方式,实现用户关联角色(一对多关系),角色关联资源(一对多的关系)
- 采用
本项目还在持续集成新功能进来,最后会加上前端做一个
cms
系统的api
,后期会拉分支使用graphql
提供api