Commit 166511ee9dd852ffd46eae47f9aca114d7af7c25

Authored by 权海
1 parent 853b626c

feat(ui):主题接口增加url的传输

... ... @@ -125,12 +125,16 @@ data class WatchTransformTheme (
val themeName: String,
val energeticDescription: String,
val energeticImage: ByteArray? = null,
val energeticImageUrl: String? = null,
val normalDescription: String,
val normalImage: ByteArray? = null,
val normalImageUrl: String? = null,
val slightStressfulDescription: String,
val slightStressfulImage: ByteArray? = null,
val slightStressfulImageUrl: String? = null,
val stressfulDescription: String,
val stressfulImage: ByteArray? = null
val stressfulImage: ByteArray? = null,
val stressfulImageUrl: String? = null
)
{
companion object {
... ... @@ -139,13 +143,17 @@ data class WatchTransformTheme (
val themeName = pigeonVar_list[1] as String
val energeticDescription = pigeonVar_list[2] as String
val energeticImage = pigeonVar_list[3] as ByteArray?
val normalDescription = pigeonVar_list[4] as String
val normalImage = pigeonVar_list[5] as ByteArray?
val slightStressfulDescription = pigeonVar_list[6] as String
val slightStressfulImage = pigeonVar_list[7] as ByteArray?
val stressfulDescription = pigeonVar_list[8] as String
val stressfulImage = pigeonVar_list[9] as ByteArray?
return WatchTransformTheme(themeId, themeName, energeticDescription, energeticImage, normalDescription, normalImage, slightStressfulDescription, slightStressfulImage, stressfulDescription, stressfulImage)
val energeticImageUrl = pigeonVar_list[4] as String?
val normalDescription = pigeonVar_list[5] as String
val normalImage = pigeonVar_list[6] as ByteArray?
val normalImageUrl = pigeonVar_list[7] as String?
val slightStressfulDescription = pigeonVar_list[8] as String
val slightStressfulImage = pigeonVar_list[9] as ByteArray?
val slightStressfulImageUrl = pigeonVar_list[10] as String?
val stressfulDescription = pigeonVar_list[11] as String
val stressfulImage = pigeonVar_list[12] as ByteArray?
val stressfulImageUrl = pigeonVar_list[13] as String?
return WatchTransformTheme(themeId, themeName, energeticDescription, energeticImage, energeticImageUrl, normalDescription, normalImage, normalImageUrl, slightStressfulDescription, slightStressfulImage, slightStressfulImageUrl, stressfulDescription, stressfulImage, stressfulImageUrl)
}
}
fun toList(): List<Any?> {
... ... @@ -154,12 +162,16 @@ data class WatchTransformTheme (
themeName,
energeticDescription,
energeticImage,
energeticImageUrl,
normalDescription,
normalImage,
normalImageUrl,
slightStressfulDescription,
slightStressfulImage,
slightStressfulImageUrl,
stressfulDescription,
stressfulImage,
stressfulImageUrl,
)
}
override fun equals(other: Any?): Boolean {
... ...
... ... @@ -159,12 +159,16 @@ struct WatchTransformTheme: Hashable {
var themeName: String
var energeticDescription: String
var energeticImage: FlutterStandardTypedData? = nil
var energeticImageUrl: String? = nil
var normalDescription: String
var normalImage: FlutterStandardTypedData? = nil
var normalImageUrl: String? = nil
var slightStressfulDescription: String
var slightStressfulImage: FlutterStandardTypedData? = nil
var slightStressfulImageUrl: String? = nil
var stressfulDescription: String
var stressfulImage: FlutterStandardTypedData? = nil
var stressfulImageUrl: String? = nil
// swift-format-ignore: AlwaysUseLowerCamelCase
... ... @@ -173,24 +177,32 @@ struct WatchTransformTheme: Hashable {
let themeName = pigeonVar_list[1] as! String
let energeticDescription = pigeonVar_list[2] as! String
let energeticImage: FlutterStandardTypedData? = nilOrValue(pigeonVar_list[3])
let normalDescription = pigeonVar_list[4] as! String
let normalImage: FlutterStandardTypedData? = nilOrValue(pigeonVar_list[5])
let slightStressfulDescription = pigeonVar_list[6] as! String
let slightStressfulImage: FlutterStandardTypedData? = nilOrValue(pigeonVar_list[7])
let stressfulDescription = pigeonVar_list[8] as! String
let stressfulImage: FlutterStandardTypedData? = nilOrValue(pigeonVar_list[9])
let energeticImageUrl: String? = nilOrValue(pigeonVar_list[4])
let normalDescription = pigeonVar_list[5] as! String
let normalImage: FlutterStandardTypedData? = nilOrValue(pigeonVar_list[6])
let normalImageUrl: String? = nilOrValue(pigeonVar_list[7])
let slightStressfulDescription = pigeonVar_list[8] as! String
let slightStressfulImage: FlutterStandardTypedData? = nilOrValue(pigeonVar_list[9])
let slightStressfulImageUrl: String? = nilOrValue(pigeonVar_list[10])
let stressfulDescription = pigeonVar_list[11] as! String
let stressfulImage: FlutterStandardTypedData? = nilOrValue(pigeonVar_list[12])
let stressfulImageUrl: String? = nilOrValue(pigeonVar_list[13])
return WatchTransformTheme(
themeId: themeId,
themeName: themeName,
energeticDescription: energeticDescription,
energeticImage: energeticImage,
energeticImageUrl: energeticImageUrl,
normalDescription: normalDescription,
normalImage: normalImage,
normalImageUrl: normalImageUrl,
slightStressfulDescription: slightStressfulDescription,
slightStressfulImage: slightStressfulImage,
slightStressfulImageUrl: slightStressfulImageUrl,
stressfulDescription: stressfulDescription,
stressfulImage: stressfulImage
stressfulImage: stressfulImage,
stressfulImageUrl: stressfulImageUrl
)
}
func toList() -> [Any?] {
... ... @@ -199,12 +211,16 @@ struct WatchTransformTheme: Hashable {
themeName,
energeticDescription,
energeticImage,
energeticImageUrl,
normalDescription,
normalImage,
normalImageUrl,
slightStressfulDescription,
slightStressfulImage,
slightStressfulImageUrl,
stressfulDescription,
stressfulImage,
stressfulImageUrl,
]
}
static func == (lhs: WatchTransformTheme, rhs: WatchTransformTheme) -> Bool {
... ...
... ... @@ -14,15 +14,29 @@ class WatchThemeSyncPayloadBuilder {
themeName: item.themeName,
energeticDescription: item.energeticDescription,
energeticImage: await _loadImageBytes(item.energeticImage),
energeticImageUrl: _networkImageUrl(item.energeticImage),
normalDescription: item.normalDescription,
normalImage: await _loadImageBytes(item.normalImage),
normalImageUrl: _networkImageUrl(item.normalImage),
slightStressfulDescription: item.slightStressfulDescription,
slightStressfulImage: await _loadImageBytes(item.slightStressfulImage),
slightStressfulImageUrl: _networkImageUrl(item.slightStressfulImage),
stressfulDescription: item.stressfulDescription,
stressfulImage: await _loadImageBytes(item.stressfulImage),
stressfulImageUrl: _networkImageUrl(item.stressfulImage),
);
}
String? _networkImageUrl(String? imagePath) {
final value = imagePath?.trim();
if (value == null || value.isEmpty) return null;
final uri = Uri.tryParse(value);
if (uri == null || (uri.scheme != 'http' && uri.scheme != 'https')) {
return null;
}
return value;
}
Future<Uint8List?> _loadImageBytes(String? imagePath) async {
final value = imagePath?.trim();
if (value == null || value.isEmpty) return null;
... ...
... ... @@ -97,12 +97,16 @@ class WatchTransformTheme {
required this.themeName,
required this.energeticDescription,
this.energeticImage,
this.energeticImageUrl,
required this.normalDescription,
this.normalImage,
this.normalImageUrl,
required this.slightStressfulDescription,
this.slightStressfulImage,
this.slightStressfulImageUrl,
required this.stressfulDescription,
this.stressfulImage,
this.stressfulImageUrl,
});
int themeId;
... ... @@ -113,30 +117,42 @@ class WatchTransformTheme {
Uint8List? energeticImage;
String? energeticImageUrl;
String normalDescription;
Uint8List? normalImage;
String? normalImageUrl;
String slightStressfulDescription;
Uint8List? slightStressfulImage;
String? slightStressfulImageUrl;
String stressfulDescription;
Uint8List? stressfulImage;
String? stressfulImageUrl;
List<Object?> _toList() {
return <Object?>[
themeId,
themeName,
energeticDescription,
energeticImage,
energeticImageUrl,
normalDescription,
normalImage,
normalImageUrl,
slightStressfulDescription,
slightStressfulImage,
slightStressfulImageUrl,
stressfulDescription,
stressfulImage,
stressfulImageUrl,
];
}
... ... @@ -150,12 +166,16 @@ class WatchTransformTheme {
themeName: result[1]! as String,
energeticDescription: result[2]! as String,
energeticImage: result[3] as Uint8List?,
normalDescription: result[4]! as String,
normalImage: result[5] as Uint8List?,
slightStressfulDescription: result[6]! as String,
slightStressfulImage: result[7] as Uint8List?,
stressfulDescription: result[8]! as String,
stressfulImage: result[9] as Uint8List?,
energeticImageUrl: result[4] as String?,
normalDescription: result[5]! as String,
normalImage: result[6] as Uint8List?,
normalImageUrl: result[7] as String?,
slightStressfulDescription: result[8]! as String,
slightStressfulImage: result[9] as Uint8List?,
slightStressfulImageUrl: result[10] as String?,
stressfulDescription: result[11]! as String,
stressfulImage: result[12] as Uint8List?,
stressfulImageUrl: result[13] as String?,
);
}
... ...
... ... @@ -28,18 +28,26 @@ class WatchTransformTheme {
this.slightStressfulImage,
required this.stressfulDescription,
this.stressfulImage,
this.energeticImageUrl,
this.normalImageUrl,
this.slightStressfulImageUrl,
this.stressfulImageUrl,
});
int themeId;
final String themeName;
final String energeticDescription;
final Uint8List? energeticImage;
final String? energeticImageUrl;
final String normalDescription;
final Uint8List? normalImage;
final String? normalImageUrl;
final String slightStressfulDescription;
final Uint8List? slightStressfulImage;
final String? slightStressfulImageUrl;
final String stressfulDescription;
final Uint8List? stressfulImage;
final String? stressfulImageUrl;
}
@ConfigurePigeon(
... ... @@ -73,7 +81,7 @@ abstract class WearEngineHostApi {
@async
bool addWatchSurface();
/// 添加或者删除主题
/// 添加或者删除主题
@async
bool syncWatchTheme(WatchTransformTheme? theme);
... ...