diff --git a/lib/common/skeleton/skeleton.dart b/lib/common/skeleton/skeleton.dart index e3f5edb2f..a2bcf8c75 100644 --- a/lib/common/skeleton/skeleton.dart +++ b/lib/common/skeleton/skeleton.dart @@ -11,7 +11,7 @@ class Skeleton extends StatelessWidget { @override Widget build(BuildContext context) { final color = Theme.of(context).colorScheme.surface.withAlpha(10); - var shimmerGradient = LinearGradient( + final shimmerGradient = LinearGradient( colors: [ Colors.transparent, color, diff --git a/lib/common/widgets/dialog/report_member.dart b/lib/common/widgets/dialog/report_member.dart index b79c69f4b..2918b1fa2 100644 --- a/lib/common/widgets/dialog/report_member.dart +++ b/lib/common/widgets/dialog/report_member.dart @@ -151,7 +151,7 @@ Future showMemberReportDialog( SmartDialog.showToast('至少选择一项作为举报内容'); } else { Get.back(); - var result = await MemberHttp.reportMember( + final result = await MemberHttp.reportMember( mid, reason: reason.join(','), reasonV2: reasonV2 != null ? reasonV2! + 1 : null, diff --git a/lib/common/widgets/flutter/text_field/controller.dart b/lib/common/widgets/flutter/text_field/controller.dart index 2f64c940c..d2becc817 100644 --- a/lib/common/widgets/flutter/text_field/controller.dart +++ b/lib/common/widgets/flutter/text_field/controller.dart @@ -50,7 +50,7 @@ mixin RichTextTypeMixin { extension TextEditingDeltaExt on TextEditingDelta { ({RichTextType type, String? rawText, Emote? emote, String? id}) get config { - if (this case RichTextTypeMixin e) { + if (this case final RichTextTypeMixin e) { return (type: e.type, rawText: e.rawText, emote: e.emote, id: e.id); } return ( @@ -62,7 +62,7 @@ extension TextEditingDeltaExt on TextEditingDelta { } bool get isText { - if (this case RichTextTypeMixin e) { + if (this case final RichTextTypeMixin e) { return e.type == RichTextType.text; } return !composing.isValid; @@ -588,7 +588,7 @@ class RichTextEditingController extends TextEditingController { return ''; } final buffer = StringBuffer(); - for (var e in items) { + for (final e in items) { buffer.write(e.text); } return buffer.toString(); @@ -599,7 +599,7 @@ class RichTextEditingController extends TextEditingController { return ''; } final buffer = StringBuffer(); - for (var e in items) { + for (final e in items) { if (e.type == RichTextType.at) { buffer.write(e.text); } else { @@ -708,7 +708,7 @@ class RichTextEditingController extends TextEditingController { items.insertAll(addIndex, toAdd); } if (toDel != null && toDel.isNotEmpty) { - for (var item in toDel) { + for (final item in toDel) { items.remove(item); } } @@ -736,7 +736,7 @@ class RichTextEditingController extends TextEditingController { // bool isValid = true; // int cursor = 0; - // for (var e in items) { + // for (final e in items) { // final range = e.range; // if (range.start == cursor) { // cursor = range.end; @@ -846,7 +846,7 @@ class RichTextEditingController extends TextEditingController { TextPosition dragOffset(TextPosition position) { final offset = position.offset; - for (var e in items) { + for (final e in items) { final range = e.range; if (offset >= range.end) { continue; @@ -866,7 +866,7 @@ class RichTextEditingController extends TextEditingController { } int tapOffsetSimple(int offset) { - for (var e in items) { + for (final e in items) { final range = e.range; if (offset >= range.end) { continue; @@ -891,7 +891,7 @@ class RichTextEditingController extends TextEditingController { required Offset localPos, required Offset lastTapDownPosition, }) { - for (var e in items) { + for (final e in items) { final range = e.range; if (offset >= range.end) { continue; @@ -930,7 +930,7 @@ class RichTextEditingController extends TextEditingController { int startOffset, int endOffset, ) { - for (var e in items) { + for (final e in items) { final range = e.range; if (startOffset >= range.end) { continue; @@ -963,7 +963,7 @@ class RichTextEditingController extends TextEditingController { TextSelection keyboardOffset(TextSelection newSelection) { final offset = newSelection.baseOffset; - for (var e in items) { + for (final e in items) { final range = e.range; if (offset >= range.end) { continue; @@ -994,7 +994,7 @@ class RichTextEditingController extends TextEditingController { final startOffset = newSelection.start; final endOffset = newSelection.end; final isNormalized = newSelection.baseOffset < newSelection.extentOffset; - for (var e in items) { + for (final e in items) { final range = e.range; if (startOffset >= range.end) { continue; @@ -1046,7 +1046,7 @@ class RichTextEditingController extends TextEditingController { String text = ''; final start = selection.start; final end = selection.end; - for (var e in items) { + for (final e in items) { final range = e.range; if (start >= range.end) { continue; diff --git a/lib/common/widgets/interactiveviewer_gallery/interactiveviewer_gallery.dart b/lib/common/widgets/interactiveviewer_gallery/interactiveviewer_gallery.dart index 01e29386f..0ca8661a0 100644 --- a/lib/common/widgets/interactiveviewer_gallery/interactiveviewer_gallery.dart +++ b/lib/common/widgets/interactiveviewer_gallery/interactiveviewer_gallery.dart @@ -123,7 +123,7 @@ class _InteractiveviewerGalleryState extends State ..removeListener(listener) ..dispose(); _transformationController.dispose(); - for (var item in widget.sources) { + for (final item in widget.sources) { if (item.sourceType == SourceType.networkImage) { CachedNetworkImageProvider(_getActualUrl(item.url)).evict(); } @@ -197,7 +197,7 @@ class _InteractiveviewerGalleryState extends State void _onPageChanged(int page) { _player?.pause(); currentIndex.value = page; - var item = widget.sources[page]; + final item = widget.sources[page]; if (item.sourceType == SourceType.livePhoto) { _onPlay(item.liveUrl!); } diff --git a/lib/common/widgets/progress_bar/audio_video_progress_bar.dart b/lib/common/widgets/progress_bar/audio_video_progress_bar.dart index e6f1b5815..813a660e5 100644 --- a/lib/common/widgets/progress_bar/audio_video_progress_bar.dart +++ b/lib/common/widgets/progress_bar/audio_video_progress_bar.dart @@ -763,7 +763,7 @@ class _RenderProgressBar extends RenderBox { final adjustedWidth = availableSize.width - barHeight; final dx = widthProportion * adjustedWidth + capRadius; final startPoint = Offset(capRadius, availableSize.height / 2); - var endPoint = Offset(dx, availableSize.height / 2); + final endPoint = Offset(dx, availableSize.height / 2); canvas.drawLine(startPoint, endPoint, baseBarPaint); } diff --git a/lib/common/widgets/video_card/video_card_h.dart b/lib/common/widgets/video_card/video_card_h.dart index 9507aaec6..861069fc5 100644 --- a/lib/common/widgets/video_card/video_card_h.dart +++ b/lib/common/widgets/video_card/video_card_h.dart @@ -36,8 +36,8 @@ class VideoCardH extends StatelessWidget { Widget build(BuildContext context) { String type = 'video'; String? badge; - if (videoItem case SearchVideoItemModel item) { - var typeOrNull = item.type; + if (videoItem case final SearchVideoItemModel item) { + final typeOrNull = item.type; if (typeOrNull != null && typeOrNull.isNotEmpty) { type = typeOrNull; if (type == 'ketang') { @@ -49,7 +49,7 @@ class VideoCardH extends StatelessWidget { if (item.isUnionVideo == 1) { badge = '合作'; } - } else if (videoItem case HotVideoItemModel item) { + } else if (videoItem case final HotVideoItemModel item) { if (item.isCharging == true) { badge = '充电专属'; } else if (item.isCooperation == 1) { @@ -78,7 +78,7 @@ class VideoCardH extends StatelessWidget { PageUtils.viewPugv(seasonId: videoItem.aid); return; } else if (type == 'live_room') { - if (videoItem case SearchVideoItemModel item) { + if (videoItem case final SearchVideoItemModel item) { int? roomId = item.id; if (roomId != null) { PageUtils.toLiveRoom(roomId); @@ -90,7 +90,7 @@ class VideoCardH extends StatelessWidget { } return; } - if (videoItem case HotVideoItemModel item) { + if (videoItem case final HotVideoItemModel item) { if (item.redirectUrl?.isNotEmpty == true && PageUtils.viewPgcFromUri(item.redirectUrl!)) { return; @@ -131,7 +131,7 @@ class VideoCardH extends StatelessWidget { final double maxWidth = boxConstraints.maxWidth; final double maxHeight = boxConstraints.maxHeight; num? progress; - if (videoItem case HotVideoItemModel item) { + if (videoItem case final HotVideoItemModel item) { progress = item.progress; } @@ -215,7 +215,7 @@ class VideoCardH extends StatelessWidget { child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - if (videoItem case SearchVideoItemModel item) ...[ + if (videoItem case final SearchVideoItemModel item) ...[ if (item.titleList?.isNotEmpty == true) Expanded( child: Text.rich( diff --git a/lib/common/widgets/video_popup_menu.dart b/lib/common/widgets/video_popup_menu.dart index 5634597a7..5e969f9aa 100644 --- a/lib/common/widgets/video_popup_menu.dart +++ b/lib/common/widgets/video_popup_menu.dart @@ -71,7 +71,7 @@ class VideoPopupMenu extends StatelessWidget { '稍后再看', const Icon(MdiIcons.clockTimeEightOutline, size: 16), () async { - var res = await UserHttp.toViewLater( + final res = await UserHttp.toViewLater( bvid: videoItem.bvid, ); SmartDialog.showToast(res['msg']); @@ -149,7 +149,7 @@ class VideoPopupMenu extends StatelessWidget { SmartDialog.showToast("请退出账号后重新登录"); return; } - if (videoItem case RecVideoItemAppModel item) { + if (videoItem case final RecVideoItemAppModel item) { ThreePoint? tp = item.threePoint; if (tp == null) { SmartDialog.showToast("未能获取threePoint"); @@ -168,7 +168,7 @@ class VideoPopupMenu extends StatelessWidget { onTap: (_) async { Get.back(); SmartDialog.showLoading(msg: '正在提交'); - var res = await VideoHttp.feedDislike( + final res = await VideoHttp.feedDislike( reasonId: r?.id, feedbackId: f?.id, id: item.param!, @@ -227,7 +227,7 @@ class VideoPopupMenu extends StatelessWidget { SmartDialog.showLoading( msg: '正在提交', ); - var res = + final res = await VideoHttp.feedDislikeCancel( id: item.param!, goto: item.goto!, @@ -274,7 +274,7 @@ class VideoPopupMenu extends StatelessWidget { SmartDialog.showLoading( msg: '正在提交', ); - var res = + final res = await VideoHttp.dislikeVideo( bvid: videoItem.bvid!, type: true, @@ -355,7 +355,7 @@ class VideoPopupMenu extends StatelessWidget { TextButton( onPressed: () async { Get.back(); - var res = await VideoHttp.relationMod( + final res = await VideoHttp.relationMod( mid: videoItem.owner.mid!, act: 5, reSrc: 11, diff --git a/lib/http/black.dart b/lib/http/black.dart index b1001765a..bc9713484 100644 --- a/lib/http/black.dart +++ b/lib/http/black.dart @@ -9,7 +9,7 @@ abstract final class BlackHttp { required int pn, int ps = 50, }) async { - var res = await Request().get( + final res = await Request().get( Api.blackLst, queryParameters: { 'pn': pn, diff --git a/lib/http/danmaku.dart b/lib/http/danmaku.dart index bcfaf058e..abf6d71de 100644 --- a/lib/http/danmaku.dart +++ b/lib/http/danmaku.dart @@ -29,7 +29,7 @@ abstract final class DanmakuHttp { // assert(aid != null || bvid != null); // assert(csrf != null || access_key != null); // 构建参数对象 - var data = { + final data = { 'type': type, 'oid': oid, 'msg': msg, diff --git a/lib/http/danmaku_block.dart b/lib/http/danmaku_block.dart index 75a1705e4..f130940c4 100644 --- a/lib/http/danmaku_block.dart +++ b/lib/http/danmaku_block.dart @@ -7,7 +7,7 @@ import 'package:dio/dio.dart'; abstract final class DanmakuFilterHttp { static Future> danmakuFilter() async { - var res = await Request().get(Api.danmakuFilter); + final res = await Request().get(Api.danmakuFilter); if (res.data['code'] == 0) { return Success(DanmakuBlockDataModel.fromJson(res.data['data'])); } else { @@ -16,7 +16,7 @@ abstract final class DanmakuFilterHttp { } static Future> danmakuFilterDel({required int ids}) async { - var res = await Request().post( + final res = await Request().post( Api.danmakuFilterDel, data: { 'ids': ids, @@ -35,7 +35,7 @@ abstract final class DanmakuFilterHttp { required String filter, required int type, }) async { - var res = await Request().post( + final res = await Request().post( Api.danmakuFilterAdd, data: { 'type': type, diff --git a/lib/http/dynamics.dart b/lib/http/dynamics.dart index 6e7ee3ab5..92a8e0ab9 100644 --- a/lib/http/dynamics.dart +++ b/lib/http/dynamics.dart @@ -43,8 +43,8 @@ abstract final class DynamicsHttp { 'offset': offset, 'features': 'itemOpusStyle,listOnlyfans', }; - var res = await Request().get(Api.followDynamic, queryParameters: data); - var code = res.data['code']; + final res = await Request().get(Api.followDynamic, queryParameters: data); + final code = res.data['code']; if (code == 0) { try { DynamicsDataModel data = DynamicsDataModel.fromJson( @@ -70,7 +70,7 @@ abstract final class DynamicsHttp { } static Future> followUp() async { - var res = await Request().get( + final res = await Request().get( Api.followUp, queryParameters: { 'up_list_more': 1, @@ -85,7 +85,7 @@ abstract final class DynamicsHttp { } static Future> dynUpList(String? offset) async { - var res = await Request().get( + final res = await Request().get( Api.dynUplist, queryParameters: { 'offset': offset, @@ -105,7 +105,7 @@ abstract final class DynamicsHttp { // required String? dynamicId, // required int? up, // }) async { - // var res = await Request().post( + // final res = await Request().post( // Api.likeDynamic, // queryParameters: { // 'dynamic_id': dynamicId, @@ -128,7 +128,7 @@ abstract final class DynamicsHttp { required String? dynamicId, required int? up, }) async { - var res = await Request().post( + final res = await Request().post( Api.thumbDynamic, queryParameters: { 'csrf': Accounts.main.csrf, @@ -166,7 +166,7 @@ abstract final class DynamicsHttp { String? title, Map? attachCard, }) async { - var res = await Request().post( + final res = await Request().post( Api.createDynamic, queryParameters: { 'platform': 'web', @@ -251,7 +251,7 @@ abstract final class DynamicsHttp { dynamic type, bool clearCookie = false, }) async { - var res = await Request().get( + final res = await Request().get( Api.dynamicDetail, queryParameters: { 'timezone_offset': -480, @@ -281,7 +281,7 @@ abstract final class DynamicsHttp { static Future> setTop({ required Object dynamicId, }) async { - var res = await Request().post( + final res = await Request().post( Api.setTopDyn, queryParameters: { 'csrf': Accounts.main.csrf, @@ -300,7 +300,7 @@ abstract final class DynamicsHttp { static Future> rmTop({ required Object dynamicId, }) async { - var res = await Request().post( + final res = await Request().post( Api.rmTopDyn, queryParameters: { 'csrf': Accounts.main.csrf, @@ -319,7 +319,7 @@ abstract final class DynamicsHttp { static Future> articleInfo({ required Object cvId, }) async { - var res = await Request().get( + final res = await Request().get( Api.articleInfo, queryParameters: await WbiSign.makSign({ 'id': cvId, @@ -483,7 +483,7 @@ abstract final class DynamicsHttp { required Object dynamicIdStr, required Object? reserveTotal, }) async { - var res = await Request().post( + final res = await Request().post( Api.dynReserve, queryParameters: { 'csrf': Accounts.main.csrf, diff --git a/lib/http/fan.dart b/lib/http/fan.dart index 3c91b9c49..337732343 100644 --- a/lib/http/fan.dart +++ b/lib/http/fan.dart @@ -10,7 +10,7 @@ abstract final class FanHttp { int ps = 20, String? orderType, }) async { - var res = await Request().get( + final res = await Request().get( Api.fans, queryParameters: { 'vmid': vmid, diff --git a/lib/http/fav.dart b/lib/http/fav.dart index 6f21fb926..4b9fb29bb 100644 --- a/lib/http/fav.dart +++ b/lib/http/fav.dart @@ -19,7 +19,7 @@ import 'package:dio/dio.dart'; abstract final class FavHttp { static Future> favFavFolder(Object mediaId) async { - var res = await Request().post( + final res = await Request().post( Api.favFavFolder, data: { 'media_id': mediaId, @@ -35,7 +35,7 @@ abstract final class FavHttp { } static Future> unfavFavFolder(Object mediaId) async { - var res = await Request().post( + final res = await Request().post( Api.unfavFavFolder, data: { 'media_id': mediaId, @@ -58,7 +58,7 @@ abstract final class FavHttp { FavOrderType order = FavOrderType.mtime, int type = 0, }) async { - var res = await Request().get( + final res = await Request().get( Api.favResourceList, queryParameters: { 'media_id': mediaId, @@ -83,7 +83,7 @@ abstract final class FavHttp { required int id, required int type, }) async { - var res = type == 11 + final res = type == 11 ? await Request().post( Api.unfavFolder, data: { @@ -113,7 +113,7 @@ abstract final class FavHttp { required int pn, required int ps, }) async { - var res = await Request().get( + final res = await Request().get( Api.favSeasonList, queryParameters: { 'season_id': id, @@ -132,7 +132,7 @@ abstract final class FavHttp { required int mid, required int page, }) async { - var res = await Request().get( + final res = await Request().get( Api.favPugv, queryParameters: { 'mid': mid, @@ -149,7 +149,7 @@ abstract final class FavHttp { } static Future> addFavPugv(Object seasonId) async { - var res = await Request().post( + final res = await Request().post( Api.addFavPugv, data: { 'season_id': seasonId, @@ -165,7 +165,7 @@ abstract final class FavHttp { } static Future> delFavPugv(Object seasonId) async { - var res = await Request().post( + final res = await Request().post( Api.delFavPugv, data: { 'season_id': seasonId, @@ -183,7 +183,7 @@ abstract final class FavHttp { static Future> favTopic({ required int page, }) async { - var res = await Request().get( + final res = await Request().get( Api.favTopicList, queryParameters: { 'page_size': 24, @@ -199,7 +199,7 @@ abstract final class FavHttp { } static Future> addFavTopic(Object topicId) async { - var res = await Request().post( + final res = await Request().post( Api.addFavTopic, data: { 'topic_id': topicId, @@ -215,7 +215,7 @@ abstract final class FavHttp { } static Future> delFavTopic(Object topicId) async { - var res = await Request().post( + final res = await Request().post( Api.delFavTopic, data: { 'topic_id': topicId, @@ -234,7 +234,7 @@ abstract final class FavHttp { Object topicId, bool isLike, ) async { - var res = await Request().post( + final res = await Request().post( Api.likeTopic, data: { 'action': isLike ? 'cancel_like' : 'like', @@ -255,7 +255,7 @@ abstract final class FavHttp { static Future> favArticle({ required int page, }) async { - var res = await Request().get( + final res = await Request().get( Api.favArticle, queryParameters: { 'page_size': 20, @@ -272,7 +272,7 @@ abstract final class FavHttp { static Future> addFavArticle({ required Object id, }) async { - var res = await Request().post( + final res = await Request().post( Api.addFavArticle, data: { 'id': id, @@ -292,7 +292,7 @@ abstract final class FavHttp { static Future> delFavArticle({ required Object id, }) async { - var res = await Request().post( + final res = await Request().post( Api.delFavArticle, data: { 'id': id, @@ -312,7 +312,7 @@ abstract final class FavHttp { static Future?>> userNoteList({ required int page, }) async { - var res = await Request().get( + final res = await Request().get( Api.userNoteList, queryParameters: { 'pn': page, @@ -333,7 +333,7 @@ abstract final class FavHttp { static Future?>> noteList({ required int page, }) async { - var res = await Request().get( + final res = await Request().get( Api.noteList, queryParameters: { 'pn': page, @@ -378,7 +378,7 @@ abstract final class FavHttp { int? followStatus, Object? mid, }) async { - var res = await Request().get( + final res = await Request().get( Api.favPgc, queryParameters: { 'vmid': mid ?? Accounts.main.mid, @@ -400,7 +400,7 @@ abstract final class FavHttp { required int ps, required dynamic mid, }) async { - var res = await Request().get( + final res = await Request().get( Api.userFavFolder, queryParameters: { 'pn': pn, @@ -423,7 +423,7 @@ abstract final class FavHttp { 'csrf': Accounts.main.csrf, }; AppSign.appSign(data); - var res = await Request().post( + final res = await Request().post( Api.sortFavFolder, data: data, options: Options( @@ -447,7 +447,7 @@ abstract final class FavHttp { 'csrf': Accounts.main.csrf, }; AppSign.appSign(data); - var res = await Request().post( + final res = await Request().post( Api.sortFav, data: data, options: Options( @@ -464,7 +464,7 @@ abstract final class FavHttp { static Future> cleanFav({ required Object mediaId, }) async { - var res = await Request().post( + final res = await Request().post( Api.cleanFav, data: { 'media_id': mediaId, @@ -485,7 +485,7 @@ abstract final class FavHttp { static Future> deleteFolder({ required String mediaIds, }) async { - var res = await Request().post( + final res = await Request().post( Api.deleteFolder, data: { 'media_ids': mediaIds, @@ -511,7 +511,7 @@ abstract final class FavHttp { required String cover, required String intro, }) async { - var res = await Request().post( + final res = await Request().post( isAdd ? Api.addFolder : Api.editFolder, data: { 'title': title, @@ -535,7 +535,7 @@ abstract final class FavHttp { static Future> favFolderInfo({ required Object mediaId, }) async { - var res = await Request().get( + final res = await Request().get( Api.favFolderInfo, queryParameters: { 'media_id': mediaId, @@ -552,7 +552,7 @@ abstract final class FavHttp { required bool isFav, required dynamic seasonId, }) async { - var res = await Request().post( + final res = await Request().post( isFav ? Api.unfavSeason : Api.favSeason, data: { 'platform': 'web', @@ -584,7 +584,7 @@ abstract final class FavHttp { 'statistics': Constants.statisticsApp, 'up_mid': mid, }; - var res = await Request().get( + final res = await Request().get( Api.spaceFav, queryParameters: params, options: Options( @@ -609,7 +609,7 @@ abstract final class FavHttp { required Object opusId, required Object action, }) async { - var res = await Request().post( + final res = await Request().post( Api.communityAction, queryParameters: { 'csrf': Accounts.main.csrf, @@ -635,7 +635,7 @@ abstract final class FavHttp { String? addIds, String? delIds, }) async { - var res = await Request().post( + final res = await Request().post( Api.favVideo, data: { 'resources': resources, @@ -657,7 +657,7 @@ abstract final class FavHttp { required Object rid, required Object type, }) async { - var res = await Request().post( + final res = await Request().post( Api.unfavAll, data: { 'rid': rid, @@ -681,7 +681,7 @@ abstract final class FavHttp { dynamic mid, required String resources, }) async { - var res = await Request().post( + final res = await Request().post( isFav ? isCopy ? Api.copyFav @@ -707,7 +707,7 @@ abstract final class FavHttp { } static Future> allFavFolders(Object mid) async { - var res = await Request().get( + final res = await Request().get( Api.favFolder, queryParameters: {'up_mid': mid}, ); @@ -724,7 +724,7 @@ abstract final class FavHttp { dynamic rid, dynamic type, }) async { - var res = await Request().get( + final res = await Request().get( Api.favFolder, queryParameters: { 'up_mid': mid, diff --git a/lib/http/follow.dart b/lib/http/follow.dart index 0f402cc6d..880a9adfe 100644 --- a/lib/http/follow.dart +++ b/lib/http/follow.dart @@ -10,7 +10,7 @@ abstract final class FollowHttp { int ps = 20, String orderType = '', // ''=>最近关注,'attention'=>最常访问 }) async { - var res = await Request().get( + final res = await Request().get( Api.followings, queryParameters: { 'vmid': vmid, diff --git a/lib/http/live.dart b/lib/http/live.dart index 87c39dc7f..2b834e10e 100644 --- a/lib/http/live.dart +++ b/lib/http/live.dart @@ -37,7 +37,7 @@ abstract final class LiveHttp { Object? emoticonOptions, }) async { String csrf = Accounts.main.csrf; - var res = await Request().post( + final res = await Request().post( Api.sendLiveMsg, data: FormData.fromMap({ 'bubble': 0, @@ -76,7 +76,7 @@ abstract final class LiveHttp { Object? qn, bool onlyAudio = false, }) async { - var res = await Request().get( + final res = await Request().get( Api.liveRoomInfo, queryParameters: await WbiSign.makSign({ 'room_id': roomId, @@ -102,7 +102,7 @@ abstract final class LiveHttp { static Future> liveRoomInfoH5({ required Object roomId, }) async { - var res = await Request().get( + final res = await Request().get( Api.liveRoomInfoH5, queryParameters: { 'room_id': roomId, @@ -116,7 +116,7 @@ abstract final class LiveHttp { } static Future liveRoomDanmaPrefetch({required Object roomId}) async { - var res = await Request().get( + final res = await Request().get( Api.liveRoomDmPrefetch, queryParameters: {'roomid': roomId}, options: Options( @@ -136,7 +136,7 @@ abstract final class LiveHttp { static Future> liveRoomGetDanmakuToken({ required Object roomId, }) async { - var res = await Request().get( + final res = await Request().get( Api.liveRoomDmToken, queryParameters: await WbiSign.makSign({ 'id': roomId, @@ -153,7 +153,7 @@ abstract final class LiveHttp { static Future?>> getLiveEmoticons({ required int roomId, }) async { - var res = await Request().get( + final res = await Request().get( Api.getLiveEmoticons, queryParameters: { 'platform': 'pc', @@ -195,7 +195,7 @@ abstract final class LiveHttp { 'statistics': Constants.statisticsApp, }; AppSign.appSign(params); - var res = await Request().get( + final res = await Request().get( Api.liveFeedIndex, queryParameters: params, options: Options( @@ -224,7 +224,7 @@ abstract final class LiveHttp { } static Future> liveFollow(int page) async { - var res = await Request().get( + final res = await Request().get( Api.liveFollow, queryParameters: { 'page': page, @@ -275,7 +275,7 @@ abstract final class LiveHttp { 'statistics': Constants.statisticsApp, }; AppSign.appSign(params); - var res = await Request().get( + final res = await Request().get( Api.liveSecondList, queryParameters: params, options: Options( @@ -319,7 +319,7 @@ abstract final class LiveHttp { 'statistics': Constants.statisticsApp, }; AppSign.appSign(params); - var res = await Request().get( + final res = await Request().get( Api.liveAreaList, queryParameters: params, ); @@ -350,7 +350,7 @@ abstract final class LiveHttp { 'statistics': Constants.statisticsApp, }; AppSign.appSign(params); - var res = await Request().get( + final res = await Request().get( Api.getLiveFavTag, queryParameters: params, ); @@ -386,7 +386,7 @@ abstract final class LiveHttp { 'statistics': Constants.statisticsApp, }; AppSign.appSign(data); - var res = await Request().post( + final res = await Request().post( Api.setLiveFavTag, data: data, options: Options(contentType: Headers.formUrlEncodedContentType), @@ -420,7 +420,7 @@ abstract final class LiveHttp { 'statistics': Constants.statisticsApp, }; AppSign.appSign(params); - var res = await Request().get( + final res = await Request().get( Api.liveRoomAreaList, queryParameters: params, ); @@ -457,7 +457,7 @@ abstract final class LiveHttp { 'type': type.name, }; AppSign.appSign(params); - var res = await Request().get( + final res = await Request().get( Api.liveSearch, queryParameters: params, ); @@ -471,7 +471,7 @@ abstract final class LiveHttp { static Future> getLiveInfoByUser( Object roomId, ) async { - var res = await Request().get( + final res = await Request().get( Api.getLiveInfoByUser, queryParameters: await WbiSign.makSign({ 'room_id': roomId, @@ -492,7 +492,7 @@ abstract final class LiveHttp { required int level, }) async { final csrf = Accounts.main.csrf; - var res = await Request().post( + final res = await Request().post( Api.liveSetSilent, data: { 'type': type, @@ -513,7 +513,7 @@ abstract final class LiveHttp { required String keyword, }) async { final csrf = Accounts.main.csrf; - var res = await Request().post( + final res = await Request().post( Api.addShieldKeyword, data: { 'keyword': keyword, @@ -533,7 +533,7 @@ abstract final class LiveHttp { required String keyword, }) async { final csrf = Accounts.main.csrf; - var res = await Request().post( + final res = await Request().post( Api.delShieldKeyword, data: { 'keyword': keyword, @@ -555,7 +555,7 @@ abstract final class LiveHttp { required int type, }) async { final csrf = Accounts.main.csrf; - var res = await Request().post( + final res = await Request().post( Api.liveShieldUser, data: { 'uid': uid, @@ -579,7 +579,7 @@ abstract final class LiveHttp { required Object uid, Object? anchorId, }) async { - var res = await Request().post( + final res = await Request().post( Api.liveLikeReport, data: await WbiSign.makSign({ 'click_time': clickTime, @@ -602,7 +602,7 @@ abstract final class LiveHttp { static Future> superChatMsg( Object roomId, ) async { - var res = await Request().get( + final res = await Request().get( Api.superChatMsg, queryParameters: { 'room_id': roomId, diff --git a/lib/http/loading_state.dart b/lib/http/loading_state.dart index 0b8c86b30..0719448b5 100644 --- a/lib/http/loading_state.dart +++ b/lib/http/loading_state.dart @@ -8,12 +8,12 @@ sealed class LoadingState { bool get isSuccess => this is Success; T get data => switch (this) { - Success(:var response) => response, + Success(:final response) => response, _ => throw this, }; T? get dataOrNull => switch (this) { - Success(:var response) => response, + Success(:final response) => response, _ => null, }; diff --git a/lib/http/login.dart b/lib/http/login.dart index 587822ea5..748183244 100644 --- a/lib/http/login.dart +++ b/lib/http/login.dart @@ -33,14 +33,14 @@ abstract final class LoginHttp { @pragma('vm:notify-debugger-on-exception') static Future> getHDcode() async { - var params = { + final params = { // 'local_id': 'Y952A395BB157D305D8A8340FC2AAECECE17', 'local_id': '0', 'platform': 'android', 'mobi_app': 'android_hd', }; AppSign.appSign(params); - var res = await Request().post(Api.getTVCode, queryParameters: params); + final res = await Request().post(Api.getTVCode, queryParameters: params); if (res.data['code'] == 0) { try { @@ -55,12 +55,12 @@ abstract final class LoginHttp { } static Future codePoll(String authCode) async { - var params = { + final params = { 'auth_code': authCode, 'local_id': '0', }; AppSign.appSign(params); - var res = await Request().post(Api.qrcodePoll, queryParameters: params); + final res = await Request().post(Api.qrcodePoll, queryParameters: params); return { 'status': res.data['code'] == 0, 'code': res.data['code'], @@ -70,7 +70,7 @@ abstract final class LoginHttp { } static Future queryCaptcha() async { - var res = await Request().get(Api.getCaptcha); + final res = await Request().get(Api.getCaptcha); if (res.data['code'] == 0) { return { 'status': true, @@ -83,7 +83,7 @@ abstract final class LoginHttp { // 获取salt与PubKey static Future getWebKey() async { - var res = await Request().get(Api.getWebKey); + final res = await Request().get(Api.getWebKey); //data: {'disable_rcmd': 0, 'local_id': LoginUtils.generateBuvid()}); if (res.data['code'] == 0) { return {'status': true, 'data': res.data['data']}; @@ -102,7 +102,7 @@ abstract final class LoginHttp { String? recaptchaToken, }) async { int timestamp = DateTime.now().millisecondsSinceEpoch; - var data = { + final data = { 'build': '2001100', 'buvid': buvid, 'c_locale': 'zh_CN', @@ -128,7 +128,7 @@ abstract final class LoginHttp { }; AppSign.appSign(data); - var res = await Request().post( + final res = await Request().post( Api.appSmsCode, data: data, options: Options( @@ -151,7 +151,7 @@ abstract final class LoginHttp { // static Future getGuestId(String key) async { // dynamic publicKey = RSAKeyParser().parse(key); - // var params = { + // final params = { // 'appkey': Constants.appKey, // 'build': '2001100', // 'buvid': buvid, @@ -174,7 +174,7 @@ abstract final class LoginHttp { // Constants.appKey, // Constants.appSec, // ); - // var res = await Request().post(Api.getGuestId, + // final res = await Request().post(Api.getGuestId, // queryParameters: {...params, 'sign': sign}, // options: Options( // contentType: Headers.formUrlEncodedContentType, @@ -237,7 +237,7 @@ abstract final class LoginHttp { 'username': username, }; AppSign.appSign(data); - var res = await Request().post( + final res = await Request().post( Api.loginByPwdApi, data: data, options: Options( @@ -303,7 +303,7 @@ abstract final class LoginHttp { 'tel': tel, }; AppSign.appSign(data); - var res = await Request().post( + final res = await Request().post( Api.logInByAppSms, data: data, options: Options( @@ -329,7 +329,7 @@ abstract final class LoginHttp { static Future safeCenterGetInfo({ required String tmpCode, }) async { - var res = await Request().get( + final res = await Request().get( Api.safeCenterGetInfo, queryParameters: { 'tmp_code': tmpCode, @@ -349,7 +349,7 @@ abstract final class LoginHttp { // 风控验证手机前的极验验证码 static Future preCapture() async { - var res = await Request().post(Api.preCapture); + final res = await Request().post(Api.preCapture); if (res.data['code'] == 0) { return {'status': true, 'data': res.data['data']}; @@ -383,7 +383,7 @@ abstract final class LoginHttp { 'recaptcha_token': ?recaptchaToken, }; AppSign.appSign(data); - var res = await Request().post( + final res = await Request().post( Api.safeCenterSmsCode, data: data, options: Options( @@ -425,7 +425,7 @@ abstract final class LoginHttp { 'captcha_key': captchaKey, }; AppSign.appSign(data); - var res = await Request().post( + final res = await Request().post( Api.safeCenterSmsVerify, data: data, options: Options( @@ -471,7 +471,7 @@ abstract final class LoginHttp { // 'statistics': Constants.statistics, }; AppSign.appSign(data); - var res = await Request().post( + final res = await Request().post( Api.oauth2AccessToken, data: data, options: Options( @@ -493,7 +493,7 @@ abstract final class LoginHttp { } static Future logout(Account account) async { - var res = await Request().post( + final res = await Request().post( Api.logout, data: {'biliCSRF': account.csrf}, options: Options( @@ -519,7 +519,7 @@ abstract final class LoginHttp { 'statistics': Constants.statistics, }; AppSign.appSign(params); - var res = await Request().get( + final res = await Request().get( Api.loginDevices, queryParameters: params, ); diff --git a/lib/http/match.dart b/lib/http/match.dart index 075593e8e..84a2d487c 100644 --- a/lib/http/match.dart +++ b/lib/http/match.dart @@ -6,7 +6,7 @@ import 'package:PiliPlus/models_new/match/match_info/data.dart'; abstract final class MatchHttp { static Future> matchInfo(Object cid) async { - var res = await Request().get( + final res = await Request().get( Api.matchInfo, queryParameters: { 'cid': cid, diff --git a/lib/http/member.dart b/lib/http/member.dart index b88949f51..3830f2409 100644 --- a/lib/http/member.dart +++ b/lib/http/member.dart @@ -36,7 +36,7 @@ abstract final class MemberHttp { String? reason, int? reasonV2, }) async { - var res = await Request().post( + final res = await Request().post( Api.reportMember, data: { 'mid': mid, @@ -69,7 +69,7 @@ abstract final class MemberHttp { 'statistics': Constants.statisticsApp, 'vmid': mid, }; - var res = await Request().get( + final res = await Request().get( Api.spaceArticle, queryParameters: params, options: Options( @@ -90,7 +90,7 @@ abstract final class MemberHttp { required int? mid, required int pn, }) async { - var res = await Request().get( + final res = await Request().get( Api.seasonSeries, queryParameters: { 'mid': mid, @@ -140,7 +140,7 @@ abstract final class MemberHttp { 'statistics': Constants.statisticsApp, 'vmid': mid, }; - var res = await Request().get( + final res = await Request().get( switch (type) { ContributeType.video => Api.spaceArchive, ContributeType.charging => Api.spaceChargingArchive, @@ -168,7 +168,7 @@ abstract final class MemberHttp { required int page, required mid, }) async { - var res = await Request().get( + final res = await Request().get( Api.spaceAudio, queryParameters: { 'pn': page, @@ -189,7 +189,7 @@ abstract final class MemberHttp { required int page, required mid, }) async { - var res = await Request().get( + final res = await Request().get( Api.spaceCheese, queryParameters: { 'pn': page, @@ -231,7 +231,7 @@ abstract final class MemberHttp { 'statistics': Constants.statisticsApp, 'vmid': mid, }; - var res = await Request().get( + final res = await Request().get( Api.spaceStory, queryParameters: params, options: Options( @@ -264,7 +264,7 @@ abstract final class MemberHttp { 'statistics': Constants.statisticsApp, 'vmid': mid, }; - var res = await Request().get( + final res = await Request().get( Api.space, queryParameters: params, options: Options( @@ -297,7 +297,7 @@ abstract final class MemberHttp { 'dm_cover_img_str': dmCoverImgStr, 'dm_img_inter': '{"ds":[],"wh":[0,0,0],"of":[0,0,0]}', }); - var res = await Request().get( + final res = await Request().get( Api.memberInfo, queryParameters: params, options: Options( @@ -316,7 +316,7 @@ abstract final class MemberHttp { } static Future memberStat({int? mid}) async { - var res = await Request().get(Api.userStat, queryParameters: {'vmid': mid}); + final res = await Request().get(Api.userStat, queryParameters: {'vmid': mid}); if (res.data['code'] == 0) { return {'status': true, 'data': res.data['data']}; } else { @@ -327,7 +327,7 @@ abstract final class MemberHttp { static Future> memberCardInfo({ int? mid, }) async { - var res = await Request().get( + final res = await Request().get( Api.memberCardInfo, queryParameters: { 'mid': mid, @@ -367,7 +367,7 @@ abstract final class MemberHttp { 'dm_cover_img_str': dmCoverImgStr, 'dm_img_inter': '{"ds":[],"wh":[0,0,0],"of":[0,0,0]}', }); - var res = await Request().get( + final res = await Request().get( Api.searchArchive, queryParameters: params, options: Options( @@ -410,7 +410,7 @@ abstract final class MemberHttp { 'x-bili-device-req-json': '{"platform":"web","device":"pc","spmid":"333.1387"}', }); - var res = await Request().get( + final res = await Request().get( Api.memberDynamic, queryParameters: params, options: Options( @@ -445,7 +445,7 @@ abstract final class MemberHttp { required dynamic offset, required String keyword, }) async { - var res = await Request().get( + final res = await Request().get( Api.dynSearch, queryParameters: { 'host_mid': mid, @@ -465,7 +465,7 @@ abstract final class MemberHttp { // 查询分组 static Future>> followUpTags() async { - var res = await Request().get(Api.followUpTag); + final res = await Request().get(Api.followUpTag); if (res.data['code'] == 0) { return Success( (res.data['data'] as List) @@ -481,7 +481,7 @@ abstract final class MemberHttp { int? fid, bool isAdd = true, }) async { - var res = await Request().post( + final res = await Request().post( isAdd ? Api.addSpecial : Api.delSpecial, data: { 'fid': fid, @@ -498,7 +498,7 @@ abstract final class MemberHttp { // 设置分组 static Future> addUsers(String fids, String tagids) async { - var res = await Request().post( + final res = await Request().post( Api.addUsers, queryParameters: { 'x-bili-device-req-json': @@ -526,7 +526,7 @@ abstract final class MemberHttp { int? pn, int ps = 20, }) async { - var res = await Request().get( + final res = await Request().get( Api.followUpGroup, queryParameters: { 'mid': mid, @@ -551,7 +551,7 @@ abstract final class MemberHttp { } static Future> createFollowTag(Object tagName) async { - var res = await Request().post( + final res = await Request().post( Api.createFollowTag, queryParameters: { 'x-bili-device-req-json': @@ -574,7 +574,7 @@ abstract final class MemberHttp { Object tagid, Object name, ) async { - var res = await Request().post( + final res = await Request().post( Api.updateFollowTag, queryParameters: { 'x-bili-device-req-json': @@ -595,7 +595,7 @@ abstract final class MemberHttp { } static Future> delFollowTag(Object tagid) async { - var res = await Request().post( + final res = await Request().post( Api.delFollowTag, queryParameters: { 'x-bili-device-req-json': @@ -616,7 +616,7 @@ abstract final class MemberHttp { // 获取up置顶 static Future?>> getTopVideo() async { - var res = await Request().get(Api.getTopVideoApi); + final res = await Request().get(Api.getTopVideoApi); if (res.data['code'] == 0) { return Success( (res.data['data'] as List?) @@ -630,7 +630,7 @@ abstract final class MemberHttp { // 获取up播放数、点赞数 static Future memberView({required int mid}) async { - var res = await Request().get( + final res = await Request().get( Api.getMemberViewApi, queryParameters: {'mid': mid}, ); @@ -659,7 +659,7 @@ abstract final class MemberHttp { 'web_location': 333.999, }; Map params = await WbiSign.makSign(data); - var res = await Request().get( + final res = await Request().get( Api.followSearch, queryParameters: { ...data, @@ -680,7 +680,7 @@ abstract final class MemberHttp { String offset = '', String type = 'all', }) async { - var res = await Request().get( + final res = await Request().get( Api.spaceOpus, queryParameters: await WbiSign.makSign({ 'host_mid': hostMid, @@ -702,7 +702,7 @@ abstract final class MemberHttp { required int page, int? privilegeType, }) async { - var res = await Request().get( + final res = await Request().get( Api.upowerRank, queryParameters: { 'up_mid': upMid, @@ -725,7 +725,7 @@ abstract final class MemberHttp { required int mid, required int page, }) async { - var res = await Request().get( + final res = await Request().get( Api.coinArc, queryParameters: { 'pn': page, @@ -744,7 +744,7 @@ abstract final class MemberHttp { required int mid, required int page, }) async { - var res = await Request().get( + final res = await Request().get( Api.likeArc, queryParameters: { 'pn': page, @@ -771,7 +771,7 @@ abstract final class MemberHttp { 'statistics': Constants.statisticsApp, }; AppSign.appSign(params); - var res = await Request().post( + final res = await Request().post( Api.spaceShop, queryParameters: params, data: { diff --git a/lib/http/msg.dart b/lib/http/msg.dart index b2e2b01b9..cbda879e1 100644 --- a/lib/http/msg.dart +++ b/lib/http/msg.dart @@ -23,7 +23,7 @@ abstract final class MsgHttp { int? cursor, int? cursorTime, }) async { - var res = await Request().get( + final res = await Request().get( Api.msgFeedReply, queryParameters: { 'id': ?cursor, @@ -45,7 +45,7 @@ abstract final class MsgHttp { int? cursor, int? cursorTime, }) async { - var res = await Request().get( + final res = await Request().get( Api.msgFeedAt, queryParameters: { 'id': ?cursor, @@ -67,7 +67,7 @@ abstract final class MsgHttp { int? cursor, int? cursorTime, }) async { - var res = await Request().get( + final res = await Request().get( Api.msgFeedLike, queryParameters: { 'id': ?cursor, @@ -90,7 +90,7 @@ abstract final class MsgHttp { required int pn, Object lastMid = 0, }) async { - var res = await Request().get( + final res = await Request().get( Api.msgLikeDetail, queryParameters: { 'card_id': cardId, @@ -113,7 +113,7 @@ abstract final class MsgHttp { int? cursor, int pageSize = 20, }) async { - var res = await Request().get( + final res = await Request().get( Api.msgSysNotify, queryParameters: { 'cursor': ?cursor, @@ -136,7 +136,7 @@ abstract final class MsgHttp { static Future> msgSysUpdateCursor(int cursor) async { String csrf = Accounts.main.csrf; - var res = await Request().get( + final res = await Request().get( Api.msgSysUpdateCursor, queryParameters: { 'csrf': csrf, @@ -155,7 +155,7 @@ abstract final class MsgHttp { required String bucket, required String dir, }) async { - var res = await Request().post( + final res = await Request().post( Api.uploadImage, data: FormData.fromMap({ 'bucket': bucket, @@ -183,7 +183,7 @@ abstract final class MsgHttp { String? biz, CancelToken? cancelToken, }) async { - var res = await Request().post( + final res = await Request().post( Api.uploadBfs, data: FormData.fromMap({ 'file_up': await MultipartFile.fromFile(path), @@ -212,7 +212,7 @@ abstract final class MsgHttp { 'csrf_token': csrf, 'csrf': csrf, }); - var res = await Request().post( + final res = await Request().post( HttpString.tUrl + Api.createTextDynamic, data: data, options: Options(contentType: Headers.formUrlEncodedContentType), @@ -229,7 +229,7 @@ abstract final class MsgHttp { Object? dynType, Object? ridStr, }) async { - var res = await Request().post( + final res = await Request().post( Api.removeDynamic, queryParameters: { 'platform': 'web', @@ -260,7 +260,7 @@ abstract final class MsgHttp { 'csrf_token': csrf, 'csrf': csrf, }); - var res = await Request().post( + final res = await Request().post( HttpString.tUrl + Api.removeMsg, data: data, options: Options(contentType: Headers.formUrlEncodedContentType), @@ -277,7 +277,7 @@ abstract final class MsgHttp { dynamic id, ) async { String csrf = Accounts.main.csrf; - var res = await Request().post( + final res = await Request().post( Api.delMsgfeed, data: { 'tp': tp, @@ -300,7 +300,7 @@ abstract final class MsgHttp { Object id, ) async { String csrf = Accounts.main.csrf; - var res = await Request().post( + final res = await Request().post( HttpString.messageBaseUrl + Api.delSysMsg, queryParameters: { 'mobi_app': 'android', @@ -335,7 +335,7 @@ abstract final class MsgHttp { 'csrf_token': csrf, 'csrf': csrf, }); - var res = await Request().post( + final res = await Request().post( HttpString.tUrl + Api.setTop, data: data, options: Options(contentType: Headers.formUrlEncodedContentType), @@ -362,7 +362,7 @@ abstract final class MsgHttp { 'csrf_token': csrf, 'csrf': csrf, }); - var res = await Request().get(Api.ackSessionMsg, queryParameters: params); + final res = await Request().get(Api.ackSessionMsg, queryParameters: params); if (res.data['code'] == 0) { return const Success(null); } else { @@ -402,7 +402,7 @@ abstract final class MsgHttp { 'csrf': csrf, }; Map params = await WbiSign.makSign(data); - var res = await Request().post( + final res = await Request().post( Api.sendMsg, queryParameters: { 'w_sender_uid': senderUid, @@ -432,7 +432,7 @@ abstract final class MsgHttp { required int noticeState, }) async { final csrf = Accounts.main.csrf; - var res = await Request().post( + final res = await Request().post( Api.msgSetNotice, data: { 'mobi_app': 'web', @@ -461,7 +461,7 @@ abstract final class MsgHttp { required dndUid, }) async { final csrf = Accounts.main.csrf; - var res = await Request().post( + final res = await Request().post( Api.setMsgDnd, data: { 'uid': uid, @@ -486,7 +486,7 @@ abstract final class MsgHttp { required talkerUid, }) async { final csrf = Accounts.main.csrf; - var res = await Request().post( + final res = await Request().post( Api.setPushSs, data: { 'setting': setting, @@ -509,7 +509,7 @@ abstract final class MsgHttp { required String uids, }) async { final csrf = Accounts.main.csrf; - var res = await Request().get( + final res = await Request().get( Api.imUserInfos, queryParameters: { 'uids': uids, @@ -534,7 +534,7 @@ abstract final class MsgHttp { required Object talkerUid, }) async { final csrf = Accounts.main.csrf; - var res = await Request().get( + final res = await Request().get( Api.getSessionSs, queryParameters: { 'talker_uid': talkerUid, @@ -555,7 +555,7 @@ abstract final class MsgHttp { required Object uidsStr, }) async { final csrf = Accounts.main.csrf; - var res = await Request().get( + final res = await Request().get( Api.getMsgDnd, queryParameters: { 'own_uid': Accounts.main.mid, @@ -578,7 +578,7 @@ abstract final class MsgHttp { } static Future> msgUnread() async { - var res = await Request().get( + final res = await Request().get( Api.msgUnread, queryParameters: { 'build': 0, @@ -595,7 +595,7 @@ abstract final class MsgHttp { } static Future> msgFeedUnread() async { - var res = await Request().get( + final res = await Request().get( Api.msgFeedUnread, queryParameters: { 'build': 0, diff --git a/lib/http/pgc.dart b/lib/http/pgc.dart index 22d436167..d7ec6c889 100644 --- a/lib/http/pgc.dart +++ b/lib/http/pgc.dart @@ -19,7 +19,7 @@ abstract final class PgcHttp { type, indexType, }) async { - var res = await Request().get( + final res = await Request().get( Api.pgcIndexResult, queryParameters: { ...params, @@ -42,7 +42,7 @@ abstract final class PgcHttp { required Object type, Object? indexType, }) async { - var res = await Request().get( + final res = await Request().get( Api.pgcIndexCondition, queryParameters: { 'season_type': ?seasonType, @@ -61,7 +61,7 @@ abstract final class PgcHttp { int? page, int? indexType, }) async { - var res = await Request().get( + final res = await Request().get( Api.pgcIndexResult, queryParameters: { 'st': 1, @@ -95,7 +95,7 @@ abstract final class PgcHttp { required int before, required int after, }) async { - var res = await Request().get( + final res = await Request().get( Api.pgcTimeline, queryParameters: { 'types': types, @@ -116,7 +116,7 @@ abstract final class PgcHttp { int sort = 0, String? next, }) async { - var res = await Request().get( + final res = await Request().get( type.api, queryParameters: { 'media_id': mediaId, @@ -137,7 +137,7 @@ abstract final class PgcHttp { required Object mediaId, required Object reviewId, }) async { - var res = await Request().post( + final res = await Request().post( Api.pgcReviewLike, data: { 'media_id': mediaId, @@ -158,7 +158,7 @@ abstract final class PgcHttp { required Object mediaId, required Object reviewId, }) async { - var res = await Request().post( + final res = await Request().post( Api.pgcReviewDislike, data: { 'media_id': mediaId, @@ -181,7 +181,7 @@ abstract final class PgcHttp { required String content, bool shareFeed = false, }) async { - var res = await Request().post( + final res = await Request().post( Api.pgcReviewPost, data: { 'media_id': mediaId, @@ -205,7 +205,7 @@ abstract final class PgcHttp { required String content, required reviewId, }) async { - var res = await Request().post( + final res = await Request().post( Api.pgcReviewMod, data: { 'media_id': mediaId, @@ -227,7 +227,7 @@ abstract final class PgcHttp { required Object mediaId, required Object reviewId, }) async { - var res = await Request().post( + final res = await Request().post( Api.pgcReviewDel, data: { 'media_id': mediaId, @@ -244,7 +244,7 @@ abstract final class PgcHttp { } static Future seasonStatus(Object seasonId) async { - var res = await Request().get( + final res = await Request().get( Api.seasonStatus, queryParameters: {'season_id': seasonId}, ); diff --git a/lib/http/reply.dart b/lib/http/reply.dart index 343ebb60e..508522aa0 100644 --- a/lib/http/reply.dart +++ b/lib/http/reply.dart @@ -24,7 +24,7 @@ abstract final class ReplyHttp { required int page, int sort = 1, }) async { - var res = !isLogin + final res = !isLogin ? await Request().get( '${Api.replyList}/main', queryParameters: { @@ -62,7 +62,7 @@ abstract final class ReplyHttp { required int type, bool isCheck = false, }) async { - var res = await Request().get( + final res = await Request().get( Api.replyReplyList, queryParameters: { 'oid': oid, @@ -92,7 +92,7 @@ abstract final class ReplyHttp { required int oid, required int rpid, }) async { - var res = await Request().post( + final res = await Request().post( Api.hateReply, data: { 'type': type, @@ -117,7 +117,7 @@ abstract final class ReplyHttp { required int rpid, required int action, }) async { - var res = await Request().post( + final res = await Request().post( Api.likeReply, data: { 'type': type, @@ -138,7 +138,7 @@ abstract final class ReplyHttp { static Future?>> getEmoteList({ String? business, }) async { - var res = await Request().get( + final res = await Request().get( Api.myEmote, queryParameters: { 'business': business ?? 'reply', @@ -158,7 +158,7 @@ abstract final class ReplyHttp { required Object rpid, required bool isUpTop, }) async { - var res = await Request().post( + final res = await Request().post( Api.replyTop, data: { 'oid': oid, diff --git a/lib/http/search.dart b/lib/http/search.dart index 66cbe6f83..78bc31ec3 100644 --- a/lib/http/search.dart +++ b/lib/http/search.dart @@ -22,7 +22,7 @@ abstract final class SearchHttp { static Future> searchSuggest({ required String term, }) async { - var res = await Request().get( + final res = await Request().get( Api.searchSuggest, queryParameters: { 'term': term, @@ -58,7 +58,7 @@ abstract final class SearchHttp { String? gaiaVtoken, required ValueChanged onSuccess, }) async { - var params = await WbiSign.makSign({ + final params = await WbiSign.makSign({ 'search_type': searchType.name, 'keyword': keyword, 'page': page, @@ -75,7 +75,7 @@ abstract final class SearchHttp { 'web_location': 1430654, 'gaia_vtoken': ?gaiaVtoken, }); - var res = await Request().get( + final res = await Request().get( Api.searchByType, queryParameters: params, options: Options( @@ -142,7 +142,7 @@ abstract final class SearchHttp { int? pubBegin, int? pubEnd, }) async { - var params = await WbiSign.makSign({ + final params = await WbiSign.makSign({ 'keyword': keyword, 'page': page, if (order != null && order.isNotEmpty) 'order': order, @@ -154,7 +154,7 @@ abstract final class SearchHttp { 'pubtime_begin_s': ?pubBegin, 'pubtime_end_s': ?pubEnd, }); - var res = await Request().get( + final res = await Request().get( Api.searchAll, queryParameters: params, ); @@ -173,7 +173,7 @@ abstract final class SearchHttp { } static Future ab2c({dynamic aid, dynamic bvid, int? part}) async { - var res = await Request().get( + final res = await Request().get( Api.ab2c, queryParameters: { 'aid': ?aid, @@ -198,7 +198,7 @@ abstract final class SearchHttp { dynamic seasonId, dynamic epId, }) async { - var res = await Request().get( + final res = await Request().get( Api.pgcInfo, queryParameters: { 'season_id': ?seasonId, @@ -216,7 +216,7 @@ abstract final class SearchHttp { dynamic seasonId, dynamic epId, }) async { - var res = await Request().get( + final res = await Request().get( Api.pugvInfo, queryParameters: { 'season_id': ?seasonId, @@ -231,7 +231,7 @@ abstract final class SearchHttp { } static Future episodeInfo({dynamic epId}) async { - var res = await Request().get( + final res = await Request().get( Api.episodeInfo, queryParameters: { 'ep_id': ?epId, diff --git a/lib/http/sponsor_block.dart b/lib/http/sponsor_block.dart index 647a68cd2..12f3c260d 100644 --- a/lib/http/sponsor_block.dart +++ b/lib/http/sponsor_block.dart @@ -58,7 +58,7 @@ abstract final class SponsorBlock { ); if (res.statusCode == 200) { - if (res.data case List list) { + if (res.data case final List list) { return Success(list.map((i) => SegmentItemModel.fromJson(i)).toList()); } } @@ -152,7 +152,7 @@ abstract final class SponsorBlock { ); if (res.statusCode == 200) { - if (res.data case List list) { + if (res.data case final List list) { return Success(list.map((i) => SegmentItemModel.fromJson(i)).toList()); } } @@ -182,7 +182,7 @@ abstract final class SponsorBlock { ); if (res.statusCode == 200) { - if (res.data case Map data) { + if (res.data case final Map data) { if (data['ytbID'] case String ytbId) { return Success(ytbId); } @@ -210,7 +210,7 @@ abstract final class SponsorBlock { ); if (res.statusCode == 200) { - if (res.data case Map data) { + if (res.data case final Map data) { if (data['UUID'] case String uuid) { return Success(uuid); } diff --git a/lib/http/user.dart b/lib/http/user.dart index 2acf7cd06..147199a6e 100644 --- a/lib/http/user.dart +++ b/lib/http/user.dart @@ -22,7 +22,7 @@ import 'package:dio/dio.dart'; abstract final class UserHttp { static Future userStat({required int mid}) async { - var res = await Request().get(Api.userStat, queryParameters: {'vmid': mid}); + final res = await Request().get(Api.userStat, queryParameters: {'vmid': mid}); if (res.data['code'] == 0) { return {'status': true, 'data': res.data['data']}; } else { @@ -31,7 +31,7 @@ abstract final class UserHttp { } static Future> userInfo() async { - var res = await Request().get(Api.userInfo); + final res = await Request().get(Api.userInfo); if (res.data['code'] == 0) { UserInfoData data = UserInfoData.fromJson(res.data['data']); GlobalData().coins = data.money; @@ -42,7 +42,7 @@ abstract final class UserHttp { } static Future userStatOwner() async { - var res = await Request().get(Api.userStatOwner); + final res = await Request().get(Api.userStatOwner); if (res.data['code'] == 0) { UserStat data = UserStat.fromJson(res.data['data']); return {'status': true, 'data': data}; @@ -58,7 +58,7 @@ abstract final class UserHttp { String keyword = '', bool asc = false, }) async { - var res = await Request().get( + final res = await Request().get( Api.seeYouLater, queryParameters: await WbiSign.makSign({ 'pn': page, @@ -84,7 +84,7 @@ abstract final class UserHttp { int? viewAt, Account? account, }) async { - var res = await Request().get( + final res = await Request().get( Api.historyList, queryParameters: { 'type': type, @@ -108,7 +108,7 @@ abstract final class UserHttp { }) async { // 暂停switchStatus传true 否则false account ??= Accounts.history; - var res = await Request().post( + final res = await Request().post( Api.pauseHistory, data: { 'switch': switchStatus, @@ -129,7 +129,7 @@ abstract final class UserHttp { // 观看历史暂停状态 static Future> historyStatus({Account? account}) async { - var res = await Request().get( + final res = await Request().get( Api.historyStatus, options: Options(extra: {'account': account ?? Accounts.history}), ); @@ -143,7 +143,7 @@ abstract final class UserHttp { // 清空历史记录 static Future> clearHistory({Account? account}) async { account ??= Accounts.history; - var res = await Request().post( + final res = await Request().post( Api.clearHistory, data: { 'jsonp': 'jsonp', @@ -167,7 +167,7 @@ abstract final class UserHttp { Object? aid, }) async { assert(aid != null || bvid != null); - var res = await Request().post( + final res = await Request().post( Api.toViewLater, data: { 'aid': ?aid, @@ -189,7 +189,7 @@ abstract final class UserHttp { 'csrf': Accounts.main.csrf, 'resources': aids, }; - var res = await Request().post( + final res = await Request().post( Api.toViewDel, data: params, options: Options(contentType: Headers.formUrlEncodedContentType), @@ -203,7 +203,7 @@ abstract final class UserHttp { // 获取用户凭证 失效 // static Future thirdLogin() async { - // var res = await Request().get( + // final res = await Request().get( // 'https://passport.bilibili.com/login/app/third', // queryParameters: { // 'appkey': Constants.appKey, @@ -222,7 +222,7 @@ abstract final class UserHttp { // 清空稍后再看 // clean_type: null->all, 1->invalid, 2->viewed static Future> toViewClear([int? cleanType]) async { - var res = await Request().post( + final res = await Request().post( Api.toViewClear, data: { 'clean_type': ?cleanType, @@ -243,7 +243,7 @@ abstract final class UserHttp { Account? account, }) async { account ??= Accounts.history; - var res = await Request().post( + final res = await Request().post( Api.delHistory, data: { 'kid': kid, @@ -263,7 +263,7 @@ abstract final class UserHttp { } static Future hasFollow(int mid) async { - var res = await Request().get( + final res = await Request().get( Api.relation, queryParameters: { 'fid': mid, @@ -282,7 +282,7 @@ abstract final class UserHttp { required String keyword, Account? account, }) async { - var res = await Request().get( + final res = await Request().get( Api.searchHistory, queryParameters: { 'pn': pn, @@ -304,7 +304,7 @@ abstract final class UserHttp { required int pn, required int ps, }) async { - var res = await Request().get( + final res = await Request().get( Api.userSubFolder, queryParameters: { 'up_mid': mid, @@ -324,7 +324,7 @@ abstract final class UserHttp { required String bvid, Object? cid, }) async { - var res = await Request().get( + final res = await Request().get( Api.videoTags, queryParameters: {'bvid': bvid, 'cid': ?cid}, ); @@ -351,7 +351,7 @@ abstract final class UserHttp { dynamic sortField = 1, bool direction = false, }) async { - var res = await Request().get( + final res = await Request().get( Api.mediaList, queryParameters: { 'mobi_app': 'web', diff --git a/lib/http/video.dart b/lib/http/video.dart index 3fbe441ac..9d94879c9 100644 --- a/lib/http/video.dart +++ b/lib/http/video.dart @@ -46,7 +46,7 @@ abstract final class VideoHttp { required int ps, required int freshIdx, }) async { - var res = await Request().get( + final res = await Request().get( Api.recommendListWeb, queryParameters: { 'version': 1, @@ -60,7 +60,7 @@ abstract final class VideoHttp { ); if (res.data['code'] == 0) { List list = []; - for (var i in res.data['data']['item']) { + for (final i in res.data['data']['item']) { //过滤掉live与ad,以及拉黑用户 if (i['goto'] == 'av' && (i['owner'] != null && @@ -108,7 +108,7 @@ abstract final class VideoHttp { 'statistics': Constants.statistics, 'voice_balance': 0, }; - var res = await Request().get( + final res = await Request().get( Api.recommendListApp, queryParameters: params, options: Options( @@ -131,7 +131,7 @@ abstract final class VideoHttp { ); if (res.data['code'] == 0) { List list = []; - for (var i in res.data['data']['items']) { + for (final i in res.data['data']['items']) { // 屏蔽推广和拉黑用户 if (i['card_goto'] != 'ad_av' && i['card_goto'] != 'ad_web_s' && @@ -160,13 +160,13 @@ abstract final class VideoHttp { required int pn, required int ps, }) async { - var res = await Request().get( + final res = await Request().get( Api.hotList, queryParameters: {'pn': pn, 'ps': ps}, ); if (res.data['code'] == 0) { List list = []; - for (var i in res.data['data']['list']) { + for (final i in res.data['data']['list']) { if (!GlobalData().blackMids.contains(i['owner']['mid']) && !RecommendFilter.filterTitle(i['title']) && !RecommendFilter.filterLikeRatio( @@ -221,7 +221,7 @@ abstract final class VideoHttp { }); try { - var res = await Request().get( + final res = await Request().get( videoType.api, queryParameters: params, ); @@ -276,7 +276,7 @@ abstract final class VideoHttp { static Future> videoIntro({ required String bvid, }) async { - var res = await Request().get( + final res = await Request().get( Api.videoIntro, queryParameters: {'bvid': bvid}, ); @@ -291,7 +291,7 @@ abstract final class VideoHttp { static Future> videoRelation({ required String bvid, }) async { - var res = await Request().get( + final res = await Request().get( Api.videoRelation, queryParameters: { 'aid': IdUtils.bv2av(bvid), @@ -309,7 +309,7 @@ abstract final class VideoHttp { static Future?>> relatedVideoList({ required String bvid, }) async { - var res = await Request().get( + final res = await Request().get( Api.relatedList, queryParameters: {'bvid': bvid}, ); @@ -330,7 +330,7 @@ abstract final class VideoHttp { static Future> pgcLikeCoinFav({ required Object epId, }) async { - var res = await Request().get( + final res = await Request().get( Api.pgcLikeCoinFav, queryParameters: {'ep_id': epId}, ); @@ -347,7 +347,7 @@ abstract final class VideoHttp { required int multiply, int selectLike = 0, }) async { - var res = await Request().post( + final res = await Request().post( Api.coinVideo, data: { 'aid': IdUtils.bv2av(bvid).toString(), @@ -370,7 +370,7 @@ abstract final class VideoHttp { required Object epId, Object? seasonId, }) async { - var res = await Request().post( + final res = await Request().post( Api.pgcTriple, data: { 'ep_id': epId, @@ -396,7 +396,7 @@ abstract final class VideoHttp { static Future> ugcTriple({ required String bvid, }) async { - var res = await Request().post( + final res = await Request().post( Api.ugcTriple, data: { 'aid': IdUtils.bv2av(bvid), @@ -429,7 +429,7 @@ abstract final class VideoHttp { required String bvid, required bool type, }) async { - var res = await Request().post( + final res = await Request().post( Api.likeVideo, data: { 'aid': IdUtils.bv2av(bvid).toString(), @@ -452,7 +452,7 @@ abstract final class VideoHttp { if (Accounts.main.accessKey.isNullOrEmpty) { return const Error('请退出账号后重新登录'); } - var res = await Request().post( + final res = await Request().post( Api.dislikeVideo, data: { 'aid': IdUtils.bv2av(bvid).toString(), @@ -478,7 +478,7 @@ abstract final class VideoHttp { return const Error('请退出账号后重新登录'); } assert((reasonId != null) ^ (feedbackId != null)); - var res = await Request().get( + final res = await Request().get( Api.feedDislike, queryParameters: { 'goto': goto, @@ -506,7 +506,7 @@ abstract final class VideoHttp { if (Accounts.get(AccountType.recommend).accessKey.isNullOrEmpty) { return const Error('请退出账号后重新登录'); } - var res = await Request().get( + final res = await Request().get( Api.feedDislikeCancel, queryParameters: { 'goto': goto, @@ -557,7 +557,7 @@ abstract final class VideoHttp { if (syncToDynamic) 'sync_to_dynamic': 1, 'csrf': Accounts.main.csrf, }; - var res = await Request().post( + final res = await Request().post( Api.replyAdd, data: data, options: Options(contentType: Headers.formUrlEncodedContentType), @@ -574,7 +574,7 @@ abstract final class VideoHttp { required int oid, required int rpid, }) async { - var res = await Request().post( + final res = await Request().post( Api.replyDel, data: { 'type': type, //type.index @@ -597,7 +597,7 @@ abstract final class VideoHttp { required int act, required int reSrc, }) async { - var res = await Request().post( + final res = await Request().post( Api.relationMod, queryParameters: { 'statistics': '{"appId":100,"platform":5}', @@ -717,7 +717,7 @@ abstract final class VideoHttp { // 添加追番 static Future> pgcAdd({int? seasonId}) async { - var res = await Request().post( + final res = await Request().post( Api.pgcAdd, data: { 'season_id': seasonId, @@ -734,7 +734,7 @@ abstract final class VideoHttp { // 取消追番 static Future> pgcDel({int? seasonId}) async { - var res = await Request().post( + final res = await Request().post( Api.pgcDel, data: { 'season_id': seasonId, @@ -753,7 +753,7 @@ abstract final class VideoHttp { required String seasonId, required int status, }) async { - var res = await Request().post( + final res = await Request().post( Api.pgcUpdate, data: { 'season_id': seasonId, @@ -778,7 +778,7 @@ abstract final class VideoHttp { required int cid, }) async { assert(aid != null || bvid != null); - var res = await Request().get( + final res = await Request().get( Api.onlineTotal, queryParameters: { 'aid': aid, @@ -803,7 +803,7 @@ abstract final class VideoHttp { 'cid': cid, 'up_mid': ?upMid, }); - var res = await Request().get(Api.aiConclusion, queryParameters: params); + final res = await Request().get(Api.aiConclusion, queryParameters: params); final int? code = res.data['code']; if (code == 0) { final int? dataCode = res.data['data']?['code']; @@ -825,7 +825,7 @@ abstract final class VideoHttp { dynamic epId, }) async { assert(aid != null || bvid != null); - var res = await Request().get( + final res = await Request().get( Api.playInfo, queryParameters: await WbiSign.makSign({ 'aid': ?aid, @@ -866,7 +866,7 @@ abstract final class VideoHttp { } static Future vttSubtitles(String subtitleUrl) async { - var res = await Request().get("https:$subtitleUrl"); + final res = await Request().get("https:$subtitleUrl"); if (res.data?['body'] case List list) { return compute(processList, list); } @@ -894,7 +894,7 @@ abstract final class VideoHttp { static Future>> getRankVideoList( int rid, ) async { - var res = await Request().get( + final res = await Request().get( Api.getRankApi, queryParameters: await WbiSign.makSign({ 'rid': rid, @@ -903,12 +903,12 @@ abstract final class VideoHttp { ); if (res.data['code'] == 0) { List list = []; - for (var i in res.data['data']['list']) { + for (final i in res.data['data']['list']) { if (_canAddRank(i)) { list.add(HotVideoItemModel.fromJson(i)); // final List? others = i['others']; // if (others != null && others.isNotEmpty) { - // for (var j in others) { + // for (final j in others) { // if (_canAddRank(j)) { // list.add(HotVideoItemModel.fromJson(j)); // } @@ -927,7 +927,7 @@ abstract final class VideoHttp { int day = 3, required int seasonType, }) async { - var res = await Request().get( + final res = await Request().get( Api.pgcRank, queryParameters: await WbiSign.makSign({ 'day': day, @@ -950,7 +950,7 @@ abstract final class VideoHttp { int day = 3, required int seasonType, }) async { - var res = await Request().get( + final res = await Request().get( Api.pgcSeasonRank, queryParameters: await WbiSign.makSign({ 'day': day, @@ -973,7 +973,7 @@ abstract final class VideoHttp { dynamic uperMid, required int page, }) async { - var res = await Request().get( + final res = await Request().get( Api.archiveNoteList, queryParameters: { 'csrf': Accounts.main.csrf, @@ -993,7 +993,7 @@ abstract final class VideoHttp { static Future?>> popularSeriesList() async { - var res = await Request().get( + final res = await Request().get( Api.popularSeriesList, queryParameters: await WbiSign.makSign({ 'web_location': 333.934, @@ -1015,7 +1015,7 @@ abstract final class VideoHttp { static Future> popularSeriesOne({ required int number, }) async { - var res = await Request().get( + final res = await Request().get( Api.popularSeriesOne, queryParameters: await WbiSign.makSign({ 'number': number, @@ -1032,7 +1032,7 @@ abstract final class VideoHttp { static Future> popularPrecious({ required int page, }) async { - var res = await Request().get( + final res = await Request().get( Api.popularPrecious, queryParameters: await WbiSign.makSign({ 'page_size': 100, diff --git a/lib/models/common/member/tab_type.dart b/lib/models/common/member/tab_type.dart index beca12648..7cb96a4fd 100644 --- a/lib/models/common/member/tab_type.dart +++ b/lib/models/common/member/tab_type.dart @@ -17,7 +17,7 @@ enum MemberTabType { if (type == shop.name && !showMemberShop) { return false; } - for (var e in MemberTabType.values) { + for (final e in MemberTabType.values) { if (e.name == type) { return true; } diff --git a/lib/models/common/video/audio_quality.dart b/lib/models/common/video/audio_quality.dart index 5ced8c6ea..de65cbb4e 100644 --- a/lib/models/common/video/audio_quality.dart +++ b/lib/models/common/video/audio_quality.dart @@ -14,7 +14,7 @@ enum AudioQuality { const AudioQuality(this.code, this.desc); - static final _codeMap = {for (var i in values) i.code: i}; + static final _codeMap = {for (final i in values) i.code: i}; static AudioQuality fromCode(int code) => _codeMap[code]!; } diff --git a/lib/models/common/video/live_quality.dart b/lib/models/common/video/live_quality.dart index 6065c8e71..bdcbfdef9 100644 --- a/lib/models/common/video/live_quality.dart +++ b/lib/models/common/video/live_quality.dart @@ -15,7 +15,7 @@ enum LiveQuality { const LiveQuality(this.code, this.desc); static LiveQuality? fromCode(int? code) { - for (var e in LiveQuality.values) { + for (final e in LiveQuality.values) { if (e.code == code) { return e; } diff --git a/lib/models/common/video/video_quality.dart b/lib/models/common/video/video_quality.dart index 4a09062b6..bd91f362e 100644 --- a/lib/models/common/video/video_quality.dart +++ b/lib/models/common/video/video_quality.dart @@ -20,7 +20,7 @@ enum VideoQuality { const VideoQuality(this.code, this.desc, this.shortDesc); - static final _codeMap = {for (var i in values) i.code: i}; + static final _codeMap = {for (final i in values) i.code: i}; static VideoQuality fromCode(int code) => _codeMap[code]!; } diff --git a/lib/models/dynamics/result.dart b/lib/models/dynamics/result.dart index e4d4ab2bc..33bc2c2a2 100644 --- a/lib/models/dynamics/result.dart +++ b/lib/models/dynamics/result.dart @@ -57,7 +57,7 @@ class DynamicsDataModel { items = []; late final filterBan = type != DynamicsTabType.up && tempBannedList?.isNotEmpty == true; - for (var e in list) { + for (final e in list) { DynamicItemModel item = DynamicItemModel.fromJson(e); if (antiGoodsDyn && (item.orig?.modules.moduleDynamic?.additional?.type == diff --git a/lib/models/home/rcmd/result.dart b/lib/models/home/rcmd/result.dart index be2205806..5788c13ae 100644 --- a/lib/models/home/rcmd/result.dart +++ b/lib/models/home/rcmd/result.dart @@ -73,7 +73,7 @@ class ThreePoint { // int? watchLater; ThreePoint.fromJson(List json) { - for (var elem in json) { + for (final elem in json) { switch (elem['type']) { // case 'watch_later': // watchLater = 1; diff --git a/lib/models/user/danmaku_block.dart b/lib/models/user/danmaku_block.dart index 87ffa1398..79c3f589a 100644 --- a/lib/models/user/danmaku_block.dart +++ b/lib/models/user/danmaku_block.dart @@ -11,7 +11,7 @@ class DanmakuBlockDataModel { rule1 = []; rule2 = []; if (json['rule'] case List list) { - for (var e in list) { + for (final e in list) { SimpleRule item = SimpleRule.fromJson(e); switch (item.type) { case 0: diff --git a/lib/models_new/download/bili_download_entry_info.dart b/lib/models_new/download/bili_download_entry_info.dart index 1181a0820..77e63250a 100644 --- a/lib/models_new/download/bili_download_entry_info.dart +++ b/lib/models_new/download/bili_download_entry_info.dart @@ -45,8 +45,8 @@ class BiliDownloadEntryInfo with MultiSelectData { int get sortKey => ep?.sortIndex ?? pageData!.cid; String get showTitle { - if (pageData case final pageData?) { - return pageData.part?.isNotEmpty == true ? pageData.part! : title; + if (pageData case PageInfo(:final part)) { + return part != null && part.isNotEmpty ? part : title; } if (ep case final ep?) { return ep.showTitle ?? '${ep.index} ${ep.indexTitle}'; diff --git a/lib/models_new/live/live_feed_index/data.dart b/lib/models_new/live/live_feed_index/data.dart index c7c455359..317a3c9a6 100644 --- a/lib/models_new/live/live_feed_index/data.dart +++ b/lib/models_new/live/live_feed_index/data.dart @@ -17,7 +17,7 @@ class LiveIndexData { // my_idol_v1 // area_entrance_v3 // small_card_v1 - for (var json in json['card_list']) { + for (final json in json['card_list']) { switch (json['card_type']) { case 'my_idol_v1': followItem = LiveCardList.fromJson(json); diff --git a/lib/pages/article/widgets/opus_content.dart b/lib/pages/article/widgets/opus_content.dart index f63da479d..a09655c58 100644 --- a/lib/pages/article/widgets/opus_content.dart +++ b/lib/pages/article/widgets/opus_content.dart @@ -278,16 +278,18 @@ class OpusContent extends StatelessWidget { surfaceLuminance: getSurfaceLuminance, ); } - if (item.rich case final rich?) { - final hasUrl = rich.jumpUrl?.isNotEmpty == true; + if (item.rich case Rich( + :final text, + :final jumpUrl, + )) { + final hasUrl = + jumpUrl != null && jumpUrl.isNotEmpty; return TextSpan( - text: '${hasUrl ? '\u{1F517}' : ''}${rich.text}', + text: '${hasUrl ? '\u{1F517}' : ''}$text', recognizer: hasUrl ? (TapGestureRecognizer() ..onTap = () => - PiliScheme.routePushFromUrl( - rich.jumpUrl!, - )) + PiliScheme.routePushFromUrl(jumpUrl)) : null, style: hasUrl ? TextStyle(color: colorScheme.primary) diff --git a/lib/pages/article_list/view.dart b/lib/pages/article_list/view.dart index 80c4bdff7..a9d19affd 100644 --- a/lib/pages/article_list/view.dart +++ b/lib/pages/article_list/view.dart @@ -72,7 +72,7 @@ class _ArticleListPageState extends State with GridMixin { ) { return switch (loadingState) { Loading() => gridSkeleton, - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, @@ -81,7 +81,7 @@ class _ArticleListPageState extends State with GridMixin { itemCount: response.length, ) : HttpError(onReload: _controller.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _controller.onReload, ), diff --git a/lib/pages/audio/controller.dart b/lib/pages/audio/controller.dart index 46f2ea0ef..c8b77d04a 100644 --- a/lib/pages/audio/controller.dart +++ b/lib/pages/audio/controller.dart @@ -520,10 +520,13 @@ class AudioController extends GetxController ), onTap: () { Get.back(); - if (audioItem.value case final audioItem?) { + if (audioItem.value case DetailItem( + :final arc, + :final owner, + )) { Utils.shareText( - '${audioItem.arc.title} ' - 'UP主: ${audioItem.owner.name}' + '${arc.title} ' + 'UP主: ${owner.name}' ' - $audioUrl', ); } @@ -537,7 +540,10 @@ class AudioController extends GetxController ), onTap: () { Get.back(); - if (audioItem.value case final audioItem?) { + if (audioItem.value case DetailItem( + :final arc, + :final owner, + )) { showModalBottomSheet( context: context, isScrollControlled: true, @@ -545,9 +551,9 @@ class AudioController extends GetxController builder: (context) => RepostPanel( rid: oid.toInt(), dynType: isVideo ? 8 : 256, - pic: audioItem.arc.cover, - title: audioItem.arc.title, - uname: audioItem.owner.name, + pic: arc.cover, + title: arc.title, + uname: owner.name, ), ); } @@ -562,18 +568,21 @@ class AudioController extends GetxController ), onTap: () { Get.back(); - if (audioItem.value case final audioItem?) { + if (audioItem.value case DetailItem( + :final arc, + :final owner, + )) { try { PageUtils.pmShare( context, content: { "id": oid.toString(), - "title": audioItem.arc.title, - "headline": audioItem.arc.title, + "title": arc.title, + "headline": arc.title, "source": 5, - "thumb": audioItem.arc.cover, - "author": audioItem.owner.name, - "author_id": audioItem.owner.mid.toString(), + "thumb": arc.cover, + "author": owner.name, + "author_id": owner.mid.toString(), }, ); } catch (e) { @@ -612,8 +621,7 @@ class AudioController extends GetxController bool playNext({bool nextPart = false}) { if (nextPart) { - if (audioItem.value case final audioItem?) { - final parts = audioItem.parts; + if (audioItem.value case DetailItem(:final parts)) { if (parts.length > 1) { final subId = this.subId.firstOrNull; final nextIndex = parts.indexWhere((e) => e.subId == subId) + 1; diff --git a/lib/pages/audio/view.dart b/lib/pages/audio/view.dart index 7052a0a32..7c6a7ae7a 100644 --- a/lib/pages/audio/view.dart +++ b/lib/pages/audio/view.dart @@ -266,9 +266,7 @@ class _AudioPageState extends State { _controller.index!) { _controller.index -= 1; } - _controller.playlist!.removeAt( - index, - ); + playlist.removeAt(index); (context as Element) .markNeedsBuild(); }, @@ -379,9 +377,7 @@ class _AudioPageState extends State { if (index < _controller.index!) { _controller.index -= 1; } - _controller.playlist!.removeAt( - index, - ); + playlist.removeAt(index); (context as Element) .markNeedsBuild(); }, diff --git a/lib/pages/blacklist/controller.dart b/lib/pages/blacklist/controller.dart index 15025cef9..9884e20c2 100644 --- a/lib/pages/blacklist/controller.dart +++ b/lib/pages/blacklist/controller.dart @@ -37,7 +37,7 @@ class BlackListController context: context, title: '确定将 $name 移出黑名单?', onConfirm: () async { - var result = await VideoHttp.relationMod(mid: mid, act: 6, reSrc: 11); + final result = await VideoHttp.relationMod(mid: mid, act: 6, reSrc: 11); if (result.isSuccess) { loadingState ..value.data!.removeAt(index) diff --git a/lib/pages/blacklist/view.dart b/lib/pages/blacklist/view.dart index 174f285bd..25aff80b2 100644 --- a/lib/pages/blacklist/view.dart +++ b/lib/pages/blacklist/view.dart @@ -74,7 +74,7 @@ class _BlackListPageState extends State { itemCount: 12, itemBuilder: (context, index) => const MsgFeedTopSkeleton(), ), - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverList.builder( itemCount: response.length, @@ -118,7 +118,7 @@ class _BlackListPageState extends State { }, ) : HttpError(onReload: _blackListController.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _blackListController.onReload, ), diff --git a/lib/pages/common/common_intro_controller.dart b/lib/pages/common/common_intro_controller.dart index 9ffa86390..f874235de 100644 --- a/lib/pages/common/common_intro_controller.dart +++ b/lib/pages/common/common_intro_controller.dart @@ -103,7 +103,7 @@ abstract class CommonIntroController extends GetxController if (!isShowOnlineTotal) { return; } - var result = await VideoHttp.onlineTotal( + final result = await VideoHttp.onlineTotal( aid: IdUtils.bv2av(bvid), bvid: bvid, cid: cid.value, @@ -124,7 +124,7 @@ abstract class CommonIntroController extends GetxController if (stat == null) { return; } - var res = await VideoHttp.coinVideo( + final res = await VideoHttp.coinVideo( bvid: bvid, multiply: coin, selectLike: selectLike ? 1 : 0, @@ -149,7 +149,7 @@ abstract class CommonIntroController extends GetxController } Future viewLater() async { - var res = await (hasLater.value + final res = await (hasLater.value ? UserHttp.toViewDel(aids: IdUtils.bv2av(bvid).toString()) : UserHttp.toViewLater(bvid: bvid)); if (res['status']) hasLater.value = !hasLater.value; @@ -230,7 +230,7 @@ mixin FavMixin on TripleMixin { queryVideoInFolder().then((res) async { if (res.isSuccess) { final hasFav = this.hasFav.value; - var result = hasFav + final result = hasFav ? await FavHttp.unfavAll(rid: rid, type: type) : await FavHttp.favVideo( resources: '$rid:$type', @@ -254,7 +254,7 @@ mixin FavMixin on TripleMixin { List addMediaIdsNew = []; List delMediaIdsNew = []; try { - for (var i in favFolderData.value.list!) { + for (final i in favFolderData.value.list!) { bool isFaved = favIds?.contains(i.id) == true; if (i.favState == 1) { if (!isFaved) { @@ -270,7 +270,7 @@ mixin FavMixin on TripleMixin { if (kDebugMode) debugPrint(e.toString()); } SmartDialog.showLoading(msg: '请求中'); - var result = await FavHttp.favVideo( + final result = await FavHttp.favVideo( resources: '$rid:$type', addIds: addMediaIdsNew.join(','), delIds: delMediaIdsNew.join(','), diff --git a/lib/pages/common/common_whisper_controller.dart b/lib/pages/common/common_whisper_controller.dart index 2365d7d94..6b5139bae 100644 --- a/lib/pages/common/common_whisper_controller.dart +++ b/lib/pages/common/common_whisper_controller.dart @@ -13,7 +13,7 @@ abstract class CommonWhisperController SessionPageType get sessionPageType; Future onRemove(int index, int talkerId) async { - var res = await MsgHttp.removeMsg(talkerId); + final res = await MsgHttp.removeMsg(talkerId); if (res.isSuccess) { loadingState ..value.data!.removeAt(index) @@ -30,7 +30,7 @@ abstract class CommonWhisperController bool isTop, SessionId sessionId, ) async { - var res = isTop + final res = isTop ? await ImGrpc.unpinSession(sessionId: sessionId) : await ImGrpc.pinSession(sessionId: sessionId); @@ -48,7 +48,7 @@ abstract class CommonWhisperController } Future onSetMute(Session item, bool isMuted, Int64 talkerUid) async { - var res = await MsgHttp.setMsgDnd( + final res = await MsgHttp.setMsgDnd( uid: Accounts.main.mid, setting: isMuted ? 0 : 1, dndUid: talkerUid, @@ -68,7 +68,7 @@ abstract class CommonWhisperController if (loadingState.value.isSuccess) { List? list = loadingState.value.data; if (list != null && list.isNotEmpty) { - for (var item in list) { + for (final item in list) { if (item.hasUnread()) { item.clearUnread(); } @@ -83,7 +83,7 @@ abstract class CommonWhisperController } Future onDeleteList() async { - var res = await ImGrpc.deleteSessionList(pageType: sessionPageType); + final res = await ImGrpc.deleteSessionList(pageType: sessionPageType); if (res.isSuccess) { loadingState.value = const Success(null); } else { diff --git a/lib/pages/common/dyn/common_dyn_page.dart b/lib/pages/common/dyn/common_dyn_page.dart index 990b78af6..0c7d2d13f 100644 --- a/lib/pages/common/dyn/common_dyn_page.dart +++ b/lib/pages/common/dyn/common_dyn_page.dart @@ -157,7 +157,7 @@ abstract class CommonDynPageState extends State itemCount: 12, itemBuilder: (context, index) => const VideoReplySkeleton(), ), - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverList.builder( itemCount: response.length + 1, @@ -206,7 +206,7 @@ abstract class CommonDynPageState extends State errMsg: '还没有评论', onReload: controller.onReload, ), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: controller.onReload, ), diff --git a/lib/pages/common/multi_select/base.dart b/lib/pages/common/multi_select/base.dart index f3d812ece..8a096856c 100644 --- a/lib/pages/common/multi_select/base.dart +++ b/lib/pages/common/multi_select/base.dart @@ -32,7 +32,7 @@ mixin BaseMultiSelectMixin @override void handleSelect({bool checked = false, bool disableSelect = true}) { - for (var item in list) { + for (final item in list) { item.checked = checked; } state.refresh(); @@ -94,7 +94,7 @@ mixin CommonMultiSelectMixin if (loadingState.value.isSuccess) { final list = loadingState.value.data; if (list != null && list.isNotEmpty) { - for (var item in list) { + for (final item in list) { item.checked = checked; } loadingState.refresh(); diff --git a/lib/pages/common/publish/common_rich_text_pub_page.dart b/lib/pages/common/publish/common_rich_text_pub_page.dart index ebdf479d3..877368bcd 100644 --- a/lib/pages/common/publish/common_rich_text_pub_page.dart +++ b/lib/pages/common/publish/common_rich_text_pub_page.dart @@ -63,7 +63,7 @@ abstract class CommonRichTextPubPageState @override void dispose() { if (PlatformUtils.isMobile) { - for (var i in pathList) { + for (final i in pathList) { File(i).tryDel(); } } @@ -230,7 +230,7 @@ abstract class CommonRichTextPubPageState List>? getRichContent() { if (editController.items.isEmpty) return null; final list = >[]; - for (var e in editController.items) { + for (final e in editController.items) { switch (e.type) { case RichTextType.text || RichTextType.composing || RichTextType.common: list.add({ @@ -279,7 +279,7 @@ abstract class CommonRichTextPubPageState if (res is MentionItem) { _onInsertUser(res, fromClick); } else if (res is Set) { - for (var e in res) { + for (final e in res) { e.checked = false; _onInsertUser(e, fromClick); } @@ -313,7 +313,7 @@ abstract class CommonRichTextPubPageState enablePublish.value = true; - var oldValue = editController.value; + final oldValue = editController.value; final selection = oldValue.selection; if (selection.isValid) { diff --git a/lib/pages/common/search/common_search_page.dart b/lib/pages/common/search/common_search_page.dart index 946e994fe..74a9fa7ae 100644 --- a/lib/pages/common/search/common_search_page.dart +++ b/lib/pages/common/search/common_search_page.dart @@ -17,7 +17,7 @@ abstract class CommonSearchPageState @override Widget build(BuildContext context) { - if (controller case MultiSelectBase multiCtr) { + if (controller case final MultiSelectBase multiCtr) { return Obx(() { final enableMultiSelect = multiCtr.enableMultiSelect.value; return PopScope( @@ -95,11 +95,11 @@ abstract class CommonSearchPageState Widget _buildBody(LoadingState?> loadingState) { return switch (loadingState) { Loading() => const HttpError(), - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? buildList(response) : HttpError(onReload: controller.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: controller.onReload, ), diff --git a/lib/pages/download/controller.dart b/lib/pages/download/controller.dart index 3871f4e11..96808fa9a 100644 --- a/lib/pages/download/controller.dart +++ b/lib/pages/download/controller.dart @@ -80,7 +80,7 @@ class DownloadPageController extends GetxController onConfirm: () async { SmartDialog.showLoading(); final watchProgress = GStorage.watchProgress; - for (var page in allChecked) { + for (final page in allChecked) { await watchProgress.deleteAll( page.entries.map((e) => e.cid.toString()), ); diff --git a/lib/pages/download/detail/view.dart b/lib/pages/download/detail/view.dart index 329dae9f7..d8548e5e2 100644 --- a/lib/pages/download/detail/view.dart +++ b/lib/pages/download/detail/view.dart @@ -206,7 +206,7 @@ class _DownloadDetailPageState extends State if (isDeleteAll) { await _closeSub(); } - for (var entry in allChecked) { + for (final entry in allChecked) { await watchProgress.deleteAll( allChecked.map((e) => e.cid.toString()), ); diff --git a/lib/pages/download/downloading/view.dart b/lib/pages/download/downloading/view.dart index ce9ab1071..e84255b09 100644 --- a/lib/pages/download/downloading/view.dart +++ b/lib/pages/download/downloading/view.dart @@ -115,7 +115,7 @@ class _DownloadingPageState extends State final isDownloading = _downloadService.curDownload.value?.status == DownloadStatus.downloading; - for (var entry in allChecked) { + for (final entry in allChecked) { await _downloadService.deleteDownload( entry: entry, refresh: false, diff --git a/lib/pages/download/search/controller.dart b/lib/pages/download/search/controller.dart index 4c023d319..d15697d3a 100644 --- a/lib/pages/download/search/controller.dart +++ b/lib/pages/download/search/controller.dart @@ -56,7 +56,7 @@ class DownloadSearchController onConfirm: () async { SmartDialog.showLoading(); final allChecked = this.allChecked.toSet(); - for (var entry in allChecked) { + for (final entry in allChecked) { await GStorage.watchProgress.delete(entry.cid.toString()); await _downloadService.deleteDownload( entry: entry, diff --git a/lib/pages/download/view.dart b/lib/pages/download/view.dart index 50462d7aa..349b6b968 100644 --- a/lib/pages/download/view.dart +++ b/lib/pages/download/view.dart @@ -68,7 +68,7 @@ class _DownloadPageState extends State { final allChecked = _controller.allChecked.toSet(); _controller.handleSelect(); final list = []; - for (var page in allChecked) { + for (final page in allChecked) { list.addAll(page.entries); } final res = await Future.wait( diff --git a/lib/pages/dynamics/widgets/additional_panel.dart b/lib/pages/dynamics/widgets/additional_panel.dart index d991c4b00..7a7db9c0a 100644 --- a/lib/pages/dynamics/widgets/additional_panel.dart +++ b/lib/pages/dynamics/widgets/additional_panel.dart @@ -178,7 +178,7 @@ Widget addWidget( : btn.disable == 1 ? null : () async { - var res = await DynamicsHttp.dynReserve( + final res = await DynamicsHttp.dynReserve( reserveId: reserve.rid, curBtnStatus: btn.status, dynamicIdStr: idStr, diff --git a/lib/pages/dynamics/widgets/author_panel.dart b/lib/pages/dynamics/widgets/author_panel.dart index ff98fd688..34279011d 100644 --- a/lib/pages/dynamics/widgets/author_panel.dart +++ b/lib/pages/dynamics/widgets/author_panel.dart @@ -274,7 +274,7 @@ class AuthorPanel extends StatelessWidget { onTap: () async { Get.back(); try { - var res = await UserHttp.toViewLater(bvid: bvid); + final res = await UserHttp.toViewLater(bvid: bvid); SmartDialog.showToast(res['msg']); } catch (err) { SmartDialog.showToast('出错了:${err.toString()}'); diff --git a/lib/pages/dynamics/widgets/dynamic_panel.dart b/lib/pages/dynamics/widgets/dynamic_panel.dart index e0ac6e774..b02a886ff 100644 --- a/lib/pages/dynamics/widgets/dynamic_panel.dart +++ b/lib/pages/dynamics/widgets/dynamic_panel.dart @@ -89,11 +89,13 @@ class DynamicPanel extends StatelessWidget { ), const SizedBox(height: 2), if (!isDetail) ...[ - if (item.modules.moduleInteraction case final moduleInteraction?) - if (moduleInteraction.items?.isNotEmpty == true) + if (item.modules.moduleInteraction case ModuleInteraction( + :final items, + )) + if (items != null && items.isNotEmpty) dynInteraction( theme: theme, - items: moduleInteraction.items!, + items: items, ), ActionPanel(item: item), if (item.modules.moduleFold case final moduleFold?) ...[ diff --git a/lib/pages/dynamics/widgets/rich_node_panel.dart b/lib/pages/dynamics/widgets/rich_node_panel.dart index f69bb780c..6953ebf4e 100644 --- a/lib/pages/dynamics/widgets/rich_node_panel.dart +++ b/lib/pages/dynamics/widgets/rich_node_panel.dart @@ -50,7 +50,7 @@ TextSpan? richNode( if (richTextNodes == null || richTextNodes.isEmpty) { return null; } else { - for (var i in richTextNodes) { + for (final i in richTextNodes) { switch (i.type) { case 'RICH_TEXT_NODE_TYPE_TEXT': spanChildren.add( @@ -289,7 +289,7 @@ TextSpan? richNode( DynamicsHttp.dynPic(i.rid).then((res) { if (res.isSuccess) { - var list = res.data; + final list = res.data; if (Platform.isAndroid) { i.pics = list; } else { diff --git a/lib/pages/dynamics_create/view.dart b/lib/pages/dynamics_create/view.dart index 30a3d5153..20626936b 100644 --- a/lib/pages/dynamics_create/view.dart +++ b/lib/pages/dynamics_create/view.dart @@ -708,7 +708,7 @@ class _CreateDynPanelState extends CommonRichTextPubPageState { List>? extraContent = getRichContent(); final hasRichText = extraContent != null; final reserveCard = _reserveCard.value; - var result = await DynamicsHttp.createDynamic( + final result = await DynamicsHttp.createDynamic( mid: Accounts.main.mid, rawText: hasRichText ? null : editController.text, pics: pictures, @@ -736,7 +736,7 @@ class _CreateDynPanelState extends CommonRichTextPubPageState { hasPub = true; Get.back(); SmartDialog.showToast('发布成功'); - var id = result['data']?['dyn_id']; + final id = result['data']?['dyn_id']; RequestUtils.insertCreatedDyn(id); if (!_isPrivate.value) { RequestUtils.checkCreatedDyn( diff --git a/lib/pages/dynamics_create_reserve/controller.dart b/lib/pages/dynamics_create_reserve/controller.dart index fbd79aad6..2215d52d3 100644 --- a/lib/pages/dynamics_create_reserve/controller.dart +++ b/lib/pages/dynamics_create_reserve/controller.dart @@ -28,7 +28,7 @@ class CreateReserveController extends GetxController { } Future queryData() async { - var res = await DynamicsHttp.reserveInfo(sid: sid); + final res = await DynamicsHttp.reserveInfo(sid: sid); if (res.isSuccess) { ReserveInfoData data = res.data; key = Utils.generateRandomString(6); @@ -44,7 +44,7 @@ class CreateReserveController extends GetxController { Future onCreate() async { final livePlanStartTime = date.value.millisecondsSinceEpoch ~/ 1000; - var res = sid == null + final res = sid == null ? await DynamicsHttp.createReserve( title: title.value, subType: subType.value, diff --git a/lib/pages/dynamics_create_vote/controller.dart b/lib/pages/dynamics_create_vote/controller.dart index 6015ceeb9..e5e6e5a62 100644 --- a/lib/pages/dynamics_create_vote/controller.dart +++ b/lib/pages/dynamics_create_vote/controller.dart @@ -55,7 +55,7 @@ class CreateVoteController extends GetxController { } Future queryData() async { - var res = await DynamicsHttp.voteInfo(voteId); + final res = await DynamicsHttp.voteInfo(voteId); if (res.isSuccess) { key = Utils.generateRandomString(6); final VoteInfo data = res.data; @@ -95,7 +95,7 @@ class CreateVoteController extends GetxController { votePublisher: Accounts.main.mid, voteId: voteId, ); - var res = await (voteId == null + final res = await (voteId == null ? DynamicsHttp.createVote(voteInfo) : DynamicsHttp.updateVote(voteInfo)); if (res.isSuccess) { @@ -107,7 +107,7 @@ class CreateVoteController extends GetxController { } Future onUpload(int index, String path) async { - var res = await MsgHttp.uploadBfs( + final res = await MsgHttp.uploadBfs( path: path, category: 'daily', biz: 'vote', diff --git a/lib/pages/dynamics_detail/controller.dart b/lib/pages/dynamics_detail/controller.dart index 1374d0c34..5b1bb96e7 100644 --- a/lib/pages/dynamics_detail/controller.dart +++ b/lib/pages/dynamics_detail/controller.dart @@ -21,8 +21,8 @@ class DynamicDetailController extends CommonDynController { void onInit() { super.onInit(); dynItem = Get.arguments['item']; - var commentType = dynItem.basic?.commentType; - var commentIdStr = dynItem.basic?.commentIdStr; + final commentType = dynItem.basic?.commentType; + final commentIdStr = dynItem.basic?.commentIdStr; if (commentType != null && commentType != 0 && commentIdStr != null && diff --git a/lib/pages/dynamics_mention/view.dart b/lib/pages/dynamics_mention/view.dart index ea0fff170..617a0fc1b 100644 --- a/lib/pages/dynamics_mention/view.dart +++ b/lib/pages/dynamics_mention/view.dart @@ -238,7 +238,7 @@ class _DynMentionPanelState padding: const EdgeInsets.only(top: 8), sliver: linearLoading, ), - Success?>(:var response) => + Success?>(:final response) => response != null && response.isNotEmpty ? SliverMainAxisGroup( slivers: response.map((group) { @@ -278,7 +278,7 @@ class _DynMentionPanelState }).toList(), ) : HttpError(onReload: _controller.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _controller.onReload, ), diff --git a/lib/pages/dynamics_repost/view.dart b/lib/pages/dynamics_repost/view.dart index d4d678d21..21c2d011c 100644 --- a/lib/pages/dynamics_repost/view.dart +++ b/lib/pages/dynamics_repost/view.dart @@ -417,7 +417,7 @@ class _RepostPanelState extends CommonRichTextPubPageState { if (hasRichText && repostContent != null) { richContent.addAll(repostContent); } - var result = await DynamicsHttp.createDynamic( + final result = await DynamicsHttp.createDynamic( mid: Accounts.main.mid, dynIdStr: widget.item?.idStr ?? widget.dynIdStr, rid: widget.rid, @@ -431,7 +431,7 @@ class _RepostPanelState extends CommonRichTextPubPageState { Get.back(); SmartDialog.showToast('转发成功'); widget.onSuccess?.call(); - var id = result['data']?['dyn_id']; + final id = result['data']?['dyn_id']; RequestUtils.insertCreatedDyn(id); RequestUtils.checkCreatedDyn( id: id, diff --git a/lib/pages/dynamics_select_topic/view.dart b/lib/pages/dynamics_select_topic/view.dart index a1c875ab7..7a7ed7c0d 100644 --- a/lib/pages/dynamics_select_topic/view.dart +++ b/lib/pages/dynamics_select_topic/view.dart @@ -189,7 +189,7 @@ class _SelectTopicPanelState ) { return switch (loadingState) { Loading() => loadingWidget, - Success?>(:var response) => + Success?>(:final response) => response != null && response.isNotEmpty ? ListView.builder( padding: EdgeInsets.only( @@ -208,7 +208,7 @@ class _SelectTopicPanelState itemCount: response.length, ) : _errWidget(), - Error(:var errMsg) => _errWidget(errMsg), + Error(:final errMsg) => _errWidget(errMsg), }; } diff --git a/lib/pages/dynamics_tab/controller.dart b/lib/pages/dynamics_tab/controller.dart index 4ee38aaf1..e3f6d6b0a 100644 --- a/lib/pages/dynamics_tab/controller.dart +++ b/lib/pages/dynamics_tab/controller.dart @@ -52,7 +52,7 @@ class DynamicsTabController ); Future onRemove(int index, dynamic dynamicId) async { - var res = await MsgHttp.removeDynamic(dynIdStr: dynamicId); + final res = await MsgHttp.removeDynamic(dynIdStr: dynamicId); if (res.isSuccess) { loadingState ..value.data!.removeAt(index) diff --git a/lib/pages/dynamics_tab/view.dart b/lib/pages/dynamics_tab/view.dart index 23bec6ba1..6d56e96ba 100644 --- a/lib/pages/dynamics_tab/view.dart +++ b/lib/pages/dynamics_tab/view.dart @@ -115,7 +115,7 @@ class _DynamicsTabPageState Widget _buildBody(LoadingState?> loadingState) { return switch (loadingState) { Loading() => dynSkeleton, - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? GlobalData().dynamicsWaterfallFlow ? SliverWaterfallFlow( @@ -156,7 +156,7 @@ class _DynamicsTabPageState itemCount: response.length, ) : HttpError(onReload: controller.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: controller.onReload, ), diff --git a/lib/pages/dynamics_topic/controller.dart b/lib/pages/dynamics_topic/controller.dart index 93d6fe488..cc78e317d 100644 --- a/lib/pages/dynamics_topic/controller.dart +++ b/lib/pages/dynamics_topic/controller.dart @@ -40,7 +40,7 @@ class DynTopicController Future queryTop() async { topState.value = await DynamicsHttp.topicTop(topicId: topicId); if (topState.value.isSuccess) { - var topicItem = topState.value.data!.topicItem!; + final topicItem = topState.value.data!.topicItem!; topicName = topicItem.name; isFav.value = topicItem.isFav; isLike.value = topicItem.isLike; @@ -97,7 +97,7 @@ class DynTopicController return; } bool isFav = this.isFav.value ?? false; - var res = isFav + final res = isFav ? await FavHttp.delFavTopic(topicId) : await FavHttp.addFavTopic(topicId); if (res.isSuccess) { @@ -118,7 +118,7 @@ class DynTopicController return; } bool isLike = this.isLike.value ?? false; - var res = await FavHttp.likeTopic(topicId, isLike); + final res = await FavHttp.likeTopic(topicId, isLike); if (res.isSuccess) { if (isLike) { topState.value.data!.topicItem!.like -= 1; diff --git a/lib/pages/dynamics_topic/view.dart b/lib/pages/dynamics_topic/view.dart index bf15e0570..d2ae31b46 100644 --- a/lib/pages/dynamics_topic/view.dart +++ b/lib/pages/dynamics_topic/view.dart @@ -158,7 +158,7 @@ class _DynTopicPageState extends State with DynMixin { ) { return switch (topState) { Loading() => const SliverAppBar(), - Success(:var response) when (topState.dataOrNull != null) => + Success(:final response) when (topState.dataOrNull != null) => DynamicSliverAppBarMedium( pinned: true, afterCalc: (value) => @@ -347,7 +347,7 @@ class _DynTopicPageState extends State with DynMixin { Widget _buildBody(LoadingState?> loadingState) { return switch (loadingState) { Loading() => dynSkeleton, - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? GlobalData().dynamicsWaterfallFlow ? SliverWaterfallFlow( @@ -389,7 +389,7 @@ class _DynTopicPageState extends State with DynMixin { itemCount: response.length, ) : HttpError(onReload: _controller.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _controller.onReload, ), diff --git a/lib/pages/dynamics_topic_rcmd/view.dart b/lib/pages/dynamics_topic_rcmd/view.dart index 88b8c1f42..f80c09806 100644 --- a/lib/pages/dynamics_topic_rcmd/view.dart +++ b/lib/pages/dynamics_topic_rcmd/view.dart @@ -41,7 +41,7 @@ class _DynTopicRcmdPageState extends State { Widget _buildBody(LoadingState?> loadingState) { return switch (loadingState) { Loading() => linearLoading, - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverList.builder( itemCount: response.length, @@ -59,7 +59,7 @@ class _DynTopicRcmdPageState extends State { }, ) : HttpError(onReload: _controller.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _controller.onReload, ), diff --git a/lib/pages/emote/view.dart b/lib/pages/emote/view.dart index 8a391e8c1..cc848854f 100644 --- a/lib/pages/emote/view.dart +++ b/lib/pages/emote/view.dart @@ -51,7 +51,7 @@ class _EmotePanelState extends State ); return switch (loadingState) { Loading() => loadingWidget, - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? Column( children: [ @@ -218,7 +218,7 @@ class _EmotePanelState extends State ], ) : _errorWidget(), - Error(:var errMsg) => _errorWidget(errMsg), + Error(:final errMsg) => _errorWidget(errMsg), }; } diff --git a/lib/pages/episode_panel/view.dart b/lib/pages/episode_panel/view.dart index f3456f853..8a6bc6e33 100644 --- a/lib/pages/episode_panel/view.dart +++ b/lib/pages/episode_panel/view.dart @@ -180,7 +180,7 @@ class _EpisodePanelState extends State VideoHttp.videoRelation(bvid: widget.bvid).then( (result) { if (!mounted) return; - if (result case Success(:var response)) { + if (result case Success(:final response)) { final seasonFav = response.seasonFav ?? false; _favState!.value = Success(seasonFav); widget.ugcIntroController?.seasonFavState[widget.seasonId] = @@ -198,7 +198,7 @@ class _EpisodePanelState extends State ..removeListener(listener) ..dispose(); _favState?.close(); - for (var e in _itemScrollController) { + for (final e in _itemScrollController) { e.dispose(); } super.dispose(); @@ -586,14 +586,14 @@ class _EpisodePanelState extends State Widget _buildFavBtn(LoadingState loadingState) { return switch (loadingState) { - Success(:var response) => iconButton( + Success(:final response) => iconButton( iconSize: 22, tooltip: response ? '取消订阅' : '订阅', icon: response ? const Icon(Icons.notifications_off_outlined) : const Icon(Icons.notifications_active_outlined), onPressed: () async { - var result = await FavHttp.seasonFav( + final result = await FavHttp.seasonFav( isFav: response, seasonId: widget.seasonId, ); diff --git a/lib/pages/fav/article/view.dart b/lib/pages/fav/article/view.dart index 993cbebac..1bef59617 100644 --- a/lib/pages/fav/article/view.dart +++ b/lib/pages/fav/article/view.dart @@ -51,7 +51,7 @@ class _FavArticlePageState extends State Widget _buildBody(LoadingState?> loadingState) { return switch (loadingState) { Loading() => gridSkeleton, - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, @@ -73,7 +73,7 @@ class _FavArticlePageState extends State itemCount: response.length, ) : HttpError(onReload: _favArticleController.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _favArticleController.onReload, ), diff --git a/lib/pages/fav/cheese/controller.dart b/lib/pages/fav/cheese/controller.dart index f3aa23552..e9bd90a19 100644 --- a/lib/pages/fav/cheese/controller.dart +++ b/lib/pages/fav/cheese/controller.dart @@ -27,7 +27,7 @@ class FavCheeseController FavHttp.favPugv(mid: mid, page: page); Future onRemove(int index, int sid) async { - var res = await FavHttp.delFavPugv(sid); + final res = await FavHttp.delFavPugv(sid); if (res.isSuccess) { loadingState ..value.data!.removeAt(index) diff --git a/lib/pages/fav/cheese/view.dart b/lib/pages/fav/cheese/view.dart index d984ebf8d..c1a3e4fef 100644 --- a/lib/pages/fav/cheese/view.dart +++ b/lib/pages/fav/cheese/view.dart @@ -53,7 +53,7 @@ class _FavCheesePageState extends State ) { return switch (loadingState) { Loading() => gridSkeleton, - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, @@ -75,7 +75,7 @@ class _FavCheesePageState extends State itemCount: response.length, ) : HttpError(onReload: _controller.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _controller.onReload, ), diff --git a/lib/pages/fav/note/child_view.dart b/lib/pages/fav/note/child_view.dart index d664ac023..e509c7466 100644 --- a/lib/pages/fav/note/child_view.dart +++ b/lib/pages/fav/note/child_view.dart @@ -140,7 +140,7 @@ class _FavNoteChildPageState extends State Widget _buildBody(LoadingState?> loadingState) { return switch (loadingState) { Loading() => gridSkeleton, - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, @@ -158,7 +158,7 @@ class _FavNoteChildPageState extends State itemCount: response.length, ) : HttpError(onReload: _favNoteController.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _favNoteController.onReload, ), diff --git a/lib/pages/fav/pgc/child_view.dart b/lib/pages/fav/pgc/child_view.dart index df89f6d1e..fa4db41bb 100644 --- a/lib/pages/fav/pgc/child_view.dart +++ b/lib/pages/fav/pgc/child_view.dart @@ -169,7 +169,7 @@ class _FavPgcChildPageState extends State itemBuilder: (context, index) => const FavPgcItemSkeleton(), itemCount: 10, ), - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, @@ -206,7 +206,7 @@ class _FavPgcChildPageState extends State itemCount: response.length, ) : HttpError(onReload: _favPgcController.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _favPgcController.onReload, ), diff --git a/lib/pages/fav/pgc/controller.dart b/lib/pages/fav/pgc/controller.dart index 9cc75ece6..21806283c 100644 --- a/lib/pages/fav/pgc/controller.dart +++ b/lib/pages/fav/pgc/controller.dart @@ -52,7 +52,7 @@ class FavPgcController // 取消追番 Future pgcDel(int index, seasonId) async { - var result = await VideoHttp.pgcDel(seasonId: seasonId); + final result = await VideoHttp.pgcDel(seasonId: seasonId); if (result case Success(:final response)) { loadingState ..value.data!.removeAt(index) @@ -97,7 +97,7 @@ class FavPgcController } Future onUpdate(int index, int followStatus, int? seasonId) async { - var result = await VideoHttp.pgcUpdate( + final result = await VideoHttp.pgcUpdate( seasonId: seasonId.toString(), status: followStatus, ); diff --git a/lib/pages/fav/topic/controller.dart b/lib/pages/fav/topic/controller.dart index fb83f99a3..0d17da4e5 100644 --- a/lib/pages/fav/topic/controller.dart +++ b/lib/pages/fav/topic/controller.dart @@ -39,7 +39,7 @@ class FavTopicController FavHttp.favTopic(page: page); Future onRemove(int index, int id) async { - var res = await FavHttp.delFavTopic(id); + final res = await FavHttp.delFavTopic(id); if (res.isSuccess) { loadingState ..value.data!.removeAt(index) diff --git a/lib/pages/fav/topic/view.dart b/lib/pages/fav/topic/view.dart index 062946573..0a35f2c33 100644 --- a/lib/pages/fav/topic/view.dart +++ b/lib/pages/fav/topic/view.dart @@ -71,7 +71,7 @@ class _FavTopicPageState extends State ), ), ), - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, @@ -127,7 +127,7 @@ class _FavTopicPageState extends State itemCount: response.length, ) : HttpError(onReload: _controller.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _controller.onReload, ), diff --git a/lib/pages/fav/video/view.dart b/lib/pages/fav/video/view.dart index 3a7010e80..f37ff43ca 100644 --- a/lib/pages/fav/video/view.dart +++ b/lib/pages/fav/video/view.dart @@ -49,7 +49,7 @@ class _FavVideoPageState extends State Widget _buildBody(LoadingState?> loadingState) { return switch (loadingState) { Loading() => gridSkeleton, - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, @@ -82,7 +82,7 @@ class _FavVideoPageState extends State itemCount: response.length, ) : HttpError(onReload: _favController.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _favController.onReload, ), diff --git a/lib/pages/fav_detail/controller.dart b/lib/pages/fav_detail/controller.dart index d73db9f60..075343c65 100644 --- a/lib/pages/fav_detail/controller.dart +++ b/lib/pages/fav_detail/controller.dart @@ -32,7 +32,7 @@ mixin BaseFavController void onViewFav(FavDetailItemModel item, int? index); Future onCancelFav(int index, int id, int type) async { - var result = await FavHttp.favVideo( + final result = await FavHttp.favVideo( resources: '$id:$type', delIds: mediaId.toString(), ); @@ -55,7 +55,7 @@ mixin BaseFavController title: '提示', onConfirm: () async { final removeList = allChecked.toSet(); - var result = await FavHttp.favVideo( + final result = await FavHttp.favVideo( resources: removeList .map((item) => '${item.id}:${item.type}') .join(','), @@ -176,7 +176,7 @@ class FavDetailController SmartDialog.showToast('账号未登录'); return; } - var res = isFav + final res = isFav ? await FavHttp.unfavFavFolder(mediaId) : await FavHttp.favFavFolder(mediaId); @@ -189,7 +189,7 @@ class FavDetailController } Future cleanFav() async { - var res = await FavHttp.cleanFav(mediaId: mediaId); + final res = await FavHttp.cleanFav(mediaId: mediaId); if (res.isSuccess) { SmartDialog.showToast('清除成功'); Future.delayed(const Duration(milliseconds: 200), onReload); diff --git a/lib/pages/fav_detail/view.dart b/lib/pages/fav_detail/view.dart index eceaa7f0f..79ca0498f 100644 --- a/lib/pages/fav_detail/view.dart +++ b/lib/pages/fav_detail/view.dart @@ -485,7 +485,7 @@ class _FavDetailPageState extends State with GridMixin { ) { return switch (loadingState) { Loading() => gridSkeleton, - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, @@ -514,7 +514,7 @@ class _FavDetailPageState extends State with GridMixin { itemCount: response.length + 1, ) : HttpError(onReload: _favDetailController.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _favDetailController.onReload, ), diff --git a/lib/pages/fav_folder_sort/view.dart b/lib/pages/fav_folder_sort/view.dart index 2772ec549..093d4f44c 100644 --- a/lib/pages/fav_folder_sort/view.dart +++ b/lib/pages/fav_folder_sort/view.dart @@ -33,7 +33,7 @@ class _FavFolderSortPageState extends State { actions: [ TextButton( onPressed: () async { - var res = await FavHttp.sortFavFolder( + final res = await FavHttp.sortFavFolder( sort: sortList.map((item) => item.id).join(','), ); if (res.isSuccess) { diff --git a/lib/pages/fav_panel/view.dart b/lib/pages/fav_panel/view.dart index d2e2f4673..ea3b91e94 100644 --- a/lib/pages/fav_panel/view.dart +++ b/lib/pages/fav_panel/view.dart @@ -31,7 +31,7 @@ class _FavPanelState extends State { } Future _query() async { - var res = await widget.ctr.queryVideoInFolder(); + final res = await widget.ctr.queryVideoInFolder(); if (mounted) { loadingState = res; setState(() {}); @@ -85,7 +85,7 @@ class _FavPanelState extends State { ); }, ), - Error(:var errMsg) => scrollErrorWidget( + Error(:final errMsg) => scrollErrorWidget( controller: widget.scrollController, errMsg: errMsg, onReload: _query, diff --git a/lib/pages/fav_sort/view.dart b/lib/pages/fav_sort/view.dart index 2614878ce..2506765fc 100644 --- a/lib/pages/fav_sort/view.dart +++ b/lib/pages/fav_sort/view.dart @@ -57,7 +57,7 @@ class _FavSortPageState extends State { Get.back(); return; } - var res = await FavHttp.sortFav( + final res = await FavHttp.sortFav( mediaId: _favDetailController.mediaId, sort: sort.join(','), ); diff --git a/lib/pages/follow/child/child_view.dart b/lib/pages/follow/child/child_view.dart index 22cffd4f7..0cf78b1b6 100644 --- a/lib/pages/follow/child/child_view.dart +++ b/lib/pages/follow/child/child_view.dart @@ -106,7 +106,7 @@ class _FollowChildPageState extends State itemCount: 12, itemBuilder: (context, index) => const MsgFeedTopSkeleton(), ), - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverList.builder( itemCount: response.length, @@ -127,7 +127,7 @@ class _FollowChildPageState extends State }, ) : HttpError(onReload: _followController.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _followController.onReload, ), @@ -139,7 +139,7 @@ class _FollowChildPageState extends State LoadingState?> state, ) { return switch (state) { - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverMainAxisGroup( slivers: [ diff --git a/lib/pages/follow/controller.dart b/lib/pages/follow/controller.dart index 4a2a18505..5bd61d984 100644 --- a/lib/pages/follow/controller.dart +++ b/lib/pages/follow/controller.dart @@ -40,7 +40,7 @@ class FollowController extends GetxController with GetTickerProviderStateMixin { } Future queryFollowUpTags() async { - var res = await MemberHttp.followUpTags(); + final res = await MemberHttp.followUpTags(); if (res.isSuccess) { tabs ..assign(MemberTagItemModel(name: '全部关注')) diff --git a/lib/pages/follow_type/view.dart b/lib/pages/follow_type/view.dart index b281d7aad..1fa199ae6 100644 --- a/lib/pages/follow_type/view.dart +++ b/lib/pages/follow_type/view.dart @@ -54,7 +54,7 @@ abstract class FollowTypePageState extends State { itemBuilder: (context, index) => const MsgFeedTopSkeleton(), itemCount: 16, ), - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, @@ -67,7 +67,7 @@ abstract class FollowTypePageState extends State { itemCount: response.length, ) : HttpError(onReload: controller.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: controller.onReload, ), diff --git a/lib/pages/group_panel/view.dart b/lib/pages/group_panel/view.dart index 832d30a17..69173e8a6 100644 --- a/lib/pages/group_panel/view.dart +++ b/lib/pages/group_panel/view.dart @@ -69,7 +69,7 @@ class _GroupPanelState extends State { Widget get _buildBody { return switch (loadingState) { Loading() => loadingWidget, - Success(:var response) => ListView.builder( + Success(:final response) => ListView.builder( controller: widget.scrollController, itemCount: response.length, itemBuilder: (context, index) { @@ -113,7 +113,7 @@ class _GroupPanelState extends State { ); }, ), - Error(:var errMsg) => scrollErrorWidget( + Error(:final errMsg) => scrollErrorWidget( controller: widget.scrollController, errMsg: errMsg, onReload: _query, diff --git a/lib/pages/history/base_controller.dart b/lib/pages/history/base_controller.dart index 02ca8de4d..e44f2ca37 100644 --- a/lib/pages/history/base_controller.dart +++ b/lib/pages/history/base_controller.dart @@ -34,7 +34,7 @@ class HistoryBaseController extends GetxController { onPressed: () async { Get.back(); SmartDialog.showLoading(msg: '请求中'); - var res = await UserHttp.clearHistory(account: account); + final res = await UserHttp.clearHistory(account: account); SmartDialog.dismiss(); if (res.isSuccess) { SmartDialog.showToast('清空观看历史'); @@ -71,7 +71,7 @@ class HistoryBaseController extends GetxController { TextButton( onPressed: () async { SmartDialog.showLoading(msg: '请求中'); - var res = await UserHttp.pauseHistory( + final res = await UserHttp.pauseHistory( pauseStatus, account: account, ); diff --git a/lib/pages/history/controller.dart b/lib/pages/history/controller.dart index 474bd4e3e..4a76eece6 100644 --- a/lib/pages/history/controller.dart +++ b/lib/pages/history/controller.dart @@ -78,7 +78,7 @@ class HistoryController // 观看历史暂停状态 Future historyStatus() async { - var res = await UserHttp.historyStatus(account: account); + final res = await UserHttp.historyStatus(account: account); if (res case Success(:final response)) { baseCtr.pauseStatus.value = response; GStorage.localCache.put(LocalCacheKey.historyPause, response); diff --git a/lib/pages/history/view.dart b/lib/pages/history/view.dart index 334ffa058..7f75f24f8 100644 --- a/lib/pages/history/view.dart +++ b/lib/pages/history/view.dart @@ -217,7 +217,7 @@ class _HistoryPageState extends State Widget _buildBody(LoadingState?> loadingState) { return switch (loadingState) { Loading() => gridSkeleton, - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, @@ -236,7 +236,7 @@ class _HistoryPageState extends State itemCount: response.length, ) : HttpError(onReload: _historyController.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _historyController.onReload, ), diff --git a/lib/pages/history/widgets/item.dart b/lib/pages/history/widgets/item.dart index 95953247d..b39c0daae 100644 --- a/lib/pages/history/widgets/item.dart +++ b/lib/pages/history/widgets/item.dart @@ -220,7 +220,7 @@ class HistoryItem extends StatelessWidget { business?.contains('article') != true) PopupMenuItem( onTap: () async { - var res = await UserHttp.toViewLater( + final res = await UserHttp.toViewLater( bvid: item.history.bvid, ); SmartDialog.showToast(res['msg']); diff --git a/lib/pages/history_search/controller.dart b/lib/pages/history_search/controller.dart index 8a3590dad..2d67344f3 100644 --- a/lib/pages/history_search/controller.dart +++ b/lib/pages/history_search/controller.dart @@ -27,7 +27,7 @@ class HistorySearchController final account = Accounts.history; Future onDelHistory(int index, kid, String business) async { - var res = await UserHttp.delHistory( + final res = await UserHttp.delHistory( '${business}_$kid', account: account, ); @@ -50,7 +50,7 @@ class HistorySearchController onConfirm: () async { SmartDialog.showLoading(msg: '请求中'); final removeList = allChecked.toSet(); - var response = await UserHttp.delHistory( + final response = await UserHttp.delHistory( removeList .map((item) => '${item.history.business!}_${item.kid!}') .join(','), diff --git a/lib/pages/home/controller.dart b/lib/pages/home/controller.dart index 9913184ea..92c6895f8 100644 --- a/lib/pages/home/controller.dart +++ b/lib/pages/home/controller.dart @@ -79,7 +79,7 @@ class HomeController extends GetxController Future querySearchDefault() async { try { - var res = await Request().get( + final res = await Request().get( Api.searchDefault, queryParameters: await WbiSign.makSign({'web_location': 333.1365}), ); diff --git a/lib/pages/hot/view.dart b/lib/pages/hot/view.dart index 7452fa9ad..d37512501 100644 --- a/lib/pages/hot/view.dart +++ b/lib/pages/hot/view.dart @@ -142,7 +142,7 @@ class _HotPageState extends CommonPageState Widget _buildBody(LoadingState?> loadingState) { return switch (loadingState) { Loading() => gridSkeleton, - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, @@ -160,7 +160,7 @@ class _HotPageState extends CommonPageState itemCount: response.length, ) : HttpError(onReload: controller.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: controller.onReload, ), diff --git a/lib/pages/later/child_view.dart b/lib/pages/later/child_view.dart index ecffc852d..24d7db22b 100644 --- a/lib/pages/later/child_view.dart +++ b/lib/pages/later/child_view.dart @@ -59,7 +59,7 @@ class _LaterViewChildPageState extends State Widget _buildBody(LoadingState?> loadingState) { return switch (loadingState) { Loading() => gridSkeleton, - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, @@ -67,7 +67,7 @@ class _LaterViewChildPageState extends State if (index == response.length - 1) { _laterController.onLoadMore(); } - var videoItem = response[index]; + final videoItem = response[index]; return VideoCardHLater( index: index, videoItem: videoItem, @@ -98,7 +98,7 @@ class _LaterViewChildPageState extends State itemCount: response.length, ) : HttpError(onReload: _laterController.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _laterController.onReload, ), diff --git a/lib/pages/later/controller.dart b/lib/pages/later/controller.dart index 74a0327e5..3104eae17 100644 --- a/lib/pages/later/controller.dart +++ b/lib/pages/later/controller.dart @@ -142,7 +142,7 @@ class LaterController extends MultiSelectController title: '确认', content: content, onConfirm: () async { - var res = await UserHttp.toViewClear(cleanType); + final res = await UserHttp.toViewClear(cleanType); if (res.isSuccess) { onReload(); final restTypes = List.from(LaterViewType.values) diff --git a/lib/pages/later/widgets/video_card_h_later.dart b/lib/pages/later/widgets/video_card_h_later.dart index 79eed1ff2..c99da0681 100644 --- a/lib/pages/later/widgets/video_card_h_later.dart +++ b/lib/pages/later/widgets/video_card_h_later.dart @@ -8,7 +8,6 @@ import 'package:PiliPlus/common/widgets/stat/stat.dart'; import 'package:PiliPlus/http/search.dart'; import 'package:PiliPlus/models/common/badge_type.dart'; import 'package:PiliPlus/models/common/stat_type.dart'; -import 'package:PiliPlus/models/search/result.dart'; import 'package:PiliPlus/models_new/later/list.dart'; import 'package:PiliPlus/pages/later/controller.dart'; import 'package:PiliPlus/utils/duration_utils.dart'; @@ -33,13 +32,6 @@ class VideoCardHLater extends StatelessWidget { @override Widget build(BuildContext context) { - String type = 'video'; - if (videoItem case SearchVideoItemModel item) { - var typeOrNull = item.type; - if (typeOrNull != null && typeOrNull.isNotEmpty) { - type = typeOrNull; - } - } final theme = Theme.of(context); final enableMultiSelect = ctr.enableMultiSelect.value; @@ -57,11 +49,11 @@ class VideoCardHLater extends StatelessWidget { onTap: enableMultiSelect ? () => ctr.onSelect(videoItem) : () async { - if (type == 'ketang') { + if (videoItem.isPugv ?? false) { PageUtils.viewPugv(seasonId: videoItem.aid); return; } - if (videoItem.isPgc == true) { + if (videoItem.isPgc ?? false) { if (videoItem.bangumi?.epId != null) { PageUtils.viewPgc(epId: videoItem.bangumi!.epId); } else if (videoItem.redirectUrl?.isNotEmpty == true) { @@ -125,7 +117,7 @@ class VideoCardHLater extends StatelessWidget { top: 6.0, right: 6.0, ) - else if (type == 'ketang') + else if (videoItem.isPugv ?? false) const PBadge( text: '课堂', top: 6.0, diff --git a/lib/pages/live/controller.dart b/lib/pages/live/controller.dart index 858cd433e..b4bb0bf5e 100644 --- a/lib/pages/live/controller.dart +++ b/lib/pages/live/controller.dart @@ -48,7 +48,7 @@ class LiveController extends CommonListController with AccountMixin { bool customHandleResponse(bool isRefresh, Success response) { if (isRefresh) { final res = response.response; - if (res case LiveIndexData data) { + if (res case final LiveIndexData data) { if (data.hasMore == 0) { isEnd = true; } @@ -56,7 +56,7 @@ class LiveController extends CommonListController with AccountMixin { first: data.followItem, second: data.areaItem, ); - } else if (res case LiveSecondData data) { + } else if (res case final LiveSecondData data) { count = data.count; newTags = data.newTags; if (sortType != null) { diff --git a/lib/pages/live/view.dart b/lib/pages/live/view.dart index 2b83b1046..3e73116ed 100644 --- a/lib/pages/live/view.dart +++ b/lib/pages/live/view.dart @@ -181,7 +181,7 @@ class _LivePageState extends CommonPageState itemBuilder: (context, index) => const VideoCardVSkeleton(), itemCount: 10, ), - Success(:var response) => SliverMainAxisGroup( + Success(:final response) => SliverMainAxisGroup( slivers: [ if (controller.newTags case final newTags?) if (newTags.isNotEmpty) @@ -247,7 +247,7 @@ class _LivePageState extends CommonPageState : HttpError(onReload: controller.onReload), ], ), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: controller.onReload, ), diff --git a/lib/pages/live_area/view.dart b/lib/pages/live_area/view.dart index 25cbadaec..345e7e7c8 100644 --- a/lib/pages/live_area/view.dart +++ b/lib/pages/live_area/view.dart @@ -78,7 +78,7 @@ class _LiveAreaPageState extends State { ) { return switch (loadingState) { Loading() => const SizedBox.shrink(), - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? DefaultTabController( length: response.length, @@ -158,7 +158,7 @@ class _LiveAreaPageState extends State { ), ) : scrollErrorWidget(onReload: _controller.onReload), - Error(:var errMsg) => scrollErrorWidget( + Error(:final errMsg) => scrollErrorWidget( errMsg: errMsg, onReload: _controller.onReload, ), diff --git a/lib/pages/live_area_detail/child/view.dart b/lib/pages/live_area_detail/child/view.dart index 9da3eee0f..c4d2072b9 100644 --- a/lib/pages/live_area_detail/child/view.dart +++ b/lib/pages/live_area_detail/child/view.dart @@ -77,7 +77,7 @@ class _LiveAreaChildPageState extends State itemBuilder: (context, index) => const VideoCardVSkeleton(), itemCount: 10, ), - Success(:var response) => SliverMainAxisGroup( + Success(:final response) => SliverMainAxisGroup( slivers: [ if (_controller.newTags?.isNotEmpty == true) SliverToBoxAdapter( @@ -131,7 +131,7 @@ class _LiveAreaChildPageState extends State : HttpError(onReload: _controller.onReload), ], ), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _controller.onReload, ), diff --git a/lib/pages/live_area_detail/view.dart b/lib/pages/live_area_detail/view.dart index adcdd61a3..3ee89e4b3 100644 --- a/lib/pages/live_area_detail/view.dart +++ b/lib/pages/live_area_detail/view.dart @@ -65,7 +65,7 @@ class _LiveAreaDetailPageState extends State { ) { return switch (loadingState) { Loading() => const SizedBox.shrink(), - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? DefaultTabController( initialIndex: _controller.initialIndex, diff --git a/lib/pages/live_dm_block/controller.dart b/lib/pages/live_dm_block/controller.dart index 2d5b1bfe2..11c6c0d7a 100644 --- a/lib/pages/live_dm_block/controller.dart +++ b/lib/pages/live_dm_block/controller.dart @@ -32,7 +32,7 @@ class LiveDmBlockController extends GetxController } Future queryData() async { - var res = await LiveHttp.getLiveInfoByUser(roomId); + final res = await LiveHttp.getLiveInfoByUser(roomId); if (res.isSuccess) { final data = res.data; final shieldRules = data?.shieldRules; @@ -57,7 +57,7 @@ class LiveDmBlockController extends GetxController int level, { VoidCallback? onError, }) async { - var res = await LiveHttp.liveSetSilent(type: type.name, level: level); + final res = await LiveHttp.liveSetSilent(type: type.name, level: level); if (res.isSuccess) { switch (type) { case LiveDmSilentType.level: @@ -86,9 +86,9 @@ class LiveDmBlockController extends GetxController setSilent(LiveDmSilentType.verify, 1), ] : [ - for (var e in LiveDmSilentType.values) setSilent(e, 0), + for (final e in LiveDmSilentType.values) setSilent(e, 0), ]; - var res = await Future.wait(futures); + final res = await Future.wait(futures); if (enable) { if (res.any((e) => e)) { isEnable.value = true; @@ -102,14 +102,14 @@ class LiveDmBlockController extends GetxController Future addShieldKeyword(bool isKeyword, String value) async { if (isKeyword) { - var res = await LiveHttp.addShieldKeyword(keyword: value); + final res = await LiveHttp.addShieldKeyword(keyword: value); if (res.isSuccess) { keywordList.insert(0, value); } else { res.toast(); } } else { - var res = await LiveHttp.liveShieldUser( + final res = await LiveHttp.liveShieldUser( uid: value, roomid: roomId, type: 1, @@ -125,7 +125,7 @@ class LiveDmBlockController extends GetxController Future onRemove(int index, Object item) async { assert(item is ShieldUserList || item is String); if (item is ShieldUserList) { - var res = await LiveHttp.liveShieldUser( + final res = await LiveHttp.liveShieldUser( uid: item.uid!, roomid: roomId, type: 0, @@ -136,7 +136,7 @@ class LiveDmBlockController extends GetxController res.toast(); } } else { - var res = await LiveHttp.delShieldKeyword(keyword: item as String); + final res = await LiveHttp.delShieldKeyword(keyword: item as String); if (res.isSuccess) { keywordList.removeAt(index); } else { diff --git a/lib/pages/live_emote/view.dart b/lib/pages/live_emote/view.dart index 7187ebacb..9de05abbf 100644 --- a/lib/pages/live_emote/view.dart +++ b/lib/pages/live_emote/view.dart @@ -52,7 +52,7 @@ class _LiveEmotePanelState extends State ); return switch (loadingState) { Loading() => loadingWidget, - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? Column( children: [ @@ -191,7 +191,7 @@ class _LiveEmotePanelState extends State ], ) : _errorWidget(), - Error(:var errMsg) => _errorWidget(errMsg), + Error(:final errMsg) => _errorWidget(errMsg), }; } diff --git a/lib/pages/live_follow/view.dart b/lib/pages/live_follow/view.dart index b7324a80d..2864b2ad7 100644 --- a/lib/pages/live_follow/view.dart +++ b/lib/pages/live_follow/view.dart @@ -67,7 +67,7 @@ class _LiveFollowPageState extends State { itemBuilder: (context, index) => const VideoCardVSkeleton(), itemCount: 10, ), - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, @@ -82,7 +82,7 @@ class _LiveFollowPageState extends State { itemCount: response.length, ) : HttpError(onReload: _controller.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _controller.onReload, ), diff --git a/lib/pages/live_room/controller.dart b/lib/pages/live_room/controller.dart index 45249ec26..8bd8f9ca8 100644 --- a/lib/pages/live_room/controller.dart +++ b/lib/pages/live_room/controller.dart @@ -191,7 +191,7 @@ class LiveRoomController extends GetxController { currentQn ??= await Utils.isWiFi ? Pref.liveQuality : Pref.liveQualityCellular; - var res = await LiveHttp.liveRoomInfo( + final res = await LiveHttp.liveRoomInfo( roomId: roomId, qn: currentQn, onlyAudio: plPlayerController.onlyPlayAudio.value, @@ -234,7 +234,7 @@ class LiveRoomController extends GetxController { } Future queryLiveInfoH5() async { - var res = await LiveHttp.liveRoomInfoH5(roomId: roomId); + final res = await LiveHttp.liveRoomInfoH5(roomId: roomId); if (res.isSuccess) { final data = res.data; roomInfoH5.value = data; @@ -506,7 +506,7 @@ class LiveRoomController extends GetxController { likeClickTime.value = 0; return; } - var res = await LiveHttp.liveLikeReport( + final res = await LiveHttp.liveLikeReport( clickTime: likeClickTime.value, roomId: roomId, uid: mid, diff --git a/lib/pages/live_search/child/view.dart b/lib/pages/live_search/child/view.dart index 0ebc7e477..00569100d 100644 --- a/lib/pages/live_search/child/view.dart +++ b/lib/pages/live_search/child/view.dart @@ -85,7 +85,7 @@ class _LiveSearchChildPageState extends State Widget _buildBody(LoadingState loadingState) { return switch (loadingState) { Loading() => _buildLoading, - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? Builder( builder: (context) { @@ -118,7 +118,7 @@ class _LiveSearchChildPageState extends State }, ) : HttpError(onReload: _controller.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _controller.onReload, ), diff --git a/lib/pages/log_table/view.dart b/lib/pages/log_table/view.dart index 0bac0b42b..f1d0658d3 100644 --- a/lib/pages/log_table/view.dart +++ b/lib/pages/log_table/view.dart @@ -40,7 +40,7 @@ class _LogPageState extends State> { Widget _buildBody(LoadingState?> loadingState) { return switch (loadingState) { Loading() => linearLoading, - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? Builder( builder: (context) { @@ -86,7 +86,7 @@ class _LogPageState extends State> { }, ) : HttpError(onReload: _controller.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _controller.onReload, ), @@ -115,7 +115,7 @@ class _LogPageState extends State> { Widget content = Row( children: [ divider, - for (var (i, j) in _controller.getFlexAndText(item)) ...[ + for (final (i, j) in _controller.getFlexAndText(item)) ...[ text(i, j), divider, ], diff --git a/lib/pages/login/controller.dart b/lib/pages/login/controller.dart index a748c14c6..66ba76cab 100644 --- a/lib/pages/login/controller.dart +++ b/lib/pages/login/controller.dart @@ -146,7 +146,7 @@ class LoginPageController extends GetxController } }); } else { - var registerData = Gt3RegisterData( + final registerData = Gt3RegisterData( challenge: geeChallenge, gt: geeGt, success: true, @@ -242,7 +242,7 @@ class LoginPageController extends GetxController return; } try { - var result = await Request().get( + final result = await Request().get( "/x/member/web/account", options: Options( headers: { @@ -288,14 +288,14 @@ class LoginPageController extends GetxController return; } // if ((passwordFormKey.currentState as FormState).validate()) { - var webKeyRes = await LoginHttp.getWebKey(); + final webKeyRes = await LoginHttp.getWebKey(); if (!webKeyRes['status']) { SmartDialog.showToast(webKeyRes['msg']); return; } String salt = webKeyRes['data']['hash']; String key = webKeyRes['data']['key']; - var res = await LoginHttp.loginByPwd( + final res = await LoginHttp.loginByPwd( username: username, password: password, key: key, @@ -306,7 +306,7 @@ class LoginPageController extends GetxController recaptchaToken: captchaData.token, ); if (res['status']) { - var data = res['data']; + final data = res['data']; if (data == null) { SmartDialog.showToast('登录异常,接口未返回数据:${res["msg"]}'); return; @@ -320,7 +320,7 @@ class LoginPageController extends GetxController //{"code":0,"message":"0","ttl":1,"data":{"status":2,"message":"本次登录环境存在风险, 需使用手机号进行验证或绑定","url":"https://passport.bilibili.com/h5-app/passport/risk/verify?tmp_token=9e785433940891dfa78f033fb7928181&request_id=e5a6d6480df04097870be56c6e60f7ef&source=risk","token_info":null,"cookie_info":null,"sso":null,"is_new":false,"is_tourist":false}} String url = data['url']!; Uri currentUri = Uri.parse(url); - var safeCenterRes = await LoginHttp.safeCenterGetInfo( + final safeCenterRes = await LoginHttp.safeCenterGetInfo( tmpCode: currentUri.queryParameters['tmp_token']!, ); //{"code":0,"message":"0","ttl":1,"data":{"account_info":{"hide_tel":"111*****111","hide_mail":"aaa*****aaaa.aaa","bind_mail":true,"bind_tel":true,"tel_verify":true,"mail_verify":true,"unneeded_check":false,"bind_safe_question":false,"mid":1111111},"member_info":{"nickname":"xxxxxxx","face":"https://i0.hdslb.com/bfs/face/xxxxxxx.jpg","realname_status":false},"sns_info":{"bind_google":false,"bind_fb":false,"bind_apple":false,"bind_qq":true,"bind_weibo":true,"bind_wechat":false},"account_safe":{"score":80}}} @@ -392,7 +392,7 @@ class LoginPageController extends GetxController TextButton( child: const Text("发送验证码"), onPressed: () async { - var preCaptureRes = await LoginHttp.preCapture(); + final preCaptureRes = await LoginHttp.preCapture(); if (!preCaptureRes['status'] || preCaptureRes['data'] == null) { SmartDialog.showToast( @@ -415,7 +415,7 @@ class LoginPageController extends GetxController geeGt, geeChallenge, () async { - var safeCenterSendSmsCodeRes = + final safeCenterSendSmsCodeRes = await LoginHttp.safeCenterSmsCode( tmpCode: currentUri.queryParameters['tmp_token']!, geeChallenge: geeChallenge, @@ -452,7 +452,7 @@ class LoginPageController extends GetxController SmartDialog.showToast("请输入短信验证码"); return; } - var safeCenterSmsVerifyRes = + final safeCenterSmsVerifyRes = await LoginHttp.safeCenterSmsVerify( code: code, tmpCode: currentUri.queryParameters['tmp_token']!, @@ -469,9 +469,10 @@ class LoginPageController extends GetxController return; } SmartDialog.showToast("验证成功,正在登录"); - var oauth2AccessTokenRes = await LoginHttp.oauth2AccessToken( - code: safeCenterSmsVerifyRes['data']['code'], - ); + final oauth2AccessTokenRes = + await LoginHttp.oauth2AccessToken( + code: safeCenterSmsVerifyRes['data']['code'], + ); if (!oauth2AccessTokenRes['status']) { SmartDialog.showToast( "登录失败,请尝试其它登录方式\n" @@ -479,7 +480,7 @@ class LoginPageController extends GetxController ); return; } - var data = oauth2AccessTokenRes['data']; + final data = oauth2AccessTokenRes['data']; if (data['token_info'] == null || data['cookie_info'] == null) { SmartDialog.showToast( @@ -556,13 +557,13 @@ class LoginPageController extends GetxController SmartDialog.showToast('验证码已过期,请重新获取'); return; } - var webKeyRes = await LoginHttp.getWebKey(); + final webKeyRes = await LoginHttp.getWebKey(); if (!webKeyRes['status']) { SmartDialog.showToast(webKeyRes['msg']); return; } String key = webKeyRes['data']['key']; - var res = await LoginHttp.loginBySms( + final res = await LoginHttp.loginBySms( tel: telTextController.text, code: smsCodeTextController.text, captchaKey: captchaKey, @@ -571,7 +572,7 @@ class LoginPageController extends GetxController ); if (res['status']) { SmartDialog.showToast('登录成功'); - var data = res['data']; + final data = res['data']; await setAccount(data['token_info'], data['cookie_info']['cookies']); Get.back(); } else { @@ -586,19 +587,19 @@ class LoginPageController extends GetxController return; } // String? guestId; - // var webKeyRes = await LoginHttp.getWebKey(); + // final webKeyRes = await LoginHttp.getWebKey(); // if (!webKeyRes['status']) { // SmartDialog.showToast(webKeyRes['msg']); // } else { // String key = webKeyRes['data']['key']; - // var guestIdRes = await LoginHttp.getGuestId(key); + // final guestIdRes = await LoginHttp.getGuestId(key); // if (!guestIdRes['status']) { // SmartDialog.showToast(guestIdRes['msg']); // } else { // guestId = guestIdRes['data']['guest_id']; // } // } - // var preCaptureRes = await LoginHttp.preCapture(); + // final preCaptureRes = await LoginHttp.preCapture(); // if (!preCaptureRes['status']) { // SmartDialog.showToast("获取验证码失败,请尝试其它登录方式\n" // "(${preCaptureRes['code']}) ${preCaptureRes['msg']}"); @@ -610,7 +611,7 @@ class LoginPageController extends GetxController // getCaptcha(geeGt, geeChallenge, () async { - // var safeCenterSendSmsCodeRes = + // final safeCenterSendSmsCodeRes = // await LoginHttp.safeCenterSmsCode( // tmpCode: currentUri.queryParameters['tmp_token']!, // geeChallenge: geeChallenge, @@ -627,7 +628,7 @@ class LoginPageController extends GetxController // SmartDialog.showToast("短信验证码已发送,请查收"); // captchaKey = safeCenterSendSmsCodeRes['data']['captcha_key']; - var res = await LoginHttp.sendSmsCode( + final res = await LoginHttp.sendSmsCode( tel: telTextController.text, cid: selectedCountryCodeId.countryId, // deviceTouristId: guestId, @@ -671,7 +672,7 @@ class LoginPageController extends GetxController '验证信息错误:${res["msg"]}\n返回内容:${res["data"]},尝试另一个验证码接口', ); } - var preCaptureRes = await LoginHttp.preCapture(); + final preCaptureRes = await LoginHttp.preCapture(); if (!preCaptureRes['status'] || preCaptureRes['data'] == null) { SmartDialog.showToast( "获取验证码失败,请尝试其它登录方式\n" @@ -777,7 +778,7 @@ class LoginPageController extends GetxController ), TextButton( onPressed: () { - for (var (i, v) in selectAccount.indexed) { + for (final (i, v) in selectAccount.indexed) { if (v != Accounts.accountMode[i]) { Accounts.set(AccountType.values[i], v); } diff --git a/lib/pages/login/geetest/geetest_webview_dialog.dart b/lib/pages/login/geetest/geetest_webview_dialog.dart index a04771607..445346211 100644 --- a/lib/pages/login/geetest/geetest_webview_dialog.dart +++ b/lib/pages/login/geetest/geetest_webview_dialog.dart @@ -31,7 +31,7 @@ class GeetestWebviewDialog extends StatelessWidget { extra: {'account': const NoAccount()}, ), ); - if (res.data case String data) { + if (res.data case final String data) { if (data.startsWith('(') && data.endsWith(')')) { final Map config; try { diff --git a/lib/pages/login/view.dart b/lib/pages/login/view.dart index e043633f8..c6077c2bd 100644 --- a/lib/pages/login/view.dart +++ b/lib/pages/login/view.dart @@ -70,7 +70,7 @@ class _LoginPageState extends State { RenderRepaintBoundary boundary = globalKey.currentContext!.findRenderObject()! as RenderRepaintBoundary; - var image = await boundary.toImage(pixelRatio: 3); + final image = await boundary.toImage(pixelRatio: 3); ByteData? byteData = await image.toByteData( format: ImageByteFormat.png, ); @@ -106,7 +106,7 @@ class _LoginPageState extends State { semanticsLabel: '二维码加载中', ), ), - Success(:var response) => Container( + Success(:final response) => Container( width: 200, height: 200, color: Colors.white, @@ -120,7 +120,7 @@ class _LoginPageState extends State { ), ), ), - Error(:var errMsg) => errorWidget( + Error(:final errMsg) => errorWidget( errMsg: errMsg, onReload: _loginPageCtr.refreshQRCode, ), diff --git a/lib/pages/login_devices/view.dart b/lib/pages/login_devices/view.dart index f1ebef771..b982c1d8e 100644 --- a/lib/pages/login_devices/view.dart +++ b/lib/pages/login_devices/view.dart @@ -50,7 +50,7 @@ class LoginDevicesPageState extends State { ); return switch (loadingState) { Loading() => const SliverToBoxAdapter(), - Success?>(:var response) => + Success?>(:final response) => response != null && response.isNotEmpty ? SliverList.separated( itemBuilder: (context, index) { @@ -60,7 +60,7 @@ class LoginDevicesPageState extends State { separatorBuilder: (_, _) => divider, ) : HttpError(onReload: _controller.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _controller.onReload, ), diff --git a/lib/pages/main/controller.dart b/lib/pages/main/controller.dart index c7c816577..52b2b0802 100644 --- a/lib/pages/main/controller.dart +++ b/lib/pages/main/controller.dart @@ -108,7 +108,7 @@ class MainController extends GetxController Future _msgUnread() async { if (msgUnReadTypes.contains(MsgUnReadType.pm)) { - var res = await MsgHttp.msgUnread(); + final res = await MsgHttp.msgUnread(); if (res case Success(:final response)) { return response.followUnread + response.unfollowUnread + @@ -123,12 +123,12 @@ class MainController extends GetxController Future _msgFeedUnread() async { int count = 0; - var remainTypes = Set.from(msgUnReadTypes) + final remainTypes = Set.from(msgUnReadTypes) ..remove(MsgUnReadType.pm); if (remainTypes.isNotEmpty) { - var res = await MsgHttp.msgFeedUnread(); + final res = await MsgHttp.msgFeedUnread(); if (res case Success(:final response)) { - for (var item in remainTypes) { + for (final item in remainTypes) { switch (item) { case MsgUnReadType.pm: break; @@ -160,7 +160,7 @@ class MainController extends GetxController return; } - var res = await Future.wait([_msgUnread(), _msgFeedUnread()]); + final res = await Future.wait([_msgUnread(), _msgFeedUnread()]); final count = res.sum; diff --git a/lib/pages/main_reply/view.dart b/lib/pages/main_reply/view.dart index 15e120114..f8399b795 100644 --- a/lib/pages/main_reply/view.dart +++ b/lib/pages/main_reply/view.dart @@ -117,7 +117,7 @@ class _MainReplyPageState extends State { itemBuilder: (_, _) => const VideoReplySkeleton(), prototypeItem: const VideoReplySkeleton(), ), - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverList.builder( itemCount: response.length + 1, diff --git a/lib/pages/match_info/controller.dart b/lib/pages/match_info/controller.dart index 3d50110bc..327220c2b 100644 --- a/lib/pages/match_info/controller.dart +++ b/lib/pages/match_info/controller.dart @@ -23,7 +23,7 @@ class MatchInfoController extends CommonDynController { } Future getMatchInfo() async { - var res = await MatchHttp.matchInfo(oid); + final res = await MatchHttp.matchInfo(oid); if (res.isSuccess) { queryData(); } diff --git a/lib/pages/member/controller.dart b/lib/pages/member/controller.dart index 2405188fe..7129efcea 100644 --- a/lib/pages/member/controller.dart +++ b/lib/pages/member/controller.dart @@ -179,7 +179,7 @@ class MemberController extends CommonDataController Future _onBlock() async { final isBlocked = relation.value == 128; - var res = await VideoHttp.relationMod( + final res = await VideoHttp.relationMod( mid: mid, act: isBlocked ? 6 : 5, reSrc: 11, @@ -239,7 +239,7 @@ class MemberController extends CommonDataController } Future vipExpAdd() async { - var res = await UserHttp.vipExpAdd(); + final res = await UserHttp.vipExpAdd(); if (res.isSuccess) { SmartDialog.showToast('领取成功'); } else { diff --git a/lib/pages/member/view.dart b/lib/pages/member/view.dart index e3935f600..6f6140a0c 100644 --- a/lib/pages/member/view.dart +++ b/lib/pages/member/view.dart @@ -326,7 +326,7 @@ class _MemberPageState extends State { switch (userState) { case Loading(): return const CircularProgressIndicator(); - case Success(:var response): + case Success(:final response): if (response != null) { return DynamicSliverAppBarMedium( pinned: true, @@ -354,7 +354,7 @@ class _MemberPageState extends State { child: Text(_userController.username ?? ''), ), ); - case Error(:var errMsg): + case Error(:final errMsg): return scrollErrorWidget( errMsg: errMsg, onReload: _userController.onReload, diff --git a/lib/pages/member_article/view.dart b/lib/pages/member_article/view.dart index 78632c7df..be9baa66b 100644 --- a/lib/pages/member_article/view.dart +++ b/lib/pages/member_article/view.dart @@ -55,7 +55,7 @@ class _MemberArticleState extends State Widget _buildBody(LoadingState?> loadingState) { return switch (loadingState) { Loading() => gridSkeleton, - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, @@ -70,7 +70,7 @@ class _MemberArticleState extends State itemCount: response.length, ) : HttpError(onReload: _controller.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _controller.onReload, ), diff --git a/lib/pages/member_audio/view.dart b/lib/pages/member_audio/view.dart index 1726c3910..870a5e1ee 100644 --- a/lib/pages/member_audio/view.dart +++ b/lib/pages/member_audio/view.dart @@ -70,7 +70,7 @@ class _MemberAudioState extends State ) { return switch (loadingState) { Loading() => linearLoading, - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverMainAxisGroup( slivers: [ @@ -130,7 +130,7 @@ class _MemberAudioState extends State ], ) : HttpError(onReload: _controller.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _controller.onReload, ), diff --git a/lib/pages/member_cheese/view.dart b/lib/pages/member_cheese/view.dart index 0aa00dbb2..52475cc8e 100644 --- a/lib/pages/member_cheese/view.dart +++ b/lib/pages/member_cheese/view.dart @@ -55,7 +55,7 @@ class _MemberCheeseState extends State Widget _buildBody(LoadingState?> loadingState) { return switch (loadingState) { Loading() => gridSkeleton, - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, @@ -68,7 +68,7 @@ class _MemberCheeseState extends State itemCount: response.length, ) : HttpError(onReload: _controller.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _controller.onReload, ), diff --git a/lib/pages/member_coin_arc/view.dart b/lib/pages/member_coin_arc/view.dart index cbc92b922..3c36f1a8c 100644 --- a/lib/pages/member_coin_arc/view.dart +++ b/lib/pages/member_coin_arc/view.dart @@ -78,7 +78,7 @@ class _MemberCoinArcPageState extends State { itemCount: 16, itemBuilder: (context, index) => const VideoCardVSkeleton(), ), - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, @@ -91,7 +91,7 @@ class _MemberCoinArcPageState extends State { }, ) : HttpError(onReload: _ctr.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _ctr.onReload, ), diff --git a/lib/pages/member_comic/view.dart b/lib/pages/member_comic/view.dart index 317f5024b..40cc8a021 100644 --- a/lib/pages/member_comic/view.dart +++ b/lib/pages/member_comic/view.dart @@ -51,7 +51,7 @@ class _MemberComicState extends State Widget _buildBody(LoadingState?> loadingState) { return switch (loadingState) { Loading() => gridSkeleton, - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, @@ -64,7 +64,7 @@ class _MemberComicState extends State itemCount: response.length, ) : HttpError(onReload: _controller.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _controller.onReload, ), diff --git a/lib/pages/member_dynamics/controller.dart b/lib/pages/member_dynamics/controller.dart index f5fae269a..15d54817b 100644 --- a/lib/pages/member_dynamics/controller.dart +++ b/lib/pages/member_dynamics/controller.dart @@ -49,7 +49,7 @@ class MemberDynamicsController ); Future onRemove(dynamic dynamicId) async { - var res = await MsgHttp.removeDynamic(dynIdStr: dynamicId); + final res = await MsgHttp.removeDynamic(dynIdStr: dynamicId); if (res.isSuccess) { loadingState ..value.data!.removeWhere((item) => item.idStr == dynamicId) @@ -61,7 +61,7 @@ class MemberDynamicsController } Future onSetTop(bool isTop, Object dynamicId) async { - var res = await (isTop + final res = await (isTop ? DynamicsHttp.rmTop(dynamicId: dynamicId) : DynamicsHttp.setTop(dynamicId: dynamicId)); if (res.isSuccess) { diff --git a/lib/pages/member_dynamics/view.dart b/lib/pages/member_dynamics/view.dart index 794de8607..0457fb1ec 100644 --- a/lib/pages/member_dynamics/view.dart +++ b/lib/pages/member_dynamics/view.dart @@ -79,7 +79,7 @@ class _MemberDynamicsPageState extends State Widget _buildContent(LoadingState?> loadingState) { return switch (loadingState) { Loading() => dynSkeleton, - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? GlobalData().dynamicsWaterfallFlow ? SliverWaterfallFlow( @@ -114,7 +114,7 @@ class _MemberDynamicsPageState extends State itemCount: response.length, ) : HttpError(onReload: _memberDynamicController.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _memberDynamicController.onReload, ), diff --git a/lib/pages/member_favorite/view.dart b/lib/pages/member_favorite/view.dart index 97188c917..767f41910 100644 --- a/lib/pages/member_favorite/view.dart +++ b/lib/pages/member_favorite/view.dart @@ -88,7 +88,7 @@ class _MemberFavoriteState extends State ], ) : HttpError(onReload: _controller.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _controller.onReload, ), diff --git a/lib/pages/member_home/view.dart b/lib/pages/member_home/view.dart index 4e30d1efe..0e5533b8d 100644 --- a/lib/pages/member_home/view.dart +++ b/lib/pages/member_home/view.dart @@ -258,7 +258,7 @@ class _MemberHomeState extends State ], ) : scrollErrorWidget(), - Error(:var errMsg) => scrollErrorWidget(errMsg: errMsg), + Error(:final errMsg) => scrollErrorWidget(errMsg: errMsg), }; } diff --git a/lib/pages/member_like_arc/view.dart b/lib/pages/member_like_arc/view.dart index 9f88a639a..80adac94b 100644 --- a/lib/pages/member_like_arc/view.dart +++ b/lib/pages/member_like_arc/view.dart @@ -78,7 +78,7 @@ class _MemberLikeArcPageState extends State { itemCount: 16, itemBuilder: (context, index) => const VideoCardVSkeleton(), ), - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, @@ -91,7 +91,7 @@ class _MemberLikeArcPageState extends State { }, ) : HttpError(onReload: _ctr.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _ctr.onReload, ), diff --git a/lib/pages/member_opus/view.dart b/lib/pages/member_opus/view.dart index 6ed40603e..2f2121d57 100644 --- a/lib/pages/member_opus/view.dart +++ b/lib/pages/member_opus/view.dart @@ -135,7 +135,7 @@ class _MemberOpusState extends State childCount: 10, ), ), - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverWaterfallFlow( gridDelegate: gridDelegate, @@ -153,7 +153,7 @@ class _MemberOpusState extends State ), ) : HttpError(onReload: _controller.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _controller.onReload, ), diff --git a/lib/pages/member_pgc/controller.dart b/lib/pages/member_pgc/controller.dart index b58c21658..fffa20b88 100644 --- a/lib/pages/member_pgc/controller.dart +++ b/lib/pages/member_pgc/controller.dart @@ -26,7 +26,7 @@ class MemberBangumiCtr SpaceData? response = _ctr.loadingState.value.data; if (response != null) { page = 2; - var res = response.season!; + final res = response.season!; loadingState.value = Success(res.item); count = res.count!; isEnd = res.item!.length >= count!; diff --git a/lib/pages/member_pgc/view.dart b/lib/pages/member_pgc/view.dart index 312efc3e5..4b567eff8 100644 --- a/lib/pages/member_pgc/view.dart +++ b/lib/pages/member_pgc/view.dart @@ -71,7 +71,7 @@ class _MemberBangumiState extends State Widget _buildBody(LoadingState?> loadingState) { return switch (loadingState) { Loading() => const SliverToBoxAdapter(), - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, @@ -86,7 +86,7 @@ class _MemberBangumiState extends State itemCount: response.length, ) : HttpError(onReload: _controller.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _controller.onReload, ), diff --git a/lib/pages/member_profile/view.dart b/lib/pages/member_profile/view.dart index ff07f086c..db7b84b27 100644 --- a/lib/pages/member_profile/view.dart +++ b/lib/pages/member_profile/view.dart @@ -130,7 +130,7 @@ class _EditProfilePageState extends State { return switch (loadingState) { Loading() => loadingWidget, - Success(:var response) => ListView( + Success(:final response) => ListView( padding: EdgeInsets.only( bottom: MediaQuery.viewPaddingOf(context).bottom + 25, ), @@ -242,7 +242,7 @@ class _EditProfilePageState extends State { divider1, ], ), - Error(:var errMsg) => scrollErrorWidget( + Error(:final errMsg) => scrollErrorWidget( errMsg: errMsg, onReload: _getInfo, ), diff --git a/lib/pages/member_search/child/view.dart b/lib/pages/member_search/child/view.dart index b0bf587fa..0b7bd317c 100644 --- a/lib/pages/member_search/child/view.dart +++ b/lib/pages/member_search/child/view.dart @@ -69,7 +69,7 @@ class _MemberSearchChildPageState extends State Widget _buildBody(LoadingState loadingState) { return switch (loadingState) { Loading() => _buildLoading, - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? Builder( builder: (context) { @@ -119,7 +119,7 @@ class _MemberSearchChildPageState extends State }, ) : HttpError(onReload: _controller.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _controller.onReload, ), diff --git a/lib/pages/member_season_series/view.dart b/lib/pages/member_season_series/view.dart index a104a43a0..ce369a2f4 100644 --- a/lib/pages/member_season_series/view.dart +++ b/lib/pages/member_season_series/view.dart @@ -55,7 +55,7 @@ class _SeasonSeriesPageState extends State Widget _buildBody(LoadingState?> loadingState) { return switch (loadingState) { Loading() => gridSkeleton, - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, @@ -95,7 +95,7 @@ class _SeasonSeriesPageState extends State itemCount: response.length, ) : HttpError(onReload: _controller.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _controller.onReload, ), diff --git a/lib/pages/member_shop/view.dart b/lib/pages/member_shop/view.dart index defc224bd..5b36fcc62 100644 --- a/lib/pages/member_shop/view.dart +++ b/lib/pages/member_shop/view.dart @@ -78,7 +78,7 @@ class _MemberShopState extends State childCount: 10, ), ); - case Success(:var response): + case Success(:final response): if (response == null || response.isEmpty) { return HttpError(onReload: _controller.onReload); } @@ -128,7 +128,7 @@ class _MemberShopState extends State ); } return sliver; - case Error(:var errMsg): + case Error(:final errMsg): return HttpError( errMsg: errMsg, onReload: _controller.onReload, diff --git a/lib/pages/member_upower_rank/view.dart b/lib/pages/member_upower_rank/view.dart index e9372729a..e862fd61a 100644 --- a/lib/pages/member_upower_rank/view.dart +++ b/lib/pages/member_upower_rank/view.dart @@ -173,7 +173,7 @@ class _UpowerRankPageState extends State late final width = MediaQuery.textScalerOf(context).scale(32); return switch (loadingState) { Loading() => linearLoading, - Success?>(:var response) => + Success?>(:final response) => response != null && response.isNotEmpty ? SliverList.builder( itemCount: response.length, @@ -242,7 +242,7 @@ class _UpowerRankPageState extends State }, ) : HttpError(onReload: _controller.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _controller.onReload, ), diff --git a/lib/pages/member_video/controller.dart b/lib/pages/member_video/controller.dart index 7682fe99b..e99b0ef4b 100644 --- a/lib/pages/member_video/controller.dart +++ b/lib/pages/member_video/controller.dart @@ -152,8 +152,8 @@ class MemberVideoCtr final params = Uri.parse(episodicButton.uri!).queryParameters; String? oid = params['oid']; if (oid != null) { - var bvid = IdUtils.av2bv(int.parse(oid)); - var cid = await SearchHttp.ab2c(aid: oid, bvid: bvid); + final bvid = IdUtils.av2bv(int.parse(oid)); + final cid = await SearchHttp.ab2c(aid: oid, bvid: bvid); if (cid != null) { PageUtils.toVideoPage( aid: int.parse(oid), diff --git a/lib/pages/member_video/view.dart b/lib/pages/member_video/view.dart index 697c8db77..31fda443b 100644 --- a/lib/pages/member_video/view.dart +++ b/lib/pages/member_video/view.dart @@ -163,7 +163,7 @@ class _MemberVideoState extends State ) { return switch (loadingState) { Loading() => gridSkeleton, - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverMainAxisGroup( slivers: [ @@ -272,7 +272,7 @@ class _MemberVideoState extends State ], ) : HttpError(onReload: _controller.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _controller.onReload, ), diff --git a/lib/pages/mine/controller.dart b/lib/pages/mine/controller.dart index 69eb93d05..ca65793e5 100644 --- a/lib/pages/mine/controller.dart +++ b/lib/pages/mine/controller.dart @@ -99,7 +99,7 @@ class MineController extends CommonDataController } Future queryUserInfo() async { - var res = await UserHttp.userInfo(); + final res = await UserHttp.userInfo(); if (res.isSuccess) { UserInfoData data = res.data; if (data.isLogin == true) { @@ -126,7 +126,7 @@ class MineController extends CommonDataController } Future queryUserStatOwner() async { - var res = await UserHttp.userStatOwner(); + final res = await UserHttp.userStatOwner(); if (res['status']) { userStat.value = res['data']; } diff --git a/lib/pages/mine/view.dart b/lib/pages/mine/view.dart index 62eb376b2..f6890ff8f 100644 --- a/lib/pages/mine/view.dart +++ b/lib/pages/mine/view.dart @@ -504,7 +504,7 @@ class _MediaPageState extends CommonPageState ) { return switch (loadingState) { Loading() => const SizedBox.shrink(), - Success(:var response) => Builder( + Success(:final response) => Builder( builder: (context) { List? favFolderList = response.list; if (favFolderList == null || favFolderList.isEmpty) { @@ -564,7 +564,7 @@ class _MediaPageState extends CommonPageState ); }, ), - Error(:var errMsg) => SizedBox( + Error(:final errMsg) => SizedBox( height: 160, child: Center( child: Text( diff --git a/lib/pages/msg_feed_top/at_me/controller.dart b/lib/pages/msg_feed_top/at_me/controller.dart index 7be5f8f70..4234b7f4d 100644 --- a/lib/pages/msg_feed_top/at_me/controller.dart +++ b/lib/pages/msg_feed_top/at_me/controller.dart @@ -39,7 +39,7 @@ class AtMeController extends CommonListController { @pragma('vm:notify-debugger-on-exception') Future onRemove(Object id, int index) async { try { - var res = await MsgHttp.delMsgfeed(2, id); + final res = await MsgHttp.delMsgfeed(2, id); if (res.isSuccess) { loadingState ..value.data!.removeAt(index) diff --git a/lib/pages/msg_feed_top/at_me/view.dart b/lib/pages/msg_feed_top/at_me/view.dart index e4952b814..8227de09a 100644 --- a/lib/pages/msg_feed_top/at_me/view.dart +++ b/lib/pages/msg_feed_top/at_me/view.dart @@ -84,7 +84,7 @@ class _AtMePageState extends State { itemCount: 12, itemBuilder: (context, index) => const MsgFeedTopSkeleton(), ), - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverList.separated( itemCount: response.length, @@ -175,7 +175,7 @@ class _AtMePageState extends State { separatorBuilder: (context, index) => divider, ) : HttpError(onReload: _atMeController.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _atMeController.onReload, ), diff --git a/lib/pages/msg_feed_top/like_detail/view.dart b/lib/pages/msg_feed_top/like_detail/view.dart index 0bb14a864..c4f55fc2a 100644 --- a/lib/pages/msg_feed_top/like_detail/view.dart +++ b/lib/pages/msg_feed_top/like_detail/view.dart @@ -66,7 +66,7 @@ class _LikeDetailPageState extends State { itemCount: 12, itemBuilder: (context, index) => const MsgFeedTopSkeleton(), ), - Success(:var response) => SliverMainAxisGroup( + Success(:final response) => SliverMainAxisGroup( slivers: [ if (_controller.card != null) ...[ _buildCard(_controller.card!), @@ -89,7 +89,7 @@ class _LikeDetailPageState extends State { ), ], ), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _controller.onReload, ), diff --git a/lib/pages/msg_feed_top/like_me/controller.dart b/lib/pages/msg_feed_top/like_me/controller.dart index 3edf0db9c..f9de1f08f 100644 --- a/lib/pages/msg_feed_top/like_me/controller.dart +++ b/lib/pages/msg_feed_top/like_me/controller.dart @@ -65,7 +65,7 @@ class LikeMeController Future onRemove(dynamic id, int index, bool isLatest) async { try { - var res = await MsgHttp.delMsgfeed(0, id); + final res = await MsgHttp.delMsgfeed(0, id); if (res.isSuccess) { Pair, List> pair = loadingState.value.data; @@ -84,7 +84,7 @@ class LikeMeController Future onSetNotice(MsgLikeItem item, bool isNotice) async { int noticeState = isNotice ? 1 : 0; - var res = await MsgHttp.msgSetNotice( + final res = await MsgHttp.msgSetNotice( id: item.id!, noticeState: noticeState, ); diff --git a/lib/pages/msg_feed_top/like_me/view.dart b/lib/pages/msg_feed_top/like_me/view.dart index edacd7a73..8aad8a94a 100644 --- a/lib/pages/msg_feed_top/like_me/view.dart +++ b/lib/pages/msg_feed_top/like_me/view.dart @@ -82,7 +82,7 @@ class _LikeMePageState extends State { itemCount: 12, itemBuilder: (context, index) => const MsgFeedTopSkeleton(), ), - Success(:var response) => Builder( + Success(:final response) => Builder( builder: (context) { Pair, List> pair = response; List latest = pair.first; @@ -134,7 +134,7 @@ class _LikeMePageState extends State { return HttpError(onReload: _likeMeController.onReload); }, ), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _likeMeController.onReload, ), diff --git a/lib/pages/msg_feed_top/reply_me/controller.dart b/lib/pages/msg_feed_top/reply_me/controller.dart index b84fcd6ae..925c20592 100644 --- a/lib/pages/msg_feed_top/reply_me/controller.dart +++ b/lib/pages/msg_feed_top/reply_me/controller.dart @@ -39,7 +39,7 @@ class ReplyMeController Future onRemove(dynamic id, int index) async { try { - var res = await MsgHttp.delMsgfeed(1, id); + final res = await MsgHttp.delMsgfeed(1, id); if (res.isSuccess) { loadingState ..value.data!.removeAt(index) diff --git a/lib/pages/msg_feed_top/reply_me/view.dart b/lib/pages/msg_feed_top/reply_me/view.dart index 20d53cf4e..32932c7a6 100644 --- a/lib/pages/msg_feed_top/reply_me/view.dart +++ b/lib/pages/msg_feed_top/reply_me/view.dart @@ -84,7 +84,7 @@ class _ReplyMePageState extends State { itemCount: 12, itemBuilder: (context, index) => const MsgFeedTopSkeleton(), ), - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverList.separated( itemCount: response.length, @@ -199,7 +199,7 @@ class _ReplyMePageState extends State { separatorBuilder: (context, index) => divider, ) : HttpError(onReload: _replyMeController.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _replyMeController.onReload, ), diff --git a/lib/pages/msg_feed_top/sys_msg/controller.dart b/lib/pages/msg_feed_top/sys_msg/controller.dart index 8c7cfcd97..234183306 100644 --- a/lib/pages/msg_feed_top/sys_msg/controller.dart +++ b/lib/pages/msg_feed_top/sys_msg/controller.dart @@ -36,7 +36,7 @@ class SysMsgController Future onRemove(dynamic id, int index) async { try { - var res = await MsgHttp.delSysMsg(id); + final res = await MsgHttp.delSysMsg(id); if (res.isSuccess) { loadingState ..value.data!.removeAt(index) diff --git a/lib/pages/msg_feed_top/sys_msg/view.dart b/lib/pages/msg_feed_top/sys_msg/view.dart index 9888db6bd..850514a4a 100644 --- a/lib/pages/msg_feed_top/sys_msg/view.dart +++ b/lib/pages/msg_feed_top/sys_msg/view.dart @@ -70,7 +70,7 @@ class _SysMsgPageState extends State { itemBuilder: (context, index) => const MsgFeedSysMsgSkeleton(), ), ), - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverList.separated( itemCount: response.length, @@ -125,7 +125,7 @@ class _SysMsgPageState extends State { separatorBuilder: (context, index) => divider, ) : HttpError(onReload: _sysMsgController.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _sysMsgController.onReload, ), diff --git a/lib/pages/music/video/view.dart b/lib/pages/music/video/view.dart index 51787080b..a04faf342 100644 --- a/lib/pages/music/video/view.dart +++ b/lib/pages/music/video/view.dart @@ -57,7 +57,7 @@ class _MusicRecommendPageState extends State Widget _buildBody(LoadingState?> loadingState) { return switch (loadingState) { Loading() => gridSkeleton, - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, @@ -66,7 +66,7 @@ class _MusicRecommendPageState extends State itemCount: response.length, ) : HttpError(onReload: _controller.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _controller.onReload, ), diff --git a/lib/pages/music/view.dart b/lib/pages/music/view.dart index 67e38b4d5..c5f58cb1b 100644 --- a/lib/pages/music/view.dart +++ b/lib/pages/music/view.dart @@ -469,7 +469,7 @@ class _MusicDetailPageState extends CommonDynPageState { runSpacing: 2, children: [ if (!item.artistsList.isNullOrEmpty) - for (var artist in item.artistsList!) + for (final artist in item.artistsList!) _buildArtist(artist, textTheme.bodySmall), if (!item.musicPublish.isNullOrEmpty) Text( diff --git a/lib/pages/pgc/controller.dart b/lib/pages/pgc/controller.dart index 831e166c9..189bb1e26 100644 --- a/lib/pages/pgc/controller.dart +++ b/lib/pages/pgc/controller.dart @@ -74,8 +74,8 @@ class PgcController PgcHttp.pgcTimeline(types: 1, before: 6, after: 6), PgcHttp.pgcTimeline(types: 4, before: 6, after: 6), ]); - var list1 = res.first.dataOrNull; - var list2 = res[1].dataOrNull; + final list1 = res.first.dataOrNull; + final list2 = res[1].dataOrNull; if (list1 != null && list2 != null && list1.isNotEmpty && @@ -83,10 +83,8 @@ class PgcController for (var i = 0; i < list1.length; i++) { list1[i].addAll(list2[i]); } - } else { - list1 ??= list2; } - timelineState.value = Success(list1); + timelineState.value = Success(list1 ?? list2); } // 我的订阅 @@ -97,7 +95,7 @@ class PgcController return; } followLoading = true; - var res = await FavHttp.favPgc( + final res = await FavHttp.favPgc( type: tabType == HomeTabType.bangumi ? 1 : 2, pn: followPage, ); diff --git a/lib/pages/pgc/view.dart b/lib/pages/pgc/view.dart index 5c1786478..2d1f88e44 100644 --- a/lib/pages/pgc/view.dart +++ b/lib/pages/pgc/view.dart @@ -83,7 +83,7 @@ class _PgcPageState extends CommonPageState LoadingState?> loadingState, ) => switch (loadingState) { Loading() => loadingWidget, - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? Builder( builder: (context) { @@ -189,7 +189,7 @@ class _PgcPageState extends CommonPageState }, ) : const SizedBox.shrink(), - Error(:var errMsg) => GestureDetector( + Error(:final errMsg) => GestureDetector( behavior: HitTestBehavior.opaque, onTap: controller.queryPgcTimeline, child: Container( @@ -310,7 +310,7 @@ class _PgcPageState extends CommonPageState Widget _buildRcmdBody(LoadingState?> loadingState) { return switch (loadingState) { Loading() => const SliverToBoxAdapter(), - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, @@ -323,7 +323,7 @@ class _PgcPageState extends CommonPageState itemCount: response.length, ) : HttpError(onReload: controller.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: controller.onReload, ), @@ -397,7 +397,7 @@ class _PgcPageState extends CommonPageState Widget _buildFollowBody(LoadingState?> loadingState) { return switch (loadingState) { Loading() => loadingWidget, - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? ListView.builder( controller: controller.followController, @@ -427,7 +427,7 @@ class _PgcPageState extends CommonPageState '还没有${widget.tabType == HomeTabType.bangumi ? '追番' : '追剧'}', ), ), - Error(:var errMsg) => Container( + Error(:final errMsg) => Container( padding: const EdgeInsets.symmetric(horizontal: 16), alignment: Alignment.center, child: Text( diff --git a/lib/pages/pgc_index/controller.dart b/lib/pages/pgc_index/controller.dart index 5ba8beb62..4d0c4de1a 100644 --- a/lib/pages/pgc_index/controller.dart +++ b/lib/pages/pgc_index/controller.dart @@ -25,7 +25,7 @@ class PgcIndexController } Future getPgcIndexCondition() async { - var res = await PgcHttp.pgcIndexCondition( + final res = await PgcHttp.pgcIndexCondition( seasonType: indexType == null ? 1 : null, type: 0, indexType: indexType, diff --git a/lib/pages/pgc_index/view.dart b/lib/pages/pgc_index/view.dart index d571f21f6..1b48e12b6 100644 --- a/lib/pages/pgc_index/view.dart +++ b/lib/pages/pgc_index/view.dart @@ -53,7 +53,7 @@ class _PgcIndexPageState extends State final padding = MediaQuery.viewPaddingOf(context); return switch (loadingState) { Loading() => loadingWidget, - Success(:var response) => Builder( + Success(:final response) => Builder( builder: (context) { int count = (response.order?.isNotEmpty == true ? 1 : 0) + @@ -90,7 +90,7 @@ class _PgcIndexPageState extends State ); }, ), - Error(:var errMsg) => scrollErrorWidget( + Error(:final errMsg) => scrollErrorWidget( errMsg: errMsg, onReload: () => _ctr ..conditionState.value = LoadingState.loading() @@ -105,7 +105,7 @@ class _PgcIndexPageState extends State PgcIndexConditionData data, item, ) { - if (item case PgcConditionOrder e) { + if (item case final PgcConditionOrder e) { return Obx( () { final isCurr = _ctr.indexParams['order'] == e.field; @@ -128,7 +128,7 @@ class _PgcIndexPageState extends State }, ); } - if (item case PgcConditionValue e) { + if (item case final PgcConditionValue e) { final hasOrder = data.order?.isNotEmpty == true; if (hasOrder) index -= 1; final key = data.filter![index].field!; @@ -239,7 +239,7 @@ class _PgcIndexPageState extends State Widget _buildList(LoadingState?> loadingState) { return switch (loadingState) { Loading() => linearLoading, - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, @@ -252,7 +252,7 @@ class _PgcIndexPageState extends State itemCount: response.length, ) : HttpError(onReload: _ctr.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _ctr.onReload, ), diff --git a/lib/pages/pgc_review/child/controller.dart b/lib/pages/pgc_review/child/controller.dart index 95c7279fb..92b5daa29 100644 --- a/lib/pages/pgc_review/child/controller.dart +++ b/lib/pages/pgc_review/child/controller.dart @@ -60,7 +60,7 @@ class PgcReviewController ); Future onLike(PgcReviewItemModel item, bool isLike, reviewId) async { - var res = await PgcHttp.pgcReviewLike( + final res = await PgcHttp.pgcReviewLike( mediaId: mediaId, reviewId: reviewId, ); @@ -83,7 +83,7 @@ class PgcReviewController bool isDislike, reviewId, ) async { - var res = await PgcHttp.pgcReviewDislike( + final res = await PgcHttp.pgcReviewDislike( mediaId: mediaId, reviewId: reviewId, ); @@ -102,7 +102,7 @@ class PgcReviewController } Future onDel(int index, int reviewId) async { - var res = await PgcHttp.pgcReviewDel( + final res = await PgcHttp.pgcReviewDel( mediaId: mediaId, reviewId: reviewId, ); diff --git a/lib/pages/pgc_review/child/view.dart b/lib/pages/pgc_review/child/view.dart index 0799e649c..55edf9a5c 100644 --- a/lib/pages/pgc_review/child/view.dart +++ b/lib/pages/pgc_review/child/view.dart @@ -88,7 +88,7 @@ class _PgcReviewChildPageState extends State itemBuilder: (_, _) => const VideoReplySkeleton(), itemCount: 8, ), - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverList.separated( itemBuilder: (context, index) { @@ -101,7 +101,7 @@ class _PgcReviewChildPageState extends State separatorBuilder: (context, index) => divider, ) : HttpError(onReload: _controller.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _controller.onReload, ), diff --git a/lib/pages/pgc_review/post/view.dart b/lib/pages/pgc_review/post/view.dart index 0a420315d..e60d6be3b 100644 --- a/lib/pages/pgc_review/post/view.dart +++ b/lib/pages/pgc_review/post/view.dart @@ -222,7 +222,7 @@ class _PgcReviewPostPanelState extends State { Future _onPost() async { if (_isMod) { - var res = await PgcHttp.pgcReviewMod( + final res = await PgcHttp.pgcReviewMod( mediaId: widget.mediaId, score: _score.value * 2, content: _controller.text, @@ -240,7 +240,7 @@ class _PgcReviewPostPanelState extends State { SmartDialog.showToast('账号未登录'); return; } - var res = await PgcHttp.pgcReviewPost( + final res = await PgcHttp.pgcReviewPost( mediaId: widget.mediaId, score: _score.value * 2, content: _controller.text, diff --git a/lib/pages/popular_precious/view.dart b/lib/pages/popular_precious/view.dart index 2427d000c..aee184759 100644 --- a/lib/pages/popular_precious/view.dart +++ b/lib/pages/popular_precious/view.dart @@ -45,7 +45,7 @@ class _PopularPreciousPageState extends State switch (value) { case Loading(): return gridSkeleton; - case Success?>(:var response): + case Success?>(:final response): return SliverGrid.builder( gridDelegate: gridDelegate, itemCount: response!.length, @@ -70,7 +70,7 @@ class _PopularPreciousPageState extends State ); }, ); - case Error(:var errMsg): + case Error(:final errMsg): return HttpError( errMsg: errMsg, onReload: _controller.onReload, diff --git a/lib/pages/popular_series/view.dart b/lib/pages/popular_series/view.dart index 5ed9c7cf1..2e5cda24a 100644 --- a/lib/pages/popular_series/view.dart +++ b/lib/pages/popular_series/view.dart @@ -57,7 +57,7 @@ class _PopularSeriesPageState extends State with GridMixin { switch (value) { case Loading(): return gridSkeleton; - case Success?>(:var response): + case Success?>(:final response): Widget sliver; if (response != null && response.isNotEmpty) { sliver = SliverGrid.builder( @@ -97,7 +97,7 @@ class _PopularSeriesPageState extends State with GridMixin { ); } return sliver; - case Error(:var errMsg): + case Error(:final errMsg): return HttpError( errMsg: errMsg, onReload: _controller.onReload, diff --git a/lib/pages/rank/zone/view.dart b/lib/pages/rank/zone/view.dart index 99903e7cc..70427b751 100644 --- a/lib/pages/rank/zone/view.dart +++ b/lib/pages/rank/zone/view.dart @@ -54,7 +54,7 @@ class _ZonePageState extends CommonPageState Widget _buildBody(LoadingState?> loadingState) { return switch (loadingState) { Loading() => gridSkeleton, - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, @@ -73,7 +73,7 @@ class _ZonePageState extends CommonPageState itemCount: response.length, ) : HttpError(onReload: controller.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: controller.onReload, ), diff --git a/lib/pages/rcmd/view.dart b/lib/pages/rcmd/view.dart index 5c49e4dd5..66a1140b0 100644 --- a/lib/pages/rcmd/view.dart +++ b/lib/pages/rcmd/view.dart @@ -65,7 +65,7 @@ class _RcmdPageState extends CommonPageState Widget _buildBody(LoadingState?> loadingState) { return switch (loadingState) { Loading() => _buildSkeleton, - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, @@ -130,7 +130,7 @@ class _RcmdPageState extends CommonPageState : response.length, ) : HttpError(onReload: controller.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: controller.onReload, ), diff --git a/lib/pages/save_panel/view.dart b/lib/pages/save_panel/view.dart index 3a537440b..a023cf800 100644 --- a/lib/pages/save_panel/view.dart +++ b/lib/pages/save_panel/view.dart @@ -90,7 +90,7 @@ class _SavePanelState extends State { @override void initState() { super.initState(); - if (_item case ReplyInfo reply) { + if (_item case final ReplyInfo reply) { itemType = '评论'; final currentRoute = Get.currentRoute; late final hasRoot = reply.hasRoot(); @@ -219,7 +219,7 @@ class _SavePanelState extends State { } if (kDebugMode) debugPrint(uri); - } else if (_item case DynamicItemModel i) { + } else if (_item case final DynamicItemModel i) { uri = parseDyn(i); if (kDebugMode) debugPrint(uri); @@ -299,7 +299,7 @@ class _SavePanelState extends State { RenderRepaintBoundary boundary = boundaryKey.currentContext!.findRenderObject() as RenderRepaintBoundary; - var image = await boundary.toImage(pixelRatio: 3); + final image = await boundary.toImage(pixelRatio: 3); ByteData? byteData = await image.toByteData(format: ImageByteFormat.png); Uint8List pngBytes = byteData!.buffer.asUint8List(); String picName = @@ -375,7 +375,7 @@ class _SavePanelState extends State { mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.start, children: [ - if (_item case ReplyInfo reply) + if (_item case final ReplyInfo reply) IgnorePointer( child: ReplyItemGrpc( replyItem: reply, @@ -384,7 +384,7 @@ class _SavePanelState extends State { upMid: widget.upMid, ), ) - else if (_item case DynamicItemModel dyn) + else if (_item case final DynamicItemModel dyn) IgnorePointer( child: DynamicPanel( item: dyn, diff --git a/lib/pages/search/controller.dart b/lib/pages/search/controller.dart index 9e6bf4b6d..87616cdac 100644 --- a/lib/pages/search/controller.dart +++ b/lib/pages/search/controller.dart @@ -215,7 +215,7 @@ class SSearchController extends GetxController @override Future onValueChanged(String value) async { - var res = await SearchHttp.searchSuggest(term: value); + final res = await SearchHttp.searchSuggest(term: value); if (res case Success(:final response)) { if (response.tag?.isNotEmpty == true) { searchSuggestList.value = response.tag!; diff --git a/lib/pages/search/view.dart b/lib/pages/search/view.dart index 8c3417baf..d6bef8b00 100644 --- a/lib/pages/search/view.dart +++ b/lib/pages/search/view.dart @@ -416,7 +416,7 @@ class _SearchPageState extends State { bool isTrending, ) { return switch (loadingState) { - Success(:var response) => + Success(:final response) => response.list?.isNotEmpty == true ? LayoutBuilder( builder: (context, constraints) => HotKeyword( @@ -426,7 +426,7 @@ class _SearchPageState extends State { ), ) : const SizedBox.shrink(), - Error(:var errMsg) => errorWidget( + Error(:final errMsg) => errorWidget( errMsg: errMsg, onReload: isTrending ? _searchController.queryTrendingList diff --git a/lib/pages/search/widgets/hot_keyword.dart b/lib/pages/search/widgets/hot_keyword.dart index b95921fb9..3d1c3f59a 100644 --- a/lib/pages/search/widgets/hot_keyword.dart +++ b/lib/pages/search/widgets/hot_keyword.dart @@ -25,7 +25,7 @@ class HotKeyword extends StatelessWidget { runSpacing: 0.4, spacing: 5.0, children: [ - for (var i in hotSearchList) + for (final i in hotSearchList) SizedBox( width: width, child: Material( diff --git a/lib/pages/search_panel/video/view.dart b/lib/pages/search_panel/video/view.dart index 3c17ffad7..58e4bf6bc 100644 --- a/lib/pages/search_panel/video/view.dart +++ b/lib/pages/search_panel/video/view.dart @@ -57,7 +57,7 @@ class _SearchVideoPanelState scrollDirection: Axis.horizontal, child: Wrap( children: [ - for (var e in ArchiveFilterType.values) + for (final e in ArchiveFilterType.values) Obx( () => SearchText( fontSize: 13, diff --git a/lib/pages/search_panel/view.dart b/lib/pages/search_panel/view.dart index 7e241807d..d818e70e4 100644 --- a/lib/pages/search_panel/view.dart +++ b/lib/pages/search_panel/view.dart @@ -59,11 +59,11 @@ abstract class CommonSearchPanelState< Widget _buildBody(ThemeData theme, LoadingState?> loadingState) { return switch (loadingState) { Loading() => buildLoading, - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? buildList(theme, response) : HttpError(onReload: controller.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: controller.onReload, ), diff --git a/lib/pages/search_trending/view.dart b/lib/pages/search_trending/view.dart index 923e6bb75..da0957b08 100644 --- a/lib/pages/search_trending/view.dart +++ b/lib/pages/search_trending/view.dart @@ -153,7 +153,7 @@ class _SearchTrendingPageState extends State { ); return switch (loadingState) { Loading() => linearLoading, - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverList.separated( itemCount: response.length, @@ -219,7 +219,7 @@ class _SearchTrendingPageState extends State { separatorBuilder: (context, index) => divider, ) : HttpError(onReload: _controller.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _controller.onReload, ), diff --git a/lib/pages/setting/models/privacy_settings.dart b/lib/pages/setting/models/privacy_settings.dart index 9ede6c1a3..2974ffd1d 100644 --- a/lib/pages/setting/models/privacy_settings.dart +++ b/lib/pages/setting/models/privacy_settings.dart @@ -60,7 +60,7 @@ List get privacySettings => [ Widget _getAccountDetail(BuildContext context) { final slivers = []; final theme = TextTheme.of(context); - for (var i in AccountType.values) { + for (final i in AccountType.values) { final url = ApiType.apiTypeSet[i]; if (url == null) continue; diff --git a/lib/pages/setting/models/style_settings.dart b/lib/pages/setting/models/style_settings.dart index efb5473ec..00e352e22 100644 --- a/lib/pages/setting/models/style_settings.dart +++ b/lib/pages/setting/models/style_settings.dart @@ -300,7 +300,7 @@ List get styleSettings => [ return MultiSelectDialog( title: '消息未读类型', initValues: Pref.msgUnReadTypeV2, - values: {for (var i in MsgUnReadType.values) i: i.title}, + values: {for (final i in MsgUnReadType.values) i: i.title}, ); }, ); diff --git a/lib/pages/setting/models/video_settings.dart b/lib/pages/setting/models/video_settings.dart index 8c228b55d..9d0c438f7 100644 --- a/lib/pages/setting/models/video_settings.dart +++ b/lib/pages/setting/models/video_settings.dart @@ -376,7 +376,7 @@ List get videoSettings => [ title: '硬解模式', initValues: Pref.hardwareDecoding.split(','), values: { - for (var e in HwDecType.values) e.hwdec: '${e.hwdec}\n${e.desc}', + for (final e in HwDecType.values) e.hwdec: '${e.hwdec}\n${e.desc}', }, ); }, diff --git a/lib/pages/setting/pages/bar_set.dart b/lib/pages/setting/pages/bar_set.dart index 51b730df4..0dfaa95f3 100644 --- a/lib/pages/setting/pages/bar_set.dart +++ b/lib/pages/setting/pages/bar_set.dart @@ -28,7 +28,7 @@ class _BarSetPageState extends State { .map((e) => Pair(first: e, second: cache?.contains(e.index) ?? true)) .toList(); if (cache != null && cache.isNotEmpty) { - final cacheIndex = {for (var (k, v) in cache.indexed) v: k}; + final cacheIndex = {for (final (k, v) in cache.indexed) v: k}; list.sort((a, b) { final indexA = cacheIndex[a.first.index] ?? cacheIndex.length; final indexB = cacheIndex[b.first.index] ?? cacheIndex.length; diff --git a/lib/pages/setting/pages/display_mode.dart b/lib/pages/setting/pages/display_mode.dart index 5847492b0..05adb68cb 100644 --- a/lib/pages/setting/pages/display_mode.dart +++ b/lib/pages/setting/pages/display_mode.dart @@ -45,7 +45,7 @@ class _SetDisplayModeState extends State { if (kDebugMode) debugPrint(e.toString()); } - var value = setting.get(SettingBoxKey.displayMode); + final value = setting.get(SettingBoxKey.displayMode); if (value != null) { preferred = modes.firstWhereOrNull((e) => e.toString() == value); } diff --git a/lib/pages/setting/view.dart b/lib/pages/setting/view.dart index 15d2cf47e..0d8fec03f 100644 --- a/lib/pages/setting/view.dart +++ b/lib/pages/setting/view.dart @@ -218,7 +218,7 @@ class _SettingPageState extends State { return MultiSelectDialog( title: '选择要登出的账号uid', initValues: const Iterable.empty(), - values: {for (var i in Accounts.account.values) i: i.mid.toString()}, + values: {for (final i in Accounts.account.values) i: i.mid.toString()}, ); }, ); diff --git a/lib/pages/setting/widgets/ordered_multi_select_dialog.dart b/lib/pages/setting/widgets/ordered_multi_select_dialog.dart index b1c7639c7..6d8900c16 100644 --- a/lib/pages/setting/widgets/ordered_multi_select_dialog.dart +++ b/lib/pages/setting/widgets/ordered_multi_select_dialog.dart @@ -27,7 +27,7 @@ class _OrderedMultiSelectDialogState @override void initState() { super.initState(); - _tempValues = {for (var (i, j) in widget.initValues.indexed) j: i + 1}; + _tempValues = {for (final (i, j) in widget.initValues.indexed) j: i + 1}; } @override diff --git a/lib/pages/space_setting/controller.dart b/lib/pages/space_setting/controller.dart index f5c48e33d..c2f31b445 100644 --- a/lib/pages/space_setting/controller.dart +++ b/lib/pages/space_setting/controller.dart @@ -31,11 +31,11 @@ class SpaceSettingController if ((hasMod ?? false) && loadingState.value.isSuccess) { Privacy? data = loadingState.value.data; if (data != null) { - var res = await UserHttp.spaceSettingMod( + final res = await UserHttp.spaceSettingMod( { - for (var e in data.list1) e.key: e.value, - for (var e in data.list2) e.key: e.value, - for (var e in data.list3) e.key: e.value, + for (final e in data.list1) e.key: e.value, + for (final e in data.list2) e.key: e.value, + for (final e in data.list3) e.key: e.value, }, ); if (!res.isSuccess) { diff --git a/lib/pages/space_setting/view.dart b/lib/pages/space_setting/view.dart index 81ede14e7..4cfb6555d 100644 --- a/lib/pages/space_setting/view.dart +++ b/lib/pages/space_setting/view.dart @@ -36,7 +36,7 @@ class _SpaceSettingPageState extends State { Widget _buildBody(ThemeData theme, LoadingState loadingState) { return switch (loadingState) { Loading() => const SizedBox.shrink(), - Success(:var response) => + Success(:final response) => response == null ? scrollErrorWidget(onReload: _controller.onReload) : Builder( @@ -88,7 +88,7 @@ class _SpaceSettingPageState extends State { ); }, ), - Error(:var errMsg) => scrollErrorWidget( + Error(:final errMsg) => scrollErrorWidget( errMsg: errMsg, onReload: _controller.onReload, ), diff --git a/lib/pages/subscription/controller.dart b/lib/pages/subscription/controller.dart index aef855ba5..c14cc2900 100644 --- a/lib/pages/subscription/controller.dart +++ b/lib/pages/subscription/controller.dart @@ -44,7 +44,7 @@ class SubController extends CommonListController { ), TextButton( onPressed: () async { - var res = await FavHttp.cancelSub( + final res = await FavHttp.cancelSub( id: subFolderItem.id!, type: subFolderItem.type!, ); diff --git a/lib/pages/subscription/view.dart b/lib/pages/subscription/view.dart index 2e61ddb33..6d9ef4d63 100644 --- a/lib/pages/subscription/view.dart +++ b/lib/pages/subscription/view.dart @@ -43,7 +43,7 @@ class _SubPageState extends State with GridMixin { Widget _buildBody(LoadingState?> loadingState) { return switch (loadingState) { Loading() => gridSkeleton, - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, @@ -60,7 +60,7 @@ class _SubPageState extends State with GridMixin { itemCount: response.length, ) : HttpError(onReload: _subController.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _subController.onReload, ), diff --git a/lib/pages/subscription_detail/view.dart b/lib/pages/subscription_detail/view.dart index 688f69301..1c0c19be0 100644 --- a/lib/pages/subscription_detail/view.dart +++ b/lib/pages/subscription_detail/view.dart @@ -73,7 +73,7 @@ class _SubDetailPageState extends State with GridMixin { Widget _buildBody(LoadingState?> loadingState) { return switch (loadingState) { Loading() => gridSkeleton, - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, @@ -88,7 +88,7 @@ class _SubDetailPageState extends State with GridMixin { itemCount: response.length, ) : HttpError(onReload: _subDetailController.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _subDetailController.onReload, ), diff --git a/lib/pages/video/controller.dart b/lib/pages/video/controller.dart index ab19d455f..b49d6ead9 100644 --- a/lib/pages/video/controller.dart +++ b/lib/pages/video/controller.dart @@ -353,7 +353,7 @@ class VideoDetailController extends GetxController if (!isReverse && count != null && mediaList.length >= count) { return; } - var res = await UserHttp.getMediaList( + final res = await UserHttp.getMediaList( type: args['mediaType'] ?? sourceType.mediaType, bizId: args['mediaId'] ?? -1, ps: 20, @@ -384,7 +384,7 @@ class VideoDetailController extends GetxController if (response.mediaList.isNotEmpty) { if (isReverse) { mediaList.value = response.mediaList; - for (var item in mediaList) { + for (final item in mediaList) { if (item.cid != null) { try { Get.find( @@ -432,7 +432,7 @@ class VideoDetailController extends GetxController (sourceType == SourceType.fav && args['isOwner'] == true) ? (item, index) async { if (sourceType == SourceType.watchLater) { - var res = await UserHttp.toViewDel( + final res = await UserHttp.toViewDel( aids: item.aid.toString(), ); if (res['status']) { @@ -440,7 +440,7 @@ class VideoDetailController extends GetxController } SmartDialog.showToast(res['msg']); } else { - var res = await FavHttp.favVideo( + final res = await FavHttp.favVideo( resources: '${item.aid}:${item.type}', delIds: '${args['mediaId']}', ); @@ -1066,7 +1066,7 @@ class VideoDetailController extends GetxController ).codes; VideoItem? video; - for (var i in videoList) { + for (final i in videoList) { final codec = i.codecs!; if (currentDecodeFormats.any(codec.startsWith)) { video = i; @@ -1233,7 +1233,7 @@ class VideoDetailController extends GetxController : Pref.defaultAudioQaCellular; } - var result = await VideoHttp.videoUrl( + final result = await VideoHttp.videoUrl( cid: cid.value, bvid: bvid, epid: epId, @@ -1479,7 +1479,7 @@ class VideoDetailController extends GetxController if (subtitle != null) { await setSub(subtitle); } else { - var result = await VideoHttp.vttSubtitles( + final result = await VideoHttp.vttSubtitles( subtitles[index - 1].subtitleUrl!, ); if (result != null) { @@ -1497,7 +1497,7 @@ class VideoDetailController extends GetxController Future getSteinEdgeInfo([int? edgeId]) async { steinEdgeInfo = null; try { - var res = await Request().get( + final res = await Request().get( '/x/stein/edgeinfo_v2', queryParameters: { 'bvid': bvid, @@ -1525,7 +1525,7 @@ class VideoDetailController extends GetxController if (plPlayerController.showViewPoints) { viewPointList.clear(); } - var res = await VideoHttp.playInfo( + final res = await VideoHttp.playInfo( bvid: bvid, cid: cid.value, seasonId: seasonId, @@ -1725,7 +1725,7 @@ class VideoDetailController extends GetxController Future _getDmTrend() async { dmTrend.value = LoadingState>.loading(); try { - var res = await Request().get( + final res = await Request().get( 'https://bvc.bilivideo.com/pbp/data', queryParameters: { 'bvid': bvid, @@ -1793,7 +1793,7 @@ class VideoDetailController extends GetxController bool onSkipSegment() { try { if (plPlayerController.enableBlock) { - if (listData.lastOrNull case SegmentModel item) { + if (listData.lastOrNull case final SegmentModel item) { onSkip(item, isSeek: false); onRemoveItem(listData.indexOf(item), item); return true; diff --git a/lib/pages/video/introduction/pgc/controller.dart b/lib/pages/video/introduction/pgc/controller.dart index 656766433..36c1be338 100644 --- a/lib/pages/video/introduction/pgc/controller.dart +++ b/lib/pages/video/introduction/pgc/controller.dart @@ -76,7 +76,7 @@ class PgcIntroController extends CommonIntroController { // 获取点赞/投币/收藏状态 Future queryPgcLikeCoinFav() async { - var result = await VideoHttp.pgcLikeCoinFav(epId: epId!); + final result = await VideoHttp.pgcLikeCoinFav(epId: epId!); if (result case Success(:final response)) { final hasLike = response.like == 1; final hasFav = response.favorite == 1; @@ -103,7 +103,7 @@ class PgcIntroController extends CommonIntroController { return; } final newVal = !hasLike.value; - var result = await VideoHttp.likeVideo(bvid: bvid, type: newVal); + final result = await VideoHttp.likeVideo(bvid: bvid, type: newVal); if (result case Success(:final response)) { SmartDialog.showToast(newVal ? response : '取消赞'); pgcItem.stat?.like += newVal ? 1 : -1; @@ -332,7 +332,7 @@ class PgcIntroController extends CommonIntroController { // 追番 Future pgcAdd() async { - var result = await VideoHttp.pgcAdd(seasonId: pgcItem.seasonId); + final result = await VideoHttp.pgcAdd(seasonId: pgcItem.seasonId); if (result case Success(:final response)) { isFollowed.value = true; followStatus.value = 2; @@ -344,7 +344,7 @@ class PgcIntroController extends CommonIntroController { // 取消追番 Future pgcDel() async { - var result = await VideoHttp.pgcDel(seasonId: pgcItem.seasonId); + final result = await VideoHttp.pgcDel(seasonId: pgcItem.seasonId); if (result case Success(:final response)) { isFollowed.value = false; SmartDialog.showToast(response); @@ -354,7 +354,7 @@ class PgcIntroController extends CommonIntroController { } Future pgcUpdate(int status) async { - var result = await VideoHttp.pgcUpdate( + final result = await VideoHttp.pgcUpdate( seasonId: pgcItem.seasonId.toString(), status: status, ); @@ -427,7 +427,7 @@ class PgcIntroController extends CommonIntroController { SmartDialog.showToast('已三连'); return; } - var result = await VideoHttp.pgcTriple(epId: epId!, seasonId: seasonId); + final result = await VideoHttp.pgcTriple(epId: epId!, seasonId: seasonId); if (result case Success(:final response)) { late final stat = pgcItem.stat; if (response.like == 1 && !hasLike.value) { @@ -455,7 +455,7 @@ class PgcIntroController extends CommonIntroController { Future queryIsFollowed() async { // try { - // var result = await Request().get( + // final result = await Request().get( // 'https://www.bilibili.com/bangumi/play/ss$seasonId', // ); // dom.Document document = html_parser.parse(result.data); @@ -473,7 +473,7 @@ class PgcIntroController extends CommonIntroController { // ViewGrpc.view(bvid: bvid).then((res) { // if (res.isSuccess) { // ViewPgcAny view = ViewPgcAny.fromBuffer(res.data.supplement.value); - // var userStatus = view.ogvData.userStatus; + // final userStatus = view.ogvData.userStatus; // isFollowed.value = userStatus.follow == 1; // followStatus.value = userStatus.followStatus; // } diff --git a/lib/pages/video/introduction/ugc/controller.dart b/lib/pages/video/introduction/ugc/controller.dart index 8ea16b43a..dfdbdc776 100644 --- a/lib/pages/video/introduction/ugc/controller.dart +++ b/lib/pages/video/introduction/ugc/controller.dart @@ -89,7 +89,7 @@ class UgcIntroController extends CommonIntroController with ReloadMixin { @override Future queryVideoIntro() async { queryVideoTags(); - var res = await VideoHttp.videoIntro(bvid: bvid); + final res = await VideoHttp.videoIntro(bvid: bvid); if (res.isSuccess) { VideoDetailData data = res.data; videoPlayerServiceHandler?.onVideoDetailChange(data, cid.value, heroTag); @@ -154,7 +154,7 @@ class UgcIntroController extends CommonIntroController with ReloadMixin { if (mid == null) { return; } - var result = await MemberHttp.memberCardInfo(mid: mid); + final result = await MemberHttp.memberCardInfo(mid: mid); if (result.isSuccess) { userStat.value = result.data; } @@ -162,8 +162,8 @@ class UgcIntroController extends CommonIntroController with ReloadMixin { } Future queryAllStatus() async { - var result = await VideoHttp.videoRelation(bvid: bvid); - if (result case Success(:var response)) { + final result = await VideoHttp.videoRelation(bvid: bvid); + if (result case Success(:final response)) { late final stat = videoDetail.value.stat; if (response.like!) { stat?.like = max(1, stat.like); @@ -191,7 +191,7 @@ class UgcIntroController extends CommonIntroController with ReloadMixin { SmartDialog.showToast('已三连'); return; } - var result = await VideoHttp.ugcTriple(bvid: bvid); + final result = await VideoHttp.ugcTriple(bvid: bvid); if (result case Success(:final response)) { late final stat = videoDetail.value.stat; if (response.like == true && !hasLike.value) { @@ -229,7 +229,7 @@ class UgcIntroController extends CommonIntroController with ReloadMixin { return; } final newVal = !hasLike.value; - var result = await VideoHttp.likeVideo(bvid: bvid, type: newVal); + final result = await VideoHttp.likeVideo(bvid: bvid, type: newVal); if (result case Success(:final response)) { SmartDialog.showToast(newVal ? response : '取消赞'); videoDetail.value.stat?.like += newVal ? 1 : -1; @@ -247,7 +247,7 @@ class UgcIntroController extends CommonIntroController with ReloadMixin { SmartDialog.showToast('账号未登录'); return; } - var result = await VideoHttp.dislikeVideo( + final result = await VideoHttp.dislikeVideo( bvid: bvid, type: !hasDislike.value, ); @@ -413,7 +413,7 @@ class UgcIntroController extends CommonIntroController with ReloadMixin { if (videoDetail.owner == null || videoDetail.staff?.isNotEmpty == true) { return; } - var result = await UserHttp.hasFollow(videoDetail.owner!.mid!); + final result = await UserHttp.hasFollow(videoDetail.owner!.mid!); if (result['status']) { Map data = result['data']; if (data['special'] == 1) data['attribute'] = -10; @@ -437,7 +437,7 @@ class UgcIntroController extends CommonIntroController with ReloadMixin { } int attr = followStatus['attribute'] ?? 0; if (attr == 128) { - var res = await VideoHttp.relationMod( + final res = await VideoHttp.relationMod( mid: mid, act: 6, reSrc: 11, diff --git a/lib/pages/video/introduction/ugc/view.dart b/lib/pages/video/introduction/ugc/view.dart index 7262f71ea..da470c374 100644 --- a/lib/pages/video/introduction/ugc/view.dart +++ b/lib/pages/video/introduction/ugc/view.dart @@ -7,6 +7,7 @@ import 'package:PiliPlus/common/widgets/stat/stat.dart'; import 'package:PiliPlus/http/sponsor_block.dart'; import 'package:PiliPlus/models/common/image_type.dart'; import 'package:PiliPlus/models/common/stat_type.dart'; +import 'package:PiliPlus/models_new/video/video_ai_conclusion/model_result.dart'; import 'package:PiliPlus/models_new/video/video_detail/data.dart'; import 'package:PiliPlus/models_new/video/video_detail/staff.dart'; import 'package:PiliPlus/models_new/video/video_tag/data.dart'; @@ -985,9 +986,11 @@ class _UgcIntroPanelState extends State { if (introController.aiConclusionResult == null) { await introController.aiConclusion(); } - if (introController.aiConclusionResult case final res?) { - if (res.summary?.isNotEmpty == true || - res.outline?.isNotEmpty == true) { + if (introController.aiConclusionResult case AiConclusionResult( + :final summary, + :final outline, + )) { + if (summary?.isNotEmpty == true || outline?.isNotEmpty == true) { widget.showAiBottomSheet(); } else { SmartDialog.showToast("当前视频不支持AI视频总结"); diff --git a/lib/pages/video/medialist/view.dart b/lib/pages/video/medialist/view.dart index 0484174ec..25b66c51b 100644 --- a/lib/pages/video/medialist/view.dart +++ b/lib/pages/video/medialist/view.dart @@ -139,7 +139,7 @@ class _MediaListPanelState extends State widget.mediaList.length < widget.count!)) { widget.loadMoreMedia(); } - var item = widget.mediaList[index]; + final item = widget.mediaList[index]; final isCurr = item.bvid == widget.bvid; return _buildItem(theme, index, item, isCurr, showDelBtn); }, diff --git a/lib/pages/video/member/controller.dart b/lib/pages/video/member/controller.dart index 098275237..63bc59ab8 100644 --- a/lib/pages/video/member/controller.dart +++ b/lib/pages/video/member/controller.dart @@ -36,7 +36,7 @@ class HorizontalMemberPageController } Future getMemberStat() async { - var res = await MemberHttp.memberStat(mid: mid); + final res = await MemberHttp.memberStat(mid: mid); if (res['status']) { userStat.addAll(res['data']); } @@ -46,7 +46,7 @@ class HorizontalMemberPageController if (!Accounts.main.isLogin) { return; } - var res = await MemberHttp.memberView(mid: mid); + final res = await MemberHttp.memberView(mid: mid); if (res['status']) { userStat.addAll(res['data']); } diff --git a/lib/pages/video/member/view.dart b/lib/pages/video/member/view.dart index 95508fc06..8b8d49121 100644 --- a/lib/pages/video/member/view.dart +++ b/lib/pages/video/member/view.dart @@ -80,7 +80,7 @@ class _HorizontalMemberPageState extends State { Widget _buildUserPage(ThemeData theme, LoadingState userState) { return switch (userState) { Loading() => loadingWidget, - Success(:var response) => Column( + Success(:final response) => Column( children: [ _buildUserInfo(theme, response), _buildHeader(theme), @@ -108,7 +108,7 @@ class _HorizontalMemberPageState extends State { ), ], ), - Error(:var errMsg) => scrollErrorWidget( + Error(:final errMsg) => scrollErrorWidget( controller: _controller.scrollController, errMsg: errMsg, onReload: () { @@ -172,7 +172,7 @@ class _HorizontalMemberPageState extends State { itemBuilder: (_, _) => const VideoCardHSkeleton(), itemExtent: 100, ), - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverFixedExtentList.builder( itemBuilder: (context, index) { @@ -202,7 +202,7 @@ class _HorizontalMemberPageState extends State { itemExtent: 100, ) : HttpError(onReload: _controller.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _controller.onReload, ), diff --git a/lib/pages/video/note/view.dart b/lib/pages/video/note/view.dart index 0e3d5469d..cd4a7edd5 100644 --- a/lib/pages/video/note/view.dart +++ b/lib/pages/video/note/view.dart @@ -186,7 +186,7 @@ class _NoteListPageState extends State itemBuilder: (_, _) => const VideoReplySkeleton(), itemCount: 8, ), - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverList.separated( itemBuilder: (context, index) { @@ -199,7 +199,7 @@ class _NoteListPageState extends State separatorBuilder: (context, index) => divider, ) : HttpError(onReload: _controller.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _controller.onReload, ), diff --git a/lib/pages/video/related/view.dart b/lib/pages/video/related/view.dart index 41b0a39c0..1da596cd3 100644 --- a/lib/pages/video/related/view.dart +++ b/lib/pages/video/related/view.dart @@ -32,7 +32,7 @@ class _RelatedVideoPanelState extends State with GridMixin { Widget _buildBody(LoadingState?> loadingState) { return switch (loadingState) { Loading() => gridSkeleton, - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, @@ -47,7 +47,7 @@ class _RelatedVideoPanelState extends State with GridMixin { itemCount: response.length, ) : const SliverToBoxAdapter(), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _relatedController.onReload, ), diff --git a/lib/pages/video/reply/view.dart b/lib/pages/video/reply/view.dart index b7d564ef9..9c5765238 100644 --- a/lib/pages/video/reply/view.dart +++ b/lib/pages/video/reply/view.dart @@ -180,7 +180,7 @@ class _VideoReplyPanelState extends State itemBuilder: (context, index) => const VideoReplySkeleton(), itemCount: 5, ), - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverList.builder( itemBuilder: (context, index) { @@ -229,7 +229,7 @@ class _VideoReplyPanelState extends State errMsg: '还没有评论', onReload: _videoReplyController.onReload, ), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _videoReplyController.onReload, ), diff --git a/lib/pages/video/reply/widgets/reply_item_grpc.dart b/lib/pages/video/reply/widgets/reply_item_grpc.dart index e57cb04d1..5b211b798 100644 --- a/lib/pages/video/reply/widgets/reply_item_grpc.dart +++ b/lib/pages/video/reply/widgets/reply_item_grpc.dart @@ -800,7 +800,7 @@ class ReplyItemGrpc extends StatelessWidget { .where((url) => !matchedUrls.contains(url)) .toList(); if (unmatchedItems.isNotEmpty) { - for (var patternStr in unmatchedItems) { + for (final patternStr in unmatchedItems) { addUrl(patternStr, content.urls[patternStr]!); } } @@ -916,7 +916,7 @@ class ReplyItemGrpc extends StatelessWidget { return; } SmartDialog.showLoading(msg: '删除中...'); - var result = await VideoHttp.replyDel( + final result = await VideoHttp.replyDel( type: item.type.toInt(), oid: item.oid.toInt(), rpid: item.id.toInt(), diff --git a/lib/pages/video/reply_new/view.dart b/lib/pages/video/reply_new/view.dart index c97114e17..ef9c64d61 100644 --- a/lib/pages/video/reply_new/view.dart +++ b/lib/pages/video/reply_new/view.dart @@ -409,13 +409,13 @@ class _ReplyPageState extends CommonRichTextPubPageState { @override Future onCustomPublish({List? pictures}) async { Map atNameToMid = {}; - for (var e in editController.items) { + for (final e in editController.items) { if (e.type == RichTextType.at) { atNameToMid[e.rawText] ??= int.parse(e.id!); } } String message = editController.rawText; - var result = await VideoHttp.replyAdd( + final result = await VideoHttp.replyAdd( type: widget.replyType, oid: widget.oid, root: widget.root, diff --git a/lib/pages/video/reply_reply/view.dart b/lib/pages/video/reply_reply/view.dart index 43bf29793..0b978cdca 100644 --- a/lib/pages/video/reply_reply/view.dart +++ b/lib/pages/video/reply_reply/view.dart @@ -310,7 +310,7 @@ class _VideoReplyReplyPanelState extends State itemBuilder: (_, _) => const VideoReplySkeleton(), itemCount: 8, ), - Success(:var response!) => SuperSliverList.builder( + Success(:final response!) => SuperSliverList.builder( listController: _controller.listController, itemBuilder: (context, index) { if (index == response.length) { @@ -357,7 +357,7 @@ class _VideoReplyReplyPanelState extends State }, itemCount: response.length + 1, ), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _controller.onReload, ), diff --git a/lib/pages/video/reply_search_item/child/view.dart b/lib/pages/video/reply_search_item/child/view.dart index a878afcce..d73cecedc 100644 --- a/lib/pages/video/reply_search_item/child/view.dart +++ b/lib/pages/video/reply_search_item/child/view.dart @@ -52,7 +52,7 @@ class _ReplySearchChildPageState extends State Widget _buildBody(LoadingState?> loadingState) { return switch (loadingState) { Loading() => gridSkeleton, - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverGrid.builder( gridDelegate: gridDelegate, @@ -68,7 +68,7 @@ class _ReplySearchChildPageState extends State itemCount: response.length, ) : HttpError(onReload: _controller.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _controller.onReload, ), diff --git a/lib/pages/video/view.dart b/lib/pages/video/view.dart index 9e0816942..8d881a9c3 100644 --- a/lib/pages/video/view.dart +++ b/lib/pages/video/view.dart @@ -2110,7 +2110,7 @@ class _VideoDetailPageVState extends State ..cid.refresh(); } else { // switch to first episode - var episode = ugcIntroController + final episode = ugcIntroController .videoDetail .value .ugcSeason! @@ -2136,7 +2136,7 @@ class _VideoDetailPageVState extends State videoDetailController.cid.refresh(); } else { // switch to first episode - var episode = videoDetail.pages!.first; + final episode = videoDetail.pages!.first; if (episode.cid != videoDetailController.cid.value) { ugcIntroController.onChangeEpisode(episode); } else { diff --git a/lib/pages/video/widgets/header_control.dart b/lib/pages/video/widgets/header_control.dart index 3fc7cd271..c77e80194 100644 --- a/lib/pages/video/widgets/header_control.dart +++ b/lib/pages/video/widgets/header_control.dart @@ -2892,7 +2892,7 @@ class HeaderControlState extends State ), ), ), - if (introController case UgcIntroController ugc) + if (introController case final UgcIntroController ugc) SizedBox( width: 42, height: 34, diff --git a/lib/pages/video/widgets/player_focus.dart b/lib/pages/video/widgets/player_focus.dart index b0d65d1e8..70147515f 100644 --- a/lib/pages/video/widgets/player_focus.dart +++ b/lib/pages/video/widgets/player_focus.dart @@ -254,7 +254,7 @@ class PlayerFocus extends StatelessWidget { return true; case LogicalKeyboardKey.keyG: - if (introController case UgcIntroController ugcCtr) { + if (introController case final UgcIntroController ugcCtr) { ugcCtr.actionRelationMod(Get.context!); } return true; diff --git a/lib/pages/webview/view.dart b/lib/pages/webview/view.dart index 39d92babf..45e39a05d 100644 --- a/lib/pages/webview/view.dart +++ b/lib/pages/webview/view.dart @@ -50,7 +50,7 @@ class _WebviewPageState extends State { this.uaType = widget.uaType ?? (uaType != null ? UaType.values.byName(uaType) : UaType.platformUA); - if (Get.arguments case Map map) { + if (Get.arguments case final Map map) { _inApp = map['inApp'] ?? false; _off = map['off'] ?? false; } diff --git a/lib/pages/whisper/controller.dart b/lib/pages/whisper/controller.dart index 18bba21fb..23b82d2c9 100644 --- a/lib/pages/whisper/controller.dart +++ b/lib/pages/whisper/controller.dart @@ -58,7 +58,7 @@ class WhisperController extends CommonWhisperController { } Future queryMsgFeedUnread() async { - var res = await ImGrpc.getTotalUnread(unreadType: 2); + final res = await ImGrpc.getTotalUnread(unreadType: 2); if (res.isSuccess) { final data = MsgFeedUnread.fromJson(res.data.msgFeedUnread.unread); final unreadCounts = [data.reply, data.at, data.like, data.sysMsg]; diff --git a/lib/pages/whisper/view.dart b/lib/pages/whisper/view.dart index 488a1ea17..04e8fa987 100644 --- a/lib/pages/whisper/view.dart +++ b/lib/pages/whisper/view.dart @@ -120,7 +120,7 @@ class _WhisperPageState extends State { itemCount: 12, itemBuilder: (context, index) => const WhisperItemSkeleton(), ), - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverList.separated( itemCount: response.length, @@ -142,7 +142,7 @@ class _WhisperPageState extends State { separatorBuilder: (context, index) => divider, ) : HttpError(onReload: _controller.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _controller.onReload, ), diff --git a/lib/pages/whisper_block/view.dart b/lib/pages/whisper_block/view.dart index ca86e90e5..6db3da8b5 100644 --- a/lib/pages/whisper_block/view.dart +++ b/lib/pages/whisper_block/view.dart @@ -38,7 +38,7 @@ class _WhisperBlockPageState extends State { ) { return switch (loadingState) { Loading() => loadingWidget, - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? Column( crossAxisAlignment: CrossAxisAlignment.start, @@ -141,7 +141,7 @@ class _WhisperBlockPageState extends State { ], ), ), - Error(:var errMsg) => scrollErrorWidget( + Error(:final errMsg) => scrollErrorWidget( errMsg: errMsg, onReload: _controller.onReload, ), diff --git a/lib/pages/whisper_detail/controller.dart b/lib/pages/whisper_detail/controller.dart index ba04ab1cc..34d1f6525 100644 --- a/lib/pages/whisper_detail/controller.dart +++ b/lib/pages/whisper_detail/controller.dart @@ -56,7 +56,7 @@ class WhisperDetailController extends CommonListController { // 消息标记已读 Future ackSessionMsg(int msgSeqno) async { - var res = await MsgHttp.ackSessionMsg( + final res = await MsgHttp.ackSessionMsg( talkerId: talkerId, ackSeqno: msgSeqno, ); diff --git a/lib/pages/whisper_detail/view.dart b/lib/pages/whisper_detail/view.dart index c82af7dff..e5cf0d06e 100644 --- a/lib/pages/whisper_detail/view.dart +++ b/lib/pages/whisper_detail/view.dart @@ -150,7 +150,7 @@ class _WhisperDetailPageState Widget _buildBody(LoadingState?> loadingState) { return switch (loadingState) { Loading() => loadingWidget, - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? ListView.separated( shrinkWrap: true, @@ -180,7 +180,7 @@ class _WhisperDetailPageState const SizedBox(height: 12), ) : scrollErrorWidget(onReload: _whisperDetailController.onReload), - Error(:var errMsg) => scrollErrorWidget( + Error(:final errMsg) => scrollErrorWidget( errMsg: errMsg, onReload: _whisperDetailController.onReload, ), diff --git a/lib/pages/whisper_detail/widget/chat_item.dart b/lib/pages/whisper_detail/widget/chat_item.dart index 62c89214e..c2cbc28b1 100644 --- a/lib/pages/whisper_detail/widget/chat_item.dart +++ b/lib/pages/whisper_detail/widget/chat_item.dart @@ -213,7 +213,7 @@ class ChatItem extends StatelessWidget { children: [ GestureDetector( onTap: () { - var roomId = content['sourceID']; + dynamic roomId = content['sourceID']; if (roomId is String) { roomId = int.parse(roomId); } @@ -266,7 +266,7 @@ class ChatItem extends StatelessWidget { children: [ Row( children: [ - for (var i in content['image_urls']) + for (final i in content['image_urls']) NetworkImgLayer( width: 130, height: 130 * 9 / 16, @@ -326,7 +326,7 @@ class ChatItem extends StatelessWidget { fontWeight: FontWeight.bold, ), ), - for (var i in content['sub_cards']) + for (final i in content['sub_cards']) GestureDetector( onTap: () async { String? bvid = IdUtils.bvRegex @@ -421,7 +421,7 @@ class ChatItem extends StatelessWidget { onTap: () async { try { SmartDialog.showLoading(); - var bvid = content["bvid"]; + final bvid = content["bvid"]; final int? cid = await SearchHttp.ab2c(bvid: bvid); SmartDialog.dismiss(); if (cid != null) { @@ -637,7 +637,7 @@ class ChatItem extends StatelessWidget { late final Map emojiMap = {}; final List patterns = [Constants.urlRegex.pattern]; if (eInfos != null) { - for (var e in eInfos!) { + for (final e in eInfos!) { emojiMap[e.text] ??= { 'url': e.hasGifUrl() ? e.gifUrl : e.url, 'size': e.size * 22.0, diff --git a/lib/pages/whisper_link_setting/controller.dart b/lib/pages/whisper_link_setting/controller.dart index 61038d673..4244780fd 100644 --- a/lib/pages/whisper_link_setting/controller.dart +++ b/lib/pages/whisper_link_setting/controller.dart @@ -54,7 +54,7 @@ class WhisperLinkSettingController extends GetxController { } Future getIsPinned() async { - var res = await ImGrpc.sessionUpdate(sessionId: sessionId); + final res = await ImGrpc.sessionUpdate(sessionId: sessionId); if (res.isSuccess) { isPinned.value = res.data.session.isPinned; } @@ -75,7 +75,7 @@ class WhisperLinkSettingController extends GetxController { Future _setPush(bool isPush) async { int setting = isPush ? 1 : 0; - var res = await MsgHttp.setPushSs( + final res = await MsgHttp.setPushSs( setting: setting, talkerUid: talkerUid, ); @@ -89,7 +89,7 @@ class WhisperLinkSettingController extends GetxController { } Future setPin() async { - var res = isPinned.value + final res = isPinned.value ? await ImGrpc.unpinSession(sessionId: sessionId) : await ImGrpc.pinSession(sessionId: sessionId); if (res.isSuccess) { @@ -101,7 +101,7 @@ class WhisperLinkSettingController extends GetxController { Future setMute(bool isMuted) async { int setting = isMuted ? 0 : 1; - var res = await MsgHttp.setMsgDnd( + final res = await MsgHttp.setMsgDnd( uid: Accounts.main.mid, setting: setting, dndUid: talkerUid, @@ -117,7 +117,7 @@ class WhisperLinkSettingController extends GetxController { Future setBlock(bool isBlocked) async { if (isBlocked) { - var res = await VideoHttp.relationMod( + final res = await VideoHttp.relationMod( mid: talkerUid, act: 6, reSrc: 11, @@ -135,7 +135,7 @@ class WhisperLinkSettingController extends GetxController { title: '确认拉黑该用户', content: '加入黑名单后,将自动解除关注关系和对该用户的合集订阅关系,禁止该用户与我互动或查看我的空间', onConfirm: () async { - var res = await VideoHttp.relationMod( + final res = await VideoHttp.relationMod( mid: talkerUid, act: 5, reSrc: 11, diff --git a/lib/pages/whisper_link_setting/view.dart b/lib/pages/whisper_link_setting/view.dart index 081a8a360..c85f63d47 100644 --- a/lib/pages/whisper_link_setting/view.dart +++ b/lib/pages/whisper_link_setting/view.dart @@ -106,7 +106,7 @@ class _WhisperLinkSettingPageState extends State { ) { return switch (loadingState) { Loading() => const SizedBox.shrink(), - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? Column( mainAxisSize: MainAxisSize.min, @@ -159,7 +159,7 @@ class _WhisperLinkSettingPageState extends State { ], ) : const SizedBox.shrink(), - Error(:var errMsg) => _errWidget(errMsg, _controller.getUserInfo), + Error(:final errMsg) => _errWidget(errMsg, _controller.getUserInfo), }; } @@ -171,7 +171,7 @@ class _WhisperLinkSettingPageState extends State { ) { return switch (loadingState) { Loading() => const SizedBox.shrink(), - Success(:var response) => Builder( + Success(:final response) => Builder( builder: (context) { late final subTitleS = TextStyle( fontSize: 13, @@ -223,14 +223,14 @@ class _WhisperLinkSettingPageState extends State { ); }, ), - Error(:var errMsg) => _errWidget(errMsg, _controller.getSessionSs), + Error(:final errMsg) => _errWidget(errMsg, _controller.getSessionSs), }; } Widget _buildMuteItem(LoadingState?> loadingState) { return switch (loadingState) { Loading() => const SizedBox.shrink(), - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? ListTile( dense: true, @@ -247,7 +247,7 @@ class _WhisperLinkSettingPageState extends State { ), ) : const SizedBox.shrink(), - Error(:var errMsg) => _errWidget(errMsg, _controller.getMsgDnd), + Error(:final errMsg) => _errWidget(errMsg, _controller.getMsgDnd), }; } diff --git a/lib/pages/whisper_secondary/view.dart b/lib/pages/whisper_secondary/view.dart index 346cace48..248a30099 100644 --- a/lib/pages/whisper_secondary/view.dart +++ b/lib/pages/whisper_secondary/view.dart @@ -94,7 +94,7 @@ class _WhisperSecPageState extends State { itemCount: 12, itemBuilder: (context, index) => const WhisperItemSkeleton(), ), - Success(:var response) => + Success(:final response) => response != null && response.isNotEmpty ? SliverList.separated( itemCount: response.length, @@ -116,7 +116,7 @@ class _WhisperSecPageState extends State { separatorBuilder: (context, index) => divider, ) : HttpError(onReload: _controller.onReload), - Error(:var errMsg) => HttpError( + Error(:final errMsg) => HttpError( errMsg: errMsg, onReload: _controller.onReload, ), diff --git a/lib/pages/whisper_settings/view.dart b/lib/pages/whisper_settings/view.dart index 741a06504..12de7ab0d 100644 --- a/lib/pages/whisper_settings/view.dart +++ b/lib/pages/whisper_settings/view.dart @@ -93,7 +93,7 @@ class _WhisperSettingsPageState extends State { onTap: () async { if (!e.selected) { Get.back(); - for (var j in item.redirect.windowSelect.item) { + for (final j in item.redirect.windowSelect.item) { j.selected = false; } item.redirect.selectedSummary = e.text; @@ -102,7 +102,7 @@ class _WhisperSettingsPageState extends State { final settings = {key: item}; final res = await _controller.onSet(settings); if (!res) { - for (var j in item.redirect.windowSelect.item) { + for (final j in item.redirect.windowSelect.item) { j.selected = j.text == selected; } item.redirect.selectedSummary = selected!; @@ -159,7 +159,7 @@ class _WhisperSettingsPageState extends State { ); return switch (loadingState) { Loading() => const SizedBox.shrink(), - Success>(:var response) => Builder( + Success>(:final response) => Builder( builder: (context) { final keys = response.keys.toList()..sort(); return ListView.separated( @@ -180,7 +180,7 @@ class _WhisperSettingsPageState extends State { ); }, ), - Error(:var errMsg) => scrollErrorWidget( + Error(:final errMsg) => scrollErrorWidget( errMsg: errMsg, onReload: _controller.onReload, ), diff --git a/lib/pages/whisper_settings/widgets/item.dart b/lib/pages/whisper_settings/widgets/item.dart index 293059051..f355c567a 100644 --- a/lib/pages/whisper_settings/widgets/item.dart +++ b/lib/pages/whisper_settings/widgets/item.dart @@ -64,9 +64,9 @@ class ImSettingsItem extends StatelessWidget { SelectItem? selected; SettingSwitch? sw1tch; if (item.redirect.settingPage.subSettings.isNotEmpty) { - for (var subItem in item.redirect.settingPage.subSettings.values) { + for (final subItem in item.redirect.settingPage.subSettings.values) { if (subItem.hasSelect()) { - for (var i in subItem.select.item) { + for (final i in subItem.select.item) { if (i.selected) { selected = i; break; @@ -138,7 +138,7 @@ class ImSettingsItem extends StatelessWidget { dense: true, onTap: () async { if (!e.selected) { - for (var i in item.select.item) { + for (final i in item.select.item) { i.selected = false; } e.selected = true; @@ -147,7 +147,7 @@ class ImSettingsItem extends StatelessWidget { if (await onSet()) { selected = e.text; } else { - for (var i in item.select.item) { + for (final i in item.select.item) { i.selected = i.text == selected; } rebuild(); diff --git a/lib/plugin/pl_player/controller.dart b/lib/plugin/pl_player/controller.dart index e7778a369..06d922238 100644 --- a/lib/plugin/pl_player/controller.dart +++ b/lib/plugin/pl_player/controller.dart @@ -1032,7 +1032,7 @@ class PlPlayerController { ); /// 触发回调事件 - for (var element in _statusListeners) { + for (final element in _statusListeners) { element(event ? PlayerStatus.playing : PlayerStatus.paused); } if (videoPlayerController!.state.position.inSeconds != 0) { @@ -1044,7 +1044,7 @@ class PlPlayerController { playerStatus.value = PlayerStatus.completed; /// 触发回调事件 - for (var element in _statusListeners) { + for (final element in _statusListeners) { element(PlayerStatus.completed); } } else { @@ -1061,7 +1061,7 @@ class PlPlayerController { } /// 触发回调事件 - for (var element in _positionListeners) { + for (final element in _positionListeners) { element(event); } makeHeartBeat(event.inSeconds); @@ -1391,7 +1391,7 @@ class PlPlayerController { _dataListenerForVideoFit = dataStatus.status.listen((status) { if (status == DataStatus.loaded) { _stopListenerForVideoFit(); - var attr = VideoFitType.values[fitValue]; + final attr = VideoFitType.values[fitValue]; if (attr == VideoFitType.none || attr == VideoFitType.scaleDown) { videoFit.value = attr; } @@ -1798,14 +1798,13 @@ class PlPlayerController { getVideoShot(); return; } - if (videoShot case Success success) { - final data = success.response; + if (videoShot case Success(:final response)) { if (!showPreview.value) { showPreview.value = true; } previewIndex.value = max( 0, - (data.index.where((item) => item <= seconds).length - 2), + (response.index.where((item) => item <= seconds).length - 2), ); } } @@ -1814,7 +1813,7 @@ class PlPlayerController { showPreview.value = false; previewIndex.value = null; videoShot = null; - for (var i in previewCache.values) { + for (final i in previewCache.values) { i?.dispose(); } previewCache.clear(); @@ -1822,7 +1821,7 @@ class PlPlayerController { Future getVideoShot() async { try { - var res = await Request().get( + final res = await Request().get( '/x/player/videoshot', queryParameters: { // 'aid': IdUtils.bv2av(_bvid), diff --git a/lib/plugin/pl_player/view.dart b/lib/plugin/pl_player/view.dart index 7c24270b2..abc8690a9 100644 --- a/lib/plugin/pl_player/view.dart +++ b/lib/plugin/pl_player/view.dart @@ -539,7 +539,7 @@ class _PLVideoPlayerState extends State final List sections = videoDetail.ugcSeason!.sections!; for (int i = 0; i < sections.length; i++) { final List episodesList = sections[i].episodes!; - for (var item in episodesList) { + for (final item in episodesList) { if (item.cid == currentCid) { index = i; episodes = episodesList; diff --git a/lib/services/download/download_service.dart b/lib/services/download/download_service.dart index b37ee8aad..405e7e3d9 100644 --- a/lib/services/download/download_service.dart +++ b/lib/services/download/download_service.dart @@ -321,7 +321,7 @@ class DownloadService extends GetxService { ]); final danmaku = res.removeAt(0).data; - for (var i in res) { + for (final i in res) { if (i.isSuccess) { danmaku.elems.addAll(i.data.elems); } @@ -596,7 +596,7 @@ typedef SetNotifier = Set; extension SetNotifierExt on SetNotifier { void refresh() { - for (var i in this) { + for (final i in this) { i(); } } diff --git a/lib/tcp/live.dart b/lib/tcp/live.dart index 769499663..520d1847f 100644 --- a/lib/tcp/live.dart +++ b/lib/tcp/live.dart @@ -221,7 +221,7 @@ class LiveMessageStream { final msgBody = utf8.decode( data.sublist(subHeader.headerSize, subHeader.totalSize), ); - for (var f in _eventListeners) { + for (final f in _eventListeners) { f(jsonDecode(msgBody)); } if (subHeader.totalSize < data.length) { diff --git a/lib/utils/accounts.dart b/lib/utils/accounts.dart index 03ee9c583..a6fffc537 100644 --- a/lib/utils/accounts.dart +++ b/lib/utils/accounts.dart @@ -71,8 +71,8 @@ abstract final class Accounts { // } static Future refresh() async { - for (var a in account.values) { - for (var t in a.type) { + for (final a in account.values) { + for (final t in a.type) { accountMode[t.index] = a; } } @@ -93,7 +93,7 @@ abstract final class Accounts { } static Future deleteAll(Set accounts) async { - var isLoginMain = Accounts.main.isLogin; + final isLoginMain = Accounts.main.isLogin; for (int i = 0; i < AccountType.values.length; i++) { if (accounts.contains(accountMode[i])) { accountMode[i] = AnonymousAccount(); diff --git a/lib/utils/accounts/account.dart b/lib/utils/accounts/account.dart index 6e6cabdeb..f4b690092 100644 --- a/lib/utils/accounts/account.dart +++ b/lib/utils/accounts/account.dart @@ -186,7 +186,7 @@ extension BiliCookie on Cookie { extension BiliCookieJar on DefaultCookieJar { Map toJson() { final cookies = domainCookies['bilibili.com']?['/'] ?? const {}; - return {for (var i in cookies.values) i.cookie.name: i.cookie.value}; + return {for (final i in cookies.values) i.cookie.name: i.cookie.value}; } List toList() => @@ -207,7 +207,7 @@ extension BiliCookieJar on DefaultCookieJar { DefaultCookieJar(ignoreExpires: true) ..domainCookies['bilibili.com'] = { '/': { - for (var i in json.entries) + for (final i in json.entries) i.key: SerializableCookie( Cookie(i.key, i.value)..setBiliDomain(), ), @@ -218,7 +218,7 @@ extension BiliCookieJar on DefaultCookieJar { DefaultCookieJar(ignoreExpires: true) ..domainCookies['bilibili.com'] = { '/': { - for (var i in cookies) + for (final i in cookies) i['name']!: SerializableCookie( Cookie(i['name']!, i['value']!)..setBiliDomain(), ), diff --git a/lib/utils/app_sign.dart b/lib/utils/app_sign.dart index 234f58917..e644a8c22 100644 --- a/lib/utils/app_sign.dart +++ b/lib/utils/app_sign.dart @@ -28,7 +28,7 @@ abstract final class AppSign { List*/>> queryParameters, ) { - var result = StringBuffer(); + final result = StringBuffer(); var separator = ''; void writeParameter(String key, String? value) { @@ -43,8 +43,8 @@ abstract final class AppSign { } } - for (var i in queryParameters) { - if (i.value case Iterable values) { + for (final i in queryParameters) { + if (i.value case final Iterable values) { for (final String value in values) { writeParameter(i.key, value); } diff --git a/lib/utils/extension/file_ext.dart b/lib/utils/extension/file_ext.dart index f74fbad48..974118185 100644 --- a/lib/utils/extension/file_ext.dart +++ b/lib/utils/extension/file_ext.dart @@ -11,7 +11,7 @@ extension FileSystemEntityExt on FileSystemEntity { extension DirectoryExt on Directory { Future lengthGte(int length) async { int count = 0; - await for (var _ in list()) { + await for (final _ in list()) { if (++count == length) return true; } return false; diff --git a/lib/utils/extension/iterable_ext.dart b/lib/utils/extension/iterable_ext.dart index db873a06e..08d35c167 100644 --- a/lib/utils/extension/iterable_ext.dart +++ b/lib/utils/extension/iterable_ext.dart @@ -16,7 +16,7 @@ extension IterableExt on Iterable { } T? firstWhereOrNull(bool Function(T element) test) { - for (var element in this) { + for (final element in this) { if (test(element)) return element; } return null; diff --git a/lib/utils/extension/num_ext.dart b/lib/utils/extension/num_ext.dart index cf5f1ca9c..8396d0dc6 100644 --- a/lib/utils/extension/num_ext.dart +++ b/lib/utils/extension/num_ext.dart @@ -18,7 +18,7 @@ extension IntExt on int? { extension DoubleExt on double { double toPrecision(int fractionDigits) { - var mod = pow(10, fractionDigits.toDouble()).toDouble(); + final mod = pow(10, fractionDigits.toDouble()).toDouble(); return ((this * mod).round().toDouble() / mod); } } diff --git a/lib/utils/id_utils.dart b/lib/utils/id_utils.dart index 83c6ce52a..fb8f55d2d 100644 --- a/lib/utils/id_utils.dart +++ b/lib/utils/id_utils.dart @@ -13,7 +13,7 @@ abstract final class IdUtils { static const data = 'FcwAPNKTMug3GV5Lj7EJnHpWsx4tb8haYeviqBz6rkCy12mUSDQX9RdoZf'; - static final invData = {for (var (i, c) in data.codeUnits.indexed) c: i}; + static final invData = {for (final (i, c) in data.codeUnits.indexed) c: i}; static final bvRegex = RegExp(r'bv1[0-9a-zA-Z]{9}', caseSensitive: false); static final bvRegexExact = RegExp( @@ -84,7 +84,7 @@ abstract final class IdUtils { return ''; } - var midByte = ascii.encode(uid.toString()); + final midByte = ascii.encode(uid.toString()); const key = 'ad1va46a7lza'; for (int i = 0; i < midByte.length; i++) { diff --git a/lib/utils/image_utils.dart b/lib/utils/image_utils.dart index 398c26323..2c4e513b3 100644 --- a/lib/utils/image_utils.dart +++ b/lib/utils/image_utils.dart @@ -218,7 +218,7 @@ abstract final class ImageUtils { if (PlatformUtils.isMobile) { final delList = []; final saveList = []; - for (var i in result) { + for (final i in result) { if (i.del) delList.add(i.filePath); if (i.statusCode == 200) { saveList.add( @@ -231,11 +231,11 @@ abstract final class ImageUtils { } } await SaverGallery.saveFiles(saveList, skipIfExists: false); - for (var i in delList) { + for (final i in delList) { File(i).tryDel(); } } else { - for (var res in result) { + for (final res in result) { if (res.statusCode == 200) { await saveFileImg( filePath: res.filePath, diff --git a/lib/utils/login_utils.dart b/lib/utils/login_utils.dart index a31e86016..3809ddffb 100644 --- a/lib/utils/login_utils.dart +++ b/lib/utils/login_utils.dart @@ -91,7 +91,7 @@ abstract final class LoginUtils { } static String generateBuvid() { - var md5Str = Digest( + final md5Str = Digest( List.generate(16, (_) => Utils.random.nextInt(256)), ).toString(); return 'XY${md5Str[2]}${md5Str[12]}${md5Str[22]}$md5Str'; diff --git a/lib/utils/page_utils.dart b/lib/utils/page_utils.dart index 640de6482..103c41de9 100644 --- a/lib/utils/page_utils.dart +++ b/lib/utils/page_utils.dart @@ -808,7 +808,7 @@ abstract final class PageUtils { }) async { try { SmartDialog.showLoading(msg: '资源获取中'); - var result = await SearchHttp.pgcInfo(seasonId: seasonId, epId: epId); + final result = await SearchHttp.pgcInfo(seasonId: seasonId, epId: epId); SmartDialog.dismiss(); if (result.isSuccess) { PgcInfoModel data = result.data; @@ -845,10 +845,10 @@ abstract final class PageUtils { if (episode == null) { final sections = data.section; if (sections != null && sections.isNotEmpty) { - for (var section in sections) { + for (final section in sections) { final episodes = section.episodes; if (episodes != null && episodes.isNotEmpty) { - for (var episode in episodes) { + for (final episode in episodes) { if (episode.epId.toString() == epId) { // view as ugc viewSection(episode); @@ -906,7 +906,7 @@ abstract final class PageUtils { }) async { try { SmartDialog.showLoading(msg: '资源获取中'); - var res = await SearchHttp.pugvInfo(seasonId: seasonId, epId: epId); + final res = await SearchHttp.pugvInfo(seasonId: seasonId, epId: epId); SmartDialog.dismiss(); if (res.isSuccess) { PgcInfoModel data = res.data; diff --git a/lib/utils/reply_utils.dart b/lib/utils/reply_utils.dart index 984ae078d..f58473938 100644 --- a/lib/utils/reply_utils.dart +++ b/lib/utils/reply_utils.dart @@ -146,7 +146,7 @@ abstract final class ReplyUtils { // root reply if (root == 0) { // no cookie check - var res = await ReplyHttp.replyList( + final res = await ReplyHttp.replyList( isLogin: false, oid: oid, nextOffset: '', diff --git a/lib/utils/request_utils.dart b/lib/utils/request_utils.dart index cbb084570..d7f119af5 100644 --- a/lib/utils/request_utils.dart +++ b/lib/utils/request_utils.dart @@ -43,7 +43,7 @@ abstract final class RequestUtils { if (!account.isLogin) { return; } - var res = await UserHttp.historyStatus(account: account); + final res = await UserHttp.historyStatus(account: account); if (res case Success(:final response)) { GStorage.localCache.put(LocalCacheKey.historyPause, response); } @@ -107,7 +107,7 @@ abstract final class RequestUtils { } feedBack(); if (!isFollow) { - var res = await VideoHttp.relationMod( + final res = await VideoHttp.relationMod( mid: mid, act: 1, reSrc: 11, @@ -165,7 +165,7 @@ abstract final class RequestUtils { dense: true, onTap: () async { Get.back(); - var result = await showModalBottomSheet>( + final result = await showModalBottomSheet>( context: context, useSafeArea: true, isScrollControlled: true, @@ -208,7 +208,7 @@ abstract final class RequestUtils { dense: true, onTap: () async { Get.back(); - var res = await VideoHttp.relationMod( + final res = await VideoHttp.relationMod( mid: mid, act: 2, reSrc: 11, @@ -257,7 +257,7 @@ abstract final class RequestUtils { // static Future getWwebid(mid) async { // try { - // var response = await Request().get( + // final response = await Request().get( // '${HttpString.spaceBaseUrl}/$mid/dynamic', // options: Options( // extra: {'account': AnonymousAccount()}, @@ -278,7 +278,7 @@ abstract final class RequestUtils { try { if (id != null) { await Future.delayed(const Duration(milliseconds: 450)); - var res = await DynamicsHttp.dynamicDetail(id: id); + final res = await DynamicsHttp.dynamicDetail(id: id); if (res.isSuccess) { final ctr = Get.find(tag: 'all'); if (ctr.loadingState.value.isSuccess) { @@ -308,7 +308,10 @@ abstract final class RequestUtils { if (!isManual) { await Future.delayed(const Duration(seconds: 5)); } - var res = await DynamicsHttp.dynamicDetail(id: id, clearCookie: true); + final res = await DynamicsHttp.dynamicDetail( + id: id, + clearCookie: true, + ); final isSuccess = res.isSuccess; showDialog( context: Get.context!, @@ -364,7 +367,7 @@ abstract final class RequestUtils { int count = like?.count ?? 0; bool status = like?.status ?? false; int up = status ? 2 : 1; - var res = await DynamicsHttp.thumbDynamic(dynamicId: dynamicId, up: up); + final res = await DynamicsHttp.thumbDynamic(dynamicId: dynamicId, up: up); if (res.isSuccess) { SmartDialog.showToast(!status ? '点赞成功' : '取消赞'); if (up == 1) { @@ -552,7 +555,7 @@ abstract final class RequestUtils { return; } - var registerData = Gt3RegisterData( + final registerData = Gt3RegisterData( challenge: challenge, gt: gt, success: true, diff --git a/lib/utils/video_utils.dart b/lib/utils/video_utils.dart index 611b58d3f..08d000a80 100644 --- a/lib/utils/video_utils.dart +++ b/lib/utils/video_utils.dart @@ -33,7 +33,7 @@ abstract final class VideoUtils { String? mcdnUpgcxcode; String last = ''; - for (var url in urls) { + for (final url in urls) { last = url; if (_mirrorRegex.hasMatch(url)) { final uri = Uri.parse(url);