feat(mobile-next): 导入官方 openim-flutter-demo 固定基线 3.8.3-patch.3 并完成双构建
- 上游: github.com/OpenIMSDK/openim-flutter-demo tag 3.8.3-patch.3 commit b3dfdb1e8aaeaaf6f0793e10cadd20d5c184a31f - 并行目录 mobile-next/ 原样导入(含 LICENSE),不覆盖现网 mobile/ - 锁定 Flutter 3.24.5 / Dart 3.5.4 / JDK 17 / Gradle 7.6.3 / AGP 7.3.1 - 实测 Android debug 与 release 构建均成功(见 docs/mobile-next-baseline-import.md) - 本提交可单独回退:git revert 1db1229(重写前) Co-authored-by: multica-agent <github@multica.ai>
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
import 'dart:convert';
|
||||
|
||||
class UpgradeInfoV2 {
|
||||
String? buildBuildVersion;
|
||||
String? forceUpdateVersion;
|
||||
String? forceUpdateVersionNo;
|
||||
bool? needForceUpdate;
|
||||
String? downloadURL;
|
||||
bool? buildHaveNewVersion;
|
||||
String? buildVersionNo;
|
||||
String? buildVersion;
|
||||
String? buildUpdateDescription;
|
||||
String? appKey;
|
||||
String? buildKey;
|
||||
String? buildName;
|
||||
String? buildIcon;
|
||||
String? buildFileKey;
|
||||
String? buildFileSize;
|
||||
String? appURl;
|
||||
|
||||
UpgradeInfoV2({
|
||||
this.buildBuildVersion,
|
||||
this.forceUpdateVersion,
|
||||
this.forceUpdateVersionNo,
|
||||
this.needForceUpdate,
|
||||
this.downloadURL,
|
||||
this.buildHaveNewVersion,
|
||||
this.buildVersionNo,
|
||||
this.buildVersion,
|
||||
this.buildUpdateDescription,
|
||||
this.appKey,
|
||||
this.buildKey,
|
||||
this.buildName,
|
||||
this.buildIcon,
|
||||
this.buildFileKey,
|
||||
this.buildFileSize,
|
||||
this.appURl,
|
||||
});
|
||||
|
||||
UpgradeInfoV2.fromJson(Map<String, dynamic> json) {
|
||||
buildBuildVersion = json['buildBuildVersion'];
|
||||
forceUpdateVersion = json['forceUpdateVersion'];
|
||||
forceUpdateVersionNo = json['forceUpdateVersionNo'];
|
||||
needForceUpdate = json['needForceUpdate'];
|
||||
downloadURL = json['downloadURL'];
|
||||
buildHaveNewVersion = json['buildHaveNewVersion'];
|
||||
buildVersionNo = json['buildVersionNo'];
|
||||
buildVersion = json['buildVersion'];
|
||||
buildUpdateDescription = json['buildUpdateDescription'];
|
||||
appKey = json['appKey'];
|
||||
buildKey = json['buildKey'];
|
||||
buildName = json['buildName'];
|
||||
buildIcon = json['buildIcon'];
|
||||
buildFileKey = json['buildFileKey'];
|
||||
buildFileSize = json['buildFileSize'];
|
||||
appURl = json['appURl'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = <String, dynamic>{};
|
||||
data['buildBuildVersion'] = buildBuildVersion;
|
||||
data['forceUpdateVersion'] = forceUpdateVersion;
|
||||
data['forceUpdateVersionNo'] = forceUpdateVersionNo;
|
||||
data['needForceUpdate'] = needForceUpdate;
|
||||
data['downloadURL'] = downloadURL;
|
||||
data['buildHaveNewVersion'] = buildHaveNewVersion;
|
||||
data['buildVersionNo'] = buildVersionNo;
|
||||
data['buildVersion'] = buildVersion;
|
||||
data['buildUpdateDescription'] = buildUpdateDescription;
|
||||
data['appKey'] = appKey;
|
||||
data['buildKey'] = buildKey;
|
||||
data['buildName'] = buildName;
|
||||
data['buildIcon'] = buildIcon;
|
||||
data['buildFileKey'] = buildFileKey;
|
||||
data['buildFileSize'] = buildFileSize;
|
||||
data['appURl'] = appURl;
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return jsonEncode(this);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user