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
|
f6ac2d3cd4
|
feat: 视频详情页和直播详情页支持暗黑模式主题切换
|
2026-03-24 21:58:00 +08:00 |
|
Developer
|
462a090599
|
设置页面
|
2026-03-19 16:34:56 +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 |
|