| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- import 'package:injectable/injectable.dart';
- import '../../utils/async_util.dart';
- import '../../utils/atmob_log.dart';
- import '../../utils/http_handler.dart';
- import '../api/atmob_api.dart';
- import '../api/request/config_request.dart';
- import '../api/response/config_response.dart';
- @lazySingleton
- class ConfigRepository {
- final tag = "ConfigRepository";
- final AtmobApi atmobApi;
- ConfigRepository(this.atmobApi) {
- AtmobLog.d(tag, '$tag....init');
- refreshConfig();
- }
- // 更新配置的值
- void refreshConfig() {
- AsyncUtil.retry(
- () => requestConfigsData(),
- Duration(seconds: 3),
- maxRetry: 100,
- ).then((configsResponse) {
- final list = configsResponse.list;
- if (list == null || list.isEmpty) {
- return;
- }
- AtmobLog.d(tag, 'refreshConfig....list: $list');
- });
- }
- /// 获取配置信息
- Future<ConfigResponse> requestConfigsData() {
- return atmobApi
- .confs(ConfigRequest(confCodes: ['intimacy', 'default_avatar']))
- .then(HttpHandler.handle(true));
- }
- }
|