# nestjs-socket **Repository Path**: wintsa/nestjs-socket ## Basic Information - **Project Name**: nestjs-socket - **Description**: testbug!!! - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-01-15 - **Last Updated**: 2024-04-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 一、项目介绍 ```js 1、项目是用旧模板改写 2、采用`angular`模块化开发方式来构建项目。 3、项目是基于`mysql`数据库,项目中全部采用`prisma`来操作数据库,弱化了原生`sql`。 4、实现手机号码方式实现登录,暂未使用短信验证码。 5、使用自定义`token`的方式进行登录鉴权,采用自定义装饰器结合守卫来实现对接口鉴权拦截访问。 6、启用了腾讯服务api,实现ip to address定位 ``` ## 二、使用项目 - 1、现在本地运行redis服务(暂时并未用到,但预先写好了相关的拦截器,以后应该会用到) - 2、在项目的根目录的`.env`文件修改为你自己的数据库基本配置(地址),还有token的key,token过期时间 ```shell DATABASE_URL="" TOKEN_SECRET='' TOKEN_Expir='' ``` - 3、安装依赖包 ```shell yarn install ``` - 4、启动项目 ```shell yarn run dev ``` ## 二、主要实现功能 - [x] 实现用户的登录、登录鉴权、多点登录限制(以后待做)、菜单权限、接口权限 - [x] 基于`RBAC`实现权限控制 - [x] 集成`swagger`文档 - [x] `ecosystem.config.js`是采用`PM2`的配置文件,项目开发完后直接运行命令一键部署 ```shell yarn run build # 开发环境 yarn run pm2:dev # 生产环境 yarn run pm2:prod ``` - [x] `winston`日志系统根据小时来划分日志管理,如果要实时查看日志,直接使用`PM2`查看日志 ```shell pm2 log ``` - [x] 自定义装饰器,被装饰器装饰的接口会自动进行入库操作 ## 三、二改注意事项 - 1、数据库自定义 文件在prisma/prisma/schema.prisma,修改后执行 yarn run sql 同步远程和生成本地的ts文件,每次修改都应重新执行一次 其余问题付费解答