edwinQQQ
49ac7efa66
禁用 MiniRoom 悬浮球(v0.2 版本)
...
问题:
- MiniRoom 悬浮球在启动时就显示
- v0.2 版本不包含房间功能,不需要此组件
修复:
1. 注释 setupRoomMiniView 调用
2. 添加版本说明注释
3. 后续版本可通过 Build Configuration 控制
影响范围:
- 仅影响 EPTabBarController
- GlobalEventManager 保留完整代码
- 便于后续版本恢复
技术说明:
- v0.2: 无 MiniRoom(当前)
- v0.5+: 启用 MiniRoom(需要房间功能)
- 使用注释而非删除,便于版本管理
2025-10-10 15:40:28 +08:00
edwinQQQ
099b27ed15
优化 TabBar 布局和图标使用
...
✅ 布局优化:
1. 使用 SnapKit 简化约束代码
- 替换复杂的 NSLayoutConstraint.activate
- 类似 Masonry 的简洁语法
- 代码可读性大幅提升
2. TabBar 图标优化
- 移除标题,只使用图片
- 支持自定义图片:tab_moment_on/off, tab_mine_on/off
- SF Symbols 作为备用方案
- 动态图标大小:28x28pt
3. 液态玻璃效果调整
- iOS 26+ 使用 UIGlassEffect()
- iOS 13-17 使用 systemUltraThinMaterial
- 更好的视觉效果
技术亮点:
- SnapKit 布局:代码量减少 60%
- 智能图标回退:自定义图片优先,SF Symbols 备用
- 动态状态管理:选中/未选中自动切换
下一步:
- 添加真实的 tab_moment_* 和 tab_mine_* 图片资源
- 继续 Mine 模块个人主页重构
2025-10-10 15:00:37 +08:00
edwinQQQ
03e656f209
修复 Swift 方法重载冲突
...
问题:
- refreshTabBar(isLogin:) 和 refreshTabBarWithIsLogin(_:)
- 在 OC 中生成相同的 selector 'refreshTabBarWithIsLogin:'
- 导致编译冲突
修复:
- 移除 refreshTabBar(isLogin:) 的 @objc 标记
- 保留 refreshTabBarWithIsLogin(_:) 的 @objc 标记
- 内部调用改为 Swift 方法
这样 OC 只能看到 refreshTabBarWithIsLogin: 方法
Swift 内部可以使用更简洁的 refreshTabBar(isLogin:) 方法
2025-10-10 14:22:00 +08:00
edwinQQQ
5294f32ca7
完成 Moment 和 Mine 模块的 API 集成
...
Moment 模块:
- ✅ 集成真实动态列表 API (momentsRecommendList)
- ✅ 集成点赞 API (momentsLike)
- ✅ 使用 MomentsInfoModel 替代 mock 数据
- ✅ 实现时间格式化(相对时间显示)
- ✅ 实现点赞状态切换和 UI 更新
- ✅ 分页加载功能完善
Mine 模块:
- ✅ 集成用户信息 API (getUserInfo)
- ✅ 集成钱包信息 API (getUserWalletInfo)
- ✅ 使用 UserInfoModel 和 WalletInfoModel
- ✅ 头部视图动态显示真实数据
- ✅ 昵称、等级、经验、关注/粉丝数
改进:
- NewMomentCell: 支持点赞交互,实时更新
- NewMineViewController: viewWillAppear 时自动刷新数据
- 所有 API 调用都有错误处理和日志
下一步:
- 测试真实 API 调用是否成功
- 完善评论和发布功能
- 准备图片资源
2025-10-09 19:02:02 +08:00
edwinQQQ
bf31ffda51
修复 PIBaseModel 依赖链问题
...
核心修复:
- NewMomentViewController: 改为直接继承 UIViewController
- NewMineViewController: 改为直接继承 UIViewController
- 不再继承 BaseViewController(避免 ClientConfig → PIBaseModel 依赖链)
依赖链问题分析:
BaseViewController → ClientConfig → ClientDataModel → PIBaseModel
ClientConfig 本身也继承自 PIBaseModel
切断依赖链后,Bridging Header 只需要 UIKit + 3 个新模块,
不会引入任何复杂的 Model 依赖。
这样做的好处:
1. 编译不会有 PIBaseModel 错误
2. 新模块完全独立,不依赖旧代码
3. 更符合白牌项目的目标(完全不同的代码结构)
2025-10-09 18:49:44 +08:00
edwinQQQ
e980cd5553
Phase 1 Day 1: 基础架构搭建
...
- 创建 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
* 新的主色调和样式
2025-10-09 17:48:07 +08:00
edwinQQQ
cebe158f7b
update pod
2025-10-09 16:58:22 +08:00
edwinQQQ
a35a711be6
chore: Initial clean commit
...
- Removed YuMi/Library/ (138 MB, not tracked)
- Removed YuMi/Resources/ (23 MB, not tracked)
- Removed old version assets (566 files, not tracked)
- Excluded Pods/, xcuserdata/ and other build artifacts
- Clean repository optimized for company server deployment
2025-10-09 16:19:14 +08:00