Skip to content

Commit 0d38a6f

Browse files
committed
修复抖音加载失败
1 parent 74e19e2 commit 0d38a6f

File tree

3 files changed

+107
-73
lines changed

3 files changed

+107
-73
lines changed

simple_live_app/pubspec.yaml

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
name: simple_live_app
2-
version: 1.8.9+10809
2+
version: 1.9.1+10901
33
publish_to: none
44
description: "Simple Live APP"
5-
environment:
6-
sdk: '>=3.0.5 <4.0.0'
5+
environment:
6+
sdk: ">=3.0.5 <4.0.0"
77

8-
dependencies:
8+
dependencies:
99
simple_live_core:
1010
path: ../simple_live_core
1111
# 图标
@@ -35,10 +35,9 @@ dependencies:
3535
sticky_headers: ^0.3.0+2 #吸顶
3636
lottie: ^1.4.3 #lottie动画
3737
ns_danmaku: #弹幕
38-
git:
39-
url: https://github.com/xiaoyaocz/flutter_ns_danmaku.git
40-
tag: v0.0.9
41-
38+
git:
39+
url: https://github.com/xiaoyaocz/flutter_ns_danmaku.git
40+
tag: v0.0.9
4241

4342
#系统交互
4443
package_info_plus: ^8.3.0 #包信息
@@ -59,9 +58,9 @@ dependencies:
5958
connectivity_plus: ^6.1.3 #网络状态
6059
qr_code_scanner: ^1.0.1 #二维码扫描
6160
volume_controller: ^2.0.7 #音量控制
62-
61+
6362
# 网络相关
64-
shelf: ^1.4.1
63+
shelf: ^1.4.1
6564
shelf_router: ^1.1.4
6665
network_info_plus: ^6.1.3
6766
signalr_netcore: ^1.3.9 #SignalR
@@ -71,20 +70,20 @@ dependencies:
7170
media_kit_video: 1.2.5
7271
media_kit_libs_video: 1.0.5
7372

74-
flutter:
73+
flutter:
7574
sdk: flutter
76-
flutter_localizations:
75+
flutter_localizations:
7776
sdk: flutter
7877

79-
dependency_overrides:
78+
dependency_overrides:
8079
screen_brightness: ^2.1.2
8180

82-
dev_dependencies:
81+
dev_dependencies:
8382
flutter_lints: ^2.0.0
8483
build_runner: ^2.3.3
8584
hive_generator: ^2.0.0
8685
flutter_launcher_icons: ^0.13.1
87-
flutter_test:
86+
flutter_test:
8887
sdk: flutter
8988

9089
flutter_launcher_icons:
@@ -95,11 +94,10 @@ flutter_launcher_icons:
9594
macos:
9695
generate: true
9796

98-
flutter:
97+
flutter:
9998
uses-material-design: true
100-
assets:
99+
assets:
101100
- assets/statement.txt
102101
- assets/images/
103102
- assets/icons/
104103
- assets/lotties/
105-

simple_live_core/lib/src/douyin_site.dart

Lines changed: 79 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -105,19 +105,35 @@ class DouyinSite implements LiveSite {
105105
var ids = category.id.split(',');
106106
var partitionId = ids[0];
107107
var partitionType = ids[1];
108+
109+
String serverUrl =
110+
"https://live.douyin.com/webcast/web/partition/detail/room/v2/";
111+
var uri = Uri.parse(serverUrl)
112+
.replace(scheme: "https", port: 443, queryParameters: {
113+
"aid": '6383',
114+
"app_name": "douyin_web",
115+
"live_id": '1',
116+
"device_platform": "web",
117+
"language": "zh-CN",
118+
"enter_from": "link_share",
119+
"cookie_enabled": "true",
120+
"screen_width": "1980",
121+
"screen_height": "1080",
122+
"browser_language": "zh-CN",
123+
"browser_platform": "Win32",
124+
"browser_name": "Edge",
125+
"browser_version": "125.0.0.0",
126+
"browser_online": "true",
127+
"count": '15',
128+
"offset": ((page - 1) * 15).toString(),
129+
"partition": partitionId,
130+
"partition_type": partitionType,
131+
"req_from": '2'
132+
});
133+
var requestUrl = await getAbogusUrl(uri.toString());
134+
108135
var result = await HttpClient.instance.getJson(
109-
"https://live.douyin.com/webcast/web/partition/detail/room/",
110-
queryParameters: {
111-
"aid": 6383,
112-
"app_name": "douyin_web",
113-
"live_id": 1,
114-
"device_platform": "web",
115-
"count": 15,
116-
"offset": (page - 1) * 15,
117-
"partition": partitionId,
118-
"partition_type": partitionType,
119-
"req_from": 2
120-
},
136+
requestUrl,
121137
header: await getRequestHeaders(),
122138
);
123139

@@ -140,18 +156,34 @@ class DouyinSite implements LiveSite {
140156

141157
@override
142158
Future<LiveCategoryResult> getRecommendRooms({int page = 1}) async {
159+
String serverUrl =
160+
"https://live.douyin.com/webcast/web/partition/detail/room/v2/";
161+
var uri = Uri.parse(serverUrl)
162+
.replace(scheme: "https", port: 443, queryParameters: {
163+
"aid": '6383',
164+
"app_name": "douyin_web",
165+
"live_id": '1',
166+
"device_platform": "web",
167+
"language": "zh-CN",
168+
"enter_from": "link_share",
169+
"cookie_enabled": "true",
170+
"screen_width": "1980",
171+
"screen_height": "1080",
172+
"browser_language": "zh-CN",
173+
"browser_platform": "Win32",
174+
"browser_name": "Edge",
175+
"browser_version": "125.0.0.0",
176+
"browser_online": "true",
177+
"count": '15',
178+
"offset": ((page - 1) * 15).toString(),
179+
"partition": '720',
180+
"partition_type": '1',
181+
"req_from": '2'
182+
});
183+
var requestUrl = await getAbogusUrl(uri.toString());
184+
143185
var result = await HttpClient.instance.getJson(
144-
"https://live.douyin.com/webcast/web/partition/detail/room/",
145-
queryParameters: {
146-
"aid": 6383,
147-
"app_name": "douyin_web",
148-
"live_id": 1,
149-
"device_platform": "web",
150-
"count": 15,
151-
"offset": (page - 1) * 15,
152-
"partition": 720,
153-
"partition_type": 1,
154-
},
186+
requestUrl,
155187
header: await getRequestHeaders(),
156188
);
157189

@@ -413,28 +445,32 @@ class DouyinSite implements LiveSite {
413445
/// 通过webRid获取直播间Web信息
414446
/// - [webRid] 直播间RID
415447
Future<Map> _getRoomDataByApi(String webRid) async {
448+
String serverUrl = "https://live.douyin.com/webcast/room/web/enter/";
449+
var uri = Uri.parse(serverUrl)
450+
.replace(scheme: "https", port: 443, queryParameters: {
451+
"aid": '6383',
452+
"app_name": "douyin_web",
453+
"live_id": '1',
454+
"device_platform": "web",
455+
"enter_from": "web_live",
456+
"web_rid": webRid,
457+
"room_id_str": "",
458+
"enter_source": "",
459+
"Room-Enter-User-Login-Ab": '0',
460+
"is_need_double_stream": 'false',
461+
"cookie_enabled": 'true',
462+
"screen_width": '1980',
463+
"screen_height": '1080',
464+
"browser_language": "zh-CN",
465+
"browser_platform": "Win32",
466+
"browser_name": "Edge",
467+
"browser_version": "125.0.0.0"
468+
});
469+
var requestUrl = await getAbogusUrl(uri.toString());
470+
416471
var requestHeader = await getRequestHeaders();
417472
var result = await HttpClient.instance.getJson(
418-
"https://live.douyin.com/webcast/room/web/enter/",
419-
queryParameters: {
420-
"aid": 6383,
421-
"app_name": "douyin_web",
422-
"live_id": 1,
423-
"device_platform": "web",
424-
"enter_from": "web_live",
425-
"web_rid": webRid,
426-
"room_id_str": "",
427-
"enter_source": "",
428-
"Room-Enter-User-Login-Ab": 0,
429-
"is_need_double_stream": false,
430-
"cookie_enabled": true,
431-
"screen_width": 1980,
432-
"screen_height": 1080,
433-
"browser_language": "zh-CN",
434-
"browser_platform": "Win32",
435-
"browser_name": "Edge",
436-
"browser_version": "125.0.0.0"
437-
},
473+
requestUrl,
438474
header: requestHeader,
439475
);
440476

simple_live_tv_app/pubspec.yaml

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
name: simple_live_tv_app
22
description: A new Flutter project.
3-
publish_to: 'none'
4-
version: 1.3.8+10308
3+
publish_to: "none"
4+
version: 1.3.9+10309
55

66
environment:
7-
sdk: '>=3.1.2 <4.0.0'
7+
sdk: ">=3.1.2 <4.0.0"
88

99
dependencies:
1010
flutter:
@@ -35,26 +35,26 @@ dependencies:
3535
qr_flutter: ^4.1.0 #二维码
3636
sticky_headers: ^0.3.0+2 #吸顶
3737
ns_danmaku: #弹幕
38-
git:
39-
url: https://github.com/xiaoyaocz/flutter_ns_danmaku.git
40-
tag: v0.0.9
38+
git:
39+
url: https://github.com/xiaoyaocz/flutter_ns_danmaku.git
40+
tag: v0.0.9
4141

4242
#系统交互
4343
package_info_plus: ^8.0.0 #包信息
4444
url_launcher: ^6.2.5 #打开链接
4545
network_info_plus: ^4.1.0+1
46-
shelf: ^1.4.1
47-
shelf_router: ^1.1.4
46+
shelf: ^1.4.1
47+
shelf_router: ^1.1.4
4848
udp: ^5.0.3 #UDP
4949
device_info_plus: ^9.1.2 #设备信息
5050
wakelock_plus: ^1.2.11 #屏幕常亮,media_kit中自带,但似乎不生效
51-
51+
5252
# 视频播放
5353
media_kit: 1.1.11
5454
media_kit_video: 1.2.5
5555
media_kit_libs_video: 1.0.5
5656

57-
dependency_overrides:
57+
dependency_overrides:
5858
fading_edge_scrollview: ^4.1.1
5959
screen_brightness: ^2.1.2
6060

@@ -66,8 +66,8 @@ dev_dependencies:
6666

6767
flutter:
6868
uses-material-design: true
69-
assets:
69+
assets:
7070
- assets/statement.txt
7171
- assets/images/
7272
- assets/icons/
73-
- assets/lotties/
73+
- assets/lotties/

0 commit comments

Comments
 (0)