feat: setMsgDnd

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-05-12 14:30:08 +08:00
parent 0514c0d999
commit 964668c982
8 changed files with 102 additions and 28 deletions

View File

@@ -4,6 +4,8 @@ import 'package:PiliPlus/grpc/im.dart';
import 'package:PiliPlus/http/loading_state.dart';
import 'package:PiliPlus/http/msg.dart';
import 'package:PiliPlus/pages/common/common_list_controller.dart';
import 'package:PiliPlus/utils/storage.dart';
import 'package:fixnum/fixnum.dart';
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
abstract class CommonWhisperController<R>
@@ -40,6 +42,22 @@ abstract class CommonWhisperController<R>
}
}
Future<void> onSetMute(int index, bool isMuted, Int64 talkerUid) async {
var res = await MsgHttp.setMsgDnd(
uid: Accounts.main.mid,
setting: isMuted ? 0 : 1,
dndUid: talkerUid,
);
if (res['status']) {
loadingState
..value.data![index].isMuted = !isMuted
..refresh();
SmartDialog.showToast('操作成功');
} else {
SmartDialog.showToast(res['msg']);
}
}
Future<void> onClearUnread() async {
final res = await ImGrpc.clearUnread(pageType: sessionPageType);
if (res.isSuccess) {