From c6b32b81f692bdf23647b8bb1d688c0685cb7f10 Mon Sep 17 00:00:00 2001 From: orz12 Date: Mon, 19 Aug 2024 07:09:17 +0800 Subject: [PATCH 01/20] =?UTF-8?q?fix:=20=E8=AF=84=E8=AE=BA=E5=8C=BAallCoun?= =?UTF-8?q?t=E4=B8=BA=E7=A9=BA=E6=97=B6=E4=BF=9D=E5=BA=95=E5=80=BC0?= =?UTF-8?q?=EF=BC=9B=E6=B7=BB=E5=8A=A0=E9=A2=9D=E5=A4=96=E7=9A=84hasData?= =?UTF-8?q?=E5=88=A4=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/models/video/reply/page.dart | 2 +- lib/pages/dynamics/detail/controller.dart | 2 +- lib/pages/dynamics/detail/view.dart | 3 ++- lib/pages/html/controller.dart | 2 +- lib/pages/video/detail/reply/controller.dart | 2 +- 5 files changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/models/video/reply/page.dart b/lib/models/video/reply/page.dart index ee10c7ac5..37de67ada 100644 --- a/lib/models/video/reply/page.dart +++ b/lib/models/video/reply/page.dart @@ -53,7 +53,7 @@ class ReplyCursor { isEnd = json['is_end']; mode = json['mode']; modeText = json['mode_text']; - allCount = json['all_count']; + allCount = json['all_count'] ?? 0; supportMode = json['support_mode'].cast(); name = json['name']; paginationReply = json['pagination_reply'] != null diff --git a/lib/pages/dynamics/detail/controller.dart b/lib/pages/dynamics/detail/controller.dart index 3385c378e..f7322c360 100644 --- a/lib/pages/dynamics/detail/controller.dart +++ b/lib/pages/dynamics/detail/controller.dart @@ -63,7 +63,7 @@ class DynamicDetailController extends GetxController { isLoadingMore = false; if (res['status']) { List replies = res['data'].replies; - acount.value = res['data'].cursor.allCount; + acount.value = res['data'].cursor.allCount ?? 0; nextOffset = res['data'].cursor.paginationReply.nextOffset ?? ""; if (replies.isNotEmpty) { noMore.value = '加载中...'; diff --git a/lib/pages/dynamics/detail/view.dart b/lib/pages/dynamics/detail/view.dart index 73c5079a1..bd0725028 100644 --- a/lib/pages/dynamics/detail/view.dart +++ b/lib/pages/dynamics/detail/view.dart @@ -382,7 +382,8 @@ class _DynamicDetailPageState extends State return FutureBuilder( future: _futureBuilderFuture, builder: (context, snapshot) { - if (snapshot.connectionState == ConnectionState.done) { + if (snapshot.connectionState == ConnectionState.done && + snapshot.hasData) { Map data = snapshot.data as Map; if (snapshot.data['status']) { // 请求成功 diff --git a/lib/pages/html/controller.dart b/lib/pages/html/controller.dart index c62f20392..8a07bdd15 100644 --- a/lib/pages/html/controller.dart +++ b/lib/pages/html/controller.dart @@ -73,7 +73,7 @@ class HtmlRenderController extends GetxController { ); if (res['status']) { List replies = res['data'].replies; - acount.value = res['data'].cursor.allCount; + acount.value = res['data'].cursor.allCount ?? 0; nextOffset = res['data'].cursor.paginationReply.nextOffset ?? ""; if (replies.isNotEmpty) { noMore.value = '加载中...'; diff --git a/lib/pages/video/detail/reply/controller.dart b/lib/pages/video/detail/reply/controller.dart index e33787f72..8c643d874 100644 --- a/lib/pages/video/detail/reply/controller.dart +++ b/lib/pages/video/detail/reply/controller.dart @@ -92,7 +92,7 @@ class VideoReplyController extends GetxController { } } replies.insertAll(0, res['data'].topReplies); - count.value = res['data'].cursor.allCount; + count.value = res['data'].cursor.allCount ?? 0; replyList.value = replies; } else { replyList.addAll(replies); From edce79030dcc72efd4e6db1b4b3d909bfa66b092 Mon Sep 17 00:00:00 2001 From: orz12 Date: Sun, 25 Aug 2024 13:43:53 +0800 Subject: [PATCH 02/20] =?UTF-8?q?feat:=20=E4=B8=B4=E6=97=B6=E7=9A=84?= =?UTF-8?q?=E5=90=AC=E8=A7=86=E9=A2=91=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../video/detail/widgets/header_control.dart | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/lib/pages/video/detail/widgets/header_control.dart b/lib/pages/video/detail/widgets/header_control.dart index e77d0672b..a478bce18 100644 --- a/lib/pages/video/detail/widgets/header_control.dart +++ b/lib/pages/video/detail/widgets/header_control.dart @@ -9,6 +9,7 @@ import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:get/get.dart'; import 'package:hive/hive.dart'; import 'package:material_design_icons_flutter/material_design_icons_flutter.dart'; +import 'package:media_kit/media_kit.dart'; import 'package:ns_danmaku/ns_danmaku.dart'; import 'package:PiliPalaX/http/user.dart'; import 'package:PiliPalaX/models/video/play/quality.dart'; @@ -223,6 +224,22 @@ class _HeaderControlState extends State { } }, ), + ListTile( + onTap: () { + Get.back(); + Player? player = + widget.controller?.videoPlayerController; + if (player == null) { + SmartDialog.showToast('播放器未初始化'); + return; + } + var pp = player.platform as NativePlayer; + pp.setProperty("video", "no"); + }, + dense: true, + leading: const Icon(Icons.headphones_outlined, size: 20), + title: const Text('听视频(需返回首页才能终止该状态)', style: titleStyle), + ), ListTile( onTap: () => {Get.back(), showSetVideoQa()}, dense: true, From 9a1fad9b0a99d0d40e465fdc94bf39225cb9de58 Mon Sep 17 00:00:00 2001 From: orz12 Date: Sun, 25 Aug 2024 13:48:34 +0800 Subject: [PATCH 03/20] =?UTF-8?q?feat:=20=E7=99=BB=E5=BD=95=E9=A3=8E?= =?UTF-8?q?=E6=8E=A7=E6=B5=81=E7=A8=8B=E7=BB=A7=E7=BB=AD=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/http/login.dart | 2 +- lib/pages/login/controller.dart | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/http/login.dart b/lib/http/login.dart index c2d4d3cf0..4327bbfa6 100644 --- a/lib/http/login.dart +++ b/lib/http/login.dart @@ -355,7 +355,7 @@ class LoginHttp { required String tmpCode, }) async { var res = await Request().get(Api.safeCenterGetInfo, data: { - tmpCode: tmpCode, + 'tmp_code': tmpCode, }); print(res); if (res.data['code'] == 0) { diff --git a/lib/pages/login/controller.dart b/lib/pages/login/controller.dart index 517c547d0..187d7a691 100644 --- a/lib/pages/login/controller.dart +++ b/lib/pages/login/controller.dart @@ -310,6 +310,7 @@ class LoginPageController extends GetxController Uri currentUri = Uri.parse(Url); var safeCenterRes = await LoginHttp.safeCenterGetInfo( tmpCode: currentUri.queryParameters['tmp_token']!); + //{"code":0,"message":"0","ttl":1,"data":{"account_info":{"hide_tel":"111*****111","hide_mail":"aaa*****aaaa.aaa","bind_mail":true,"bind_tel":true,"tel_verify":true,"mail_verify":true,"unneeded_check":false,"bind_safe_question":false,"mid":1111111},"member_info":{"nickname":"xxxxxxx","face":"https://i0.hdslb.com/bfs/face/xxxxxxx.jpg","realname_status":false},"sns_info":{"bind_google":false,"bind_fb":false,"bind_apple":false,"bind_qq":true,"bind_weibo":true,"bind_wechat":false},"account_safe":{"score":80}}} if (!safeCenterRes['status']) { SmartDialog.showToast("获取安全验证信息失败,请尝试其它登录方式\n" "(${safeCenterRes['code']}) ${safeCenterRes['msg']}"); @@ -317,9 +318,9 @@ class LoginPageController extends GetxController } Map accountInfo = { "telVerify": safeCenterRes['data']['account_info']!['tel_verify'], - "bindTel": safeCenterRes['data']['account_info']!["bind_tel"], + "hindTel": safeCenterRes['data']['account_info']!["hide_tel"], "mailVerify": safeCenterRes['data']['account_info']!['mailVerify'], - "bindMail": safeCenterRes['data']['account_info']!["bind_mail"], + "hindMail": safeCenterRes['data']['account_info']!["hide_mail"], }; TextEditingController _textFieldController = TextEditingController(); String captchaKey = ''; @@ -327,7 +328,7 @@ class LoginPageController extends GetxController title: const Text("本次登录需要验证您的手机号"), content: Column( children:[ - Text(accountInfo['bindTel'] ?? '未能获取手机号'), + Text(accountInfo['hindTel'] ?? '未能获取手机号'), TextField( controller: _textFieldController, decoration: const InputDecoration(hintText: "请输入短信验证码"), From 9130fa63402796e09029986da7de4d4bffcd959b Mon Sep 17 00:00:00 2001 From: orz12 Date: Sun, 25 Aug 2024 13:49:06 +0800 Subject: [PATCH 04/20] =?UTF-8?q?mod:=20=E8=A1=A5=E5=85=85FOREGROUND=5FSER?= =?UTF-8?q?VICE=5FMEDIA=5FPLAYBACK=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- android/app/src/main/AndroidManifest.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 5c175a5a7..55d764ce7 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -191,6 +191,7 @@ +