diff --git a/server/prisma/schema.prisma b/server/prisma/schema.prisma index 3aa6fbe..3312b2c 100644 --- a/server/prisma/schema.prisma +++ b/server/prisma/schema.prisma @@ -80,7 +80,7 @@ model SysPermission { id String @id @default(cuid()) /// 主键id createdAt DateTime @default(now()) @map("created_at") /// 创建时间 updatedAt DateTime @updatedAt @map("updated_at") /// 修改时间 - type Int + type Int /// 权限类型 sysRolePermission SysRolePermission[] sysMenuPermission SysMenuPermission[] diff --git a/server/src/common/guard/auth.guard.ts b/server/src/common/guard/auth.guard.ts index 9e50501..fe694c2 100644 --- a/server/src/common/guard/auth.guard.ts +++ b/server/src/common/guard/auth.guard.ts @@ -43,11 +43,12 @@ export class AuthGuard implements CanActivate { secret: this.configService.get('jwt.secret'), }); - const isTokenPresent = await this.cacheService.get( + // 查看redis中是否缓存有jti 若不存在 表示登录已失效 + const isJtiCached = await this.cacheService.get( `${RedisGroup.JwtJti}:${user.sub}:${user.jti}`, ); - if (!isTokenPresent) { + if (!isJtiCached) { throw new UnauthorizedException('登录已失效,请重新登录!'); } diff --git a/server/src/modules/system/system.module.ts b/server/src/modules/system/system.module.ts index 6dcfd17..0d01853 100644 --- a/server/src/modules/system/system.module.ts +++ b/server/src/modules/system/system.module.ts @@ -7,6 +7,7 @@ import { FileModule } from '@/modules/system/file/file.module'; import { MenuModule } from './menu/menu.module'; import { ConfigModule } from './config/config.module'; import { PermissionModule } from './permission/permission.module'; +import { TestModule } from './test/test.module'; @Module({ imports: [ @@ -43,6 +44,10 @@ import { PermissionModule } from './permission/permission.module'; path: 'permission', module: PermissionModule, }, + { + path: 'test', + module: TestModule, + }, ], }, ]), @@ -53,6 +58,7 @@ import { PermissionModule } from './permission/permission.module'; MenuModule, ConfigModule, PermissionModule, + TestModule, ], }) export class SystemModule {} diff --git a/server/src/modules/system/test/dto/create-test.dto.ts b/server/src/modules/system/test/dto/create-test.dto.ts new file mode 100644 index 0000000..75c6b7a --- /dev/null +++ b/server/src/modules/system/test/dto/create-test.dto.ts @@ -0,0 +1 @@ +export class CreateTestDto {} diff --git a/server/src/modules/system/test/dto/update-test.dto.ts b/server/src/modules/system/test/dto/update-test.dto.ts new file mode 100644 index 0000000..597338e --- /dev/null +++ b/server/src/modules/system/test/dto/update-test.dto.ts @@ -0,0 +1,4 @@ +import { PartialType } from '@nestjs/mapped-types'; +import { CreateTestDto } from './create-test.dto'; + +export class UpdateTestDto extends PartialType(CreateTestDto) {} diff --git a/server/src/modules/system/test/test.controller.ts b/server/src/modules/system/test/test.controller.ts new file mode 100644 index 0000000..be084d7 --- /dev/null +++ b/server/src/modules/system/test/test.controller.ts @@ -0,0 +1,15 @@ +import { Controller, Get } from '@nestjs/common'; +import { TestService } from './test.service'; + +import { SkipAuth } from '@/common/decorators/skip-auth.decorator'; + +@Controller() +@SkipAuth() +export class TestController { + constructor(private readonly testService: TestService) {} + + @Get() + findAll() { + return this.testService.findAll(); + } +} diff --git a/server/src/modules/system/test/test.module.ts b/server/src/modules/system/test/test.module.ts new file mode 100644 index 0000000..428ebce --- /dev/null +++ b/server/src/modules/system/test/test.module.ts @@ -0,0 +1,9 @@ +import { Module } from '@nestjs/common'; +import { TestService } from './test.service'; +import { TestController } from './test.controller'; + +@Module({ + controllers: [TestController], + providers: [TestService], +}) +export class TestModule {} diff --git a/server/src/modules/system/test/test.service.ts b/server/src/modules/system/test/test.service.ts new file mode 100644 index 0000000..df90e3e --- /dev/null +++ b/server/src/modules/system/test/test.service.ts @@ -0,0 +1,8 @@ +import { Injectable } from '@nestjs/common'; + +@Injectable() +export class TestService { + findAll() { + return `This action returns all test`; + } +} diff --git a/server/src/modules/system/user/user.service.ts b/server/src/modules/system/user/user.service.ts index 8cd7e12..f5abbd7 100644 --- a/server/src/modules/system/user/user.service.ts +++ b/server/src/modules/system/user/user.service.ts @@ -59,12 +59,7 @@ export class UserService { gender: true, createdAt: true, updatedAt: true, - avatar: { - select: { - id: true, - path: true, - }, - }, + avatar: true, userRole: { select: { roleId: true }, },