Commit Graph

52 Commits

Author SHA1 Message Date
Developer
e3def7d01b fix: 修复小窗闭包过期、详情页 loading 卡死、视频播放器性能问题
- 小窗 PanResponder 用 storeRef 替代闭包捕获,修复 roomId/bvid 始终为初始值
- useLiveDetail 用 ref 比对替代 cancelled 标志,防止 fetch 被意外取消
- 详情页 useLayoutEffect 同步清除小窗,BigVideoCard 小窗活跃时跳过播放
- 视频播放器竖屏/全屏互斥渲染,减半解码器占用
- onProgress 节流 + 退出全屏强制恢复播放
2026-03-25 15:03:49 +08:00
Developer
2afe5839f9 fix: 修复直播小窗按钮点击后小窗不显示的问题
useEffect 依赖 miniRoomId 导致 setLive 触发 clearLive 立即清除状态。
改为仅挂载时运行,用 getState() 读取当前值而非订阅响应式变化。
2026-03-25 13:20:58 +08:00
Developer
33a3148b38 feat: 直播小窗播放(PiP)功能
- 新增 store/liveStore.ts:Zustand store,存储小窗直播状态(roomId/title/cover/hlsUrl)
- 新增 components/LiveMiniPlayer.tsx:可拖动悬浮迷你直播播放器
  - 原生端实际播放 HLS 流(react-native-video,有声)
  - Web 端降级展示封面图 + LIVE 徽标
  - LIVE 红点徽标 + 标题条底部
  - 关闭按钮(×)和点击进入直播间
  - HLS 出错时自动关闭(onError → clearLive)
  - 视频 MiniPlayer 激活时自动上移避免重叠
- _layout.tsx:全局挂载 <LiveMiniPlayer />
- live/[roomId].tsx:顶部栏添加小窗按钮(browsers-outline)
  - 仅直播中且有流地址时显示,离线时占位保持 title 居中
  - 点击后 setLive + router.back(),返回首页继续看直播
  - 进入同房间时自动 clearLive() 避免双播
2026-03-25 13:16:16 +08:00
Developer
c7fbc1f441 feat: 优化下载页UI交互、支持暗黑主题,移除首页 header 底边框
- downloads.tsx: 删除前弹 Alert 确认框(区分"取消下载"和"删除文件")
- downloads.tsx: 下载出错时显示"重新下载"按钮,跳转视频详情页
- downloads.tsx: 下载中取消按钮改为 close-circle-outline 图标
- downloads.tsx: 已完成条目整行可点击播放,移除单独"播放"按钮
- downloads.tsx: 播放器横竖屏均显示顶部控制栏,点击切换显隐
- downloads.tsx: 移除进度条旁 ActivityIndicator,保留百分比文字
- downloads.tsx: 全部颜色跟随暗黑主题(bg/card/text/textSub/border)
- index.tsx: 移除悬浮 header 底部分割线
2026-03-25 12:51:14 +08:00
Developer
e1fa8cc347 feat: 视频推荐关联当前视频、UP主信息展示、直播全屏修复及UI优化
- 推荐列表改用 getVideoRelated 基于当前 bvid 推荐,与首页 feed 解耦
- 视频详情页 UP主名称下方展示粉丝数和视频数
- 推荐视频点击改为 router.replace 避免页面堆叠
- 直播全屏改用 position:absolute,解决退出全屏视频重建暂停问题
- 退出全屏时直播自动暂停
- 直播画质选中状态修复,过滤杜比/4K 画质选项
- 直播画质面板改为居中 Modal 弹出框
- 视频详情 Tab 按钮左对齐,评论排序及设置页按钮统一实心背景风格
2026-03-25 12:03:28 +08:00
Developer
d84e2de5a1 fix: 修复推荐列表 ListEmptyComponent 条件、epCard offset 偏移和双边框问题 2026-03-24 23:57:03 +08:00
Developer
bfca7a1ff2 feat:暗黑模式支持 2026-03-24 23:48:04 +08:00
Developer
12e770a0bf fix: 推荐图占位色、评论文字、弹幕背景色跟随暗黑主题 2026-03-24 23:08:17 +08:00
Developer
f6ac2d3cd4 feat: 视频详情页和直播详情页支持暗黑模式主题切换 2026-03-24 21:58:00 +08:00
Developer
f2fc4693a6 feat: 暗黑模式 + 节流模式
- settingsStore: 移除 coverQuality,新增 darkMode / trafficSaving 布尔字段(AsyncStorage 持久化)
- utils/theme.ts: 新建 useTheme() hook,返回浅色/深色颜色表
- settings.tsx: 新增外观(浅色/深色)和流量(标准/节流)选项,移除封面图清晰度
- BigVideoCard: 节流模式跳过预加载、禁止自动播放;封面低画质;支持暗黑配色
- useVideoDetail: 节流模式下默认 qn=16(360p)
- VideoCard / LiveCard: 移除 coverQuality 依赖,改用 trafficSaving;支持暗黑配色
- index.tsx: 导航栏/搜索栏/列表背景跟随主题
- search.tsx: 页面背景/输入框/文字跟随主题
- downloads.tsx: 顶栏/背景/文字跟随主题
- _layout.tsx: StatusBar 随暗黑模式切换 light/dark
2026-03-24 21:04:10 +08:00
Developer
eb4d61669a fix:expo-updates 包会在 expo prebuild 阶段向 Android 项目注入与 EAS Update 相关的 Gradle 任务,导致 assembleRelease 时卡住(挂起不退出) 2026-03-24 01:26:39 +08:00
Developer
9bffc16fef feat:添加哨兵功能,错误日志收集,为持续迭代做准备 2026-03-24 00:17:43 +08:00
Developer
dd0c058339 还原代码 2026-03-20 14:37:14 +08:00
Developer
28c6389f83 测试更新 2026-03-20 14:16:52 +08:00
Developer
7f585ff8ad 测试更新 2026-03-20 14:12:51 +08:00
Developer
adeb5e9425 测试更新 2026-03-20 14:10:26 +08:00
Developer
38fc41f184 feat:热更新 2026-03-20 14:06:52 +08:00
Developer
5ec4c5a6be 版本1.0 2026-03-19 21:53:08 +08:00
Developer
a3acd40ee2 Merge branch 'feat/followed-live' 2026-03-19 20:46:32 +08:00
Developer
f5d49cd3f9 feat:直播 Tab 顶部显示关注主播在线列表 2026-03-19 20:46:16 +08:00
Developer
d8c13a98ab feat:热门列表 BigVideoCard 下方穿插双列直播卡片 2026-03-19 20:45:33 +08:00
Developer
c0b7b8e974 feat:下载管理页面,集成分享功能 2026-03-19 20:11:05 +08:00
Developer
462a090599 设置页面 2026-03-19 16:34:56 +08:00
Developer
965a6b411f 1 2026-03-19 12:55:23 +08:00
Developer
94db7445fb 视频缓存 2026-03-17 22:18:05 +08:00
Developer
e4760b1f07 1 2026-03-17 19:52:26 +08:00
Developer
714d28358f 1 2026-03-17 18:00:00 +08:00
Developer
2e47871689 播放状态 2026-03-17 17:26:43 +08:00
Developer
6275fd0930 直播弹幕与界面优化
- useLiveDanmaku: 重写协议解析,支持 zlib 压缩消息、token 认证、base64 帧处理
- services/bilibili: 新增 getLiveDanmakuInfo 获取弹幕服务器信息
- live/[roomId]: 使用真实 roomid 而非 URL 别名连接弹幕
- NativeVideoPlayer: 增加中文注释,移除调试日志
- video/[bvid]: UP主头像移至标题前,调整字号与样式
- index: 替换 logo 文字为下载按钮图标
- videoRows: 修复奇数视频配对,调整 BigRow 位置策略
- package.json: 移除未使用的 fast-xml-parser 和 xml2js 依赖
2026-03-17 15:14:23 +08:00
Developer
a46e63f0ba 1 2026-03-16 21:13:26 +08:00
Developer
829d175baa 1 2026-03-16 16:20:59 +08:00
Developer
47d2e8479e 评论 2026-03-16 14:24:32 +08:00
Developer
ff659dcef7 优化 2026-03-14 18:25:13 +08:00
Developer
fb819798b1 1 2026-03-14 12:27:03 +08:00
Developer
e9b00d026f 1 2026-03-14 11:55:45 +08:00
Developer
a971a65f96 直播卡片 2026-03-13 21:52:09 +08:00
Developer
2e7578afde 热力图bug 2026-03-12 23:57:01 +08:00
Developer
a55bcd46ea header 2026-03-12 21:21:01 +08:00
Developer
9347c8752d 1 2026-03-11 20:53:18 +08:00
Developer
4e8beae209 fix: add unmount cancellation guard, simplify keyExtractor, update spec 2026-03-11 14:48:19 +08:00
Developer
287a608e97 refactor: memoize renderItem, document viewability ref pattern, remove redundant assertion 2026-03-11 14:42:47 +08:00
Developer
8885f83b8a feat: refactor homepage FlatList for big-card layout with viewport autoplay 2026-03-11 14:38:31 +08:00
Developer
a9b5b364a2 feat: integrate danmaku fetching and list in video detail page 2026-03-10 22:53:35 +08:00
Developer
ee213347c7 feat: unified player controls with heatmap progress + thumbnail preview
- VideoPlayer: 移除 onProgress/seekTo props,新增 bvid/cid 向下透传
- [bvid].tsx: 删除 HeatProgressBar 及 currentTime/duration/seekCmd state
- HeatProgressBar.tsx: 删除(逻辑已合并进 NativeVideoPlayer)
- 计划文档已保存到 docs/superpowers/plans/
2026-03-10 21:48:23 +08:00
Developer
836b2ceb28 fix: 末行单卡片居中 + 卡片高度不一致
- columnWrapperStyle justifyContent 改为 flex-start,末行单卡片靠左
- title 固定 height: 32px(2行 × lineHeight 16),
  使每张卡片 info 区高度相同,消除高度不一致
2026-03-10 21:14:24 +08:00
Developer
621fbebc08 fix: 下拉刷新 spinner 被顶部导航栏遮挡
改用 RefreshControl 并设置 progressViewOffset = insets.top + NAV_H,
将刷新指示器下移到导航栏以下,使其可见。
2026-03-10 21:10:01 +08:00
Developer
9ceb3b0d94 fix: 加载更多完成后页面抖动/导航栏弹出
ListFooterComponent 在 loading 结束时从 ActivityIndicator 变为 null,
content 高度骤降触发虚假 scroll event,diffClamp 误判为上滑把导航栏顶出。
改为 footer 保持固定高度 48px,仅切换 spinner 的显隐,消除高度变化。
2026-03-10 21:07:40 +08:00
Developer
4d71f39ee9 fix: proxy B站图片 CDN 解决 web 端防盗链图片不显示问题
- dev-proxy.js 新增 /bilibili-img 路由,代理 *.hdslb.com 并注入正确 Referer
- utils/imageUrl.ts 新增 proxyImageUrl(),web 端将图片 URL 转为本地代理地址
- VideoCard / CommentItem / MiniPlayer / [bvid] 对所有 B站图片应用 proxyImageUrl
2026-03-10 20:47:14 +08:00
Developer
4c72ff3cdd 视频清晰度 2026-03-10 20:21:22 +08:00
Developer
cf20b016ff 1 2026-03-10 19:04:18 +08:00