add Analytics

This commit is contained in:
2023-10-30 20:39:31 +08:00
parent 1d017e5ef2
commit cebe74d972
7 changed files with 53 additions and 8 deletions

View File

@ -2,6 +2,7 @@ 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';
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:url_launcher/url_launcher_string.dart';
@ -106,7 +107,8 @@ class HomeUI extends BaseUI<HomeUIModel> {
webURL: "https://robertsspaceindustries.com",
info: "罗伯茨航天工业公司,万物的起源",
useLocalization: true,
width: width),
width: width,
touchKey: "webLocalization_rsi"),
const SizedBox(height: 12),
makeWebViewButton(model,
icon: Row(
@ -123,7 +125,8 @@ class HomeUI extends BaseUI<HomeUIModel> {
webURL: "https://uexcorp.space",
info: "采矿、精炼、贸易计算器、价格、船信息",
useLocalization: true,
width: width),
width: width,
touchKey: "webLocalization_uex"),
const SizedBox(height: 12),
makeWebViewButton(model,
icon: Row(
@ -140,7 +143,8 @@ class HomeUI extends BaseUI<HomeUIModel> {
webURL: "https://www.erkul.games/live/calculator",
info: "在线改船,查询伤害数值和配件购买地点",
useLocalization: true,
width: width),
width: width,
touchKey: "webLocalization_dps"),
const SizedBox(height: 12),
const Text("外部浏览器拓展:"),
const SizedBox(height: 8),
@ -589,7 +593,8 @@ class HomeUI extends BaseUI<HomeUIModel> {
required String webURL,
required bool useLocalization,
required double width,
String? info}) {
String? info,
String? touchKey}) {
return Container(
width: width,
decoration: BoxDecoration(
@ -622,8 +627,12 @@ class HomeUI extends BaseUI<HomeUIModel> {
)
],
),
onPressed: () =>
model.goWebView(webTitle, webURL, useLocalization: true)),
onPressed: () {
if (touchKey != null) {
AnalyticsApi.touch(touchKey);
}
model.goWebView(webTitle, webURL, useLocalization: true);
}),
),
);
}

View File

@ -5,6 +5,7 @@ import 'dart:io';
import 'package:desktop_webview_window/desktop_webview_window.dart';
import 'package:dio/dio.dart';
import 'package:hive/hive.dart';
import 'package:starcitizen_doctor/api/analytics.dart';
import 'package:starcitizen_doctor/api/api.dart';
import 'package:starcitizen_doctor/base/ui_model.dart';
import 'package:starcitizen_doctor/common/conf.dart';
@ -131,6 +132,7 @@ class HomeUIModel extends BaseUIModel {
lastScreenInfo = "扫描完毕,共找到 ${scInstallPaths.length} 个有效安装目录";
} catch (e) {
lastScreenInfo = "解析 log 文件失败!";
AnalyticsApi.touch("error_launchLogs");
showToast(context!,
"解析 log 文件失败! \n请关闭游戏退出RSI启动器后重试若仍有问题请使用工具箱中的 RSI Launcher log 修复。");
}
@ -369,6 +371,7 @@ class HomeUIModel extends BaseUIModel {
showToast(context!, "该功能需要一个有效的安装位置");
return;
}
AnalyticsApi.touch("performance_launch");
BaseUIContainer(
uiCreate: () => PerformanceUI(),
modelCreate: () => PerformanceUIModel(scInstalledPath))
@ -414,7 +417,7 @@ class HomeUIModel extends BaseUIModel {
if (skip != tipVersion) {
final ok = await showConfirmDialogs(
context!,
"星际公民网汉化",
"星际公民网汉化",
const Text(
"本插功能件仅供大致浏览使用,不对任何有关本功能产生的问题负责!在涉及账号操作前请注意确认网站的原本内容!"
"\n\n\n使用此功能登录账号时请确保您的 星际公民盒子 是从可信任的来源下载。",
@ -482,6 +485,7 @@ class HomeUIModel extends BaseUIModel {
await Process.run("powershell.exe", ["ps \"StarCitizen\" | kill"]);
return;
}
AnalyticsApi.touch("gameLaunch");
showDialog(
context: context!,
dismissWithEsc: false,

View File

@ -4,6 +4,7 @@ import 'dart:io';
import 'package:archive/archive_io.dart';
import 'package:dio/dio.dart';
import 'package:flutter/foundation.dart';
import 'package:starcitizen_doctor/api/analytics.dart';
import 'package:starcitizen_doctor/api/api.dart';
import 'package:starcitizen_doctor/base/ui_model.dart';
import 'package:starcitizen_doctor/common/conf.dart';
@ -128,6 +129,7 @@ class LocalizationUIModel extends BaseUIModel {
VoidCallback? doRemoteInstall(ScLocalizationData value) {
return () async {
AnalyticsApi.touch("install_localization");
final downloadUrl =
"${AppConf.gitlabLocalizationUrl}/-/archive/${value.versionName}/LocalizationData-${value.versionName}.tar.bz2";
final savePath =

View File

@ -3,6 +3,7 @@ import 'dart:io';
import 'package:flutter/services.dart';
import 'package:hive/hive.dart';
import 'package:starcitizen_doctor/api/analytics.dart';
import 'package:starcitizen_doctor/base/ui_model.dart';
import 'package:starcitizen_doctor/common/helper/log_helper.dart';
import 'package:starcitizen_doctor/data/game_performance_data.dart';
@ -94,6 +95,7 @@ class PerformanceUIModel extends BaseUIModel {
applyProfile(bool cleanShader) async {
if (performanceMap == null) return;
AnalyticsApi.touch("performance_apply");
workingString = "生成配置文件";
notifyListeners();
String conf = "";

View File

@ -1,5 +1,6 @@
import 'dart:io';
import 'package:starcitizen_doctor/api/analytics.dart';
import 'package:starcitizen_doctor/base/ui_model.dart';
import 'package:starcitizen_doctor/global_ui_model.dart';
import 'package:starcitizen_doctor/ui/about/about_ui_model.dart';
@ -58,6 +59,7 @@ class IndexUIModel extends BaseUIModel {
await showToast(context!, "运行环境出错,请检查系统环境变量 PATH");
await launchUrlString(
"https://answers.microsoft.com/zh-hans/windows/forum/all/%E7%B3%BB%E7%BB%9F%E7%8E%AF%E5%A2%83%E5%8F%98/b88369e6-2620-4a77-b07a-d0af50894a07");
await AnalyticsApi.touch("error_powershell");
exit(0);
}