mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-20 17:16:29 +08:00
feat: space setting
Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
46
lib/pages/space_setting/controller.dart
Normal file
46
lib/pages/space_setting/controller.dart
Normal file
@@ -0,0 +1,46 @@
|
||||
import 'package:PiliPlus/http/loading_state.dart';
|
||||
import 'package:PiliPlus/http/user.dart';
|
||||
import 'package:PiliPlus/models_new/space_setting/data.dart';
|
||||
import 'package:PiliPlus/models_new/space_setting/privacy.dart';
|
||||
import 'package:PiliPlus/pages/common/common_data_controller.dart';
|
||||
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
|
||||
|
||||
class SpaceSettingController
|
||||
extends CommonDataController<SpaceSettingData, Privacy?> {
|
||||
@override
|
||||
void onInit() {
|
||||
super.onInit();
|
||||
queryData();
|
||||
}
|
||||
|
||||
bool? hasMod;
|
||||
|
||||
@override
|
||||
bool customHandleResponse(
|
||||
bool isRefresh, Success<SpaceSettingData> response) {
|
||||
loadingState.value = Success(response.response.privacy);
|
||||
return true;
|
||||
}
|
||||
|
||||
@override
|
||||
Future<LoadingState<SpaceSettingData>> customGetData() =>
|
||||
UserHttp.spaceSetting();
|
||||
|
||||
Future<void> onMod() async {
|
||||
if (hasMod == true && loadingState.value.isSuccess) {
|
||||
Privacy? data = loadingState.value.data;
|
||||
if (data != null) {
|
||||
var res = await UserHttp.spaceSettingMod(
|
||||
{
|
||||
for (var e in data.list1) ...{e.key: e.value},
|
||||
for (var e in data.list2) ...{e.key: e.value},
|
||||
for (var e in data.list3) ...{e.key: e.value},
|
||||
},
|
||||
);
|
||||
if (!res['status']) {
|
||||
SmartDialog.showToast(res['msg']);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user