feat:app版本管理

This commit is contained in:
dzc committed 2026-01-29 16:02:41 +08:00
1 parent 393c6b63a5
commit aea52e482e
11 files changed
+240 -19

No files matched your search

+73
View File
@@ -0,0 +1,73 @@
import 'package:json_annotation/json_annotation.dart';
import 'package:pj_supermarket_cloud/common/index.dart';
part 'app_api_models.g.dart';
@JsonSerializable()
class ServiceAppVersion {
/// 唯一标识符
final String? id;
/// app唯一编码
final String? appUniqueCode;
/// 平台
final String? platform;
/// 内部版本号
final int? versionCode;
/// 版本名称
final String? versionName;
/// 更新内容/更新日志
final String? updateContent;
/// 安装包下载地址(wgt、apk)
final String? downloadUrl;
/// 是否强制更新
@JsonKey(fromJson: JsonTool.stringToBoolean, toJson: JsonTool.booleanToString)
final bool? isForce;
/// 是否静默更新(WGT用)
@JsonKey(fromJson: JsonTool.stringToBoolean, toJson: JsonTool.booleanToString)
final bool? isSilent;
/// 状态(已发布、未发布、已下架)
final String? status;
ServiceAppVersion({
this.id,
this.appUniqueCode,
this.platform,
this.versionCode,
this.versionName,
this.updateContent,
this.downloadUrl,
this.isForce,
this.isSilent,
this.status,
});
factory ServiceAppVersion.fromJson(Map<String, dynamic> json) =>
_$ServiceAppVersionFromJson(json);
Map<String, dynamic> toJson() => _$ServiceAppVersionToJson(this);
}
@JsonSerializable()
class ServiceAppVersionPage extends ServicePageBase {
List<ServiceAppVersion>? records;
ServiceAppVersionPage({
this.records,
});
factory ServiceAppVersionPage.fromJson(Map<String, dynamic> json) =>
_$ServiceAppVersionPageFromJson(
json,
);
Map<String, dynamic> toJson() => _$ServiceAppVersionPageToJson(this);
}
@@ -0,0 +1,57 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'app_api_models.dart';
// **************************************************************************
// JsonSerializableGenerator
// **************************************************************************
ServiceAppVersion _$ServiceAppVersionFromJson(Map<String, dynamic> json) =>
ServiceAppVersion(
id: json['id'] as String?,
appUniqueCode: json['appUniqueCode'] as String?,
platform: json['platform'] as String?,
versionCode: (json['versionCode'] as num?)?.toInt(),
versionName: json['versionName'] as String?,
updateContent: json['updateContent'] as String?,
downloadUrl: json['downloadUrl'] as String?,
isForce: JsonTool.stringToBoolean(json['isForce'] as String),
isSilent: JsonTool.stringToBoolean(json['isSilent'] as String),
status: json['status'] as String?,
);
Map<String, dynamic> _$ServiceAppVersionToJson(ServiceAppVersion instance) =>
<String, dynamic>{
'id': instance.id,
'appUniqueCode': instance.appUniqueCode,
'platform': instance.platform,
'versionCode': instance.versionCode,
'versionName': instance.versionName,
'updateContent': instance.updateContent,
'downloadUrl': instance.downloadUrl,
'isForce': JsonTool.booleanToString(instance.isForce),
'isSilent': JsonTool.booleanToString(instance.isSilent),
'status': instance.status,
};
ServiceAppVersionPage _$ServiceAppVersionPageFromJson(
Map<String, dynamic> json) =>
ServiceAppVersionPage(
records: (json['records'] as List<dynamic>?)
?.map((e) => ServiceAppVersion.fromJson(e as Map<String, dynamic>))
.toList(),
)
..current = (json['current'] as num).toInt()
..pages = (json['pages'] as num).toInt()
..size = (json['size'] as num).toInt()
..total = (json['total'] as num).toInt();
Map<String, dynamic> _$ServiceAppVersionPageToJson(
ServiceAppVersionPage instance) =>
<String, dynamic>{
'current': instance.current,
'pages': instance.pages,
'size': instance.size,
'total': instance.total,
'records': instance.records,
};