Files
real-e-party-iOS/white-label-progress.md
edwinQQQ 98fb194718 Phase 1 Day 2-3: 创建 Moment 和 Mine 模块
- 创建 NewMomentViewController(OC)
  * 列表式布局 + 下拉刷新 + 滚动加载
  * 发布按钮(右下角悬浮)
  * 使用模拟数据

- 创建 NewMomentCell(OC)
  * 卡片式设计(白色卡片 + 阴影)
  * 圆角矩形头像(不是圆形!)
  * 底部操作栏(点赞/评论/分享)

- 创建 NewMineViewController(OC)
  * TableView 布局 + 8 个菜单项
  * 设置按钮(右上角)

- 创建 NewMineHeaderView(OC)
  * 渐变背景(蓝色系)
  * 圆角矩形头像 + 白色边框
  * 昵称、等级、经验进度条
  * 关注/粉丝统计
  * 纵向卡片式设计

- 集成到 NewTabBarController
  * 使用真实的 ViewController 替换占位
  * 支持登录前/后状态切换

- 更新 Bridging Header
  * 添加新模块的 OC 类引用

- 创建测试指南文档
  * 如何运行新 TabBar
  * 测试清单
  * 常见问题解答

新增文件:
- NewMomentViewController.h/m
- NewMomentCell.h/m
- NewMineViewController.h/m
- NewMineHeaderView.h/m
- white-label-test-guide.md

代码量:约 1500 行
2025-10-09 17:54:32 +08:00

4.4 KiB
Raw Permalink Blame History

白牌项目改造进度

已完成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 项目
  • Bridging Header 已更新,包含新模块
  • Swift/OC 混编配置完成

2. 创建 Moment 模块OC

  • 创建 NewMomentViewController.h/m
    • 列表式布局
    • 下拉刷新
    • 滚动加载更多
    • 发布按钮(右下角悬浮)
  • 创建 NewMomentCell.h/m
    • 卡片式设计(白色卡片 + 阴影)
    • 圆角矩形头像(不是圆形!)
    • 底部操作栏(点赞/评论/分享)
    • 使用模拟数据
  • 设计新的 UI 布局(完全不同)

3. 创建 Mine 模块OC

  • 创建 NewMineViewController.h/m
    • TableView 布局
    • 8 个菜单项
    • 设置按钮
  • 创建 NewMineHeaderView.h/m
    • 渐变背景(蓝色系)
    • 圆角矩形头像 + 白色边框
    • 昵称、等级、经验进度条
    • 关注/粉丝统计
    • 纵向卡片式设计
  • 设计新的 UI 布局(完全不同)

4. 集成到 TabBar

  • NewTabBarController 集成新模块
  • 支持登录前/后状态切换

下一步Phase 1 - Day 4-5

1. 编译测试

  • 构建项目,修复编译错误
  • 运行 App测试基本功能
  • 检查 Console 日志

2. UI 资源准备

  • 准备 TabBar icon4 张2 tab × 2 状态)
  • 准备 Moment 模块图标30-40 张)
  • 准备 Mine 模块图标50-60 张)
  • 设计 AppIcon 和启动图

关键技术细节

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

文件清单

新建文件

  1. YuMi/Config/APIConfig.swift
  2. YuMi/YuMi-Bridging-Header.h
  3. YuMi/Global/GlobalEventManager.h
  4. YuMi/Global/GlobalEventManager.m
  5. YuMi/Modules/NewTabBar/NewTabBarController.swift

待创建文件Day 2-5

  1. YuMi/Modules/NewMoments/Controllers/NewMomentViewController.h/m
  2. YuMi/Modules/NewMoments/Views/NewMomentCell.h/m
  3. YuMi/Modules/NewMine/Controllers/NewMineViewController.h/m
  4. YuMi/Modules/NewMine/Views/NewMineHeaderView.h/m

注意事项

Swift/OC 混编

  • 所有需要在 Swift 中使用的 OC 类都要加入 Bridging Header
  • Swift 类要暴露给 OC 需要用 @objc 标记
  • Xcode 会自动生成 YuMi-Swift.hOC 代码通过它引入 Swift 类

编译问题排查

如果编译失败,检查:

  1. Bridging Header 路径是否正确
  2. 所有引用的 OC 类是否存在
  3. Build Settings 中的 DEFINES_MODULE 是否为 YES
  4. Swift 版本是否匹配

API 域名测试

DEBUG 模式下可以调用 APIConfig.testEncryption() 验证加密解密是否正常。


更新时间: 2025-10-09
当前分支: white-label-base
进度: Phase 1 - Day 1 完成