mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-06 09:13:48 +08:00
feat: delete sys msg
This commit is contained in:
@@ -616,5 +616,7 @@ class Api {
|
|||||||
|
|
||||||
static const String removeMsg = '/session_svr/v1/session_svr/remove_session';
|
static const String removeMsg = '/session_svr/v1/session_svr/remove_session';
|
||||||
|
|
||||||
|
static const String removeSysMsg = '/x/sys-msg/del_notify_list';
|
||||||
|
|
||||||
static const String setTop = '/session_svr/v1/session_svr/set_top';
|
static const String setTop = '/session_svr/v1/session_svr/set_top';
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -167,6 +167,34 @@ class MsgHttp {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static Future removeSysMsg(
|
||||||
|
dynamic id,
|
||||||
|
) async {
|
||||||
|
String csrf = await Request.getCsrf();
|
||||||
|
var res = await Request().post(
|
||||||
|
HttpString.messageBaseUrl + Api.removeSysMsg,
|
||||||
|
queryParameters: {
|
||||||
|
'mobi_app': 'android',
|
||||||
|
'csrf': csrf,
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
'csrf': csrf,
|
||||||
|
'ids': [id],
|
||||||
|
'station_ids': [],
|
||||||
|
'type': 4,
|
||||||
|
'mobi_app': 'android',
|
||||||
|
},
|
||||||
|
);
|
||||||
|
if (res.data['code'] == 0) {
|
||||||
|
return {'status': true};
|
||||||
|
} else {
|
||||||
|
return {
|
||||||
|
'status': false,
|
||||||
|
'msg': res.data['message'],
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static Future setTop(
|
static Future setTop(
|
||||||
dynamic talkerId,
|
dynamic talkerId,
|
||||||
int opType,
|
int opType,
|
||||||
|
|||||||
@@ -50,6 +50,7 @@ class SysMsgController extends GetxController {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Future onLoad() async {
|
Future onLoad() async {
|
||||||
if (isEnd) return;
|
if (isEnd) return;
|
||||||
queryMsgFeedSysMsg();
|
queryMsgFeedSysMsg();
|
||||||
@@ -60,4 +61,14 @@ class SysMsgController extends GetxController {
|
|||||||
cursorTime = -1;
|
cursorTime = -1;
|
||||||
queryMsgFeedSysMsg();
|
queryMsgFeedSysMsg();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Future onRemove(int index) async {
|
||||||
|
var res = await MsgHttp.removeSysMsg(msgFeedSysMsgList[index].id);
|
||||||
|
if (res['status']) {
|
||||||
|
msgFeedSysMsgList.removeAt(index);
|
||||||
|
SmartDialog.showToast('删除成功');
|
||||||
|
} else {
|
||||||
|
SmartDialog.showToast(res['msg']);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -83,6 +83,33 @@ class _SysMsgPageState extends State<SysMsgPage> {
|
|||||||
}
|
}
|
||||||
return ListTile(
|
return ListTile(
|
||||||
onTap: () {},
|
onTap: () {},
|
||||||
|
onLongPress: () {
|
||||||
|
showDialog(
|
||||||
|
context: context,
|
||||||
|
builder: (_) => AlertDialog(
|
||||||
|
title: const Text('确定删除该消息?'),
|
||||||
|
actions: [
|
||||||
|
TextButton(
|
||||||
|
onPressed: Get.back,
|
||||||
|
child: Text(
|
||||||
|
'取消',
|
||||||
|
style: TextStyle(
|
||||||
|
color: Theme.of(context)
|
||||||
|
.colorScheme
|
||||||
|
.outline,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
TextButton(
|
||||||
|
onPressed: () {
|
||||||
|
Get.back();
|
||||||
|
_sysMsgController.onRemove(i);
|
||||||
|
},
|
||||||
|
child: const Text('确定'),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
));
|
||||||
|
},
|
||||||
title: Text(
|
title: Text(
|
||||||
"${_sysMsgController.msgFeedSysMsgList[i].title}",
|
"${_sysMsgController.msgFeedSysMsgList[i].title}",
|
||||||
style: Theme.of(context).textTheme.titleMedium,
|
style: Theme.of(context).textTheme.titleMedium,
|
||||||
|
|||||||
Reference in New Issue
Block a user