fix: 新增更多判空位置

This commit is contained in:
orz12
2024-02-26 10:14:13 +08:00
parent 11988a4f8e
commit 390046116b
10 changed files with 27 additions and 19 deletions

View File

@@ -147,7 +147,11 @@ class UserHttp {
// 观看历史暂停状态 // 观看历史暂停状态
static Future historyStatus() async { static Future historyStatus() async {
var res = await Request().get(Api.historyStatus); var res = await Request().get(Api.historyStatus);
return res; if (res.data['code'] == 0) {
return {'status': true, 'data': res.data['data']};
} else {
return {'status': false, 'data': [], 'msg': res.data['message']};
}
} }
// 清空历史记录 // 清空历史记录

View File

@@ -215,6 +215,10 @@ class AboutController extends GetxController {
// 获取远程版本 // 获取远程版本
Future getRemoteApp() async { Future getRemoteApp() async {
var result = await Request().get(Api.latestApp, extra: {'ua': 'pc'}); var result = await Request().get(Api.latestApp, extra: {'ua': 'pc'});
if (result.data.isEmpty) {
SmartDialog.showToast('检查更新失败github接口未返回数据请检查网络');
return false;
}
data = LatestDataModel.fromJson(result.data[0]); data = LatestDataModel.fromJson(result.data[0]);
remoteAppInfo = data; remoteAppInfo = data;
remoteVersion.value = data.tagName!; remoteVersion.value = data.tagName!;

View File

@@ -88,8 +88,12 @@ class HistoryController extends GetxController {
// 观看历史暂停状态 // 观看历史暂停状态
Future historyStatus() async { Future historyStatus() async {
var res = await UserHttp.historyStatus(); var res = await UserHttp.historyStatus();
pauseStatus.value = res.data['data']; if (res['status']) {
localCache.put(LocalCacheKey.historyPause, res.data['data']); pauseStatus.value = res['data'];
localCache.put(LocalCacheKey.historyPause, res['data']);
} else {
SmartDialog.showToast(res['msg']);
}
} }
// 清空观看历史 // 清空观看历史

View File

@@ -44,9 +44,7 @@ class _LiveRoomPageState extends State<LiveRoomPage> {
@override @override
void dispose() { void dispose() {
plPlayerController!.dispose(); plPlayerController!.dispose();
if (floating != null) { floating?.dispose();
floating!.dispose();
}
super.dispose(); super.dispose();
} }

View File

@@ -1,5 +1,4 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:PiliPalaX/common/widgets/network_img_layer.dart'; import 'package:PiliPalaX/common/widgets/network_img_layer.dart';
import 'package:PiliPalaX/models/live/item.dart'; import 'package:PiliPalaX/models/live/item.dart';

View File

@@ -218,9 +218,7 @@ class _VideoDetailPageState extends State<VideoDetailPage>
fullScreenStatusListener.cancel(); fullScreenStatusListener.cancel();
plPlayerController!.dispose(); plPlayerController!.dispose();
} }
if (videoDetailController.floating != null) { videoDetailController.floating?.dispose();
videoDetailController.floating!.dispose();
}
videoPlayerServiceHandler.onVideoDetailDispose(); videoPlayerServiceHandler.onVideoDetailDispose();
floating.dispose(); floating.dispose();
_lifecycleListener.dispose(); _lifecycleListener.dispose();

View File

@@ -3,7 +3,6 @@ import 'dart:math';
import 'package:floating/floating.dart'; import 'package:floating/floating.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
@@ -1204,13 +1203,9 @@ class _HeaderControlState extends State<HeaderControl> {
padding: MaterialStateProperty.all(EdgeInsets.zero), padding: MaterialStateProperty.all(EdgeInsets.zero),
), ),
onPressed: () async { onPressed: () async {
bool canUsePiP = false; bool canUsePiP = widget.floating != null &&
await widget.floating!.isPipAvailable;
widget.controller!.hiddenControls(false); widget.controller!.hiddenControls(false);
try {
canUsePiP = await widget.floating!.isPipAvailable;
} on PlatformException catch (_) {
canUsePiP = false;
}
if (canUsePiP) { if (canUsePiP) {
final Rational aspectRatio = Rational( final Rational aspectRatio = Rational(
widget.videoDetailCtr!.data.dash!.video!.first.width!, widget.videoDetailCtr!.data.dash!.video!.first.width!,

View File

@@ -638,7 +638,7 @@ class PlPlayerController {
Timer.periodic(const Duration(milliseconds: 200), (Timer t) async { Timer.periodic(const Duration(milliseconds: 200), (Timer t) async {
//_timerForSeek = null; //_timerForSeek = null;
if (duration.value.inSeconds != 0) { if (duration.value.inSeconds != 0) {
await _videoPlayerController!.stream.buffer.first; await _videoPlayerController?.stream.buffer.first;
await _videoPlayerController?.seek(position); await _videoPlayerController?.seek(position);
// if (playerStatus.status.value == PlayerStatus.paused) { // if (playerStatus.status.value == PlayerStatus.paused) {
// play(); // play();

View File

@@ -15,6 +15,8 @@ class Data {
return; return;
} }
var res = await UserHttp.historyStatus(); var res = await UserHttp.historyStatus();
localCache.put(LocalCacheKey.historyPause, res.data['data']); if (res['status']) {
localCache.put(LocalCacheKey.historyPause, res['data']);
}
} }
} }

View File

@@ -230,6 +230,10 @@ class Utils {
SmartDialog.dismiss(); SmartDialog.dismiss();
var currentInfo = await PackageInfo.fromPlatform(); var currentInfo = await PackageInfo.fromPlatform();
var result = await Request().get(Api.latestApp, extra: {'ua': 'mob'}); var result = await Request().get(Api.latestApp, extra: {'ua': 'mob'});
if (result.data.isEmpty) {
SmartDialog.showToast('检查更新失败github接口未返回数据请检查网络');
return false;
}
LatestDataModel data = LatestDataModel.fromJson(result.data[0]); LatestDataModel data = LatestDataModel.fromJson(result.data[0]);
String buildNumber = currentInfo.buildNumber; String buildNumber = currentInfo.buildNumber;
if (Platform.isAndroid) { if (Platform.isAndroid) {