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:
wanwu
2025-10-26 22:35:50 +08:00
parent 5e8d7c6a9c
commit 342eb4eb7c
4 changed files with 21 additions and 3 deletions

View File

@@ -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 . .

View File

@@ -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

View File

@@ -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,

View File

@@ -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",