mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-06 09:13:48 +08:00
opt: video pic showing
This commit is contained in:
@@ -40,7 +40,7 @@ class NetworkImgLayer extends StatelessWidget {
|
||||
Widget build(BuildContext context) {
|
||||
final int defaultImgQuality = GlobalData().imgQuality;
|
||||
final String imageUrl =
|
||||
'${src!.startsWith('//') ? 'https:${src!}' : src!}@${quality ?? defaultImgQuality}q.webp';
|
||||
'${src?.startsWith('//') == true ? 'https:$src' : src}@${quality ?? defaultImgQuality}q.webp';
|
||||
int? memCacheWidth, memCacheHeight;
|
||||
|
||||
if (width > height || (origAspectRatio != null && origAspectRatio! > 1)) {
|
||||
@@ -66,7 +66,8 @@ class NetworkImgLayer extends StatelessWidget {
|
||||
child: CachedNetworkImage(
|
||||
imageUrl: imageUrl,
|
||||
width: width,
|
||||
height: ignoreHeight == null || ignoreHeight == false? height:null,
|
||||
height:
|
||||
ignoreHeight == null || ignoreHeight == false ? height : null,
|
||||
memCacheWidth: memCacheWidth,
|
||||
memCacheHeight: memCacheHeight,
|
||||
fit: BoxFit.cover,
|
||||
|
||||
@@ -245,7 +245,11 @@ class VideoHttp {
|
||||
var res = await Request().get(Api.videoIntro, data: {'bvid': bvid});
|
||||
VideoDetailResponse result = VideoDetailResponse.fromJson(res.data);
|
||||
if (result.code == 0) {
|
||||
return {'status': true, 'data': result.data!};
|
||||
return {
|
||||
'status': true,
|
||||
'data': result.data!,
|
||||
'pic': result.data?.pic ?? '',
|
||||
};
|
||||
} else {
|
||||
// Map errMap = {
|
||||
// -400: '请求错误',
|
||||
|
||||
@@ -30,7 +30,7 @@ class VideoDetailController extends GetxController
|
||||
RxInt danmakuCid = 0.obs;
|
||||
String heroTag = Get.arguments['heroTag'];
|
||||
// 视频详情
|
||||
Map videoItem = {};
|
||||
RxMap videoItem = {}.obs;
|
||||
// 视频类型 默认投稿视频
|
||||
SearchType videoType = Get.arguments['videoType'] ?? SearchType.video;
|
||||
|
||||
|
||||
@@ -114,11 +114,15 @@ class VideoIntroController extends GetxController {
|
||||
queryVideoIntro();
|
||||
}
|
||||
|
||||
late final videoDetailController =
|
||||
Get.find<VideoDetailController>(tag: heroTag);
|
||||
|
||||
// 获取视频简介&分p
|
||||
void queryVideoIntro() async {
|
||||
var result = await VideoHttp.videoIntro(bvid: bvid);
|
||||
if (result['status']) {
|
||||
videoDetail.value = result['data']!;
|
||||
videoDetailController.videoItem['pic'] = result['pic']!;
|
||||
if (videoDetail.value.pages != null &&
|
||||
videoDetail.value.pages!.isNotEmpty &&
|
||||
lastPlayCid.value == 0) {
|
||||
|
||||
@@ -130,4 +130,10 @@ class VideoReplyController extends GetxController {
|
||||
void animToTop() {
|
||||
scrollController.animToTop();
|
||||
}
|
||||
|
||||
@override
|
||||
void onClose() {
|
||||
scrollController.dispose();
|
||||
super.onClose();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -677,7 +677,8 @@ class _VideoDetailPageState extends State<VideoDetailPage>
|
||||
right: 0,
|
||||
child: GestureDetector(
|
||||
onTap: handlePlay,
|
||||
child: NetworkImgLayer(
|
||||
child: Obx(
|
||||
() => NetworkImgLayer(
|
||||
type: 'emote',
|
||||
src: videoDetailController
|
||||
.videoItem['pic'],
|
||||
@@ -688,6 +689,7 @@ class _VideoDetailPageState extends State<VideoDetailPage>
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
manualPlayerWidget,
|
||||
]
|
||||
],
|
||||
@@ -798,7 +800,8 @@ class _VideoDetailPageState extends State<VideoDetailPage>
|
||||
right: 0,
|
||||
child: GestureDetector(
|
||||
onTap: handlePlay,
|
||||
child: NetworkImgLayer(
|
||||
child: Obx(
|
||||
() => NetworkImgLayer(
|
||||
type: 'emote',
|
||||
src: videoDetailController.videoItem['pic'],
|
||||
width: videoWidth,
|
||||
@@ -808,6 +811,7 @@ class _VideoDetailPageState extends State<VideoDetailPage>
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
manualPlayerWidget,
|
||||
]
|
||||
]),
|
||||
@@ -897,7 +901,8 @@ class _VideoDetailPageState extends State<VideoDetailPage>
|
||||
right: 0,
|
||||
child: GestureDetector(
|
||||
onTap: handlePlay,
|
||||
child: NetworkImgLayer(
|
||||
child: Obx(
|
||||
() => NetworkImgLayer(
|
||||
type: 'emote',
|
||||
src: videoDetailController.videoItem['pic'],
|
||||
width: videoWidth,
|
||||
@@ -907,6 +912,7 @@ class _VideoDetailPageState extends State<VideoDetailPage>
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
manualPlayerWidget,
|
||||
]
|
||||
]),
|
||||
@@ -993,7 +999,8 @@ class _VideoDetailPageState extends State<VideoDetailPage>
|
||||
right: 0,
|
||||
child: GestureDetector(
|
||||
onTap: handlePlay,
|
||||
child: NetworkImgLayer(
|
||||
child: Obx(
|
||||
() => NetworkImgLayer(
|
||||
type: 'emote',
|
||||
src: videoDetailController.videoItem['pic'],
|
||||
width: videoWidth,
|
||||
@@ -1003,6 +1010,7 @@ class _VideoDetailPageState extends State<VideoDetailPage>
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
manualPlayerWidget,
|
||||
]
|
||||
],
|
||||
@@ -1097,7 +1105,8 @@ class _VideoDetailPageState extends State<VideoDetailPage>
|
||||
right: 0,
|
||||
child: GestureDetector(
|
||||
onTap: handlePlay,
|
||||
child: NetworkImgLayer(
|
||||
child: Obx(
|
||||
() => NetworkImgLayer(
|
||||
type: 'emote',
|
||||
src: videoDetailController
|
||||
.videoItem['pic'],
|
||||
@@ -1108,6 +1117,7 @@ class _VideoDetailPageState extends State<VideoDetailPage>
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
manualPlayerWidget,
|
||||
]
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user