fix:调整多个对讲请求时不处理
This commit is contained in:
parent
99813877b6
commit
fe82f87200
@ -25,8 +25,24 @@ class UdpTalkRequestHandler extends ScpMessageBaseHandle
|
||||
RxString currentLanguage =
|
||||
CurrentLocaleTool.getCurrentLocaleString().obs; // 当前选择语言
|
||||
|
||||
// 添加上次处理请求的时间戳
|
||||
int _lastRequestTime = 0;
|
||||
|
||||
@override
|
||||
void handleReq(ScpMessage scpMessage) async {
|
||||
|
||||
final currentTime = DateTime.now().millisecondsSinceEpoch;
|
||||
// 确保与上次请求间隔至少1秒
|
||||
if (currentTime - _lastRequestTime < 1000) {
|
||||
// 如果间隔小于1秒,直接拒绝请求
|
||||
replyErrorMessage(scpMessage);
|
||||
AppLog.log('对讲请求过于频繁,已拒绝');
|
||||
return;
|
||||
}
|
||||
|
||||
// 更新最后处理时间
|
||||
_lastRequestTime = currentTime;
|
||||
|
||||
// 判断是否登录账户
|
||||
final loginData = await Storage.getLoginData();
|
||||
|
||||
@ -47,6 +63,7 @@ class UdpTalkRequestHandler extends ScpMessageBaseHandle
|
||||
} else {
|
||||
// 拒绝接听,回复失败
|
||||
replyErrorMessage(scpMessage);
|
||||
AppLog.log('正在接听,回复拒绝');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user