ops-console v1.0.2 (versionCode 8) 源码入库

This commit is contained in:
txh
2026-09-03 18:01:05 +08:00
commit 685fff27c8
170 changed files with 53049 additions and 0 deletions

View File

@@ -0,0 +1,55 @@
/// 主题模板(对应 web 后台 /theme/themetemplate/* 接口)。
///
/// 用于门店表单中「主题皮肤」选择;门店的 themeId 通常即为模板 id。
class ThemeTemplate {
const ThemeTemplate({
required this.id,
required this.name,
this.description,
this.coverUrl,
this.status = 'ENABLED',
});
/// 模板 ID(对应门店 themeId)。
final String id;
/// 模板名称。
final String name;
/// 模板描述。
final String? description;
/// 封面预览图 URL。
final String? coverUrl;
/// 状态:ENABLED / DISABLED。
final String status;
factory ThemeTemplate.fromJson(Map<String, dynamic> json) {
return ThemeTemplate(
id: json['id']?.toString() ??
json['templateId']?.toString() ??
json['themeTemplateId']?.toString() ??
'',
name: json['name']?.toString() ??
json['templateName']?.toString() ??
'',
description: json['description']?.toString(),
coverUrl: json['coverUrl']?.toString() ??
json['cover_url']?.toString(),
status: json['status']?.toString() ?? 'ENABLED',
);
}
Map<String, dynamic> toJson() {
return {
'id': id,
'name': name,
if (description != null) 'description': description,
if (coverUrl != null) 'coverUrl': coverUrl,
'status': status,
};
}
bool get isEnabled => status.toUpperCase() == 'ENABLED';
}