
- 创建 white-label-base 分支 - 添加 APIConfig.swift(API 域名动态生成,XOR + Base64 加密) * DEV 环境使用原测试域名 * RELEASE 环境使用新域名 https://api.epartylive.com - 添加 Swift/OC 混编支持(YuMi-Bridging-Header.h) - 创建 GlobalEventManager(全局事件管理器) * 迁移 NIMSDK 代理 * 迁移房间最小化逻辑 * 迁移全局通知处理 - 创建 NewTabBarController(Swift TabBar,只有 2 个 Tab) * Moment Tab * Mine Tab * 新的主色调和样式
3.6 KiB
3.6 KiB
白牌项目改造进度
已完成(Phase 1 - Day 1)
1. 分支管理
- ✅ 创建
white-label-base
分支 - ✅ Swift 6.2 环境验证通过
2. API 域名动态生成(XOR + Base64)
- ✅ 创建
YuMi/Config/APIConfig.swift
- DEV 环境:自动使用原测试域名
- RELEASE 环境:使用加密的新域名
https://api.epartylive.com
- 加密值生成并验证成功
- 包含降级方案
3. Swift/OC 混编配置
- ✅ 创建
YuMi/YuMi-Bridging-Header.h
- 引入必要的 OC 头文件
- 支持 Network、Models、Managers、Views、SDKs
4. 全局事件管理器
- ✅ 创建
YuMi/Global/GlobalEventManager.h/m
- 迁移 NIMSDK 代理设置
- 迁移房间最小化逻辑
- 迁移全局通知处理
- 迁移 RoomBoomManager 回调
- 迁移社交分享回调
5. Swift TabBar 控制器
- ✅ 创建
YuMi/Modules/NewTabBar/NewTabBarController.swift
- 只包含 Moment 和 Mine 两个 Tab
- 自定义新的 TabBar 样式(新主色调)
- 集成 GlobalEventManager
- 支持登录前/后状态切换
下一步(Phase 1 - Day 2-3)
1. Xcode 项目配置
- 将新文件添加到 Xcode 项目
- 配置 Build Settings:
- SWIFT_OBJC_BRIDGING_HEADER = YuMi/YuMi-Bridging-Header.h
- DEFINES_MODULE = YES
- SWIFT_VERSION = 5.0
- 编译验证
2. 创建 Moment 模块(OC)
- 创建 NewMomentViewController.h/m
- 创建 NewMomentCell.h/m
- 设计新的 UI 布局(卡片式)
- 准备 30-40 张新图片资源
3. 创建 Mine 模块(OC)
- 创建 NewMineViewController.h/m
- 创建 NewMineHeaderView.h/m
- 设计新的 UI 布局(纵向卡片式)
- 准备 50-60 张新图片资源
关键技术细节
API 域名加密值
Release 域名加密值:
"JTk5PT53YmI=", // https://
"LD0kYw==", // api.
"KD0sPzk0ISQ7KGMuIiA=", // epartylive.com
验证:https://api.epartylive.com ✅
全局逻辑迁移清单
原位置 (TabbarViewController.m) | 功能 | 迁移目标 | 状态 |
---|---|---|---|
Line 156-159 | NIMSDK delegates | GlobalEventManager | ✅ |
Line 164-167 | 房间最小化通知 | GlobalEventManager | ✅ |
Line 169-178 | 配置重载通知 | GlobalEventManager | ✅ |
Line 179-181 | 充值/主播卡片通知 | GlobalEventManager | ✅ |
Line 190-200 | RoomBoomManager | GlobalEventManager | ✅ |
Line 202 | 社交回调 | GlobalEventManager | ✅ |
文件清单
新建文件
YuMi/Config/APIConfig.swift
YuMi/YuMi-Bridging-Header.h
YuMi/Global/GlobalEventManager.h
YuMi/Global/GlobalEventManager.m
YuMi/Modules/NewTabBar/NewTabBarController.swift
待创建文件(Day 2-5)
YuMi/Modules/NewMoments/Controllers/NewMomentViewController.h/m
YuMi/Modules/NewMoments/Views/NewMomentCell.h/m
YuMi/Modules/NewMine/Controllers/NewMineViewController.h/m
YuMi/Modules/NewMine/Views/NewMineHeaderView.h/m
注意事项
Swift/OC 混编
- 所有需要在 Swift 中使用的 OC 类都要加入 Bridging Header
- Swift 类要暴露给 OC 需要用
@objc
标记 - Xcode 会自动生成
YuMi-Swift.h
,OC 代码通过它引入 Swift 类
编译问题排查
如果编译失败,检查:
- Bridging Header 路径是否正确
- 所有引用的 OC 类是否存在
- Build Settings 中的 DEFINES_MODULE 是否为 YES
- Swift 版本是否匹配
API 域名测试
DEBUG 模式下可以调用 APIConfig.testEncryption()
验证加密解密是否正常。
更新时间: 2025-10-09
当前分支: white-label-base
进度: Phase 1 - Day 1 完成