Commit Graph

169 Commits

Author SHA1 Message Date
github-actions[bot]
b585f33405 chore: bump version to v1.0.18 [skip ci] v1.0.18 2026-05-05 04:18:18 +00:00
Developer
b0929a8094 feat: UP主页/视频详情页 UI 优化 + 多处交互修复
- creator: 头部模糊背景 + 滚动渐变 topBar,移除 removeClippedSubviews 修复列表抖动
- video: 简介 2 行折叠(onTextLayout 探测真实行数),tname 分区标签,统计数据前移到 UP 主行
- VideoCard/LiveCard: title 设 minHeight 解决两列卡片底部对齐
- LoginModal: 二维码过期支持原地重试,无需关闭重开
- search: 初始 loading 显示 indicator,搜索/选建议时自动收起键盘
- 统一图片组件为 expo-image:LiveCard / FollowedLiveStrip / downloads
- types: VideoItem 补 tname / pubdate 字段
2026-05-05 12:17:45 +08:00
github-actions[bot]
4706845f44 chore: bump version to v1.0.17 [skip ci] 2026-04-29 06:51:43 +00:00
Developer
05fc42659e chore: final release - 停止维护公告 2026-04-29 14:51:02 +08:00
Developer
d05e03418f docs: 收到哔哩哔哩律师函,停止后续维护 [skip ci] 2026-04-29 14:47:13 +08:00
Developer
04fea94fbe Merge branch 'master' of https://github.com/tiajinsha/JKVideo 2026-03-26 10:18:53 +08:00
Developer
fc88907ede 1 2026-03-26 10:18:48 +08:00
github-actions[bot]
46fc502b94 chore: bump version to v1.0.16 [skip ci] 2026-03-25 17:22:41 +00:00
Developer
e61177e955 chore: trigger release build v1.0.15 2026-03-26 01:22:14 +08:00
Developer
4a664470ff chore: bump version to v1.0.15 [skip ci] 2026-03-26 01:16:20 +08:00
Developer
014b5d526a fix: FollowedLiveStrip 样式优化 + getFollowedLiveRooms 参数调整 2026-03-26 01:16:20 +08:00
Developer
5bbc445bfe fix: login() 改为延迟后台拉取头像,修复 getFollowedLiveRooms 并发问题
login() 内 await getUserInfo() 导致 login() 慢返回,Zustand set 触发
FollowedLiveStrip 立即发起 getFollowedLiveRooms,与内部 getUserInfo
并发打到 B站新 session,触发风控返回空数据。

改为 setTimeout 1s 后台执行,login() 快速返回,各请求错开发出。
2026-03-26 01:16:20 +08:00
Developer
1e0931b5d1 fix: 登录后头像不更新 — 将 getUserInfo 合并进 login()
登录流程之前分两步:login() 只设 isLoggedIn,getUserInfo/setProfile
由 LoginModal 调用。网络抖动或 B站 session 传播延迟时 getUserInfo
抛错被静默吞掉,face 不更新,直到下次启动 restore() 才修复。

修复:login() 内部完成 getUserInfo + 持久化,LoginModal 只需
await login() 后关闭弹窗,不再重复获取头像。
2026-03-26 01:16:20 +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
27587859a4 fix: getFollowedLiveRooms 修正 Referer、校验 code、兼容 list/rooms 字段 2026-03-26 01:16:20 +08:00
Developer
749dbb81ef fix: getUploaderVideos 加 WBI 签名,移除调试 log 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
github-actions[bot]
8a45211fd6 chore: bump version to v1.0.15 [skip ci] 2026-03-25 07:49:48 +00:00
Developer
f9c349a862 Merge branch 'master' of https://github.com/tiajinsha/JKVideo 2026-03-25 15:48:22 +08:00
Developer
6671e65b60 更新md 2026-03-25 15:48:15 +08:00
github-actions[bot]
28711e8a01 chore: bump version to v1.0.14 [skip ci] 2026-03-25 07:07:55 +00:00
Developer
cebcd3598e Merge branch 'master' of https://github.com/tiajinsha/JKVideo 2026-03-25 15:07:33 +08:00
Developer
b4d5d2a0e2 Merge branch 'master-bug'
# Conflicts:
#	CHANGELOG.md
#	app/video/[bvid].tsx
#	components/DanmakuList.tsx
2026-03-25 15:06:37 +08:00
Developer
e3def7d01b fix: 修复小窗闭包过期、详情页 loading 卡死、视频播放器性能问题
- 小窗 PanResponder 用 storeRef 替代闭包捕获,修复 roomId/bvid 始终为初始值
- useLiveDetail 用 ref 比对替代 cancelled 标志,防止 fetch 被意外取消
- 详情页 useLayoutEffect 同步清除小窗,BigVideoCard 小窗活跃时跳过播放
- 视频播放器竖屏/全屏互斥渲染,减半解码器占用
- onProgress 节流 + 退出全屏强制恢复播放
2026-03-25 15:03:49 +08:00
Developer
68b8b7d665 fix: 彻底修复小窗无法拖动问题
根本原因:TouchableOpacity 内嵌在 PanResponder Animated.View 内,
  JS层 TouchableOpacity 与 Video 原生层共同阻断了 PanResponder 响应权。

修复方案:
- onStartShouldSetPanResponder: true,从 start 阶段独占响应权
- 移除主内容区的 TouchableOpacity,改用纯 View
- isDragging ref 区分点击与拖动:位移 >5px 为拖动
- onPanResponderRelease 通过 locationX/Y 坐标判断点击目标(关闭 or 跳转)
- Video 外层 View 加 pointerEvents='none' 防止原生层吞噬触摸
2026-03-25 13:36:28 +08:00
Developer
2bfc9f8110 fix: 修复小窗无法拖动的问题
onStartShouldSetPanResponder 被内部 TouchableOpacity 抢占响应权。
改用 onMoveShouldSetPanResponderCapture:位移 >3px 时从子组件夺回响应权,
点击仍正常透传到 TouchableOpacity。
2026-03-25 13:28:49 +08:00
Developer
0ffb331971 feat: 小窗拖动后自动吸附到左/右屏幕边缘 2026-03-25 13:25:34 +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
13c73cdb25 feat:弹幕tag样式 2026-03-25 12:55:31 +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
github-actions[bot]
b34591299e chore: bump version to v1.0.13 [skip ci] 2026-03-25 04:04:53 +00:00
Developer
80109b9a12 feat: 视频推荐关联当前视频、UP主信息展示、直播全屏修复及UI优化
- 推荐列表改用 getVideoRelated 基于当前 bvid 推荐,与首页 feed 解耦
- 视频详情页 UP主名称下方展示粉丝数和视频数
- 推荐视频点击改为 router.replace 避免页面堆叠
- 直播全屏改用 position:absolute,解决退出全屏视频重建暂停问题
- 退出全屏时直播自动暂停
- 直播画质选中状态修复,过滤杜比/4K 画质选项
- 直播画质面板改为居中 Modal 弹出框
- 视频详情 Tab 按钮左对齐,评论排序及设置页按钮统一实心背景风格
2026-03-25 12:04:28 +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
github-actions[bot]
e508893df7 chore: bump version to v1.0.12 [skip ci] 2026-03-25 03:35:32 +00:00
jinsha
4baec977e3 Merge pull request #30 from ac666666666/feat/ac-feature
fix(web): 补全缺失的 web shims 并修复渲染崩溃问题
2026-03-25 11:35:14 +08:00
github-actions[bot]
e0a845e74a chore: bump version to v1.0.11 [skip ci] 2026-03-24 16:01:27 +00:00
Developer
592efaa378 Merge branch 'master' of https://github.com/tiajinsha/JKVideo 2026-03-25 00:00:54 +08:00
Developer
ea96c01569 chore: merge master-bug → master (v1.0.8 暗黑模式 + 节流模式 + 本地二维码) 2026-03-25 00:00:35 +08:00
Developer
7870c83b12 docs: 更新 CHANGELOG,记录 v1.0.8 新功能和修复项 2026-03-24 23:59:21 +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
03aee783da fix: FollowedLiveStrip 背景色/头像占位/主播名跟随主题切换 2026-03-24 21:49:51 +08:00
Developer
5a368dc794 fix: 暗黑模式下封面图占位背景色跟随卡片颜色 2026-03-24 21:43:52 +08:00
Action
8725a79135 docs: 添加 Conventional Commits 提交规范 steering 文件 2026-03-24 21:25:54 +08:00
Developer
a61aa5caac feat: 使用本地库 react-native-qrcode-svg 生成二维码,移除第三方远程图片服务 2026-03-24 21:23:22 +08:00
Action
6f7c99906b fix(web): 补全缺失的 web shims 并修复渲染崩溃问题
- 新增 sentry-react-native、react-native-video、react-native-static-server、expo-network、expo-intent-launcher、expo-clipboard、expo-file-system 的 web shim
- 重写 react-native-pager-view shim,通过 useImperativeHandle 暴露 setPage 方法
- 修复 sentry-react-native shim 缺少 ErrorBoundary 导致的渲染崩溃
- 在 _layout.tsx 中加载 Ionicons 字体,修复 web 端字体 404
- 更新 metro.config.js 中 sentry shim 路径为 .tsx
2026-03-24 21:21:15 +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