mirror of
https://mirror.ghproxy.com/https://github.com/StarCitizenToolBox/app.git
synced 2024-12-22 18:43:43 +08:00
feat: User Agreement and Privacy Policy Dialog
This commit is contained in:
parent
ef715d569f
commit
494ae6468d
@ -43,6 +43,7 @@ class AppGlobalState with _$AppGlobalState {
|
||||
AppVersionData? networkVersionData,
|
||||
@Default(ThemeConf()) ThemeConf themeConf,
|
||||
Locale? appLocale,
|
||||
Box? appConfBox,
|
||||
}) = _AppGlobalState;
|
||||
}
|
||||
|
||||
@ -129,6 +130,7 @@ class AppGlobalModel extends _$AppGlobalModel {
|
||||
try {
|
||||
Hive.init("$applicationSupportDir/db");
|
||||
final box = await Hive.openBox("app_conf");
|
||||
state = state.copyWith(appConfBox: box);
|
||||
if (box.get("install_id", defaultValue: "") == "") {
|
||||
await box.put("install_id", const Uuid().v4());
|
||||
AnalyticsApi.touch("firstLaunch");
|
||||
@ -153,7 +155,7 @@ class AppGlobalModel extends _$AppGlobalModel {
|
||||
try {
|
||||
await SystemHelper.initPowershellPath();
|
||||
dPrint("---- Powershell init -----");
|
||||
}catch (e){
|
||||
} catch (e) {
|
||||
dPrint("powershell init failed : $e");
|
||||
}
|
||||
|
||||
|
@ -22,6 +22,7 @@ mixin _$AppGlobalState {
|
||||
AppVersionData? get networkVersionData => throw _privateConstructorUsedError;
|
||||
ThemeConf get themeConf => throw _privateConstructorUsedError;
|
||||
Locale? get appLocale => throw _privateConstructorUsedError;
|
||||
Box<dynamic>? get appConfBox => throw _privateConstructorUsedError;
|
||||
|
||||
@JsonKey(ignore: true)
|
||||
$AppGlobalStateCopyWith<AppGlobalState> get copyWith =>
|
||||
@ -40,7 +41,8 @@ abstract class $AppGlobalStateCopyWith<$Res> {
|
||||
String? applicationBinaryModuleDir,
|
||||
AppVersionData? networkVersionData,
|
||||
ThemeConf themeConf,
|
||||
Locale? appLocale});
|
||||
Locale? appLocale,
|
||||
Box<dynamic>? appConfBox});
|
||||
|
||||
$ThemeConfCopyWith<$Res> get themeConf;
|
||||
}
|
||||
@ -64,6 +66,7 @@ class _$AppGlobalStateCopyWithImpl<$Res, $Val extends AppGlobalState>
|
||||
Object? networkVersionData = freezed,
|
||||
Object? themeConf = null,
|
||||
Object? appLocale = freezed,
|
||||
Object? appConfBox = freezed,
|
||||
}) {
|
||||
return _then(_value.copyWith(
|
||||
deviceUUID: freezed == deviceUUID
|
||||
@ -90,6 +93,10 @@ class _$AppGlobalStateCopyWithImpl<$Res, $Val extends AppGlobalState>
|
||||
? _value.appLocale
|
||||
: appLocale // ignore: cast_nullable_to_non_nullable
|
||||
as Locale?,
|
||||
appConfBox: freezed == appConfBox
|
||||
? _value.appConfBox
|
||||
: appConfBox // ignore: cast_nullable_to_non_nullable
|
||||
as Box<dynamic>?,
|
||||
) as $Val);
|
||||
}
|
||||
|
||||
@ -116,7 +123,8 @@ abstract class _$$AppGlobalStateImplCopyWith<$Res>
|
||||
String? applicationBinaryModuleDir,
|
||||
AppVersionData? networkVersionData,
|
||||
ThemeConf themeConf,
|
||||
Locale? appLocale});
|
||||
Locale? appLocale,
|
||||
Box<dynamic>? appConfBox});
|
||||
|
||||
@override
|
||||
$ThemeConfCopyWith<$Res> get themeConf;
|
||||
@ -139,6 +147,7 @@ class __$$AppGlobalStateImplCopyWithImpl<$Res>
|
||||
Object? networkVersionData = freezed,
|
||||
Object? themeConf = null,
|
||||
Object? appLocale = freezed,
|
||||
Object? appConfBox = freezed,
|
||||
}) {
|
||||
return _then(_$AppGlobalStateImpl(
|
||||
deviceUUID: freezed == deviceUUID
|
||||
@ -165,6 +174,10 @@ class __$$AppGlobalStateImplCopyWithImpl<$Res>
|
||||
? _value.appLocale
|
||||
: appLocale // ignore: cast_nullable_to_non_nullable
|
||||
as Locale?,
|
||||
appConfBox: freezed == appConfBox
|
||||
? _value.appConfBox
|
||||
: appConfBox // ignore: cast_nullable_to_non_nullable
|
||||
as Box<dynamic>?,
|
||||
));
|
||||
}
|
||||
}
|
||||
@ -178,7 +191,8 @@ class _$AppGlobalStateImpl implements _AppGlobalState {
|
||||
this.applicationBinaryModuleDir,
|
||||
this.networkVersionData,
|
||||
this.themeConf = const ThemeConf(),
|
||||
this.appLocale});
|
||||
this.appLocale,
|
||||
this.appConfBox});
|
||||
|
||||
@override
|
||||
final String? deviceUUID;
|
||||
@ -193,10 +207,12 @@ class _$AppGlobalStateImpl implements _AppGlobalState {
|
||||
final ThemeConf themeConf;
|
||||
@override
|
||||
final Locale? appLocale;
|
||||
@override
|
||||
final Box<dynamic>? appConfBox;
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'AppGlobalState(deviceUUID: $deviceUUID, applicationSupportDir: $applicationSupportDir, applicationBinaryModuleDir: $applicationBinaryModuleDir, networkVersionData: $networkVersionData, themeConf: $themeConf, appLocale: $appLocale)';
|
||||
return 'AppGlobalState(deviceUUID: $deviceUUID, applicationSupportDir: $applicationSupportDir, applicationBinaryModuleDir: $applicationBinaryModuleDir, networkVersionData: $networkVersionData, themeConf: $themeConf, appLocale: $appLocale, appConfBox: $appConfBox)';
|
||||
}
|
||||
|
||||
@override
|
||||
@ -217,7 +233,9 @@ class _$AppGlobalStateImpl implements _AppGlobalState {
|
||||
(identical(other.themeConf, themeConf) ||
|
||||
other.themeConf == themeConf) &&
|
||||
(identical(other.appLocale, appLocale) ||
|
||||
other.appLocale == appLocale));
|
||||
other.appLocale == appLocale) &&
|
||||
(identical(other.appConfBox, appConfBox) ||
|
||||
other.appConfBox == appConfBox));
|
||||
}
|
||||
|
||||
@override
|
||||
@ -228,7 +246,8 @@ class _$AppGlobalStateImpl implements _AppGlobalState {
|
||||
applicationBinaryModuleDir,
|
||||
networkVersionData,
|
||||
themeConf,
|
||||
appLocale);
|
||||
appLocale,
|
||||
appConfBox);
|
||||
|
||||
@JsonKey(ignore: true)
|
||||
@override
|
||||
@ -245,7 +264,8 @@ abstract class _AppGlobalState implements AppGlobalState {
|
||||
final String? applicationBinaryModuleDir,
|
||||
final AppVersionData? networkVersionData,
|
||||
final ThemeConf themeConf,
|
||||
final Locale? appLocale}) = _$AppGlobalStateImpl;
|
||||
final Locale? appLocale,
|
||||
final Box<dynamic>? appConfBox}) = _$AppGlobalStateImpl;
|
||||
|
||||
@override
|
||||
String? get deviceUUID;
|
||||
@ -260,6 +280,8 @@ abstract class _AppGlobalState implements AppGlobalState {
|
||||
@override
|
||||
Locale? get appLocale;
|
||||
@override
|
||||
Box<dynamic>? get appConfBox;
|
||||
@override
|
||||
@JsonKey(ignore: true)
|
||||
_$$AppGlobalStateImplCopyWith<_$AppGlobalStateImpl> get copyWith =>
|
||||
throw _privateConstructorUsedError;
|
||||
|
@ -20,7 +20,7 @@ final routerProvider = AutoDisposeProvider<GoRouter>.internal(
|
||||
);
|
||||
|
||||
typedef RouterRef = AutoDisposeProviderRef<GoRouter>;
|
||||
String _$appGlobalModelHash() => r'9c114910aed546bfd469c8bbfa50cdd4a5be5028';
|
||||
String _$appGlobalModelHash() => r'ae7f6704a80297ac3e0f70412c676a1829046831';
|
||||
|
||||
/// See also [AppGlobalModel].
|
||||
@ProviderFor(AppGlobalModel)
|
||||
|
@ -1,4 +1,5 @@
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:hive/hive.dart';
|
||||
import 'package:starcitizen_doctor/app.dart';
|
||||
|
||||
extension ProviderExtension on AutoDisposeNotifier {
|
||||
@ -6,4 +7,6 @@ extension ProviderExtension on AutoDisposeNotifier {
|
||||
ref.read(appGlobalModelProvider.notifier);
|
||||
|
||||
AppGlobalState get appGlobalState => ref.read(appGlobalModelProvider);
|
||||
|
||||
Box<dynamic>? get appConfBox => appGlobalState.appConfBox;
|
||||
}
|
||||
|
@ -151,7 +151,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
static Map<String, Function> _notInlinedMessages(_) => <String, Function>{
|
||||
"about_action_email":
|
||||
MessageLookupByLibrary.simpleMessage("Email: scbox@xkeyc.com"),
|
||||
MessageLookupByLibrary.simpleMessage("Email: xkeyc@qq.com"),
|
||||
"about_action_open_source":
|
||||
MessageLookupByLibrary.simpleMessage("Open source"),
|
||||
"about_action_qq_group":
|
||||
@ -215,6 +215,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"It is detection availability, which may take a little time ..."),
|
||||
"app_splash_checking_for_updates":
|
||||
MessageLookupByLibrary.simpleMessage("Inspection and update ..."),
|
||||
"app_splash_dialog_u_a_p_p": MessageLookupByLibrary.simpleMessage(
|
||||
"User Agreement and Privacy Policy"),
|
||||
"app_splash_dialog_u_a_p_p_content": MessageLookupByLibrary.simpleMessage(
|
||||
"Thank you for choosing the SC Chinese box. We are committed to providing you with a safe, convenient and reliable experience. Before you start using your application, please read and agree to the following:\n\n 1. This application is an open source software under the GNU General Public License V3.0 protocol. You can use, modify, and distribute this software freely under the premise of obeying the agreement. Our source code is located at: [github.com/starCitizentoolBox/app] (https://github.com/starCitizantoolBox/app).\n2. The copyright of the Internet content in this application (including but not limited to localized documents, tool websites, news, videos, etc.) is created by its authors and is not part of GPL. Please use it under the corresponding authorization agreement.\n3. The official free release channels for this application are: [Microsoft App Store] (https://apps.microsoft.com/detail/9NF3SWFWNKL1) and [Official Website of Star Citizen Chinese] ), If you get from other third parties, please identify it carefully to avoid suffering from property losses.\n4. This application will send anonymous statistics to our server during use to improve software quality, and we will not collect any personal privacy information of your personal privacy.\n5. This application is supported by the community and has no direct connection with Cloud Imperium Games or other third -party commercial companies.\n6. We provide limited community support. If necessary, please go to the page to learn how to contact us."),
|
||||
"app_upgrade_action_next_time":
|
||||
MessageLookupByLibrary.simpleMessage("Next time"),
|
||||
"app_upgrade_action_update_now":
|
||||
|
@ -139,7 +139,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
static Map<String, Function> _notInlinedMessages(_) => <String, Function>{
|
||||
"about_action_email":
|
||||
MessageLookupByLibrary.simpleMessage("邮箱: scbox@xkeyc.com"),
|
||||
MessageLookupByLibrary.simpleMessage("邮箱: xkeyc@qq.com"),
|
||||
"about_action_open_source": MessageLookupByLibrary.simpleMessage("开源"),
|
||||
"about_action_qq_group":
|
||||
MessageLookupByLibrary.simpleMessage("QQ群: 940696487"),
|
||||
@ -193,6 +193,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("正在检测可用性,这可能需要一点时间..."),
|
||||
"app_splash_checking_for_updates":
|
||||
MessageLookupByLibrary.simpleMessage("正在检查更新..."),
|
||||
"app_splash_dialog_u_a_p_p":
|
||||
MessageLookupByLibrary.simpleMessage("用户协议与隐私政策"),
|
||||
"app_splash_dialog_u_a_p_p_content": MessageLookupByLibrary.simpleMessage(
|
||||
"感谢您选择 SC汉化盒子 ,我们致力于为您提供 安全、便捷、可靠的使用体验,在您开始使用应用前,请先阅读并同意以下内容:\n\n 1. 本应用 为 GNU 通用公共许可证 v3.0 协议下的开源软件,您可以在遵守协议的前提下自由使用、修改、分发本软件。我们的源代码位于:[Github.com/StarCitizenToolBox/app](https://github.com/StarCitizenToolBox/app)。 \n2. 本应用中的互联网内容(包括但不限于 本地化文件、工具网站、新闻、视频 等)版权由其作者创作所有,不属于 GPL 的一部分,请在遵守对应的授权协议下使用。\n3. 本应用的官方免费发布渠道为:[微软应用商店](https://apps.microsoft.com/detail/9NF3SWFWNKL1) 与 [星际公民汉化组官网](https://www.starcitizenzw.com/) ,若您从其他第三方处获得,请仔细甄别,以免遭受财产损失。\n4. 本应用在使用过程中会向我们的服务器发送匿名的统计数据,用于改进软件质量,我们不会收集您的任何个人隐私信息。 \n5. 本应用由社区提供支持,与 Cloud Imperium Games 或 其他第三方商业公司 无直接关联。\n6. 我们提供有限的社区支持,如有需要,请前往关于页面了解如何联系我们。"),
|
||||
"app_upgrade_action_next_time":
|
||||
MessageLookupByLibrary.simpleMessage("下次吧"),
|
||||
"app_upgrade_action_update_now":
|
||||
|
@ -139,7 +139,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
static Map<String, Function> _notInlinedMessages(_) => <String, Function>{
|
||||
"about_action_email":
|
||||
MessageLookupByLibrary.simpleMessage("郵箱: scbox@xkeyc.com"),
|
||||
MessageLookupByLibrary.simpleMessage("郵箱: xkeyc@qq.com"),
|
||||
"about_action_open_source": MessageLookupByLibrary.simpleMessage("開源"),
|
||||
"about_action_qq_group":
|
||||
MessageLookupByLibrary.simpleMessage("QQ群: 940696487"),
|
||||
@ -193,6 +193,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
MessageLookupByLibrary.simpleMessage("正在檢查可用性,這可能需要一點時間..."),
|
||||
"app_splash_checking_for_updates":
|
||||
MessageLookupByLibrary.simpleMessage("正在檢查更新..."),
|
||||
"app_splash_dialog_u_a_p_p":
|
||||
MessageLookupByLibrary.simpleMessage("用戶協議與隱私政策"),
|
||||
"app_splash_dialog_u_a_p_p_content": MessageLookupByLibrary.simpleMessage(
|
||||
"感謝您選擇 SC漢化盒子 ,我們致力於為您提供 安全、便捷、可靠的使用體驗,在您開始使用應用前,請先閱讀並同意以下內容:\n\n 1. 本應用 為 GNU 通用公共許可證 v3.0 協議下的開源軟件,您可以在遵守協議的前提下自由使用、修改、分發本軟件。我們的源代碼位於:[Github.com/StarCitizenToolBox/app](https://github.com/StarCitizenToolBox/app)。\n2. 本應用中的互聯網內容(包括但不限於 本地化文件、工具網站、新聞、視頻 等)版權由其作者創作所有,不屬於 GPL 的一部分,請在遵守對應的授權協議下使用。\n3. 本應用的官方免費發布渠道為:[微軟應用商店](https://apps.microsoft.com/detail/9NF3SWFWNKL1) 與[星際公民漢化組官網](https://www.starcitizenzw.com/ ) ,若您從其他第三方處獲得,請仔細甄別,以免遭受財產損失。\n4. 本應用在使用過程中會向我們的服務器發送匿名的統計數據,用於改進軟件質量,我們不會收集您的任何個人隱私信息。\n5. 本應用由社區提供支持,與 Cloud Imperium Games 或 其他第三方商業公司 無直接關聯。\n6. 我們提供有限的社區支持,如有需要,請前往關於頁面了解如何联系我們。"),
|
||||
"app_upgrade_action_next_time":
|
||||
MessageLookupByLibrary.simpleMessage("下次吧"),
|
||||
"app_upgrade_action_update_now":
|
||||
|
@ -130,10 +130,10 @@ class S {
|
||||
);
|
||||
}
|
||||
|
||||
/// `Email: scbox@xkeyc.com`
|
||||
/// `Email: xkeyc@qq.com`
|
||||
String get about_action_email {
|
||||
return Intl.message(
|
||||
'Email: scbox@xkeyc.com',
|
||||
'Email: xkeyc@qq.com',
|
||||
name: 'about_action_email',
|
||||
desc: '',
|
||||
args: [],
|
||||
@ -3692,6 +3692,26 @@ class S {
|
||||
args: [],
|
||||
);
|
||||
}
|
||||
|
||||
/// `User Agreement and Privacy Policy`
|
||||
String get app_splash_dialog_u_a_p_p {
|
||||
return Intl.message(
|
||||
'User Agreement and Privacy Policy',
|
||||
name: 'app_splash_dialog_u_a_p_p',
|
||||
desc: '',
|
||||
args: [],
|
||||
);
|
||||
}
|
||||
|
||||
/// `Thank you for choosing the SC Chinese box. We are committed to providing you with a safe, convenient and reliable experience. Before you start using your application, please read and agree to the following:\n\n 1. This application is an open source software under the GNU General Public License V3.0 protocol. You can use, modify, and distribute this software freely under the premise of obeying the agreement. Our source code is located at: [github.com/starCitizentoolBox/app] (https://github.com/starCitizantoolBox/app).\n2. The copyright of the Internet content in this application (including but not limited to localized documents, tool websites, news, videos, etc.) is created by its authors and is not part of GPL. Please use it under the corresponding authorization agreement.\n3. The official free release channels for this application are: [Microsoft App Store] (https://apps.microsoft.com/detail/9NF3SWFWNKL1) and [Official Website of Star Citizen Chinese] ), If you get from other third parties, please identify it carefully to avoid suffering from property losses.\n4. This application will send anonymous statistics to our server during use to improve software quality, and we will not collect any personal privacy information of your personal privacy.\n5. This application is supported by the community and has no direct connection with Cloud Imperium Games or other third -party commercial companies.\n6. We provide limited community support. If necessary, please go to the page to learn how to contact us.`
|
||||
String get app_splash_dialog_u_a_p_p_content {
|
||||
return Intl.message(
|
||||
'Thank you for choosing the SC Chinese box. We are committed to providing you with a safe, convenient and reliable experience. Before you start using your application, please read and agree to the following:\n\n 1. This application is an open source software under the GNU General Public License V3.0 protocol. You can use, modify, and distribute this software freely under the premise of obeying the agreement. Our source code is located at: [github.com/starCitizentoolBox/app] (https://github.com/starCitizantoolBox/app).\n2. The copyright of the Internet content in this application (including but not limited to localized documents, tool websites, news, videos, etc.) is created by its authors and is not part of GPL. Please use it under the corresponding authorization agreement.\n3. The official free release channels for this application are: [Microsoft App Store] (https://apps.microsoft.com/detail/9NF3SWFWNKL1) and [Official Website of Star Citizen Chinese] ), If you get from other third parties, please identify it carefully to avoid suffering from property losses.\n4. This application will send anonymous statistics to our server during use to improve software quality, and we will not collect any personal privacy information of your personal privacy.\n5. This application is supported by the community and has no direct connection with Cloud Imperium Games or other third -party commercial companies.\n6. We provide limited community support. If necessary, please go to the page to learn how to contact us.',
|
||||
name: 'app_splash_dialog_u_a_p_p_content',
|
||||
desc: '',
|
||||
args: [],
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
class AppLocalizationDelegate extends LocalizationsDelegate<S> {
|
||||
|
@ -4,6 +4,7 @@
|
||||
"@app_language_name": {},
|
||||
"app_language_code": "en",
|
||||
"@app_language_code": {},
|
||||
"@auto_translate_locale": "en",
|
||||
"app_index_version_info": "SCToolBox V {v0} {v1}",
|
||||
"@app_index_version_info": {},
|
||||
"app_shortcut_name": "SCToolBox.lnk",
|
||||
@ -16,7 +17,7 @@
|
||||
"@about_online_feedback": {},
|
||||
"about_action_qq_group": "QQ group: 940696487",
|
||||
"@about_action_qq_group": {},
|
||||
"about_action_email": "Email: scbox@xkeyc.com",
|
||||
"about_action_email": "Email: xkeyc@qq.com",
|
||||
"@about_action_email": {},
|
||||
"about_action_open_source": "Open source",
|
||||
"@about_action_open_source": {},
|
||||
@ -727,5 +728,7 @@
|
||||
"home_holiday_countdown_in_progress": "In progress",
|
||||
"@home_holiday_countdown_in_progress": {},
|
||||
"app_common_loading_images": "Loading image ...",
|
||||
"@app_common_loading_images": {}
|
||||
}
|
||||
"@app_common_loading_images": {},
|
||||
"app_splash_dialog_u_a_p_p": "User Agreement and Privacy Policy",
|
||||
"app_splash_dialog_u_a_p_p_content": "Thank you for choosing the SC Chinese box. We are committed to providing you with a safe, convenient and reliable experience. Before you start using your application, please read and agree to the following:\n\n 1. This application is an open source software under the GNU General Public License V3.0 protocol. You can use, modify, and distribute this software freely under the premise of obeying the agreement. Our source code is located at: [github.com/starCitizentoolBox/app] (https://github.com/starCitizantoolBox/app).\n2. The copyright of the Internet content in this application (including but not limited to localized documents, tool websites, news, videos, etc.) is created by its authors and is not part of GPL. Please use it under the corresponding authorization agreement.\n3. The official free release channels for this application are: [Microsoft App Store] (https://apps.microsoft.com/detail/9NF3SWFWNKL1) and [Official Website of Star Citizen Chinese] ), If you get from other third parties, please identify it carefully to avoid suffering from property losses.\n4. This application will send anonymous statistics to our server during use to improve software quality, and we will not collect any personal privacy information of your personal privacy.\n5. This application is supported by the community and has no direct connection with Cloud Imperium Games or other third -party commercial companies.\n6. We provide limited community support. If necessary, please go to the page to learn how to contact us."
|
||||
}
|
@ -16,7 +16,7 @@
|
||||
"@about_online_feedback": {},
|
||||
"about_action_qq_group": "QQ群: 940696487",
|
||||
"@about_action_qq_group": {},
|
||||
"about_action_email": "邮箱: scbox@xkeyc.com",
|
||||
"about_action_email": "邮箱: xkeyc@qq.com",
|
||||
"@about_action_email": {},
|
||||
"about_action_open_source": "开源",
|
||||
"@about_action_open_source": {},
|
||||
@ -698,5 +698,7 @@
|
||||
"settings_app_language_switch_info": "切换应用显示语言",
|
||||
"home_holiday_countdown_days": "{v0}天 ",
|
||||
"home_holiday_countdown_in_progress": "正在进行中",
|
||||
"app_common_loading_images": "加载图片..."
|
||||
"app_common_loading_images": "加载图片...",
|
||||
"app_splash_dialog_u_a_p_p": "用户协议与隐私政策",
|
||||
"app_splash_dialog_u_a_p_p_content": "感谢您选择 SC汉化盒子 ,我们致力于为您提供 安全、便捷、可靠的使用体验,在您开始使用应用前,请先阅读并同意以下内容:\n\n 1. 本应用 为 GNU 通用公共许可证 v3.0 协议下的开源软件,您可以在遵守协议的前提下自由使用、修改、分发本软件。我们的源代码位于:[Github.com/StarCitizenToolBox/app](https://github.com/StarCitizenToolBox/app)。 \n2. 本应用中的互联网内容(包括但不限于 本地化文件、工具网站、新闻、视频 等)版权由其作者创作所有,不属于 GPL 的一部分,请在遵守对应的授权协议下使用。\n3. 本应用的官方免费发布渠道为:[微软应用商店](https://apps.microsoft.com/detail/9NF3SWFWNKL1) 与 [星际公民汉化组官网](https://www.starcitizenzw.com/) ,若您从其他第三方处获得,请仔细甄别,以免遭受财产损失。\n4. 本应用在使用过程中会向我们的服务器发送匿名的统计数据,用于改进软件质量,我们不会收集您的任何个人隐私信息。 \n5. 本应用由社区提供支持,与 Cloud Imperium Games 或 其他第三方商业公司 无直接关联。\n6. 我们提供有限的社区支持,如有需要,请前往关于页面了解如何联系我们。"
|
||||
}
|
||||
|
@ -4,6 +4,7 @@
|
||||
"@app_language_name": {},
|
||||
"app_language_code": "zh_TW",
|
||||
"@app_language_code": {},
|
||||
"@auto_translate_locale": "zh-tw",
|
||||
"app_index_version_info": "SC漢化盒子 V{v0} {v1}",
|
||||
"@app_index_version_info": {},
|
||||
"app_shortcut_name": "SC漢化盒子DEV.lnk",
|
||||
@ -16,7 +17,7 @@
|
||||
"@about_online_feedback": {},
|
||||
"about_action_qq_group": "QQ群: 940696487",
|
||||
"@about_action_qq_group": {},
|
||||
"about_action_email": "郵箱: scbox@xkeyc.com",
|
||||
"about_action_email": "郵箱: xkeyc@qq.com",
|
||||
"@about_action_email": {},
|
||||
"about_action_open_source": "開源",
|
||||
"@about_action_open_source": {},
|
||||
@ -727,5 +728,7 @@
|
||||
"home_holiday_countdown_in_progress": "正在進行中",
|
||||
"@home_holiday_countdown_in_progress": {},
|
||||
"app_common_loading_images": "載入圖片...",
|
||||
"@app_common_loading_images": {}
|
||||
}
|
||||
"@app_common_loading_images": {},
|
||||
"app_splash_dialog_u_a_p_p": "用戶協議與隱私政策",
|
||||
"app_splash_dialog_u_a_p_p_content": "感謝您選擇 SC漢化盒子 ,我們致力於為您提供 安全、便捷、可靠的使用體驗,在您開始使用應用前,請先閱讀並同意以下內容:\n\n 1. 本應用 為 GNU 通用公共許可證 v3.0 協議下的開源軟件,您可以在遵守協議的前提下自由使用、修改、分發本軟件。我們的源代碼位於:[Github.com/StarCitizenToolBox/app](https://github.com/StarCitizenToolBox/app)。\n2. 本應用中的互聯網內容(包括但不限於 本地化文件、工具網站、新聞、視頻 等)版權由其作者創作所有,不屬於 GPL 的一部分,請在遵守對應的授權協議下使用。\n3. 本應用的官方免費發布渠道為:[微軟應用商店](https://apps.microsoft.com/detail/9NF3SWFWNKL1) 與[星際公民漢化組官網](https://www.starcitizenzw.com/ ) ,若您從其他第三方處獲得,請仔細甄別,以免遭受財產損失。\n4. 本應用在使用過程中會向我們的服務器發送匿名的統計數據,用於改進軟件質量,我們不會收集您的任何個人隱私信息。\n5. 本應用由社區提供支持,與 Cloud Imperium Games 或 其他第三方商業公司 無直接關聯。\n6. 我們提供有限的社區支持,如有需要,請前往關於頁面了解如何联系我們。"
|
||||
}
|
@ -151,13 +151,13 @@ class _$Aria2cModelStateImpl
|
||||
(identical(other.aria2cDir, aria2cDir) ||
|
||||
other.aria2cDir == aria2cDir) &&
|
||||
(identical(other.aria2c, aria2c) || other.aria2c == aria2c) &&
|
||||
const DeepCollectionEquality()
|
||||
.equals(other.aria2globalStat, aria2globalStat));
|
||||
(identical(other.aria2globalStat, aria2globalStat) ||
|
||||
other.aria2globalStat == aria2globalStat));
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => Object.hash(runtimeType, aria2cDir, aria2c,
|
||||
const DeepCollectionEquality().hash(aria2globalStat));
|
||||
int get hashCode =>
|
||||
Object.hash(runtimeType, aria2cDir, aria2c, aria2globalStat);
|
||||
|
||||
@JsonKey(ignore: true)
|
||||
@override
|
||||
|
@ -147,7 +147,7 @@ class AboutUI extends HookConsumerWidget {
|
||||
],
|
||||
),
|
||||
onPressed: () {
|
||||
launchUrlString("mailto:scbox@xkeyc.com");
|
||||
launchUrlString("mailto:xkeyc@qq.com");
|
||||
},
|
||||
),
|
||||
const SizedBox(width: 24),
|
||||
|
@ -7,7 +7,7 @@ part of 'home_game_login_dialog_ui_model.dart';
|
||||
// **************************************************************************
|
||||
|
||||
String _$homeGameLoginUIModelHash() =>
|
||||
r'108812122298cf826ee57ecad3e519b1dc3fd6ce';
|
||||
r'aba96cf64ea6146f1006ca2bd41e6e26c10adb6c';
|
||||
|
||||
/// See also [HomeGameLoginUIModel].
|
||||
@ProviderFor(HomeGameLoginUIModel)
|
||||
|
@ -190,8 +190,8 @@ class _$HomeDownloaderUIStateImpl implements _HomeDownloaderUIState {
|
||||
.equals(other._waitingTasks, _waitingTasks) &&
|
||||
const DeepCollectionEquality()
|
||||
.equals(other._stoppedTasks, _stoppedTasks) &&
|
||||
const DeepCollectionEquality()
|
||||
.equals(other.globalStat, globalStat));
|
||||
(identical(other.globalStat, globalStat) ||
|
||||
other.globalStat == globalStat));
|
||||
}
|
||||
|
||||
@override
|
||||
@ -200,7 +200,7 @@ class _$HomeDownloaderUIStateImpl implements _HomeDownloaderUIState {
|
||||
const DeepCollectionEquality().hash(_tasks),
|
||||
const DeepCollectionEquality().hash(_waitingTasks),
|
||||
const DeepCollectionEquality().hash(_stoppedTasks),
|
||||
const DeepCollectionEquality().hash(globalStat));
|
||||
globalStat);
|
||||
|
||||
@JsonKey(ignore: true)
|
||||
@override
|
||||
|
@ -6,7 +6,7 @@ part of 'home_ui_model.dart';
|
||||
// RiverpodGenerator
|
||||
// **************************************************************************
|
||||
|
||||
String _$homeUIModelHash() => r'b62026bb0b5ab37c0aed33e0ed018aa9732da58e';
|
||||
String _$homeUIModelHash() => r'13dc0eb046a284bb9cb5a1da5597dae7e5287030';
|
||||
|
||||
/// See also [HomeUIModel].
|
||||
@ProviderFor(HomeUIModel)
|
||||
|
@ -7,7 +7,7 @@ part of 'localization_ui_model.dart';
|
||||
// **************************************************************************
|
||||
|
||||
String _$localizationUIModelHash() =>
|
||||
r'697f9e00ea08729c5debb4d87ffe9fadb5c0ec71';
|
||||
r'87152654734d322cd20d62baf050918adc9fd11b';
|
||||
|
||||
/// See also [LocalizationUIModel].
|
||||
@ProviderFor(LocalizationUIModel)
|
||||
|
@ -1,7 +1,11 @@
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:fluent_ui/fluent_ui.dart';
|
||||
import 'package:flutter_hooks/flutter_hooks.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:hive/hive.dart';
|
||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||
import 'package:markdown_widget/widget/markdown.dart';
|
||||
import 'package:starcitizen_doctor/api/analytics.dart';
|
||||
import 'package:starcitizen_doctor/app.dart';
|
||||
import 'package:starcitizen_doctor/common/conf/const_conf.dart';
|
||||
@ -13,6 +17,8 @@ import 'package:starcitizen_doctor/widgets/widgets.dart';
|
||||
class SplashUI extends HookConsumerWidget {
|
||||
const SplashUI({super.key});
|
||||
|
||||
static const _alertInfoVersion = 1;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, WidgetRef ref) {
|
||||
final stepState = useState(0);
|
||||
@ -61,7 +67,13 @@ class SplashUI extends HookConsumerWidget {
|
||||
void _initApp(BuildContext context, AppGlobalModel appModel,
|
||||
ValueNotifier<int> stepState, WidgetRef ref) async {
|
||||
await appModel.initApp();
|
||||
final appConf = await Hive.openBox("app_conf");
|
||||
final v = appConf.get("splash_alert_info_version", defaultValue: 0);
|
||||
AnalyticsApi.touch("launch");
|
||||
if (v < _alertInfoVersion) {
|
||||
if (!context.mounted) return;
|
||||
await _showAlert(context, appConf);
|
||||
}
|
||||
try {
|
||||
await URLConf.checkHost();
|
||||
} catch (e) {
|
||||
@ -77,4 +89,18 @@ class SplashUI extends HookConsumerWidget {
|
||||
if (!context.mounted) return;
|
||||
context.go("/index");
|
||||
}
|
||||
|
||||
_showAlert(BuildContext context, Box<dynamic> appConf) async {
|
||||
final userOk = await showConfirmDialogs(
|
||||
context,
|
||||
S.current.app_splash_dialog_u_a_p_p,
|
||||
MarkdownWidget(data: S.current.app_splash_dialog_u_a_p_p_content),
|
||||
constraints:
|
||||
BoxConstraints(maxWidth: MediaQuery.of(context).size.width * .5));
|
||||
if (userOk) {
|
||||
await appConf.put("splash_alert_info_version", _alertInfoVersion);
|
||||
} else {
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -6,7 +6,7 @@ part of 'tools_ui_model.dart';
|
||||
// RiverpodGenerator
|
||||
// **************************************************************************
|
||||
|
||||
String _$toolsUIModelHash() => r'6b4ab0195cc9606202ae5d0dce574735090f486f';
|
||||
String _$toolsUIModelHash() => r'e96ded635df8f59fb93d92f8dac337c44482dc1c';
|
||||
|
||||
/// See also [ToolsUIModel].
|
||||
@ProviderFor(ToolsUIModel)
|
||||
|
Loading…
Reference in New Issue
Block a user