迁移至自建服务

This commit is contained in:
xkeyC 2023-12-05 21:26:46 +08:00
parent 1e53bf3d1a
commit 1decb4c8a3
8 changed files with 35 additions and 46 deletions

View File

@ -37,7 +37,7 @@ class Api {
static Future<Map<String, dynamic>> getAppReleaseDataByVersionName( static Future<Map<String, dynamic>> getAppReleaseDataByVersionName(
String version) async { String version) async {
final r = await dio final r = await dio
.get("${AppConf.gitlabApiPath}/projects/152243/releases/$version"); .get("${AppConf.gitlabApiPath}/repos/SCToolBox/Release/releases/tags/$version");
return r.data; return r.data;
} }

View File

@ -18,30 +18,33 @@ import 'package:window_manager/window_manager.dart';
import '../base/ui.dart'; import '../base/ui.dart';
class AppConf { class AppConf {
static const String appVersion = "2.9.22 Beta"; static const String appVersion = "2.9.23-1 Beta";
static const int appVersionCode = 33; static const int appVersionCode = 32;
static const String appVersionDate = "2023-11-30"; static const String appVersionDate = "2023-12-05";
static const String gitlabHomeUrl = static const String giteaAttachmentsUrl =
"https://jihulab.com/StarCitizenCN_Community/StarCitizenDoctor"; "https://git.sctoolbox.sccsgo.com/SCToolBox/Release";
static const String gitlabLocalizationUrl = static const String gitlabLocalizationUrl =
"https://jihulab.com/StarCitizenCN_Community/LocalizationData"; "https://git.sctoolbox.sccsgo.com/SCToolBox/LocalizationData";
static const String apiRepoPath = static const String apiRepoPath =
"https://jihulab.com/StarCitizenCN_Community/api/-/raw/main/"; "https://git.sctoolbox.sccsgo.com/SCToolBox/api/raw/branch/main/";
static const String gitlabApiPath = "https://jihulab.com/api/v4/";
static const String gitlabApiPath =
"https://git.sctoolbox.sccsgo.com/api/v1/";
static const String webTranslateHomeUrl = static const String webTranslateHomeUrl =
"https://jihulab.com/StarCitizenCN_Community/scweb_chinese_translate/-/raw/main/json/locales"; "https://git.sctoolbox.sccsgo.com/SCToolBox/ScWeb_Chinese_Translate/raw/branch/main/json/locales";
static const String xkeycApiUrl = "https://sctoolbox.xkeyc.com"; static const String xkeycApiUrl = "https://sctoolbox.xkeyc.com";
static const rssVideoUrl = static const _rssHomeUrl = "https://rss.sctoolbox.sccsgo.com";
"https://rss.42kit.com/bilibili/user/channel/27976358/290653";
static const rssTextUrl1 = static const rssVideoUrl =
"https://rss.42kit.com/bilibili/user/article/40102960"; "$_rssHomeUrl/bilibili/user/channel/27976358/290653";
static const rssTextUrl1 = "$_rssHomeUrl/bilibili/user/article/40102960";
static const rssTextUrl2 = static const rssTextUrl2 =
"https://rss.42kit.com/baidu/tieba/user/%E7%81%AC%E7%81%ACG%E7%81%AC%E7%81%AC&"; "$_rssHomeUrl/baidu/tieba/user/%E7%81%AC%E7%81%ACG%E7%81%AC%E7%81%AC&";
static late final String applicationSupportDir; static late final String applicationSupportDir;

View File

@ -1,17 +0,0 @@
import 'package:grpc/grpc.dart';
import 'package:starcitizen_doctor/common/conf.dart';
class GrpcClient {
static final channel = ClientChannel(
'grpc.sctoolbox.xkeyc.com',
port: 8439,
options: ChannelOptions(
credentials: ChannelCredentials.secure(
certificates: AppConf.certData,
authority: 'grpc.sctoolbox.fake.bilibili.com',
),
codecRegistry:
CodecRegistry(codecs: const [GzipCodec(), IdentityCodec()]),
),
);
}

View File

@ -174,6 +174,7 @@ class HomeUIModel extends BaseUIModel {
final t = await RSSApi.getRssText(); final t = await RSSApi.getRssText();
rssTextItems = t; rssTextItems = t;
notifyListeners(); notifyListeners();
dPrint("RSS update Success !");
} }
VoidCallback? doCheck() { VoidCallback? doCheck() {

View File

@ -132,7 +132,7 @@ class LocalizationUIModel extends BaseUIModel {
return () async { return () async {
AnalyticsApi.touch("install_localization"); AnalyticsApi.touch("install_localization");
final downloadUrl = final downloadUrl =
"${AppConf.gitlabLocalizationUrl}/-/archive/${value.versionName}/LocalizationData-${value.versionName}.tar.bz2"; "${AppConf.gitlabLocalizationUrl}/archive/${value.versionName}.tar.gz";
final savePath = final savePath =
File("${downloadDir.absolute.path}\\${value.versionName}.sclang"); File("${downloadDir.absolute.path}\\${value.versionName}.sclang");
try { try {
@ -284,7 +284,7 @@ class LocalizationUIModel extends BaseUIModel {
static StringBuffer _readArchive(String savePath) { static StringBuffer _readArchive(String savePath) {
final inputStream = InputFileStream(savePath); final inputStream = InputFileStream(savePath);
final archive = final archive =
TarDecoder().decodeBytes(BZip2Decoder().decodeBuffer(inputStream)); TarDecoder().decodeBytes(GZipDecoder().decodeBuffer(inputStream));
StringBuffer globalIni = StringBuffer(""); StringBuffer globalIni = StringBuffer("");
for (var element in archive.files) { for (var element in archive.files) {
if (element.name.contains("global.ini")) { if (element.name.contains("global.ini")) {

View File

@ -34,7 +34,8 @@ class UpgradeDialogUI extends BaseUI<UpgradeDialogUIModel> {
), ),
) )
] else ] else
...makeMarkdownView(model.description!), ...makeMarkdownView(model.description!,
attachmentsUrl: AppConf.giteaAttachmentsUrl),
], ],
), ),
), ),

View File

@ -24,12 +24,11 @@ class UpgradeDialogUIModel extends BaseUIModel {
? AppConf.networkVersionData!.mSELastVersion! ? AppConf.networkVersionData!.mSELastVersion!
: AppConf.networkVersionData!.lastVersion!; : AppConf.networkVersionData!.lastVersion!;
final r = await Api.getAppReleaseDataByVersionName(targetVersion); final r = await Api.getAppReleaseDataByVersionName(targetVersion);
description = r["description"]; description = r["body"];
final assetsLinks = List.of(r["assets"]?["links"] ?? []); final assets = List.of(r["assets"] ?? []);
for (var link in assetsLinks) { for (var asset in assets) {
if (link["name"].toString().contains("SETUP.exe")) { if (asset["name"].toString().endsWith("SETUP.exe")) {
downloadUrl = link["direct_asset_url"]; downloadUrl = asset["browser_download_url"];
break;
} }
} }
notifyListeners(); notifyListeners();

View File

@ -3,7 +3,6 @@ import 'dart:ui' as ui;
import 'package:markdown_widget/config/all.dart'; import 'package:markdown_widget/config/all.dart';
import 'package:markdown_widget/widget/all.dart'; import 'package:markdown_widget/widget/all.dart';
import 'package:starcitizen_doctor/common/conf.dart';
import 'package:url_launcher/url_launcher_string.dart'; import 'package:url_launcher/url_launcher_string.dart';
import '../base/ui.dart'; import '../base/ui.dart';
@ -59,16 +58,19 @@ fastPadding(
child: child); child: child);
} }
List<Widget> makeMarkdownView(String description) { List<Widget> makeMarkdownView(String description, {String? attachmentsUrl}) {
return MarkdownGenerator().buildWidgets(description, return MarkdownGenerator().buildWidgets(description,
config: MarkdownConfig(configs: [ config: MarkdownConfig(configs: [
LinkConfig(onTap: (url) { LinkConfig(onTap: (url) {
if (url.startsWith("/")) { if (url.startsWith("/") && attachmentsUrl != null) {
url = "${AppConf.gitlabHomeUrl}/$url"; url = "$attachmentsUrl/$url";
} }
launchUrlString(url); launchUrlString(url);
}), }),
ImgConfig(builder: (String url, Map<String, String> attributes) { ImgConfig(builder: (String url, Map<String, String> attributes) {
if (url.startsWith("/") && attachmentsUrl != null) {
url = "$attachmentsUrl/$url";
}
return ExtendedImage.network( return ExtendedImage.network(
url, url,
loadStateChanged: (ExtendedImageState state) { loadStateChanged: (ExtendedImageState state) {
@ -93,7 +95,7 @@ List<Widget> makeMarkdownView(String description) {
image: state.extendedImageInfo?.image, image: state.extendedImageInfo?.image,
); );
case LoadState.failed: case LoadState.failed:
return const Text("Loading Image error"); return Text("Loading Image error $url");
} }
}, },
); );