feat.Hatsune Miku
This commit is contained in:
1 parent
53e078ff91
commit
cd6491cdc5
5 files changed
+166
-51
No files matched your search
+9
-14
@@ -11,7 +11,6 @@ class AppStrings {
|
||||
static const appTitle = 'Project Ichino';
|
||||
static const loginSubtitle = '扫描或输入二维码进行登录';
|
||||
static const qrCodeToken = 'QR Code 令牌';
|
||||
static const qrHint = '粘贴二维码解析内容...';
|
||||
static const qrParsedResult = '解析结果(截取后 64 位)';
|
||||
static const uploadQR = '上传二维码';
|
||||
static const login = '登录';
|
||||
@@ -124,33 +123,29 @@ class AppStrings {
|
||||
static const machineSettings = '机器信息';
|
||||
static const save = '保存';
|
||||
static const labelTitleServerUrl = 'Title Server URL';
|
||||
static const hintTitleServerUrl = 'https://maimai-gm.wahlap.com:42081/Maimai2Servlet/';
|
||||
static const labelAesKey = 'AES Key';
|
||||
static const hintAesKey = 'your aes key string';
|
||||
static const labelAesIv = 'AES IV';
|
||||
static const hintAesIv = 'your aes iv string';
|
||||
static const labelClientId = 'Client ID';
|
||||
static const hintClientId = 'A63E01C2805';
|
||||
static const labelRegionId = 'Region ID';
|
||||
static const hintRegionId = '1';
|
||||
static const labelPlaceId = 'Place ID';
|
||||
static const hintPlaceId = '1403';
|
||||
static const labelObfuscateParam = 'Obfuscate Param';
|
||||
static const hintObfuscateParam = 'LatuAa81';
|
||||
static const labelApiVersion = 'API Version (Mai-Encoding)';
|
||||
static const hintApiVersion = '1.53';
|
||||
static const labelRegionName = 'Region 名称';
|
||||
static const hintRegionName = '北京';
|
||||
static const labelPlaceName = 'Place 名称';
|
||||
static const hintPlaceName = '插电师北京王府井银泰店';
|
||||
static const labelKeychipId = 'Keychip ID';
|
||||
static const hintKeychipId = 'A63E-01C28055905';
|
||||
static const labelAimeUrl = 'Aime URL';
|
||||
static const hintAimeUrl = 'http://ai.sys-allnet.cn/wc_aime/api/get_data';
|
||||
static const labelAimeSalt = 'Aime Salt';
|
||||
static const hintAimeSalt = 'API Key 派生用 Salt';
|
||||
static String fieldRequired(String label) => '$label 不能为空';
|
||||
|
||||
// Config Export/Import
|
||||
static const configExportImport = '配置导入/导出';
|
||||
static const exportConfig = '导出当前配置';
|
||||
static const importConfig = '从剪贴板导入配置';
|
||||
static const exportSuccess = '配置已导出到剪贴板 (Base64)';
|
||||
static const importSuccess = '配置已导入并保存';
|
||||
static const importFailed = '导入失败:剪贴板内容无效';
|
||||
static const noConfigToExport = '没有可导出的配置';
|
||||
|
||||
// About
|
||||
static const aboutTitle = 'Project Ichino';
|
||||
static const aboutDesc = '基于 QR Code 的 maimai DX 街机网络登录客户端。';
|
||||
|
||||
@@ -22,18 +22,18 @@ class TitleServerConfig {
|
||||
required this.titleServerUrl,
|
||||
required this.aesKey,
|
||||
required this.aesIv,
|
||||
this.obfuscateParam = 'LatuAa81',
|
||||
this.apiVersion = '1.53',
|
||||
this.obfuscateParam = '',
|
||||
this.apiVersion = '',
|
||||
required this.clientId,
|
||||
this.regionId = 1,
|
||||
this.placeId = 1403,
|
||||
this.regionId = 0,
|
||||
this.placeId = 0,
|
||||
this.regionName = '',
|
||||
this.placeName = '',
|
||||
this.keychipId = '',
|
||||
this.aimeUrl = '',
|
||||
this.aimeSalt = '',
|
||||
String? openGameID,
|
||||
}) : openGameID = openGameID ?? 'MAID';
|
||||
}) : openGameID = openGameID ?? '';
|
||||
|
||||
List<int> get aesKeyBytes => utf8.encode(aesKey);
|
||||
List<int> get aesIvBytes => utf8.encode(aesIv);
|
||||
@@ -60,17 +60,17 @@ class TitleServerConfig {
|
||||
titleServerUrl: json['titleServerUrl'] as String? ?? '',
|
||||
aesKey: json['aesKey'] as String? ?? '',
|
||||
aesIv: json['aesIv'] as String? ?? '',
|
||||
obfuscateParam: json['obfuscateParam'] as String? ?? 'LatuAa81',
|
||||
apiVersion: json['apiVersion'] as String? ?? '1.53',
|
||||
obfuscateParam: json['obfuscateParam'] as String? ?? '',
|
||||
apiVersion: json['apiVersion'] as String? ?? '',
|
||||
clientId: json['clientId'] as String? ?? '',
|
||||
regionId: json['regionId'] as int? ?? 1,
|
||||
placeId: json['placeId'] as int? ?? 1403,
|
||||
regionId: json['regionId'] as int? ?? 0,
|
||||
placeId: json['placeId'] as int? ?? 0,
|
||||
regionName: json['regionName'] as String? ?? '',
|
||||
placeName: json['placeName'] as String? ?? '',
|
||||
keychipId: json['keychipId'] as String? ?? '',
|
||||
aimeUrl: json['aimeUrl'] as String? ?? '',
|
||||
aimeSalt: json['aimeSalt'] as String? ?? '',
|
||||
openGameID: json['openGameID'] as String? ?? 'MAID',
|
||||
openGameID: json['openGameID'] as String? ?? '',
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user