From 0388b5fb1d70ecde4b7e0c9afb03ff37e49b2baf Mon Sep 17 00:00:00 2001 From: xkeyC <3334969096@qq.com> Date: Fri, 3 Nov 2023 00:18:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=80=92=E8=AE=A1=E6=97=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/countdown/bis.png | Bin 0 -> 29591 bytes assets/countdown/ff.png | Bin 0 -> 11568 bytes assets/countdown/iae.png | Bin 0 -> 38175 bytes assets/countdown/ilw.png | Bin 0 -> 9839 bytes lib/api/api.dart | 14 + lib/data/countdown_festival_item_data.dart | 24 ++ lib/ui/home/home_ui.dart | 377 +++++++++++++-------- lib/ui/home/home_ui_model.dart | 5 + lib/widgets/countdown_time_text.dart | 91 +++++ pubspec.yaml | 2 + 10 files changed, 365 insertions(+), 148 deletions(-) create mode 100644 assets/countdown/bis.png create mode 100644 assets/countdown/ff.png create mode 100644 assets/countdown/iae.png create mode 100644 assets/countdown/ilw.png create mode 100644 lib/data/countdown_festival_item_data.dart create mode 100644 lib/widgets/countdown_time_text.dart diff --git a/assets/countdown/bis.png b/assets/countdown/bis.png new file mode 100644 index 0000000000000000000000000000000000000000..fb0de6342a57ae906469b0ff0c75116eb91a8c68 GIT binary patch literal 29591 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

3AUu9Ml$soo-8HvZ^u>RZ+%~9`<3-* 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

yXxoc&-sOiMUl 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 bl#c%o_pbG=o&{6w00000NkvXXu0mjfL-S&y literal 0 HcmV?d00001 diff --git a/assets/countdown/ilw.png b/assets/countdown/ilw.png new file mode 100644 index 0000000000000000000000000000000000000000..2ec48d659a9bb67b42a3912c5b4f727242e0d3da GIT binary patch literal 9839 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 G;Qs)5*CiPM literal 0 HcmV?d00001 diff --git a/lib/api/api.dart b/lib/api/api.dart index 9185b5b..a38d6d7 100644 --- a/lib/api/api.dart +++ b/lib/api/api.dart @@ -4,6 +4,7 @@ import 'package:dio/dio.dart'; import 'package:starcitizen_doctor/common/conf.dart'; import 'package:starcitizen_doctor/data/app_placard_data.dart'; import 'package:starcitizen_doctor/data/app_version_data.dart'; +import 'package:starcitizen_doctor/data/countdown_festival_item_data.dart'; import 'package:starcitizen_doctor/data/sc_localization_data.dart'; class Api { @@ -20,6 +21,19 @@ class Api { await getRepoJson("sc_doctor", "placard.json")); } + static Future> + getFestivalCountdownList() async { + List l = []; + final r = json.decode(await getRepoData("sc_doctor", "countdown.json")); + if (r is List) { + for (var element in r) { + l.add(CountdownFestivalItemData.fromJson(element)); + } + } + l.sort((a, b) => (a.time ?? 0) - (b.time ?? 0)); + return l; + } + static Future> getAppReleaseDataByVersionName( String version) async { final r = await dio diff --git a/lib/data/countdown_festival_item_data.dart b/lib/data/countdown_festival_item_data.dart new file mode 100644 index 0000000..91f2c0a --- /dev/null +++ b/lib/data/countdown_festival_item_data.dart @@ -0,0 +1,24 @@ +class CountdownFestivalItemData { + CountdownFestivalItemData({ + this.name, + this.time, + this.icon,}); + + CountdownFestivalItemData.fromJson(dynamic json) { + name = json['name']; + time = json['time']; + icon = json['icon']; + } + String? name; + int? time; + String? icon; + + Map toJson() { + final map = {}; + map['name'] = name; + map['time'] = time; + map['icon'] = icon; + return map; + } + +} \ No newline at end of file diff --git a/lib/ui/home/home_ui.dart b/lib/ui/home/home_ui.dart index 0a885f6..93345df 100644 --- a/lib/ui/home/home_ui.dart +++ b/lib/ui/home/home_ui.dart @@ -1,3 +1,4 @@ +import 'package:card_swiper/card_swiper.dart'; import 'package:extended_image/extended_image.dart'; import 'package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart'; import 'package:flutter_svg/flutter_svg.dart'; @@ -5,6 +6,7 @@ import 'package:flutter_tilt/flutter_tilt.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:starcitizen_doctor/api/analytics.dart'; import 'package:starcitizen_doctor/base/ui.dart'; +import 'package:starcitizen_doctor/widgets/countdown_time_text.dart'; import 'package:url_launcher/url_launcher_string.dart'; import 'home_ui_model.dart'; @@ -91,112 +93,183 @@ class HomeUI extends BaseUI { right: 24, child: Stack( children: [ - Container( - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(12), - color: FluentTheme.of(context).cardColor.withOpacity(.03), - ), - child: Padding( - padding: const EdgeInsets.all(12), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - makeWebViewButton(model, - icon: SvgPicture.asset( - "assets/rsi.svg", - colorFilter: makeSvgColor(Colors.white), - height: 18, - ), - name: "星际公民官网汉化", - webTitle: "星际公民官网汉化", - webURL: "https://robertsspaceindustries.com", - info: "罗伯茨航天工业公司,万物的起源", - useLocalization: true, - width: width, - touchKey: "webLocalization_rsi"), - const SizedBox(height: 12), - makeWebViewButton(model, - icon: Row( - children: [ - SvgPicture.asset( - "assets/uex.svg", + Column( + children: [ + Container( + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(12), + color: + FluentTheme.of(context).cardColor.withOpacity(.03), + ), + child: Padding( + padding: const EdgeInsets.all(12), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + makeWebViewButton(model, + icon: SvgPicture.asset( + "assets/rsi.svg", + colorFilter: makeSvgColor(Colors.white), height: 18, ), - const SizedBox(width: 12), - ], - ), - name: "UEX 汉化", - webTitle: "UEX 汉化", - webURL: "https://uexcorp.space", - info: "采矿、精炼、贸易计算器、价格、船信息", - useLocalization: true, - width: width, - touchKey: "webLocalization_uex"), - const SizedBox(height: 12), - makeWebViewButton(model, - icon: Row( + name: "星际公民官网汉化", + webTitle: "星际公民官网汉化", + webURL: "https://robertsspaceindustries.com", + info: "罗伯茨航天工业公司,万物的起源", + useLocalization: true, + width: width, + touchKey: "webLocalization_rsi"), + const SizedBox(height: 12), + makeWebViewButton(model, + icon: Row( + children: [ + SvgPicture.asset( + "assets/uex.svg", + height: 18, + ), + const SizedBox(width: 12), + ], + ), + name: "UEX 汉化", + webTitle: "UEX 汉化", + webURL: "https://uexcorp.space", + info: "采矿、精炼、贸易计算器、价格、船信息", + useLocalization: true, + width: width, + touchKey: "webLocalization_uex"), + const SizedBox(height: 12), + makeWebViewButton(model, + icon: Row( + children: [ + ExtendedImage.network( + "https://www.erkul.games/assets/icons/icon-512x512.png", + height: 20, + ), + const SizedBox(width: 12), + ], + ), + name: "DPS计算器汉化", + webTitle: "DPS计算器汉化", + webURL: + "https://www.erkul.games/live/calculator", + info: "在线改船,查询伤害数值和配件购买地点", + useLocalization: true, + width: width, + touchKey: "webLocalization_dps"), + const SizedBox(height: 12), + const Text("外部浏览器拓展:"), + const SizedBox(height: 8), + Row( children: [ - ExtendedImage.network( - "https://www.erkul.games/assets/icons/icon-512x512.png", - height: 20, + Button( + child: const FaIcon(FontAwesomeIcons.chrome, + size: 18), + onPressed: () { + launchUrlString( + "https://chrome.google.com/webstore/detail/gocnjckojmledijgmadmacoikibcggja?authuser=0&hl=zh-CN"); + }, ), const SizedBox(width: 12), + Button( + child: const FaIcon(FontAwesomeIcons.edge, + size: 18), + onPressed: () { + launchUrlString( + "https://microsoftedge.microsoft.com/addons/detail/lipbbcckldklpdcpfagicipecaacikgi"); + }, + ), + const SizedBox(width: 12), + Button( + child: const FaIcon( + FontAwesomeIcons.firefoxBrowser, + size: 18), + onPressed: () { + launchUrlString( + "https://addons.mozilla.org/zh-CN/firefox/" + "addon/%E6%98%9F%E9%99%85%E5%85%AC%E6%B0%91%E7%9B%92%E5%AD%90%E6%B5%8F%E8%A7%88%E5%99%A8%E6%8B%93%E5%B1%95/"); + }, + ), + const SizedBox(width: 12), + Button( + child: const FaIcon(FontAwesomeIcons.github, + size: 18), + onPressed: () { + launchUrlString( + "https://github.com/xkeyC/StarCitizenBoxBrowserEx"); + }, + ), ], - ), - name: "DPS计算器汉化", - webTitle: "DPS计算器汉化", - webURL: "https://www.erkul.games/live/calculator", - info: "在线改船,查询伤害数值和配件购买地点", - useLocalization: true, - width: width, - touchKey: "webLocalization_dps"), - const SizedBox(height: 12), - const Text("外部浏览器拓展:"), - const SizedBox(height: 8), - Row( - children: [ - Button( - child: const FaIcon(FontAwesomeIcons.chrome, - size: 18), - onPressed: () { - launchUrlString( - "https://chrome.google.com/webstore/detail/gocnjckojmledijgmadmacoikibcggja?authuser=0&hl=zh-CN"); - }, - ), - const SizedBox(width: 12), - Button( - child: - const FaIcon(FontAwesomeIcons.edge, size: 18), - onPressed: () { - launchUrlString( - "https://microsoftedge.microsoft.com/addons/detail/lipbbcckldklpdcpfagicipecaacikgi"); - }, - ), - const SizedBox(width: 12), - Button( - child: const FaIcon( - FontAwesomeIcons.firefoxBrowser, - size: 18), - onPressed: () { - launchUrlString( - "https://addons.mozilla.org/zh-CN/firefox/" - "addon/%E6%98%9F%E9%99%85%E5%85%AC%E6%B0%91%E7%9B%92%E5%AD%90%E6%B5%8F%E8%A7%88%E5%99%A8%E6%8B%93%E5%B1%95/"); - }, - ), - const SizedBox(width: 12), - Button( - child: const FaIcon(FontAwesomeIcons.github, - size: 18), - onPressed: () { - launchUrlString( - "https://github.com/xkeyC/StarCitizenBoxBrowserEx"); - }, - ), + ) ], - ) - ], + ), + ), ), - ), + const SizedBox(height: 12), + Container( + width: width + 24, + decoration: BoxDecoration( + color: FluentTheme.of(context).cardColor, + borderRadius: BorderRadius.circular(12)), + child: Padding( + padding: const EdgeInsets.only( + left: 12, right: 12, top: 6, bottom: 6), + child: (model.countdownFestivalListData == null) + ? SizedBox( + width: width, + height: 62, + child: const Center( + child: ProgressRing(), + ), + ) + : SizedBox( + width: width, + height: 62, + child: Swiper( + itemCount: + model.countdownFestivalListData!.length, + autoplay: true, + autoplayDelay: 5000, + itemBuilder: (context, index) { + final item = model + .countdownFestivalListData![index]; + return Row( + mainAxisAlignment: + MainAxisAlignment.spaceEvenly, + children: [ + if (item.icon != null && + item.icon != "") ...[ + ClipRRect( + borderRadius: + BorderRadius.circular(1000), + child: Image.asset( + "assets/countdown/${item.icon}", + width: 48, + height: 48, + ), + ), + ], + Column( + children: [ + Text( + item.name ?? "", + style: const TextStyle( + fontSize: 15), + ), + const SizedBox(height: 3), + CountdownTimeText( + targetTime: DateTime + .fromMillisecondsSinceEpoch( + item.time ?? 0), + ), + ], + ), + ], + ); + }, + ), + ), + )), + ], ), if (model.appWebLocalizationVersionsData == null) Positioned.fill( @@ -234,60 +307,68 @@ class HomeUI extends BaseUI { Tilt( shadowConfig: const ShadowConfig(maxIntensity: .2), borderRadius: BorderRadius.circular(12), - child: Container( - width: width, - decoration: BoxDecoration( - color: FluentTheme.of(context).cardColor, - ), - child: Padding( - padding: const EdgeInsets.all(12), - child: Column(children: [ - const Row( - children: [ - Text("星际公民服务器状态:"), - ], - ), - const SizedBox(height: 12), - if (model.scServerStatus == null) - makeLoading(context, width: 20) - else - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, + child: GestureDetector( + onTap: () { + model.goWebView("RSI 服务器状态", + "https://status.robertsspaceindustries.com/", + useLocalization: true); + }, + child: Container( + width: width, + decoration: BoxDecoration( + color: FluentTheme.of(context).cardColor, + ), + child: Padding( + padding: const EdgeInsets.all(12), + child: Column(children: [ + const Row( children: [ - for (final item in model.scServerStatus ?? []) - Row( - children: [ - SizedBox( - height: 14, - child: Center( - child: Icon( - FontAwesomeIcons.solidCircle, - color: - model.isRSIServerStatusOK(item) - ? Colors.green - : Colors.red, - size: 12, + Text("星际公民服务器状态:"), + ], + ), + const SizedBox(height: 12), + if (model.scServerStatus == null) + makeLoading(context, width: 20) + else + Row( + mainAxisAlignment: + MainAxisAlignment.spaceBetween, + children: [ + for (final item in model.scServerStatus ?? []) + Row( + children: [ + SizedBox( + height: 14, + child: Center( + child: Icon( + FontAwesomeIcons.solidCircle, + color: model + .isRSIServerStatusOK(item) + ? Colors.green + : Colors.red, + size: 12, + ), ), ), - ), - const SizedBox(width: 3), - Text( - "${model.statusCnName[item["name"]] ?? item["name"]}", - style: const TextStyle(fontSize: 13), - ), - ], - ) - ], - ) - ]), + const SizedBox(width: 3), + Text( + "${model.statusCnName[item["name"]] ?? item["name"]}", + style: const TextStyle(fontSize: 13), + ), + ], + ) + ], + ) + ]), + ), + // child: IconButton( + // icon: , + // onPressed: () { + // launchUrlString( + // "https://status.robertsspaceindustries.com/"); + // }, + // ), ), - // child: IconButton( - // icon: , - // onPressed: () { - // launchUrlString( - // "https://status.robertsspaceindustries.com/"); - // }, - // ), ), ), ], diff --git a/lib/ui/home/home_ui_model.dart b/lib/ui/home/home_ui_model.dart index d3c00c9..42711ec 100644 --- a/lib/ui/home/home_ui_model.dart +++ b/lib/ui/home/home_ui_model.dart @@ -13,6 +13,7 @@ import 'package:starcitizen_doctor/common/helper/log_helper.dart'; import 'package:starcitizen_doctor/common/helper/system_helper.dart'; import 'package:starcitizen_doctor/data/app_placard_data.dart'; import 'package:starcitizen_doctor/data/app_web_localization_versions_data.dart'; +import 'package:starcitizen_doctor/data/countdown_festival_item_data.dart'; import 'package:starcitizen_doctor/ui/home/dialogs/md_content_dialog_ui.dart'; import 'package:starcitizen_doctor/ui/home/dialogs/md_content_dialog_ui_model.dart'; import 'package:starcitizen_doctor/ui/home/localization/localization_ui_model.dart'; @@ -54,6 +55,8 @@ class HomeUIModel extends BaseUIModel { AppWebLocalizationVersionsData? appWebLocalizationVersionsData; + List? countdownFestivalListData; + final cnExp = RegExp(r"[^\x00-\xff]"); AppPlacardData? appPlacardData; @@ -89,6 +92,8 @@ class HomeUIModel extends BaseUIModel { "${AppConf.webTranslateHomeUrl}/versions.json", options: Options(responseType: ResponseType.plain))) .data)); + countdownFestivalListData = await Api.getFestivalCountdownList(); + notifyListeners(); } catch (e) { dPrint(e); } diff --git a/lib/widgets/countdown_time_text.dart b/lib/widgets/countdown_time_text.dart new file mode 100644 index 0000000..bf54c4b --- /dev/null +++ b/lib/widgets/countdown_time_text.dart @@ -0,0 +1,91 @@ +import 'dart:async'; + +import 'package:fluent_ui/fluent_ui.dart'; + +class CountdownTimeText extends StatefulWidget { + final DateTime targetTime; + + const CountdownTimeText({super.key, required this.targetTime}); + + @override + State createState() => _CountdownTimeTextState(); +} + +class _CountdownTimeTextState extends State { + Timer? _timer; + + Widget? textWidget; + + bool stopTimer = false; + + @override + initState() { + _onUpdateTime(null); + if (!stopTimer) { + _timer = Timer.periodic(const Duration(seconds: 1), _onUpdateTime); + } + super.initState(); + } + + @override + dispose() { + _timer?.cancel(); + _timer = null; + super.dispose(); + } + + _onUpdateTime(_) { + final now = DateTime.now(); + final dur = widget.targetTime.difference(now); + setState(() { + textWidget = _chineseTimeText(dur); + }); + // 时间到,停止计时,并向宿主传递超时信息 + if (dur.inMilliseconds <= 0) { + stopTimer = true; + setState(() {}); + } + if (stopTimer) { + _timer?.cancel(); + _timer = null; + } + } + + Widget _chineseTimeText(Duration duration) { + final surplus = duration; + int day = (surplus.inSeconds ~/ 3600) ~/ 24; + int hour = (surplus.inSeconds ~/ 3600) % 24; + int minute = surplus.inSeconds % 3600 ~/ 60; + int second = surplus.inSeconds % 60; + return Row( + mainAxisSize: MainAxisSize.min, + children: [ + Text( + "$day天 ", + style: TextStyle( + fontSize: 24, color: day < 30 ? Colors.red : Colors.white), + ), + Text("${timePart(hour)}:${timePart(minute)}:${timePart(second)}"), + ], + ); + } + + String timePart(int p) { + if (p.toString().length == 1) return "0$p"; + return "$p"; + } + + @override + Widget build(BuildContext context) { + if (stopTimer) { + return const Text( + "正在进行中", + style: TextStyle( + fontSize: 18, + color: Color.fromRGBO(32, 220, 89, 1.0), + fontWeight: FontWeight.bold), + ); + } + return textWidget ?? const Text(""); + } +} diff --git a/pubspec.yaml b/pubspec.yaml index e208361..95c3307 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -52,6 +52,7 @@ dependencies: jwt_decode: ^0.3.1 uuid: ^4.1.0 flutter_tilt: ^2.0.10 + card_swiper: ^3.0.1 dev_dependencies: flutter_test: @@ -77,6 +78,7 @@ flutter: uses-material-design: true assets: - assets/ + - assets/countdown/ # To add assets to your application, add an assets section, like this: # assets: