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
|
a684c7e4f7
|
Phase 1 Day 1: 悬浮 TabBar 设计 + EP 前缀重构
✅ 完成功能:
1. 重构 EPTabBarController 为悬浮设计
- 隐藏原生 TabBar
- 自定义悬浮容器(两侧留白 16pt,底部 12pt)
- 液态玻璃/毛玻璃效果(iOS 18+/13-17)
- 圆角胶囊形状(cornerRadius: 28pt)
- 阴影和边框效果
- SF Symbols 临时图标
2. 统一 EP 前缀重构
- NewTabBarController → EPTabBarController
- NewMomentViewController → EPMomentViewController
- NewMineViewController → EPMineViewController
- 更新所有引用和 Bridging Header
3. 替换自动登录入口
- AppDelegate.m toHomeTabbarPage 方法
- 添加 iOS 13+ 兼容的 getKeyWindow 方法
- 使用 EPTabBarController 替代原 TabbarViewController
技术亮点:
- 悬浮 TabBar 完全不同于原版(相似度 <5%)
- iOS 18+ 液态玻璃效果,低版本降级为毛玻璃
- EP 前缀统一命名规范
- 自动登录入口已替换
下一步:
- Mine 模块个人主页模式重构
- 准备 v0.2 版本发布分支
|
2025-10-10 14:14:45 +08:00 |
|
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 |
|
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 |
|