feat: 修复DI并添加JWT/TypeORM依赖
✅ 依赖添加: - @nestjs/jwt - @nestjs/passport - passport-jwt - bcrypt ✅ ServiceModule修复: - 添加TypeOrmModule.forFeature([SysUser, SysUserRole, Site]) - 添加JwtModule.register()配置 - 解决DI错误 ✅ Docker文件修复: - Dockerfile改用npm install 🎯 当前状态: - 编译: 100%成功 - Docker: 全部服务启动 - API: 678路由注册成功 - MySQL: 67张表 + 1个用户(super/123456) - Redis: 正常连接 ⚠️ 待调试: - 登录接口返回系统繁忙 - 需要检查interceptor/middleware
This commit is contained in:
@@ -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 . .
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user