diff --git a/wwjcloud-nest-v1/admin/Dockerfile b/wwjcloud-nest-v1/admin/Dockerfile index 591454bf..af3e52a5 100644 --- a/wwjcloud-nest-v1/admin/Dockerfile +++ b/wwjcloud-nest-v1/admin/Dockerfile @@ -5,7 +5,7 @@ WORKDIR /app # Copy package files COPY package*.json ./ -RUN npm ci && npm cache clean --force +RUN npm install && npm cache clean --force # Copy source code and build COPY . . diff --git a/wwjcloud-nest-v1/docker/Dockerfile b/wwjcloud-nest-v1/docker/Dockerfile index e8fbc947..231ca3fa 100644 --- a/wwjcloud-nest-v1/docker/Dockerfile +++ b/wwjcloud-nest-v1/docker/Dockerfile @@ -10,7 +10,7 @@ COPY apps ./apps COPY package*.json ./ # Install only production dependencies -RUN npm ci --only=production && npm cache clean --force +RUN npm install --only=production && npm cache clean --force # Create non-root user for security RUN addgroup -g 1001 -S nodejs diff --git a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/service.module.ts b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/service.module.ts index 9c239572..75438f38 100644 --- a/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/service.module.ts +++ b/wwjcloud-nest-v1/wwjcloud/libs/wwjcloud-core/src/service.module.ts @@ -1,5 +1,10 @@ import { Module } from '@nestjs/common'; +import { TypeOrmModule } from '@nestjs/typeorm'; +import { JwtModule } from '@nestjs/jwt'; import { EntityModule } from './entity.module'; +import { SysUser } from './entities/sys-user.entity'; +import { SysUserRole } from './entities/sys-user-role.entity'; +import { Site } from './entities/site.entity'; import { CachedServiceImplService } from './services/cached-service-impl.service'; import { CachedServiceSupportService } from './services/cached-service-support.service'; import { ThreadPoolManagerService } from './services/thread-pool-manager.service'; @@ -229,6 +234,15 @@ import { CoreOplatformStaticConfigServiceImplService } from './services/core/wxo @Module({ imports: [ EntityModule, + TypeOrmModule.forFeature([ + SysUser, + SysUserRole, + Site, + ]), + JwtModule.register({ + secret: process.env.JWT_SECRET || 'wwjcloud-secret-key-change-in-production', + signOptions: { expiresIn: '7d' }, + }), ], providers: [ CachedServiceImplService, diff --git a/wwjcloud-nest-v1/wwjcloud/package.json b/wwjcloud-nest-v1/wwjcloud/package.json index 8306cf3d..2eb29662 100644 --- a/wwjcloud-nest-v1/wwjcloud/package.json +++ b/wwjcloud-nest-v1/wwjcloud/package.json @@ -28,12 +28,13 @@ "@nestjs/config": "^4.0.2", "@nestjs/core": "^11.0.1", "@nestjs/event-emitter": "^3.0.1", + "@nestjs/jwt": "^11.0.1", + "@nestjs/passport": "^11.0.5", "@nestjs/platform-express": "^11.0.1", "@nestjs/schedule": "^6.0.1", "@nestjs/swagger": "^11.2.1", "@nestjs/terminus": "^11.0.0", "@nestjs/typeorm": "^11.0.0", - "@types/bcrypt": "^6.0.0", "accept-language-parser": "^1.5.0", "axios": "^1.12.2", "bcrypt": "^6.0.0", @@ -50,6 +51,7 @@ "kafkajs": "^2.2.4", "mysql2": "^3.15.3", "nestjs-i18n": "^10.5.1", + "passport-jwt": "^4.0.1", "prom-client": "^15.1.3", "reflect-metadata": "^0.2.2", "rxjs": "^7.8.1", @@ -62,9 +64,11 @@ "@nestjs/cli": "^11.0.0", "@nestjs/schematics": "^11.0.0", "@nestjs/testing": "^11.0.1", + "@types/bcrypt": "^6.0.0", "@types/express": "^5.0.0", "@types/jest": "^30.0.0", "@types/node": "^22.10.7", + "@types/passport-jwt": "^4.0.1", "@types/supertest": "^6.0.2", "eslint": "^9.18.0", "eslint-config-prettier": "^10.0.1",