Skip to content

Commit 1c0a564

Browse files
author
Developer
committed
refactor: remove bilibili brand references, rename services/api.ts
1 parent c657109 commit 1c0a564

26 files changed

+54
-61
lines changed

CHANGELOG.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@
1818
- **登录安全**:SESSDATA 迁移至 `expo-secure-store` 加密存储(Web 降级 AsyncStorage)
1919

2020
### 修复
21-
- **登录后头像不更新**:将 `getUserInfo()` 移入 `authStore.login()`,延迟 1s 后台执行,避免触发 B 站新会话并发风控,登录完成后头像立即刷新
22-
- **getFollowedLiveRooms 登录后返回空**`login()` 内同步调用 `getUserInfo` 导致 `FollowedLiveStrip` 并发请求被 B 站风控拦截;改为 `setTimeout(1000)` 非阻塞后台拉取修复
21+
- **登录后头像不更新**:将 `getUserInfo()` 移入 `authStore.login()`,延迟 1s 后台执行,避免触发新会话并发风控,登录完成后头像立即刷新
22+
- **getFollowedLiveRooms 登录后返回空**`login()` 内同步调用 `getUserInfo` 导致 `FollowedLiveStrip` 并发请求被平台风控拦截;改为 `setTimeout(1000)` 非阻塞后台拉取修复
2323
- **getUploaderVideos 无数据**`/x/space/wbi/arc/search` 需要 WBI 签名,补全 `getWbiKeys()` + `signWbi()` 调用
2424
- **getFollowedLiveRooms 字段兼容**:新增 `code !== 0` 校验及 `list ?? rooms ?? []` 兼容不同 API 版本返回结构
2525

@@ -79,7 +79,7 @@
7979
### 首个正式版本
8080

8181
#### 视频播放
82-
- DASH 完整播放:Bilibili DASH 接口 → `buildDashMpdUri()` 生成本地 MPD → ExoPlayer 原生解码
82+
- DASH 完整播放:DASH 接口 → `buildDashMpdUri()` 生成本地 MPD → ExoPlayer 原生解码
8383
- 支持多清晰度切换(360P / 480P / 720P / 1080P / 1080P+ / 4K)
8484
- BigVideoCard 首页内联 DASH 静音自动播放,支持水平手势快进、进度条/缓冲条
8585
- 全局迷你播放器(MiniPlayer),切换页面后底部浮层续播

CONTRIBUTING.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,9 +83,9 @@ docs: 更新 README 快速开始步骤
8383
## 注意事项
8484

8585
- **禁止**在代码中硬编码任何账号信息(SESSDATA、uid 等)
86-
- **不接受**涉及自动化批量操作、绕过 B 站反爬的 PR
86+
- **不接受**涉及自动化批量操作、绕过平台反爬的 PR
8787
- 新增功能请优先开 Issue 讨论,避免重复劳动
88-
- 涉及 API 参数变更时,请同步更新 `services/bilibili.ts` 中的注释
88+
- 涉及 API 参数变更时,请同步更新 `services/api.ts` 中的注释
8989

9090
---
9191

README.en.md

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
<div align="center">
22

3-
<img src="https://img.shields.io/badge/JKVideo-Bilibili_Client-00AEEC?style=for-the-badge&logo=bilibili&logoColor=white" alt="JKVideo"/>
3+
<img src="https://img.shields.io/badge/JKVideo-Video_Client-00AEEC?style=for-the-badge&logoColor=white" alt="JKVideo"/>
44

55
# JKVideo
66

7-
**A feature-rich third-party Bilibili React Native client**
7+
**A feature-rich React Native video client**
88

99
*DASH playback · Real-time danmaku · WBI signing · Live streaming · Cross-platform*
1010

@@ -42,7 +42,7 @@
4242
## Features
4343

4444
🎬 **Full DASH Playback**
45-
Bilibili DASH stream → `buildDashMpdUri()` local MPD → ExoPlayer native decode, supports 1080P+ & 4K HDR
45+
DASH stream → `buildDashMpdUri()` local MPD → ExoPlayer native decode, supports 1080P+ & 4K HDR
4646

4747
💬 **Complete Danmaku System**
4848
Video danmaku with XML timeline sync + 5-lane floating overlay; Live danmaku via WebSocket with guard marks & gift counting
@@ -138,7 +138,7 @@ app/
138138
139139
components/ # UI components (player, danmaku, cards, etc.)
140140
hooks/ # Data hooks (video list, stream URLs, danmaku, etc.)
141-
services/ # Bilibili API wrapper (axios + cookie interceptor)
141+
services/ # Video platform API wrapper (axios + cookie interceptor)
142142
store/ # Zustand stores (auth, download, playback, settings)
143143
utils/ # Utilities (format, image proxy, MPD builder)
144144
```
@@ -149,9 +149,9 @@ utils/ # Utilities (format, image proxy, MPD builder)
149149

150150
| Limitation | Reason |
151151
|---|---|
152-
| 4K / 1080P+ requires premium account | Bilibili API restriction |
152+
| 4K / 1080P+ requires premium account | API restriction |
153153
| FLV live streams not supported | Neither HTML5 nor ExoPlayer support FLV; HLS auto-selected |
154-
| Web requires local proxy | Bilibili image Referer anti-hotlinking |
154+
| Web requires local proxy | Image CDN Referer anti-hotlinking |
155155
| Feed / like / collect features | Requires `bili_jct` CSRF token, not yet implemented |
156156
| QR code expires after 10 minutes | Close and reopen the login modal to refresh |
157157

@@ -166,8 +166,7 @@ Issues and PRs are welcome! Please read [CONTRIBUTING.md](CONTRIBUTING.md) first
166166
## Disclaimer
167167

168168
This project is for personal learning and research purposes only. Not for commercial use.
169-
All video content copyright belongs to the original authors and Bilibili.
170-
This project is not affiliated with Bilibili in any way.
169+
All video content copyright belongs to the original authors and the respective platforms.
171170

172171
---
173172

README.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<div align="center">
22

3-
<img src="https://img.shields.io/badge/JKVideo-络视频播放器客户端-00AEEC?style=for-the-badge&logo=bilibili&logoColor=white" alt="JKVideo"/>
3+
<img src="https://img.shields.io/badge/JKVideo-视频播放器客户端-00AEEC?style=for-the-badge&logoColor=white" alt="JKVideo"/>
44

55
# JKVideo
66

@@ -46,7 +46,7 @@ https://github.com/tiajinsha/JKVideo/releases/download/v1.0.0/6490dcd9dba9a243a7
4646
## 功能亮点
4747

4848
🎬 **DASH 完整播放**
49-
Bilibili DASH 流 → `buildDashMpdUri()` 生成本地 MPD → ExoPlayer 原生解码,支持 1080P + 4K HDR杜比视界
49+
DASH 流 → `buildDashMpdUri()` 生成本地 MPD → ExoPlayer 原生解码,支持 1080P + 4K HDR杜比视界
5050

5151
💬 **完整弹幕系统**
5252
视频弹幕 XML 时间轴同步 + 5 车道飘屏覆盖;直播弹幕 WebSocket 实时接收 + 舰长标记 + 礼物计数
@@ -142,7 +142,7 @@ app/
142142
143143
components/ # UI 组件(播放器、弹幕、卡片等)
144144
hooks/ # 数据 Hooks(视频列表、播放流、弹幕等)
145-
services/ # Bilibili API 封装(axios + Cookie 拦截)
145+
services/ # 视频平台 API 封装(axios + Cookie 拦截)
146146
store/ # Zustand 状态(登录、下载、播放、设置)
147147
utils/ # 工具函数(格式化、图片代理、MPD 构建)
148148
```
@@ -170,8 +170,7 @@ utils/ # 工具函数(格式化、图片代理、MPD 构建)
170170
## 免责声明
171171

172172
本项目仅供个人学习研究使用,不得用于商业用途。
173-
所有视频内容版权归原作者及哔哩哔哩所有。
174-
本项目与哔哩哔哩官方无任何关联。
173+
所有视频内容版权归原作者及相关平台所有。
175174

176175
---
177176

app.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"name": "JKVideo",
44
"slug": "jsvideo",
55
"version": "1.0.17",
6-
"scheme": "bilibili",
6+
"scheme": "jkvideo",
77
"orientation": "default",
88
"icon": "./assets/icon.png",
99
"userInterfaceStyle": "light",

app/creator/[mid].tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import { SafeAreaView } from 'react-native-safe-area-context';
1111
import { useLocalSearchParams, useRouter } from 'expo-router';
1212
import { Image } from 'expo-image';
1313
import { Ionicons } from '@expo/vector-icons';
14-
import { getUploaderInfo, getUploaderVideos } from '../../services/bilibili';
14+
import { getUploaderInfo, getUploaderVideos } from '../../services/api';
1515
import type { VideoItem } from '../../services/types';
1616
import { useTheme } from '../../utils/theme';
1717
import { formatCount, formatDuration } from '../../utils/format';

app/video/[bvid].tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import { useLocalSearchParams, useRouter } from "expo-router";
1313
import { Ionicons } from "@expo/vector-icons";
1414
import { VideoPlayer } from "../../components/VideoPlayer";
1515
import { CommentItem } from "../../components/CommentItem";
16-
import { getDanmaku, getUploaderStat } from "../../services/bilibili";
16+
import { getDanmaku, getUploaderStat } from "../../services/api";
1717
import { DanmakuItem } from "../../services/types";
1818
import DanmakuList from "../../components/DanmakuList";
1919
import { useVideoDetail } from "../../hooks/useVideoDetail";

components/BigVideoCard.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import { Image } from "expo-image";
1919
import Video, { VideoRef } from "react-native-video";
2020
import { Ionicons } from "@expo/vector-icons";
2121
import { buildDashMpdUri } from "../utils/dash";
22-
import { getPlayUrl, getVideoDetail } from "../services/bilibili";
22+
import { getPlayUrl, getVideoDetail } from "../services/api";
2323
import { coverImageUrl } from "../utils/imageUrl";
2424
import { useSettingsStore } from "../store/settingsStore";
2525
import { useTheme } from "../utils/theme";

components/DanmakuList.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ export default function DanmakuList({
232232
isAtBottomRef.current = true;
233233
}, []);
234234

235-
// ─── Live mode render (B站-style chat) ─────────────────────────────────────
235+
// ─── Live mode render (live chat) ─────────────────────────────────────
236236
const renderLiveItem = useCallback(
237237
({ item }: { item: DisplayedDanmaku }) => {
238238
const guard = item.guardLevel ? GUARD_LABELS[item.guardLevel] : null;
@@ -461,7 +461,7 @@ const styles = StyleSheet.create({
461461
},
462462
});
463463

464-
// ─── Live mode styles (B站-style chat) ────────────────────────────────────────
464+
// ─── Live mode styles (live chat) ────────────────────────────────────────
465465
const liveStyles = StyleSheet.create({
466466
list: {
467467
flex: 1,

components/FollowedLiveStrip.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import {
99
} from "react-native";
1010
import { useRouter } from "expo-router";
1111
import { useAuthStore } from "../store/authStore";
12-
import { getFollowedLiveRooms } from "../services/bilibili";
12+
import { getFollowedLiveRooms } from "../services/api";
1313
import { LivePulse } from "./LivePulse";
1414
import { proxyImageUrl } from "../utils/imageUrl";
1515
import { useTheme } from "../utils/theme";

0 commit comments

Comments
 (0)