feat(account): 接入个人中心接口模型

This commit is contained in:
Zhou Weidong committed 2026-10-19 09:47:06 +08:00
1 parent 7d68699523
commit 44f6feb249
6 files changed
+501

No files matched your search

@@ -0,0 +1,47 @@
// Author: fruit.com.cn
import '../models/account_device.dart';
import '../models/account_export.dart';
import '../models/account_profile.dart';
import '../remote/account_api.dart';
/// 账号中心的数据来源。
abstract interface class AccountRepository {
Future<AccountProfile> profile();
Future<AccountProfile> updateProfile(AccountProfileUpdate update);
Future<List<AccountDevice>> devices();
Future<AccountExport> export();
Future<DateTime?> deactivate(String reason);
Future<void> cancelDeactivation();
}
/// HTTP 实现。
class HttpAccountRepository implements AccountRepository {
const HttpAccountRepository(this._api);
final AccountApi _api;
@override
Future<AccountProfile> profile() => _api.profile();
@override
Future<AccountProfile> updateProfile(AccountProfileUpdate update) =>
_api.updateProfile(update);
@override
Future<List<AccountDevice>> devices() => _api.devices();
@override
Future<AccountExport> export() => _api.export();
@override
Future<DateTime?> deactivate(String reason) => _api.deactivate(reason: reason);
@override
Future<void> cancelDeactivation() => _api.cancelDeactivation();
}