Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-05-31 15:30:50 +08:00
parent 1462e6ecf1
commit 19bbdaac65
10 changed files with 113 additions and 134 deletions

View File

@@ -60,21 +60,13 @@ class VideoCardH extends StatelessWidget {
label: Utils.videoItemSemantics(videoItem), label: Utils.videoItemSemantics(videoItem),
excludeSemantics: true, excludeSemantics: true,
child: InkWell( child: InkWell(
onLongPress: () { onLongPress: onLongPress ??
if (onLongPress != null) { () => imageSaveDialog(
onLongPress!();
} else {
imageSaveDialog(
title: videoItem.title, title: videoItem.title,
cover: videoItem.pic, cover: videoItem.pic,
); ),
} onTap: onTap ??
}, () async {
onTap: () async {
if (onTap != null) {
onTap!();
return;
}
if (type == 'ketang') { if (type == 'ketang') {
SmartDialog.showToast('课堂视频暂不支持播放'); SmartDialog.showToast('课堂视频暂不支持播放');
return; return;

View File

@@ -37,12 +37,10 @@ class VideoCardHMemberVideo extends StatelessWidget {
title: videoItem.title, title: videoItem.title,
cover: videoItem.cover, cover: videoItem.cover,
), ),
onTap: () async { onTap: onTap ??
if (onTap != null) { () async {
onTap!(); if (videoItem.isPgc == true &&
return; videoItem.uri?.isNotEmpty == true) {
}
if (videoItem.isPgc == true && videoItem.uri?.isNotEmpty == true) {
if (PageUtils.viewPgcFromUri(videoItem.uri!)) { if (PageUtils.viewPgcFromUri(videoItem.uri!)) {
return; return;
} }

View File

@@ -215,14 +215,13 @@ class SearchHttp {
dynamic seasonId, dynamic seasonId,
dynamic epId, dynamic epId,
}) async { }) async {
final Map<String, dynamic> data = {}; var res = await Request().get(
if (seasonId != null) { Api.bangumiInfo,
data['season_id'] = seasonId; queryParameters: {
} else if (epId != null) { if (seasonId != null) 'season_id': seasonId,
data['ep_id'] = epId; if (epId != null) 'ep_id': epId,
} },
var res = await Request().get(Api.bangumiInfo, queryParameters: data); );
if (res.data['code'] == 0) { if (res.data['code'] == 0) {
return { return {
'status': true, 'status': true,

View File

@@ -149,10 +149,9 @@ class _UpPanelState extends State<UpPanel> {
} }
}, },
onDoubleTap: data is LiveUserItem ? () => _onSelect(data) : null, onDoubleTap: data is LiveUserItem ? () => _onSelect(data) : null,
onLongPress: () { onLongPress: data.mid == -1
if (data.mid == -1) { ? null
return; : () {
}
String heroTag = Utils.makeHeroTag(data.mid); String heroTag = Utils.makeHeroTag(data.mid);
Get.toNamed('/member?mid=${data.mid}', Get.toNamed('/member?mid=${data.mid}',
arguments: {'face': data.face, 'heroTag': heroTag}); arguments: {'face': data.face, 'heroTag': heroTag});

View File

@@ -35,12 +35,8 @@ class FavVideoCardH extends StatelessWidget {
return InkWell( return InkWell(
onTap: isSort == true onTap: isSort == true
? null ? null
: () async { : onTap ??
if (onTap != null) { () {
onTap!();
return;
}
if (!const [0, 16].contains(videoItem.attr)) { if (!const [0, 16].contains(videoItem.attr)) {
Get.toNamed('/member?mid=${videoItem.owner.mid}'); Get.toNamed('/member?mid=${videoItem.owner.mid}');
return; return;
@@ -59,16 +55,11 @@ class FavVideoCardH extends StatelessWidget {
}, },
onLongPress: isSort == true onLongPress: isSort == true
? null ? null
: () { : onLongPress ??
if (onLongPress != null) { () => imageSaveDialog(
onLongPress!();
} else {
imageSaveDialog(
title: videoItem.title, title: videoItem.title,
cover: videoItem.pic, cover: videoItem.pic,
); ),
}
},
child: Padding( child: Padding(
padding: const EdgeInsets.symmetric( padding: const EdgeInsets.symmetric(
horizontal: StyleString.safeSpace, horizontal: StyleString.safeSpace,

View File

@@ -173,7 +173,7 @@ class _IntroDetailState extends CommonCollapseSlidePageState<IntroDetail> {
'/searchResult', '/searchResult',
parameters: {'keyword': tagName}, parameters: {'keyword': tagName},
), ),
onLongPress: (tagName) => Utils.copyText(tagName), onLongPress: Utils.copyText,
), ),
) )
.toList(), .toList(),

View File

@@ -719,8 +719,7 @@ class _VideoInfoState extends State<VideoInfo> {
'/searchResult', '/searchResult',
parameters: {'keyword': tagName}, parameters: {'keyword': tagName},
), ),
onLongPress: (tagName) => onLongPress: Utils.copyText,
Utils.copyText(tagName),
), ),
) )
.toList(), .toList(),

View File

@@ -145,9 +145,9 @@ class ActionItemState extends State<ActionItem>
widget.onTap?.call(); widget.onTap?.call();
}, },
onLongPress: _isThumbsUp ? null : widget.onLongPress, onLongPress: _isThumbsUp ? null : widget.onLongPress,
onTapDown: (details) => _isThumbsUp ? _startLongPress() : null, onTapDown: _isThumbsUp ? (details) => _startLongPress() : null,
onTapUp: (details) => _isThumbsUp ? _cancelLongPress() : null, onTapUp: _isThumbsUp ? (details) => _cancelLongPress() : null,
onTapCancel: () => _isThumbsUp ? _cancelLongPress(true) : null, onTapCancel: _isThumbsUp ? () => _cancelLongPress(true) : null,
child: Column( child: Column(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [

View File

@@ -87,7 +87,8 @@ class PiliScheme {
PageUtils.viewBangumi( PageUtils.viewBangumi(
seasonId: isEp ? null : id, seasonId: isEp ? null : id,
epId: isEp ? id : null, epId: isEp ? id : null,
progress: uri.queryParameters['start_progress']); progress: uri.queryParameters['start_progress'],
);
return true; return true;
} }
return false; return false;

View File

@@ -697,7 +697,7 @@ class PageUtils {
} }
static Future<void> viewBangumi( static Future<void> viewBangumi(
{dynamic seasonId, dynamic epId, dynamic progress}) async { {dynamic seasonId, dynamic epId, String? progress}) async {
try { try {
SmartDialog.showLoading(msg: '资源获取中'); SmartDialog.showLoading(msg: '资源获取中');
var result = await SearchHttp.bangumiInfo(seasonId: seasonId, epId: epId); var result = await SearchHttp.bangumiInfo(seasonId: seasonId, epId: epId);