add
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
import 'dart:io';
|
||||
|
||||
import '../core/config/app_config.dart';
|
||||
import '../core/network/api_client.dart';
|
||||
import '../core/network/endpoints.dart';
|
||||
|
||||
/// 版本检查(《03-接口文档》10.1,《01-开发文档》5.7)
|
||||
class VersionService {
|
||||
VersionService._();
|
||||
|
||||
static Future<VersionInfo> check() async {
|
||||
final data = await ApiClient.get<Map<String, dynamic>>(
|
||||
Endpoints.appVersion,
|
||||
queryParameters: {
|
||||
'platform': Platform.isIOS ? 'ios' : 'android',
|
||||
'version_code': AppConfig.appVersionCode,
|
||||
},
|
||||
);
|
||||
return VersionInfo(
|
||||
latestVersion: (data['latest_version'] as String?) ?? '',
|
||||
latestVersionCode: (data['latest_version_code'] as num?)?.toInt() ?? 0,
|
||||
forceUpdate: (data['force_update'] as bool?) ?? false,
|
||||
updateUrl: (data['update_url'] as String?) ?? '',
|
||||
notice: (data['notice'] as String?) ?? '',
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/// 版本检查结果
|
||||
class VersionInfo {
|
||||
VersionInfo({
|
||||
required this.latestVersion,
|
||||
required this.latestVersionCode,
|
||||
required this.forceUpdate,
|
||||
required this.updateUrl,
|
||||
required this.notice,
|
||||
});
|
||||
|
||||
final String latestVersion;
|
||||
final int latestVersionCode;
|
||||
final bool forceUpdate;
|
||||
final String updateUrl;
|
||||
|
||||
/// 维护公告(非空时全 App 只读提示)
|
||||
final String notice;
|
||||
}
|
||||
Reference in New Issue
Block a user