Merge branch 'fix' into alpha
This commit is contained in:
@ -128,7 +128,8 @@ class VideoItem {
|
||||
VideoItem.fromJson(Map<String, dynamic> json) {
|
||||
id = json['id'];
|
||||
baseUrl = json['baseUrl'];
|
||||
backupUrl = json['backupUrl'].toList().first;
|
||||
backupUrl =
|
||||
json['backupUrl'] != null ? json['backupUrl'].toList().first : '';
|
||||
bandWidth = json['bandWidth'];
|
||||
mimeType = json['mime_type'];
|
||||
codecs = json['codecs'];
|
||||
@ -179,7 +180,8 @@ class AudioItem {
|
||||
AudioItem.fromJson(Map<String, dynamic> json) {
|
||||
id = json['id'];
|
||||
baseUrl = json['baseUrl'];
|
||||
backupUrl = json['backupUrl'].toList().first;
|
||||
backupUrl =
|
||||
json['backupUrl'] != null ? json['backupUrl'].toList().first : '';
|
||||
bandWidth = json['bandWidth'];
|
||||
mimeType = json['mime_type'];
|
||||
codecs = json['codecs'];
|
||||
|
@ -42,13 +42,17 @@ Widget articlePanel(item, context, {floor = 1}) {
|
||||
.copyWith(fontWeight: FontWeight.bold),
|
||||
),
|
||||
const SizedBox(height: 2),
|
||||
if (item.modules.moduleDynamic.major.opus.summary.text != 'undefined')
|
||||
if (item.modules.moduleDynamic.major.opus.summary.text !=
|
||||
'undefined') ...[
|
||||
Text(
|
||||
item.modules.moduleDynamic.major.opus.summary.richTextNodes.first
|
||||
.text,
|
||||
maxLines: 4,
|
||||
style: const TextStyle(height: 1.55),
|
||||
overflow: TextOverflow.ellipsis,
|
||||
),
|
||||
const SizedBox(height: 2),
|
||||
],
|
||||
picWidget(item, context)
|
||||
],
|
||||
),
|
||||
|
@ -44,27 +44,25 @@ Widget picWidget(item, context) {
|
||||
double maxWidth = box.maxWidth;
|
||||
double aspectRatio = 1.0;
|
||||
double origAspectRatio = 0.0;
|
||||
double crossCount = len == 1
|
||||
? 1
|
||||
: len < 3
|
||||
? 2
|
||||
: 3;
|
||||
double crossCount = 3;
|
||||
|
||||
double height = 0.0;
|
||||
if (len == 1) {
|
||||
origAspectRatio =
|
||||
aspectRatio = pictures.first.width / pictures.first.height;
|
||||
try {
|
||||
origAspectRatio =
|
||||
aspectRatio = pictures.first.width / pictures.first.height;
|
||||
} catch (_) {}
|
||||
if (aspectRatio < 0.4) {
|
||||
aspectRatio = 0.4;
|
||||
}
|
||||
height = pictures.first.height * maxWidth / pictures.first.width;
|
||||
if (origAspectRatio < 0.5 || pictures.first.width < 1920) {
|
||||
crossCount = 2;
|
||||
height = maxWidth / 2 / aspectRatio;
|
||||
}
|
||||
} else {
|
||||
aspectRatio = 1;
|
||||
height = maxWidth / crossCount * ((len / crossCount).ceil()) + 6;
|
||||
height =
|
||||
maxWidth / crossCount * ((len + crossCount - 1) ~/ crossCount) + 6;
|
||||
}
|
||||
return Container(
|
||||
padding: const EdgeInsets.only(top: 4),
|
||||
|
@ -56,9 +56,19 @@ class SearchPanelController extends GetxController {
|
||||
// 匹配输入内容,如果是AV、BV号且有结果 直接跳转详情页
|
||||
Map matchRes = IdUtils.matchAvorBv(input: keyword);
|
||||
List matchKeys = matchRes.keys.toList();
|
||||
String bvid = resultList.first.bvid;
|
||||
String? bvid;
|
||||
try {
|
||||
bvid = resultList.first.bvid;
|
||||
} catch (_) {
|
||||
bvid = null;
|
||||
}
|
||||
// keyword 可能输入纯数字
|
||||
int aid = resultList.first.aid;
|
||||
int? aid;
|
||||
try {
|
||||
aid = resultList.first.aid;
|
||||
} catch (_) {
|
||||
aid = null;
|
||||
}
|
||||
if (matchKeys.isNotEmpty && searchType == SearchType.video ||
|
||||
aid.toString() == keyword) {
|
||||
String heroTag = Utils.makeHeroTag(bvid);
|
||||
|
@ -55,7 +55,7 @@ class VideoIntroController extends GetxController {
|
||||
|
||||
// 同时观看
|
||||
bool isShowOnlineTotal = false;
|
||||
RxInt totel = 1.obs;
|
||||
RxString total = '1'.obs;
|
||||
Timer? timer;
|
||||
bool isPaused = false;
|
||||
|
||||
@ -474,7 +474,7 @@ class VideoIntroController extends GetxController {
|
||||
cid: lastPlayCid.value,
|
||||
);
|
||||
if (result['status']) {
|
||||
totel.value = int.parse(result['data']['total']);
|
||||
total.value = result['data']['total'];
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -312,7 +312,7 @@ class _VideoInfoState extends State<VideoInfo> with TickerProviderStateMixin {
|
||||
if (videoIntroController.isShowOnlineTotal)
|
||||
Obx(
|
||||
() => Text(
|
||||
'${videoIntroController.totel.value}人在看',
|
||||
'${videoIntroController.total.value}人在看',
|
||||
style: TextStyle(
|
||||
fontSize: 12,
|
||||
color: t.colorScheme.outline,
|
||||
|
Reference in New Issue
Block a user