Compare commits
7 Commits
fix-bangum
...
v1.0.21.03
Author | SHA1 | Date | |
---|---|---|---|
ed0b43eff1 | |||
ab9ae3a481 | |||
d728b1fb6d | |||
12e947ef84 | |||
3fad86e7e3 | |||
fea70011cb | |||
32cdb27f7c |
9
change_log/1.0.21.0306.md
Normal file
9
change_log/1.0.21.0306.md
Normal file
@ -0,0 +1,9 @@
|
||||
## 1.0.21
|
||||
|
||||
### 修复
|
||||
+ 推荐视频全屏问题
|
||||
+ 番剧全屏播放时灰屏问题
|
||||
+ 评论回调导致页面卡死问题
|
||||
|
||||
更多更新日志可在Github上查看
|
||||
问题反馈、功能建议请查看「关于」页面。
|
@ -1,13 +1,13 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
const defaultNavigationBars = [
|
||||
List defaultNavigationBars = [
|
||||
{
|
||||
'id': 0,
|
||||
'icon': Icon(
|
||||
'icon': const Icon(
|
||||
Icons.home_outlined,
|
||||
size: 21,
|
||||
),
|
||||
'selectIcon': Icon(
|
||||
'selectIcon': const Icon(
|
||||
Icons.home,
|
||||
size: 21,
|
||||
),
|
||||
@ -16,11 +16,11 @@ const defaultNavigationBars = [
|
||||
},
|
||||
{
|
||||
'id': 1,
|
||||
'icon': Icon(
|
||||
'icon': const Icon(
|
||||
Icons.motion_photos_on_outlined,
|
||||
size: 21,
|
||||
),
|
||||
'selectIcon': Icon(
|
||||
'selectIcon': const Icon(
|
||||
Icons.motion_photos_on,
|
||||
size: 21,
|
||||
),
|
||||
@ -29,11 +29,11 @@ const defaultNavigationBars = [
|
||||
},
|
||||
{
|
||||
'id': 2,
|
||||
'icon': Icon(
|
||||
'icon': const Icon(
|
||||
Icons.video_collection_outlined,
|
||||
size: 20,
|
||||
),
|
||||
'selectIcon': Icon(
|
||||
'selectIcon': const Icon(
|
||||
Icons.video_collection,
|
||||
size: 21,
|
||||
),
|
||||
|
@ -34,8 +34,6 @@ class HomeController extends GetxController with GetTickerProviderStateMixin {
|
||||
userInfo = userInfoCache.get('userInfoCache');
|
||||
userLogin.value = userInfo != null;
|
||||
userFace.value = userInfo != null ? userInfo.face : '';
|
||||
// 进行tabs配置
|
||||
setTabConfig();
|
||||
hideSearchBar =
|
||||
setting.get(SettingBoxKey.hideSearchBar, defaultValue: true);
|
||||
if (setting.get(SettingBoxKey.enableSearchWord, defaultValue: true)) {
|
||||
@ -43,6 +41,8 @@ class HomeController extends GetxController with GetTickerProviderStateMixin {
|
||||
}
|
||||
enableGradientBg =
|
||||
setting.get(SettingBoxKey.enableGradientBg, defaultValue: true);
|
||||
// 进行tabs配置
|
||||
setTabConfig();
|
||||
}
|
||||
|
||||
void onRefresh() {
|
||||
|
@ -23,7 +23,10 @@ class IntroDetail extends StatelessWidget {
|
||||
sheetHeight = localCache.get('sheetHeight');
|
||||
return Container(
|
||||
color: Theme.of(context).colorScheme.background,
|
||||
padding: const EdgeInsets.only(left: 14, right: 14),
|
||||
padding: EdgeInsets.only(
|
||||
left: 14,
|
||||
right: 14,
|
||||
bottom: MediaQuery.of(context).padding.bottom + 20),
|
||||
height: sheetHeight,
|
||||
child: Column(
|
||||
children: [
|
||||
|
@ -280,7 +280,7 @@ class ReplyItem extends StatelessWidget {
|
||||
// 完成评论,数据添加
|
||||
if (value != null && value['data'] != null)
|
||||
{
|
||||
addReply!(value['data'])
|
||||
addReply?.call(value['data'])
|
||||
// replyControl.replies.add(value['data']),
|
||||
}
|
||||
});
|
||||
@ -531,8 +531,8 @@ InlineSpan buildContent(
|
||||
spanChilds.add(TextSpan(
|
||||
text: str,
|
||||
recognizer: TapGestureRecognizer()
|
||||
..onTap =
|
||||
() => replyReply(replyItem.root == 0 ? replyItem : fReplyItem)));
|
||||
..onTap = () =>
|
||||
replyReply?.call(replyItem.root == 0 ? replyItem : fReplyItem)));
|
||||
}
|
||||
|
||||
// 分割文本并处理每个部分
|
||||
@ -642,6 +642,11 @@ InlineSpan buildContent(
|
||||
} else {
|
||||
final String redirectUrl =
|
||||
await UrlUtils.parseRedirectUrl(matchStr);
|
||||
if (redirectUrl == matchStr) {
|
||||
Clipboard.setData(ClipboardData(text: matchStr));
|
||||
SmartDialog.showToast('地址可能有误');
|
||||
return;
|
||||
}
|
||||
final String pathSegment = Uri.parse(redirectUrl).path;
|
||||
final String lastPathSegment =
|
||||
pathSegment.split('/').last;
|
||||
|
@ -92,7 +92,7 @@ class _VideoReplyReplyPanelState extends State<VideoReplyReplyPanel> {
|
||||
icon: const Icon(Icons.close, size: 20),
|
||||
onPressed: () {
|
||||
_videoReplyReplyController.currentPage = 0;
|
||||
widget.closePanel!();
|
||||
widget.closePanel?.call;
|
||||
Navigator.pop(context);
|
||||
},
|
||||
),
|
||||
@ -184,6 +184,8 @@ class _VideoReplyReplyPanelState extends State<VideoReplyReplyPanel> {
|
||||
.add(replyItem);
|
||||
},
|
||||
replyType: widget.replyType,
|
||||
replyReply: (replyItem) =>
|
||||
replyReply(replyItem),
|
||||
);
|
||||
}
|
||||
},
|
||||
|
@ -79,7 +79,11 @@ class _HeaderControlState extends State<HeaderControl> {
|
||||
} else {
|
||||
showTitle = false;
|
||||
}
|
||||
|
||||
/// TODO setState() called after dispose()
|
||||
if (mounted) {
|
||||
setState(() {});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -14,6 +14,7 @@ class UrlUtils {
|
||||
dio.options.validateStatus = (status) {
|
||||
return status == 200 || status == 301 || status == 302;
|
||||
};
|
||||
try {
|
||||
final response = await dio.get(url);
|
||||
if (response.statusCode == 302) {
|
||||
redirectUrl = response.headers['location']?.first as String;
|
||||
@ -27,6 +28,9 @@ class UrlUtils {
|
||||
return url;
|
||||
}
|
||||
return redirectUrl;
|
||||
} catch (err) {
|
||||
return url;
|
||||
}
|
||||
}
|
||||
|
||||
// 匹配url路由跳转
|
||||
|
@ -16,7 +16,7 @@ publish_to: "none" # Remove this line if you wish to publish to pub.dev
|
||||
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
|
||||
# In Windows, build-name is used as the major, minor, and patch parts
|
||||
# of the product and file versions while build-number is used as the build suffix.
|
||||
version: 1.0.20+1020
|
||||
version: 1.0.21+1021
|
||||
|
||||
environment:
|
||||
sdk: ">=2.19.6 <3.0.0"
|
||||
|
Reference in New Issue
Block a user