---@type IDBasePanel local TRBasePanel = require("ui.panel.TRBasePanel") ---@class TRPAbout:TRBasePanel 邮件列表 local TRPAbout = class("TRPAbout", TRBasePanel) local uiobjs = {} -- 初始化,只会调用一次 function TRPAbout:init(csObj) TRPAbout.super.init(self, csObj) self:initFiledsAttr() self:setEventDelegate() MyUtl.setContentView(getChild(self.transform, "PanelContent"), 132 + 500, 0) ---@type UIScrollView uiobjs.scrollView = getCC(self.transform, "PanelContent", "UIScrollView") ---@type UITable uiobjs.Table = getCC(uiobjs.scrollView.transform, "Table", "UITable") ---@type CLUIFormRoot uiobjs.TableForm = uiobjs.Table:GetComponent("CLUIFormRoot") ---@type Coolape.CLCellLua uiobjs.TableLua = uiobjs.Table:GetComponent("CLCellLua") end function TRPAbout:initFiledsAttr() ---@type _ParamFieldAttr local attr self.baseFiledsAttr = {} attr = {} attr.attrName = "更新动态" attr.id = "upgrade" attr.attrType = DBCust.FieldType.text attr.ifMust = 0 attr.donotJoinKey = true table.insert(self.baseFiledsAttr, attr) attr = {} attr.attrName = "服务协议" attr.id = "serviceAgreement" attr.attrType = DBCust.FieldType.text attr.ifMust = 0 attr.donotJoinKey = true table.insert(self.baseFiledsAttr, attr) attr = {} attr.attrName = "发布评价" attr.id = "assess" attr.attrType = DBCust.FieldType.text attr.ifMust = 0 attr.donotJoinKey = true table.insert(self.baseFiledsAttr, attr) end -- 设置数据 ---@param paras _ParamTRPAbout function TRPAbout:setData(paras) self.mdata = {} end -- 显示,在c#中。show为调用refresh,show和refresh的区别在于,当页面已经显示了的情况,当页面再次出现在最上层时,只会调用refresh function TRPAbout:show() ---@type _ParamCellExtendFiledRoot local fieldRootInfor = {} fieldRootInfor.fields = {} fieldRootInfor.data = self.mdata fieldRootInfor.onFinish = self:wrapFunc(self.reposition) for i, v in ipairs(self.baseFiledsAttr) do ---@type _ParamCellExtendFiled local d = {} d.attr = v d.showMode = _FieldMode.button d.onClick = self:wrapFunc(self.onClickField) d.onSelect = self:wrapFunc(self.onSelectField) table.insert(fieldRootInfor.fields, d) end uiobjs.TableLua:init(fieldRootInfor, nil) end ---@param el CLUIElement function TRPAbout:onClickField(el) if el.jsonKey == "upgrade" then -- 更新 elseif el.jsonKey == "serviceAgreement" then -- 显示协议 elseif el.jsonKey == "assess" then -- 评价(这个做起来麻烦) end end function TRPAbout:onSelectField(go) end function TRPAbout:reposition() uiobjs.Table:Reposition() uiobjs.Table.repositionNow = true uiobjs.scrollView:ResetPosition() end -- 刷新 function TRPAbout:refresh() uiobjs.TableLua.luaTable.release() end -- 关闭页面 function TRPAbout:hide() uiobjs.TableLua.luaTable.release() end -- 网络请求的回调;cmd:指命,succ:成功失败,msg:消息;paras:服务器下行数据 function TRPAbout:procNetwork(cmd, succ, msg, paras) if (succ == NetSuccess) then --[[ if cmd == xx then end ]] end end function TRPAbout:setEventDelegate() self.EventDelegate = {} end -- 处理ui上的事件,例如点击等 function TRPAbout:uiEventDelegate(go) local func = self.EventDelegate[go.name] if func then func(go) end end -- 当顶层页面发生变化时回调 function TRPAbout:onTopPanelChange(topPanel) end -------------------------------------------- return TRPAbout