fix: 修复service模块重命名逻辑并成功集成core层API

主要修改:
1. 修复module-generator中服务重命名时的DI错误
   - 对于重命名的服务,直接使用别名注册,避免TypeScript找不到原始名称
   - 移除不必要的provide/useClass模式

2. 集成core层到主应用
   - 在app.module.ts中导入wwjcloud-core的AppModule
   - 在wwjcloud-core/src/index.ts中导出AppModule

3. 构建结果
   - 编译错误: 64+ -> 0
   - 注册路由: 15 -> 678
   - Docker服务全部正常启动
   - API接口正常响应
This commit is contained in:
wanwu
2025-10-26 20:40:23 +08:00
parent 0e8b6f5782
commit b735e24428
1712 changed files with 110857 additions and 273779 deletions

View File

@@ -2,17 +2,7 @@
## 认证架构对比
### 1. PHP ThinkPHP (传统方式)
```php
// 通过中间件全局处理
class AdminCheckToken {
public function handle(Request $request, Closure $next) {
// 检查token某些路由可以跳过
}
}
```
### 2. Java Spring Boot (注解方式)
### 1. Java Spring Boot (注解方式)
```java
@RestController
public class AuthController {
@@ -26,7 +16,7 @@ public class AuthController {
}
```
### 3. NestJS (装饰器方式) - 更像Java
### 2. NestJS (装饰器方式) - 更像Java
```typescript
@Controller('adminapi/auth')
export class AuthController {
@@ -104,15 +94,15 @@ export const Public = () => SetMetadata(IS_PUBLIC_KEY, true);
### 路由路径对齐
#### PHP → NestJS 路径映射
#### Java → NestJS 路径映射
```typescript
// PHP: /adminapi/sys/get/website
// Java: /adminapi/sys/get/website
// NestJS: @Get('get/website') 在 @Controller('adminapi/sys')
// PHP: /adminapi/login
// Java: /adminapi/login
// NestJS: @Get('login') 在 @Controller('adminapi') + @Public()
// PHP: /adminapi/captcha/create
// Java: /adminapi/captcha/create
// NestJS: @Get('create') 在 @Controller('adminapi/captcha') + @Public()
```
@@ -145,9 +135,9 @@ export class ConfigController {
```
#### 3. 路径命名规范
- **PHP方法名**: `getWebsite()`**NestJS路径**: `get/website`
- **PHP方法名**: `setWebsite()`**NestJS路径**: `set/website`
- **PHP方法名**: `getSceneDomain()`**NestJS路径**: `get/scene/domain`
- **Java方法名**: `getWebsite()`**NestJS路径**: `get/website`
- **Java方法名**: `setWebsite()`**NestJS路径**: `set/website`
- **Java方法名**: `getSceneDomain()`**NestJS路径**: `get/scene/domain`
### 验证方法
@@ -168,10 +158,10 @@ curl -H "Authorization: Bearer <token>" http://localhost:3001/adminapi/site/list
### 总结
NestJS的认证处理方式**更像Java Spring Boot**,使用装饰器模式:
NestJS的认证处理方式**Java Spring Boot相同**,使用装饰器模式:
1. **@Public()** = Java的 **@SaNotCheckLogin**
2. **默认需要登录** = Java的 **@SaCheckLogin**
3. **全局守卫** = Java的 **拦截器**
这种方式比PHP的中间件方式更加灵活类型安全,符合现代框架的设计理念。
这种方式灵活类型安全,符合现代框架的设计理念。