Commit Graph

116 Commits

Author SHA1 Message Date
Developer
9ceb3b0d94 fix: 加载更多完成后页面抖动/导航栏弹出
ListFooterComponent 在 loading 结束时从 ActivityIndicator 变为 null,
content 高度骤降触发虚假 scroll event,diffClamp 误判为上滑把导航栏顶出。
改为 footer 保持固定高度 48px,仅切换 spinner 的显隐,消除高度变化。
2026-03-10 21:07:40 +08:00
Developer
f2b4c404c3 fix: filter out ad/live/invalid cards from recommend feed
推荐流中混入广告、直播等特殊条目,缺少 pic/duration/bvid 字段,
导致页面出现空白卡片。过滤掉不满足条件的条目。
2026-03-10 20:50:44 +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
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
18eebfb0d2 1 2026-03-10 17:25:18 +08:00
Developer
c9c62d3e48 1 2026-03-06 14:52:28 +08:00
Developer
9b7e728c9d 1 2026-03-06 12:58:41 +08:00
Developer
b09c3731f9 chore: add dev server config and update tsconfig
- Add .claude/launch.json for Expo Dev Server (port 8081)
- Update tsconfig.json with expo-router typedRoutes include paths
2026-03-05 18:09:44 +08:00
Developer
a0e53bd073 feat: add all source files - services, store, hooks, components, screens 2026-03-05 18:02:54 +08:00
Developer
bbe0df6ed2 chore: init expo typescript project with all dependencies 2026-03-05 17:55:47 +08:00