From 4ce2af94e01a48d07638c20d68183c465f32014f Mon Sep 17 00:00:00 2001 From: xiekaidong Date: Fri, 28 Jul 2023 11:16:21 +0800 Subject: [PATCH] =?UTF-8?q?=E9=82=AE=E4=BB=B6=E6=8B=89=E5=8E=BB=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E4=B8=80=E4=B8=AA=E9=9A=8F=E6=9C=BA=E5=BB=B6=E6=97=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lua/app/module/mail/mail_manager.lua | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/lua/app/module/mail/mail_manager.lua b/lua/app/module/mail/mail_manager.lua index 3e224a40..b36a7f6a 100644 --- a/lua/app/module/mail/mail_manager.lua +++ b/lua/app/module/mail/mail_manager.lua @@ -10,10 +10,20 @@ function MailManager:getMailList(force) return end + if self.needUpdateMailSid then + self:unscheduleGlobal(self.needUpdateMailSid) + self.needUpdateMailSid = nil + end + self:sendMessage(ProtoMsgType.FromMsgEnum.MailListReq, {}, {}, self.getMailListFinish) end function MailManager:getMailListFinish(result) + if self.needUpdateMailSid then + self:unscheduleGlobal(self.needUpdateMailSid) + self.needUpdateMailSid = nil + end + if result.status == 0 then DataManager.MailData:init(result) end @@ -128,8 +138,18 @@ function MailManager:readMailFinish(result) end function MailManager:needUpdateMail() - -- 收到推送后不一定是有新邮件,要去拉一下 - self:getMailList(true) + if DataManager.MailData:getNeedGetNewMail() then + return + end + + -- 收到推送后不一定是有新邮件,要去拉一下, 延迟是为了减轻服务器压力 + if self.needUpdateMailSid then + self:unscheduleGlobal(self.needUpdateMailSid) + self.needUpdateMailSid = nil + end + self.needUpdateMailSid = self:performWithDelayGlobal(function() + self:getMailList(true) + end, math.random(1, 5)) end return MailManager \ No newline at end of file