Skip to content

Commit

Permalink
fix: 搜索结果类型为课堂时渲染异常
Browse files Browse the repository at this point in the history
  • Loading branch information
guozhigq committed Mar 8, 2024
1 parent df4539a commit 504be6f
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 10 deletions.
28 changes: 22 additions & 6 deletions lib/common/widgets/video_card_h.dart
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,10 @@ class VideoCardH extends StatelessWidget {
Widget build(BuildContext context) {
final int aid = videoItem.aid;
final String bvid = videoItem.bvid;
String type = 'video';
try {
type = videoItem.type;
} catch (_) {}
final String heroTag = Utils.makeHeroTag(aid);
return GestureDetector(
onLongPress: () {
Expand All @@ -53,6 +57,10 @@ class VideoCardH extends StatelessWidget {
child: InkWell(
onTap: () async {
try {
if (type == 'ketang') {
SmartDialog.showToast('课堂视频暂不支持播放');
return;
}
final int cid =
videoItem.cid ?? await SearchHttp.ab2c(aid: aid, bvid: bvid);
Get.toNamed('/video?bvid=$bvid&cid=$cid',
Expand Down Expand Up @@ -95,12 +103,20 @@ class VideoCardH extends StatelessWidget {
height: maxHeight,
),
),
PBadge(
text: Utils.timeFormat(videoItem.duration!),
right: 6.0,
bottom: 6.0,
type: 'gray',
),
if (videoItem.duration != 0)
PBadge(
text: Utils.timeFormat(videoItem.duration!),
right: 6.0,
bottom: 6.0,
type: 'gray',
),
if (type != 'video')
PBadge(
text: type,
left: 6.0,
bottom: 6.0,
type: 'primary',
),
// if (videoItem.rcmdReason != null &&
// videoItem.rcmdReason.content != '')
// pBadge(videoItem.rcmdReason.content, context,
Expand Down
4 changes: 3 additions & 1 deletion lib/models/search/result.dart
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,9 @@ class SearchVideoItemModel {
// title = json['title'].replaceAll(RegExp(r'<.*?>'), '');
title = Em.regTitle(json['title']);
description = json['description'];
pic = 'https:${json['pic']}';
pic = json['pic'] != null && json['pic'].startsWith('//')
? 'https:${json['pic']}'
: json['pic'] ?? '';
videoReview = json['video_review'];
pubdate = json['pubdate'];
senddate = json['senddate'];
Expand Down
12 changes: 9 additions & 3 deletions lib/utils/utils.dart
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,9 @@ class Utils {
return time;
}
if (time < 3600) {
if (time == 0) {
return time;
}
final int minute = time ~/ 60;
final double res = time / 60;
if (minute != res) {
Expand Down Expand Up @@ -87,6 +90,9 @@ class Utils {

// 时间显示,刚刚,x分钟前
static String dateFormat(timeStamp, {formatType = 'list'}) {
if (timeStamp == 0 || timeStamp == null || timeStamp == '') {
return '';
}
// 当前时间
int time = (DateTime.now().millisecondsSinceEpoch / 1000).round();
// 对比
Expand All @@ -103,6 +109,7 @@ class Utils {
toInt: false,
formatType: formatType);
}
print('distance: $distance');
if (distance <= 60) {
return '刚刚';
} else if (distance <= 3600) {
Expand Down Expand Up @@ -344,9 +351,8 @@ class Utils {
}

static List<int> generateRandomBytes(int minLength, int maxLength) {
return List<int>.generate(
random.nextInt(maxLength-minLength+1), (_) => random.nextInt(0x60) + 0x20
);
return List<int>.generate(random.nextInt(maxLength - minLength + 1),
(_) => random.nextInt(0x60) + 0x20);
}

static String base64EncodeRandomString(int minLength, int maxLength) {
Expand Down

0 comments on commit 504be6f

Please sign in to comment.