[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-74788":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":21,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":33,"readmeContent":34,"aiSummary":35,"trendingCount":16,"starSnapshotCount":16,"syncStatus":36,"lastSyncTime":37,"discoverSource":38},74788,"JKVideo","tiajinsha\u002FJKVideo","tiajinsha","高颜值第三方 B 站 React Native 客户端","",null,"TypeScript",4989,2924,9,6,0,7,27,68.2,"MIT License",false,"master",true,[25,26,27,28,29,30,31,32],"android","danmaku","dash","expo","react-native","typescript","video-player","zustand","2026-06-12 04:01:15","\u003Cdiv align=\"center\">\n\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FJKVideo-仿B站客户端-00AEEC?style=for-the-badge&logo=bilibili&logoColor=white\" alt=\"JKVideo\"\u002F>\n\n# JKVideo\n\n**高颜值第三方 B 站 React Native 客户端**\n\n*A feature-rich Bilibili-like app with DASH playback, real-time danmaku, WBI signing & live streaming*\n\n---\n\n[![React Native](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FReact_Native-0.83-61DAFB?logo=react)](https:\u002F\u002Freactnative.dev)\n[![Expo](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FExpo-SDK_55-000020?logo=expo)](https:\u002F\u002Fexpo.dev)\n[![TypeScript](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTypeScript-5.x-3178C6?logo=typescript)](https:\u002F\u002Fwww.typescriptlang.org)\n[![License: MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-green.svg)](LICENSE)\n[![Platform](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPlatform-Android%20%7C%20iOS%20%7C%20Web-lightgrey)](README.md)\n\n[English](README.en.md) · [快速开始](#快速开始) · [功能亮点](#功能亮点) · [贡献](CONTRIBUTING.md)\n\n\u003C\u002Fdiv>\n\n---\n\n> ## ⚠️ 重要公告\n>\n> 本项目已收到**哔哩哔哩（bilibili）律师函**，要求停止对 B 站 API 的调用及相关仿制行为。\n>\n> 为尊重知识产权及相关法律法规，本仓库**即日起停止后续维护与更新**，不再接受新的 Issue 和 Pull Request。\n>\n> 现有代码仅作学习参考保留，请勿将本项目用于任何商业或违法用途。\n>\n> 感谢所有支持过本项目的朋友。\n\n---\n\n## 截图预览\n\n\u003Ctable>\n  \u003Ctr>\n    \u003Ctd align=\"center\">\u003Cimg src=\"public\u002Fp1.jpg\" width=\"180\"\u002F>\u003Cbr\u002F>\u003Csub>首页热门 · 内联视频 · 穿插直播\u003C\u002Fsub>\u003C\u002Ftd>\n    \u003Ctd align=\"center\">\u003Cimg src=\"public\u002Fp2.jpg\" width=\"180\"\u002F>\u003Cbr\u002F>\u003Csub>首页直播 · 关注房间· 分区筛选\u003C\u002Fsub>\u003C\u002Ftd>\n    \u003Ctd align=\"center\">\u003Cimg src=\"public\u002Fp3.jpg\" width=\"180\"\u002F>\u003Cbr\u002F>\u003Csub>直播详情 · 4K HDR · 多清晰度\u003C\u002Fsub>\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd align=\"center\">\u003Cimg src=\"public\u002Fp4.jpg\" width=\"180\"\u002F>\u003Cbr\u002F>\u003Csub>下载管理 · 局域网分享二维码\u003C\u002Fsub>\u003C\u002Ftd>\n    \u003Ctd align=\"center\">\u003Cimg src=\"public\u002Fp5.jpg\" width=\"180\"\u002F>\u003Cbr\u002F>\u003Csub>直播详情 ·实时弹幕 · 清晰度切换\u003C\u002Fsub>\u003C\u002Ftd>\n    \u003Ctd align=\"center\">\u003Cimg src=\"public\u002Fp6.jpg\" width=\"180\"\u002F>\u003Cbr\u002F>\u003Csub>视频弹幕 · 同步加载\u003C\u002Fsub>\u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n## 演示视频\n\nhttps:\u002F\u002Fgithub.com\u002Ftiajinsha\u002FJKVideo\u002Freleases\u002Fdownload\u002Fv1.0.0\u002F6490dcd9dba9a243a7cd8f00359cc285.mp4\n\n---\n\n## 功能亮点\n\n🎬 **DASH 完整播放**\nBilibili DASH 流 → `buildDashMpdUri()` 生成本地 MPD → ExoPlayer 原生解码，支持 1080P + 4K HDR杜比视界\n\n💬 **完整弹幕系统**\n视频弹幕 XML 时间轴同步 + 5 车道飘屏覆盖；直播弹幕 WebSocket 实时接收 + 舰长标记 + 礼物计数\n\n🔐 **WBI 签名实现**\n纯 TypeScript 手写 MD5，无任何外部加密依赖，nav 接口 12h 自动缓存\n\n🏠 **智能首页排布**\nBigVideoCard 内联 DASH 静音自动播放 + 水平手势快进 + 直播卡片穿插 + 双列混排\n\n📺 **全局迷你播放器**\n切换页面后底部浮层续播，VideoStore 跨组件状态同步\n\n🔑 **扫码登录**\n二维码生成 + 2s 轮询 + 响应头 Cookie 自动提取 SESSDATA\n\n📥 **下载 + 局域网分享**\n多清晰度后台下载，内置 HTTP 服务器生成局域网 QR 码，同 Wi-Fi 设备扫码直接播放\n\n🌐 **跨平台运行**\nAndroid · iOS · Web，Expo Go 扫码 5 分钟运行，Dev Build 解锁完整 DASH 播放\n\n---\n\n## 技术架构\n\n| 层 | 技术 |\n|---|---|\n| 框架 | React Native 0.83 + Expo SDK 55 |\n| 路由 | expo-router v4（文件系统路由，Stack 导航） |\n| 状态管理 | Zustand |\n| 网络请求 | Axios |\n| 本地存储 | @react-native-async-storage\u002Fasync-storage |\n| 视频播放 | react-native-video（DASH MPD \u002F HLS \u002F MP4） |\n| 降级播放 | react-native-webview（HTML5 video 注入） |\n| 页面滑动 | react-native-pager-view |\n| 图标 | @expo\u002Fvector-icons（Ionicons） |\n\n---\n\n## 快速开始\n\n### 方式一：Expo Go（5 分钟，无需编译）\n\n> 部分清晰度受限，视频播放降级为 WebView 方案\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Ftiajinsha\u002FJKVideo.git\ncd JKVideo\nnpm install\nnpx expo start\n```\n\n用 Expo Go App（[Android](https:\u002F\u002Fexpo.dev\u002Fgo) \u002F [iOS](https:\u002F\u002Fexpo.dev\u002Fgo)）扫描终端二维码即可运行。\n\n### 方式二：Dev Build（完整功能，推荐）\n\n> 支持 DASH 1080P+ 原生播放、完整弹幕系统\n\n```bash\nnpm install\nnpx expo run:android   # Android\nnpx expo run:ios       # iOS（需 macOS + Xcode）\n```\n\n### 方式三：Web 端\n\n```bash\nnpm install\nnpx expo start --web\n```\n\n> Web 端图片需本地代理服务器绕过防盗链：`node scripts\u002Fproxy.js`（端口 3001）\n\n### 直接安装（Android）\n\n前往 [Releases](https:\u002F\u002Fgithub.com\u002Ftiajinsha\u002FJKVideo\u002Freleases\u002Flatest) 下载最新 APK，无需编译，安装即用。\n\n> 需在 Android 设置中开启「安装未知来源应用」\n\n---\n\n## 项目结构\n\n```\napp\u002F\n  index.tsx            # 首页（PagerView 热门\u002F直播 Tab）\n  video\u002F[bvid].tsx     # 视频详情（播放 + 简介\u002F评论\u002F弹幕）\n  live\u002F[roomId].tsx    # 直播详情（HLS 播放 + 实时弹幕）\n  search.tsx           # 搜索页\n  downloads.tsx        # 下载管理页\n  settings.tsx         # 设置页（画质 + 退出登录）\n\ncomponents\u002F            # UI 组件（播放器、弹幕、卡片等）\nhooks\u002F                 # 数据 Hooks（视频列表、播放流、弹幕等）\nservices\u002F              # Bilibili API 封装（axios + Cookie 拦截）\nstore\u002F                 # Zustand 状态（登录、下载、播放、设置）\nutils\u002F                 # 工具函数（格式化、图片代理、MPD 构建）\n```\n\n---\n\n## 已知限制\n\n| 限制 | 原因 |\n|---|---|\n| 4K \u002F 1080P+ 需要大会员账号登录 | B 站 API 策略限制 |\n| FLV 直播流不支持 | HTML5 \u002F ExoPlayer 均不支持 FLV，已自动选 HLS |\n| Web 端需本地代理 | B 站图片防盗链（Referer 限制） |\n| 动态流 \u002F 投稿 \u002F 点赞 | 需要 `bili_jct` CSRF Token，暂未实现 |\n| 二维码 10 分钟过期 | 关闭登录弹窗重新打开即可刷新 |\n\n---\n\n## 贡献\n\n欢迎提交 Issue 和 PR！请先阅读 [CONTRIBUTING.md](CONTRIBUTING.md)。\n\n---\n\n## 免责声明\n\n本项目仅供个人学习研究使用，不得用于商业用途。\n所有视频内容版权归原作者及哔哩哔哩所有。\n本项目与哔哩哔哩官方无任何关联。\n\n---\n\n## License\n\n[MIT](LICENSE) © 2026 JKVideo Contributors\n\n---\n\n\u003Cdiv align=\"center\">\n\n如果这个项目对你有帮助，欢迎点一个 ⭐ Star！\n\n---\n\n## 请作者喝杯咖啡 ☕\n\n如果这个项目对你有所帮助，欢迎请作者喝杯咖啡，你的支持是持续开发的最大动力，感谢每一位愿意打赏的朋友！\n\n\u003Ctable>\n  \u003Ctr>\n    \u003Ctd align=\"center\">\n      \u003Cimg src=\"public\u002Fwxpay.jpg\" width=\"180\"\u002F>\u003Cbr\u002F>\n      \u003Csub>微信支付\u003C\u002Fsub>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n      \u003Cimg src=\"public\u002Falipay.jpg\" width=\"180\"\u002F>\u003Cbr\u002F>\n      \u003Csub>支付宝\u003C\u002Fsub>\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003C\u002Fdiv>\n","JKVideo 是一个高颜值的第三方 B 站 React Native 客户端。它支持 DASH 播放、实时弹幕、WBI 签名及直播功能，提供 1080P 和 4K HDR 视频播放，并具备完整的弹幕系统和智能首页排布。项目使用 TypeScript 编写，基于 React Native 和 Expo 框架构建，跨平台支持 Android、iOS 和 Web。JKVideo 适用于需要高度定制化且功能丰富的视频应用开发场景，如学习参考或个人项目。注意，该项目已停止维护，请勿用于商业或违法用途。",2,"2026-06-11 03:50:50","high_star"]