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 files
|
||||||
COPY package*.json ./
|
COPY package*.json ./
|
||||||
RUN npm ci && npm cache clean --force
|
RUN npm install && npm cache clean --force
|
||||||
|
|
||||||
# Copy source code and build
|
# Copy source code and build
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ COPY apps ./apps
|
|||||||
COPY package*.json ./
|
COPY package*.json ./
|
||||||
|
|
||||||
# Install only production dependencies
|
# 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
|
# Create non-root user for security
|
||||||
RUN addgroup -g 1001 -S nodejs
|
RUN addgroup -g 1001 -S nodejs
|
||||||
|
|||||||
@@ -1,5 +1,10 @@
|
|||||||
import { Module } from '@nestjs/common';
|
import { Module } from '@nestjs/common';
|
||||||
|
import { TypeOrmModule } from '@nestjs/typeorm';
|
||||||
|
import { JwtModule } from '@nestjs/jwt';
|
||||||
import { EntityModule } from './entity.module';
|
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 { CachedServiceImplService } from './services/cached-service-impl.service';
|
||||||
import { CachedServiceSupportService } from './services/cached-service-support.service';
|
import { CachedServiceSupportService } from './services/cached-service-support.service';
|
||||||
import { ThreadPoolManagerService } from './services/thread-pool-manager.service';
|
import { ThreadPoolManagerService } from './services/thread-pool-manager.service';
|
||||||
@@ -229,6 +234,15 @@ import { CoreOplatformStaticConfigServiceImplService } from './services/core/wxo
|
|||||||
@Module({
|
@Module({
|
||||||
imports: [
|
imports: [
|
||||||
EntityModule,
|
EntityModule,
|
||||||
|
TypeOrmModule.forFeature([
|
||||||
|
SysUser,
|
||||||
|
SysUserRole,
|
||||||
|
Site,
|
||||||
|
]),
|
||||||
|
JwtModule.register({
|
||||||
|
secret: process.env.JWT_SECRET || 'wwjcloud-secret-key-change-in-production',
|
||||||
|
signOptions: { expiresIn: '7d' },
|
||||||
|
}),
|
||||||
],
|
],
|
||||||
providers: [
|
providers: [
|
||||||
CachedServiceImplService,
|
CachedServiceImplService,
|
||||||
|
|||||||
@@ -28,12 +28,13 @@
|
|||||||
"@nestjs/config": "^4.0.2",
|
"@nestjs/config": "^4.0.2",
|
||||||
"@nestjs/core": "^11.0.1",
|
"@nestjs/core": "^11.0.1",
|
||||||
"@nestjs/event-emitter": "^3.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/platform-express": "^11.0.1",
|
||||||
"@nestjs/schedule": "^6.0.1",
|
"@nestjs/schedule": "^6.0.1",
|
||||||
"@nestjs/swagger": "^11.2.1",
|
"@nestjs/swagger": "^11.2.1",
|
||||||
"@nestjs/terminus": "^11.0.0",
|
"@nestjs/terminus": "^11.0.0",
|
||||||
"@nestjs/typeorm": "^11.0.0",
|
"@nestjs/typeorm": "^11.0.0",
|
||||||
"@types/bcrypt": "^6.0.0",
|
|
||||||
"accept-language-parser": "^1.5.0",
|
"accept-language-parser": "^1.5.0",
|
||||||
"axios": "^1.12.2",
|
"axios": "^1.12.2",
|
||||||
"bcrypt": "^6.0.0",
|
"bcrypt": "^6.0.0",
|
||||||
@@ -50,6 +51,7 @@
|
|||||||
"kafkajs": "^2.2.4",
|
"kafkajs": "^2.2.4",
|
||||||
"mysql2": "^3.15.3",
|
"mysql2": "^3.15.3",
|
||||||
"nestjs-i18n": "^10.5.1",
|
"nestjs-i18n": "^10.5.1",
|
||||||
|
"passport-jwt": "^4.0.1",
|
||||||
"prom-client": "^15.1.3",
|
"prom-client": "^15.1.3",
|
||||||
"reflect-metadata": "^0.2.2",
|
"reflect-metadata": "^0.2.2",
|
||||||
"rxjs": "^7.8.1",
|
"rxjs": "^7.8.1",
|
||||||
@@ -62,9 +64,11 @@
|
|||||||
"@nestjs/cli": "^11.0.0",
|
"@nestjs/cli": "^11.0.0",
|
||||||
"@nestjs/schematics": "^11.0.0",
|
"@nestjs/schematics": "^11.0.0",
|
||||||
"@nestjs/testing": "^11.0.1",
|
"@nestjs/testing": "^11.0.1",
|
||||||
|
"@types/bcrypt": "^6.0.0",
|
||||||
"@types/express": "^5.0.0",
|
"@types/express": "^5.0.0",
|
||||||
"@types/jest": "^30.0.0",
|
"@types/jest": "^30.0.0",
|
||||||
"@types/node": "^22.10.7",
|
"@types/node": "^22.10.7",
|
||||||
|
"@types/passport-jwt": "^4.0.1",
|
||||||
"@types/supertest": "^6.0.2",
|
"@types/supertest": "^6.0.2",
|
||||||
"eslint": "^9.18.0",
|
"eslint": "^9.18.0",
|
||||||
"eslint-config-prettier": "^10.0.1",
|
"eslint-config-prettier": "^10.0.1",
|
||||||
|
|||||||
Reference in New Issue
Block a user