# 其他模块待修复问题清单 ## 📋 概述 Core 模块重构已完成(100%),但其他模块在使用 Core 时还存在一些编译问题需要修复。 --- ## ❌ 已发现的问题 ### 1. internal/store/sqlite/store.go **问题**:引用了已删除的 `model.ServiceProvider` **位置**:第 42 行 **影响**:编译失败 **修复方案**: ```diff - &model.ServiceProvider{}, // 服务注册表(替代旧 Server) ``` **状态**:✅ 已修复 --- ### 2. core/proto/core_grpc.pb.go **问题**:引用了未定义的消息类型 **位置**:整个文件 **影响**:编译失败 **原因**: - 该文件试图使用 protobuf 生成的代码风格 - 但实际上没有 protoc 编译器生成 - 消息类型(如 `CreateCoreRequest`)在 `core_grpc.go` 中手动定义 **修复方案**: ```bash # 删除该文件,使用 core/grpc_service.go 中的手动实现 rm core/proto/core_grpc.pb.go ``` **状态**:✅ 已修复 --- ### 3. internal/ctr/core_client.go **问题**:使用旧的 proto API **位置**:多处(315, 326, 359 等) **影响**:编译失败 **具体问题**: 1. `proto.PeerBinding` - proto 文件中存在,但生成的代码可能不匹配 2. `proto.BindRequest` 字段不匹配: - 旧代码:`CoreId`, `Peers` - Proto 文件:`engine_id`, `peers` 3. `proto.UnbindRequest` - proto 文件中不存在该方法 4. `c.client.Unbind()` - gRPC client 没有这个方法 **根本原因**: - `internal/ctr/core_client.go` 使用的是项目根目录的 `proto/` 包 - 该 proto 包是旧的版本(Engine 架构) - 而 Core 模块重构后使用了新的架构(Core 而非 Engine) **修复方案**: #### 方案 A:更新 proto 文件(推荐) 1. 更新 `proto/core.proto` 以匹配新的 Core 架构 2. 重新生成 protobuf 代码 3. 更新 `core_client.go` 使用新 API #### 方案 B:更新 core_client.go 适配现有 proto 1. 修改 `core_client.go` 使用 `engine_id` 而非 `core_id` 2. 删除 `Unbind` 相关调用 3. 调整字段名称 **状态**:⏳ 待修复 --- ## 🔧 修复建议 ### 优先级 P0 - 阻塞编译 1. **删除废弃文件** ✅ ```bash rm core/proto/core_grpc.pb.go ``` 2. **修复 store.go** ✅ ```go // 删除 ServiceProvider 引用 ``` ### 优先级 P1 - 应用层适配 3. **统一 proto 接口** ⏳ - 确定使用 Engine 还是 Core 架构 - 更新 proto 文件 - 重新生成代码 4. **更新 core_client.go** ⏳ - 适配新的 proto 接口 - 更新字段名称 - 删除废弃方法 --- ## 📊 影响范围 ### 受影响的模块 | 模块 | 问题数 | 严重程度 | 修复优先级 | |------|--------|----------|------------| | `core/` | 0 | - | ✅ 已完成 | | `internal/store/` | 1 | 高 | ✅ 已修复 | | `internal/ctr/` | 3 | 高 | ⏳ P1 | | `proto/` | 1 | 中 | ⏳ P1 | ### 编译状态 ```bash # Core 模块 ✅ go build ./core # 通过 ✅ go build ./core/connect # 通过 ✅ go build ./core/transport # 通过 ✅ go build ./core/pool # 通过 # 其他模块 ❌ go build ./... # 失败 - internal/store/sqlite # ✅ 已修复 - internal/ctr # ⏳ 待修复 - proto # ⏳ 待修复 ``` --- ## 🎯 下一步行动 ### 立即执行(P0) 1. ✅ 删除 `core/proto/core_grpc.pb.go` 2. ✅ 修复 `internal/store/sqlite/store.go` ### 后续完善(P1) 3. **确定架构方向** ⏳ - 使用 Engine 还是 Core? - 统一 proto 接口定义 4. **更新应用层代码** ⏳ - `internal/ctr/core_client.go` - 其他使用 Core 的地方 5. **全量编译测试** ⏳ ```bash go build ./... ``` --- ## 📝 备注 ### Core 模块重构完成度 - ✅ **Core 模块自身**:100% 完成 - ✅ **目录结构**:完全对齐 README - ✅ **编译验证**:`go build ./core` 通过 - ⏳ **应用层集成**:待适配 ### 架构一致性 当前存在两个版本的 proto 定义: 1. **旧版本**:`proto/core.proto` - Engine 架构 2. **新版本**:`core/README.md` - Core 架构 需要统一为 Core 架构。 --- *更新时间:2026-03-24 04:45* *版本:v2.2.0* *状态:Core 模块 100% 完成,应用层集成待修复*