Browse Source

同步Server最新接口

loki.wu 2 years ago
parent
commit
37f41a1365
3 changed files with 37 additions and 2 deletions
  1. 4 2
      lib/services/login.dart
  2. 29 0
      lib/services/login.m.dart
  3. 4 0
      lib/services/other.m.dart

+ 4 - 2
lib/services/login.dart

@@ -24,6 +24,7 @@ class LoginService extends JsonRpcClientBase {
 		FJsonConvert.setDecoder((map) => LoginResult.fromJson(map));
 		FJsonConvert.setDecoder((map) => StartAssociatedWithAccountResult.fromJson(map));
 		FJsonConvert.setDecoder((map) => GetAssociatedAccountInfoResult.fromJson(map));
+		FJsonConvert.setDecoder((map) => GetScanCodeResult.fromJson(map));
 		FJsonConvert.setDecoder((map) => CheckConfirmScanStateResult.fromJson(map));
 	}
 
@@ -105,9 +106,10 @@ class LoginService extends JsonRpcClientBase {
 		return result;
 	}
 
-	Future<String> getScanCodeAsync(GetScanCodeRequest request) async {
+	Future<GetScanCodeResult> getScanCodeAsync(GetScanCodeRequest request) async {
 		var rpcRst = await call("GetScanCodeAsync", request);
-		return rpcRst;
+		var result = GetScanCodeResult.fromJson(rpcRst as Map<String, dynamic>);
+		return result;
 	}
 
 	Future<bool> confirmScanAsync(ConfirmScanRequest request) async {

+ 29 - 0
lib/services/login.m.dart

@@ -550,6 +550,31 @@ class GetAssociatedAccountInfoRequest extends TokenRequest{
 	}
 }
 
+class GetScanCodeResult {
+	int validSeconds;
+	String? scanCode;
+
+	GetScanCodeResult({
+		this.validSeconds = 0,
+		this.scanCode,
+	});
+
+	factory GetScanCodeResult.fromJson(Map<String, dynamic> map) {
+		return GetScanCodeResult( 
+			validSeconds: map['ValidSeconds'],
+			scanCode: map['ScanCode'],
+		);
+	}
+
+	Map<String, dynamic> toJson() {
+		final map = Map<String, dynamic>();
+		map['ValidSeconds'] = validSeconds;
+		if(scanCode != null)
+			map['ScanCode'] = scanCode;
+		return map;
+	}
+}
+
 enum ScanLoginSource {
 	PC,
 	Web,
@@ -558,16 +583,19 @@ enum ScanLoginSource {
 
 class GetScanCodeRequest {
 	ScanLoginSource scanLoginSource;
+	Platform platform;
 	String? installVersion;
 
 	GetScanCodeRequest({
 		this.scanLoginSource = ScanLoginSource.PC,
+		this.platform = Platform.Windows,
 		this.installVersion,
 	});
 
 	factory GetScanCodeRequest.fromJson(Map<String, dynamic> map) {
 		return GetScanCodeRequest( 
 			scanLoginSource: ScanLoginSource.values.firstWhere((e) => e.index == map['ScanLoginSource']),
+			platform: Platform.values.firstWhere((e) => e.index == map['Platform']),
 			installVersion: map['InstallVersion'],
 		);
 	}
@@ -575,6 +603,7 @@ class GetScanCodeRequest {
 	Map<String, dynamic> toJson() {
 		final map = Map<String, dynamic>();
 		map['ScanLoginSource'] = scanLoginSource.index;
+		map['Platform'] = platform.index;
 		if(installVersion != null)
 			map['InstallVersion'] = installVersion;
 		return map;

+ 4 - 0
lib/services/other.m.dart

@@ -9434,6 +9434,7 @@ enum ArrowOrientation {
 class UserScanInfo {
 	String? scanCode;
 	ScanLoginSource scanLoginSource;
+	Platform platform;
 	DateTime? createTime;
 	DateTime? expireTime;
 	String? installVersion;
@@ -9442,6 +9443,7 @@ class UserScanInfo {
 	UserScanInfo({
 		this.scanCode,
 		this.scanLoginSource = ScanLoginSource.PC,
+		this.platform = Platform.Windows,
 		this.createTime,
 		this.expireTime,
 		this.installVersion,
@@ -9452,6 +9454,7 @@ class UserScanInfo {
 		return UserScanInfo( 
 			scanCode: map['ScanCode'],
 			scanLoginSource: ScanLoginSource.values.firstWhere((e) => e.index == map['ScanLoginSource']),
+			platform: Platform.values.firstWhere((e) => e.index == map['Platform']),
 			createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
 			expireTime: map['ExpireTime'] != null ? DateTime.parse(map['ExpireTime']) : null,
 			installVersion: map['InstallVersion'],
@@ -9464,6 +9467,7 @@ class UserScanInfo {
 		if(scanCode != null)
 			map['ScanCode'] = scanCode;
 		map['ScanLoginSource'] = scanLoginSource.index;
+		map['Platform'] = platform.index;
 		if(createTime != null)
 			map['CreateTime'] = JsonRpcUtils.dateFormat(createTime!);
 		if(expireTime != null)