fix:调整多个对讲请求时不处理
This commit is contained in:
parent
99813877b6
commit
fe82f87200
@ -25,8 +25,24 @@ class UdpTalkRequestHandler extends ScpMessageBaseHandle
|
|||||||
RxString currentLanguage =
|
RxString currentLanguage =
|
||||||
CurrentLocaleTool.getCurrentLocaleString().obs; // 当前选择语言
|
CurrentLocaleTool.getCurrentLocaleString().obs; // 当前选择语言
|
||||||
|
|
||||||
|
// 添加上次处理请求的时间戳
|
||||||
|
int _lastRequestTime = 0;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void handleReq(ScpMessage scpMessage) async {
|
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();
|
final loginData = await Storage.getLoginData();
|
||||||
|
|
||||||
@ -47,6 +63,7 @@ class UdpTalkRequestHandler extends ScpMessageBaseHandle
|
|||||||
} else {
|
} else {
|
||||||
// 拒绝接听,回复失败
|
// 拒绝接听,回复失败
|
||||||
replyErrorMessage(scpMessage);
|
replyErrorMessage(scpMessage);
|
||||||
|
AppLog.log('正在接听,回复拒绝');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user