miduo_client/Assets/ManagedResources/~Lua/Modules/Mail/MailManager.lua

114 lines
3.6 KiB
Lua
Raw Normal View History

2020-08-25 15:46:38 +08:00
MailManager = {};
2020-05-09 13:31:21 +08:00
local this = MailManager
this.mialDataList = {}
function this.Initialize()
end
function this.InitMailDataList(_mialList)
this.mialDataList = {}
for i = 1, #_mialList do
this.UpdateMialData(_mialList[i])
end
table.sort(this.mialDataList, function(a, b)
if a.state == b.state then
return a.sendTime > b.sendTime
else
return a.state < b.state
end
end)
end
function this.UpdateMialData(_mial)
local singleMail = {}
--Log("添加邮件 " .. _mial.mailId)
singleMail.mailId = _mial.mailId--
singleMail.state = _mial.state--0:未读 1:已读取 2: 未领取 3 已领取
2021-01-26 17:08:39 +08:00
local title = string.split(_mial.head,"|")
singleMail.head = title[GetCurLanguage()+1] or title[1]
singleMail.head = this.GetStringByStringformat(singleMail.head)
local content = string.split(_mial.content,"|")
singleMail.content = content[GetCurLanguage()+1] or content[1]--详情
singleMail.content = this.GetStringByStringformat(singleMail.content)
2020-05-09 13:31:21 +08:00
singleMail.mailItem = _mial.mailItem--附件 奖励
singleMail.sendTime = _mial.sendTime--
singleMail.effectiveTime = _mial.effectiveTime--秒 0:永久有效
singleMail.sendName = _mial.sendName--发送者名字
singleMail.mailType = _mial.mailType--邮件类型 1:系统邮件 2:idip 业务邮件
2021-01-26 17:08:39 +08:00
2020-05-09 13:31:21 +08:00
table.insert(this.mialDataList, singleMail)
end
2021-01-26 17:08:39 +08:00
function this.GetStringByStringformat(inputStr)
local msgStr = string.split(inputStr,"#")
2021-02-23 16:52:37 +08:00
LogGreen("inputStr:"..inputStr)
2021-01-26 17:08:39 +08:00
for i = 2, #msgStr do
--1 需要翻译
local oneStr = string.sub(msgStr[i],1,1)
if tonumber(oneStr) == 1 then
msgStr[i] = tostring(string.sub(msgStr[i],2))
msgStr[i] = GetLanguageStrById(msgStr[i])
else
msgStr[i] = tostring(string.sub(msgStr[i],2))
end
end
local returnStr = string.format(
GetLanguageStrById(msgStr[1]),
tostring(msgStr[2]),
tostring(msgStr[3]),
tostring(msgStr[4]),
tostring(msgStr[5]),
tostring(msgStr[6])
)
LogPink("returnStr:"..returnStr)
return returnStr
end
2020-05-09 13:31:21 +08:00
--更新邮件状态
function this.UpdataMialIsReadState(_mailId, _state)
for i = 1, #this.mialDataList do
--Log("_mailId " .. _mailId)
if this.mialDataList[i].mailId == _mailId then
--Log("this.mialDataList[i].mailId " .. this.mialDataList[i].mailId .. " " .. _state)
this.mialDataList[i].state = _state
break
end
end
CheckRedPointStatus(RedPointType.Mail_Local)
end
--删除邮件状态
function this.DelSingleMial(_mailId)
local curmialDataList = {}
for i = 1, #this.mialDataList do
table.insert(curmialDataList,this.mialDataList[i])
end
for i = 1, #curmialDataList do
if curmialDataList[i].mailId == _mailId then
curmialDataList[i] = nil
end
end
this.mialDataList = {}
for i, v in pairs(curmialDataList) do
this.mialDataList[#this.mialDataList+1] = v
end
--CheckRedPointStatus(RedPointType.Mail_Local)
end
--检测邮件红点
function this.GetMailRedPointState()
local isShowRedPoint = false
for i = 1, #this.mialDataList do
if this.mialDataList[i].state == 0 then
isShowRedPoint = true
break
end
end
-- 无红点可显示,重置服务器邮件红点
if not isShowRedPoint then
ResetServerRedPointStatus(RedPointType.Mail_Server)
end
return isShowRedPoint
end
2020-06-23 18:36:24 +08:00
return this