Commit Graph

29 Commits

Author SHA1 Message Date
Developer
53c67079a1 bug修改 2026-05-12 20:27:30 +08:00
Developer
463c0db058 feat: 性能优化 + Bug修复 + 搜索增强
- expo-image 替换 RN Image(VideoCard/LiveCard/BigVideoCard/CommentItem,recyclingKey)
- DanmakuList Animated.Value 对象池,减少 GC 压力
- FlatList 性能参数:windowSize=7 / maxToRenderPerBatch=6 / removeClippedSubviews
- bilibili.ts 请求去重(getVideoDetail/getPlayUrl)
- SESSDATA 迁移至 expo-secure-store(utils/secureStorage.ts,启动自动迁移)
- 主题系统扩展:新增 sheetBg/modalBg/modalText/placeholder/iconDefault/danger 等 token
- 多组件深色模式适配:DownloadSheet/LivePlayer/NativeVideoPlayer/DownloadProgressBtn/CommentItem/LoginModal
- 搜索页增强:搜索建议 + 热搜榜(hooks/useSearch.ts + app/search.tsx)
- LoginModal 修复轮询竞态(cancelled flag + try-catch)
- 修复 downloads.tsx 冗余三元表达式
2026-03-26 01:16:20 +08:00
Developer
8f733b6c34 feat: 深色模式完善 + UP主主页 + 缓存管理
- 深色模式:补全 settings 页选项按钮、退出登录按钮主题色
- UP主主页:新增 /creator/[mid] 路由,展示 UP 主信息、粉丝数、视频列表
  - bilibili.ts 新增 getUploaderInfo / getUploaderVideos API
  - 视频详情页 UP 主行可点击跳转主页
- 缓存管理:settings 页新增「存储」分区,显示缓存大小并支持一键清除
  - 新增 utils/cache.ts(计算大小 + 清除 expo-image/文件系统缓存)
2026-03-26 01:16:20 +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
d8c13a98ab feat:热门列表 BigVideoCard 下方穿插双列直播卡片 2026-03-19 20:45:33 +08:00
Developer
c0b7b8e974 feat:下载管理页面,集成分享功能 2026-03-19 20:11:05 +08:00
Developer
f1c040de68 feat:二维码优化和保存 2026-03-19 17:00:35 +08:00
Developer
46796d3d6d 杜比HDR 2026-03-19 16:38:18 +08:00
Developer
462a090599 设置页面 2026-03-19 16:34:56 +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
47d2e8479e 评论 2026-03-16 14:24:32 +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
b447ec0c76 1 2026-03-13 00:30:07 +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
190f6a58bd feat: add videoRows utility for big-card list layout 2026-03-11 14:20:20 +08:00
Developer
bfeae44bf9 feat: add danmaku XML parser and color util 2026-03-10 22:44:24 +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
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
03d7d3c5c3 fix: quality switch not updating video playback
- Use qn-specific MPD filename (bili_dash_{qn}.mpd) so each quality
  produces a distinct URI that triggers react-native-video to reload
- Add key={resolvedUrl} on <Video> to force remount on source change
2026-03-10 20:18:47 +08:00
Developer
35371cebff fix: switch DASH delivery from data: URI to local MPD file via expo-file-system
data: URI scheme for DASH manifests is unreliable in ExoPlayer.
Write MPD XML to FileSystem.cacheDirectory/bili_dash.mpd and pass
file:// URI to react-native-video instead. URL resolution is now
async via useEffect+state in NativeVideoPlayer.
2026-03-10 20:16:01 +08:00
Developer
911eeb9052 fix: use snake_case field names matching Bilibili DASH API response
B站 API 实际返回 segment_base.initialization / index_range
而非 segmentBase.Initialization / indexRange,修正类型定义和 MPD 生成逻辑。
segment_base 设为可选,缺失时不生成 SegmentBase 元素(ExoPlayer fallback)。
2026-03-10 20:09:50 +08:00
Developer
5bb6a3cd68 feat: unlock 1080P+ on Android via DASH streaming
- getPlayUrl uses fnval=16 (DASH) on Android, keeping fnval=0/html5 for iOS/web
- New utils/dash.ts builds a valid DASH MPD from Bilibili's segmentBase ranges
  and returns it as a data: URI for ExoPlayer consumption
- NativeVideoPlayer selects DASH path (type='mpd') or durl fallback automatically
- Extend PlayUrlResponse types with DashVideoItem/DashAudioItem/DashSegmentBase
2026-03-10 20:04:48 +08:00
Developer
4dbb3cb3d6 1 2026-03-10 19:22:38 +08:00
Developer
cf20b016ff 1 2026-03-10 19:04:18 +08:00
Developer
a0e53bd073 feat: add all source files - services, store, hooks, components, screens 2026-03-05 18:02:54 +08:00