feat:新增注释

This commit is contained in:
TangJo 2026-03-26 10:23:24 +08:00
parent c08d5b58eb
commit 42d12212e4
1 changed files with 40 additions and 1 deletions

View File

@ -29,6 +29,7 @@ class ShellUpgradeReleaseConfig {
); );
} }
/// Map `data.config.upgrade` JSON
static ShellUpgradeReleaseConfig? fromDynamic(dynamic value) { static ShellUpgradeReleaseConfig? fromDynamic(dynamic value) {
if (value == null) { if (value == null) {
return null; return null;
@ -67,7 +68,12 @@ class ShellUpgradeReleaseConfig {
} }
} }
/// JSON /// JSON
///
///
/// 1. `success/code/msg/data`
/// 2. `data.config` JSON
/// 3. `data.config` `upgrade` `config`
class ShellUpgradeConfig { class ShellUpgradeConfig {
final bool? success; final bool? success;
final String? responseCode; final String? responseCode;
@ -132,6 +138,10 @@ class ShellUpgradeConfig {
bool get hasStructuredPayload => upgrade != null || config != null; bool get hasStructuredPayload => upgrade != null || config != null;
/// 使 `upgrade.version` buildNumber
///
/// `true`
///
bool shouldOfferUpgrade({required int localVersion}) { bool shouldOfferUpgrade({required int localVersion}) {
final remoteVersion = upgrade?.version; final remoteVersion = upgrade?.version;
if (remoteVersion == null) { if (remoteVersion == null) {
@ -140,6 +150,9 @@ class ShellUpgradeConfig {
return remoteVersion > localVersion; return remoteVersion > localVersion;
} }
/// `data.config`
/// - `upgrade`
/// - `config` initialUrl / preferredOrientations
factory ShellUpgradeConfig.fromJson(Map<String, dynamic> json) { factory ShellUpgradeConfig.fromJson(Map<String, dynamic> json) {
final data = json['data']; final data = json['data'];
final dataMap = data is Map<String, dynamic> final dataMap = data is Map<String, dynamic>
@ -227,6 +240,7 @@ bool? _readShellUpgradeBool(dynamic value) {
return null; return null;
} }
/// `data.config` JSON
Map<String, dynamic>? _readShellUpgradeEmbeddedConfig(String? value) { Map<String, dynamic>? _readShellUpgradeEmbeddedConfig(String? value) {
if (value == null || value.isEmpty) { if (value == null || value.isEmpty) {
return null; return null;
@ -255,11 +269,17 @@ class ShellUpgradeService {
Future<int?> Function()? _localBuildNumberResolver; Future<int?> Function()? _localBuildNumberResolver;
/// ///
///
/// URL
void setupConfigUrl(String? configUrl) { void setupConfigUrl(String? configUrl) {
_configUrl = configUrl?.trim(); _configUrl = configUrl?.trim();
} }
/// ///
///
/// +
/// `initialUrl``preferredOrientations`
/// `core_app.dart` reload
Future<void> checkVersion( Future<void> checkVersion(
BuildContext context, { BuildContext context, {
bool showNoUpdateToast = false, bool showNoUpdateToast = false,
@ -292,11 +312,16 @@ class ShellUpgradeService {
ShellUpgradeConfig remoteConfig, ShellUpgradeConfig remoteConfig,
) { ) {
return (int upType) async { return (int upType) async {
//
//
final upgradeVersion = _convertToAppUpgradeVersion(remoteConfig); final upgradeVersion = _convertToAppUpgradeVersion(remoteConfig);
if (upgradeVersion == null) { if (upgradeVersion == null) {
return null; return null;
} }
// WebShell
//
// buildNumber 退
final localBuildNumber = await _resolveLocalBuildNumber(); final localBuildNumber = await _resolveLocalBuildNumber();
if (localBuildNumber == null) { if (localBuildNumber == null) {
debugPrint('获取 WebShell 本地版本号失败,回退到升级插件内部版本比较'); debugPrint('获取 WebShell 本地版本号失败,回退到升级插件内部版本比较');
@ -312,6 +337,7 @@ class ShellUpgradeService {
}; };
} }
/// 使 resolver退 buildNumber
Future<int?> _resolveLocalBuildNumber() async { Future<int?> _resolveLocalBuildNumber() async {
final resolver = _localBuildNumberResolver; final resolver = _localBuildNumberResolver;
if (resolver != null) { if (resolver != null) {
@ -332,6 +358,7 @@ class ShellUpgradeService {
_localBuildNumberResolver = resolver; _localBuildNumberResolver = resolver;
} }
/// JSON
Future<ShellUpgradeConfig?> _fetchConfig(String url) async { Future<ShellUpgradeConfig?> _fetchConfig(String url) async {
try { try {
final uri = Uri.tryParse(url); final uri = Uri.tryParse(url);
@ -352,6 +379,10 @@ class ShellUpgradeService {
} }
} }
///
///
/// `upgrade` `config`
///
ShellUpgradeConfig? _parseConfigString(String content) { ShellUpgradeConfig? _parseConfigString(String content) {
try { try {
final dynamic jsonMap = jsonDecode(content); final dynamic jsonMap = jsonDecode(content);
@ -372,6 +403,14 @@ class ShellUpgradeService {
} }
/// JSON /// JSON
///
///
/// - `upgrade.versionName` -> `versionName`
/// - `upgrade.version` -> `versionBuildNumber`
/// - `upgrade.isForce` -> `isForce`
/// - `describe/upgrade.remark` -> `updateContent`
/// - `installOssUrl/upgrade.filePath` ->
/// - `upgrade.fileSize`(KB) -> `apkSize`(Byte)
AppUpgradeVersion? _convertToAppUpgradeVersion(ShellUpgradeConfig config) { AppUpgradeVersion? _convertToAppUpgradeVersion(ShellUpgradeConfig config) {
if (config.version == null || config.versionName == null) { if (config.version == null || config.versionName == null) {
return null; return null;