Files
tianrunCRM/Assets/trCRM/upgradeRes4Dev/priority/lua/ui/panel/TRPSetting.lua
2020-08-18 17:24:02 +08:00

151 lines
5.3 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---@type IDBasePanel
local TRBasePanel = require("ui.panel.TRBasePanel")
---@class TRPSetting:TRBasePanel 邮件列表
local TRPSetting = class("TRPSetting", TRBasePanel)
local uiobjs = {}
-- 初始化,只会调用一次
function TRPSetting:init(csObj)
TRPSetting.super.init(self, csObj)
uiobjs.content = getChild(self.transform, "PanelContent")
MyUtl.setContentView(uiobjs.content)
---@type UIScrollView
uiobjs.scrollview = getCC(self.transform, "PanelContent", "UIScrollView")
uiobjs.scrollview.dampenStrength = MyUtl.dampenStrength
self:setEventDelegate()
uiobjs.LabelPhone = getCC(uiobjs.scrollview.transform, "Table/ButtonPhone/LabelPhone", "UILabel")
uiobjs.SpriteAuth = getCC(uiobjs.scrollview.transform, "Table/ButtonPhone/SpriteAuth", "UISprite")
end
-- 设置数据
---@param paras _ParamTRPSetting
function TRPSetting:setData(paras)
self.mdata = paras
end
-- 显示在c#中。show为调用refreshshow和refresh的区别在于当页面已经显示了的情况当页面再次出现在最上层时只会调用refresh
function TRPSetting:show()
uiobjs.scrollview:ResetPosition()
end
-- 刷新
function TRPSetting:refresh()
local phone = Prefs.getUserName()
if phone then
uiobjs.LabelPhone.text = phone
local user = DBUser.getMyInfor()
if user.ifPhoAuth == "Y" then
uiobjs.SpriteAuth.color = ColorEx.getColor(0xfffe9100)
uiobjs.SpriteAuth.spriteName = "mine_img_authenticated"
else
uiobjs.SpriteAuth.color = ColorEx.getColor(0xff999999)
uiobjs.SpriteAuth.spriteName = "mine_img_unauthorized"
end
SetActive(uiobjs.SpriteAuth.gameObject, true)
else
uiobjs.LabelPhone.text = "未绑定"
SetActive(uiobjs.SpriteAuth.gameObject, false)
end
end
-- 关闭页面
function TRPSetting:hide()
end
-- 网络请求的回调cmd指命succ成功失败msg消息paras服务器下行数据
function TRPSetting:procNetwork(cmd, succ, msg, paras)
if (succ == NetSuccess) then
if cmd == NetProto.cmds.personal_data_query then
self:refresh()
end
end
end
function TRPSetting:setEventDelegate()
self.EventDelegate = {
ButtonPersonInfor = function()
getPanelAsy("PanelMyInfor", onLoadedPanelTT)
end,
ButtonPassword = function()
getPanelAsy("PanelResetPasswordStep1", onLoadedPanelTT, {phone = Prefs.getUserName(), isModify = true})
end,
ButtonPhone = function()
if isNilOrEmpty(Prefs.getUserName()) then
getPanelAsy(
"PanelResetPasswordStep1",
onLoadedPanelTT,
{phone = Prefs.getUserName(), isBindPhone = true}
)
else
getPanelAsy("PanelBindPhone", onLoadedPanelTT, {phoneNo = Prefs.getUserName()})
end
end,
ButtonLogout = function()
MyUtl.confirm(
"确定要退出当前账号?",
function()
Prefs.setCurrGroup(Prefs.getUserName(), "")
Prefs.setUserPsd("")
if DBUser then
DBUser.clean()
end
hideTopPanel(self.csSelf)
hideTopPanel()
hideTopPanel()
getPanelAsy("PanelLogin", onLoadedPanel)
end,
"退出账号"
)
end,
ButtonClearCache = function()
MyUtl.confirm(
"确定要清空缓存?",
function()
PlayerPrefs.DeleteAll()
--- 释放资源开始-------------------------------
local cleanRes = function()
pcall(doSomethingBeforeRestart)
pcall(releaseRes4GC, true)
end
--- 释放资源结束-------------------------------
if DBUser then
DBUser.clean()
end
--//TODO: 还要把已经下载了的附件也删除掉
local downloadDir =
Utl.chgToSDCard(
Path.Combine(Application.persistentDataPath, CLPathCfg.self.basePath, "download")
)
if Directory.Exists(downloadDir) then
Directory.Delete(downloadDir)
end
pcall(cleanRes)
local panel = CLPanelManager.getPanel(CLMainBase.self.firstPanel)
if panel then
CLPanelManager.showPanel(panel)
end
CLMainBase.self:reStart()
end,
"确定清空"
)
end
}
end
-- 处理ui上的事件例如点击等
function TRPSetting:uiEventDelegate(go)
local func = self.EventDelegate[go.name]
if func then
func()
end
end
-- 当顶层页面发生变化时回调
function TRPSetting:onTopPanelChange(topPanel)
end
--------------------------------------------
return TRPSetting