edwinQQQ
0bb912bac9
feat: add new localization strings for login functionality
...
主要变更:
1. 新增多个与登录相关的本地化字符串,包括一键登录、手机号登录、用户服务协议等。
2. 更新了用户登录界面的提示信息,以提升用户体验。
此更新旨在增强应用的本地化支持,提供更好的用户交互体验。
2025-10-17 15:54:28 +08:00
edwinQQQ
517365879a
keep edit
2025-10-17 14:52:29 +08:00
edwinQQQ
22185d799e
Keep Delete
2025-10-17 14:03:50 +08:00
edwinQQQ
dde7c934ad
keep delete
2025-10-17 11:01:53 +08:00
edwinQQQ
f6831f98ec
keep delete
2025-10-16 21:23:50 +08:00
edwinQQQ
8a91b20add
移除不使用内容
2025-10-16 20:24:40 +08:00
edwinQQQ
90360448a1
fix: 统一应用名称为 "E-Party" 并更新相关描述
...
主要变更:
1. 在 Info.plist 中将应用名称和描述中的 "E-Parti" 替换为 "E-Party"。
2. 更新多个本地化字符串和提示信息,确保一致性。
3. 修改部分代码中的错误提示信息,使用本地化字符串替代硬编码文本。
此更新旨在提升品牌一致性,确保用户在使用过程中获得统一的体验。
2025-10-15 19:11:01 +08:00
edwinQQQ
2d0063396c
feat: 添加 E-Parti 启动画面及情绪颜色引导功能
...
主要变更:
1. 新增 ep_splash.png 作为应用启动时的展示图像。
2. 更新 Info.plist 中的应用名称和相关描述,替换为 "E-Parti"。
3. 引入 EPSignatureColorGuideView 和 EPEmotionColorStorage,支持用户选择和保存专属情绪颜色。
4. 在 AppDelegate 中集成情绪颜色引导逻辑,确保用户首次登录时能够选择专属颜色。
此更新旨在提升用户体验,增强应用的品牌识别度,并提供个性化的情绪表达功能。
2025-10-15 15:56:32 +08:00
edwinQQQ
f60a0eef14
feat: 更新 EPMomentCell 以支持图片点击查看和点赞功能
...
主要变更:
1. 引入 SDPhotoBrowser 类,支持点击图片查看大图功能。
2. 更新点赞逻辑,优化点赞状态和数量的显示,移除评论功能。
3. 调整 UI 组件约束,确保点赞按钮的显示效果。
4. 增加图片点击手势识别,提升用户交互体验。
此更新旨在增强动态展示的互动性,简化用户操作流程。
2025-10-14 19:01:49 +08:00
edwinQQQ
a8319c61d8
feat: 添加情绪颜色选择功能及相关存储管理
...
主要变更:
1. 在 EPMomentPublishViewController 中添加情绪颜色选择按钮,用户可通过色轮选择情绪颜色。
2. 新增 EPEmotionColorStorage 类,提供情绪颜色的保存、获取和删除功能,支持动态 ID 的关联。
3. 新增 EPEmotionColorPicker 视图,提供环形布局的颜色选择器,增强用户体验。
4. 更新 EPMomentCell 和 EPMomentListView,以支持情绪颜色的显示和处理,确保动态展示的情绪效果。
此更新旨在提升用户交互体验,丰富动态发布功能,确保情绪颜色的有效管理和展示。
2025-10-14 18:26:16 +08:00
edwinQQQ
02a8335d70
feat: 更新登录模块以支持验证码和渐变背景
...
主要变更:
1. 在 EPLoginTypesViewController 中添加了渐变背景到 actionButton,提升视觉效果。
2. 实现了输入框状态检查功能,确保在输入有效信息时启用登录按钮。
3. 更新了输入框配置,支持不同类型的键盘输入(如数字键盘和邮箱键盘)。
4. 在 EPLoginService 中添加了对手机号和邮箱的 DES 加密,增强安全性。
5. 更新了 EPLoginConfig,统一输入框和按钮的样式设置。
此更新旨在提升用户体验,确保登录过程的安全性和流畅性。
2025-10-13 17:49:09 +08:00
edwinQQQ
e8d59495a4
refactor: 重构 EPMomentViewController,替换 UITableView 为 EPMomentListView
...
主要变更:
1. 移除 UITableView,改为使用 EPMomentListView 以简化数据展示和交互。
2. 添加顶部固定文案 UILabel,提升用户体验。
3. 通过 EPMomentAPIHelper 统一管理 Moments 列表 API 请求,优化数据加载逻辑。
4. 更新 UI 约束,确保布局适配不同屏幕。
此重构旨在提升代码可维护性和用户界面的一致性。
2025-10-10 17:22:39 +08:00
edwinQQQ
8b177e5fad
fix: 消除 TabBar 切换时的页面闪烁问题
...
核心修复:
1. 移除导航栏动画冲突
- 移除 viewWillAppear 中的 navigationBar 隐藏逻辑
- ViewController 未包装在 NavigationController 中,调用导航栏方法会触发冗余动画
2. 禁用 UITabBarController 默认切换动画
- 设置 UITabBarControllerDelegate
- animationControllerForTransitionFrom 返回 nil 禁用系统动画
- 使用 UIView.performWithoutAnimation 确保无动画切换
3. 修复背景色未定义导致的白色闪烁
- 显式设置浅灰色背景作为兜底 (RGB: 0.95, 0.95, 0.97)
- 添加背景图片的 contentMode 和 clipsToBounds 属性
- 确保背景图片加载延迟时不显示白色
修复后效果:
- Tab 切换流畅无闪烁,仅保留按钮缩放动画
- 背景色始终一致,无白色背景闪现
- 性能提升,消除多个动画冲突
2025-10-10 15:58:23 +08:00
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
12a8ef9a62
重构 Mine 模块为个人主页模式
...
✅ 完成功能:
1. EPMineViewController 重构
- 从菜单列表模式改为个人主页模式
- 渐变背景(深紫到蓝)
- 顶部个人信息卡片 + 底部用户动态列表
- 复用 EPMomentCell 显示动态
2. EPMineHeaderView 新建
- 大圆形头像(120x120,白色边框)
- 昵称 + ID 显示
- 关注/粉丝按钮
- 右上角设置按钮
- 渐变背景适配
3. 数据加载优化
- 用户信息加载(真实 API)
- 用户动态列表(分页加载)
- 下拉刷新功能
- 自动加载更多
4. 文件重命名
- EPMomentCell(原 NewMomentCell)
- EPMineHeaderView(新建)
- 更新 Bridging Header
技术亮点:
- 个人主页模式完全不同于原版菜单模式
- 渐变背景 + 毛玻璃效果
- 复用 EPMomentCell 减少开发量
- 真实 API 集成
下一步:
- 修复编译错误(文件未添加到 Xcode 项目)
- 继续 v0.2 版本准备
2025-10-10 15:05:07 +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
524c7a271b
修复 iOS 13+ keyWindow 废弃警告
...
问题:
- keyWindow 在 iOS 13+ 被废弃
- 使用 kWindow 会产生 deprecation warning
- 不支持 multi-scene 应用
修复:
- 添加 getKeyWindow 辅助方法
- iOS 13+: 使用 connectedScenes 获取活跃 window
- iOS 13-: 使用旧的 keyWindow(suppress warning)
- 确保兼容性和 multi-scene 支持
代码改进:
- 使用 @available(iOS 13.0, *) 条件编译
- 使用 #pragma clang diagnostic 抑制旧 API 警告
- 遍历所有 scene 找到前台活跃的 window
现在可以在 iOS 13+ 上无警告编译和运行。
2025-10-10 11:01:49 +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
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
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