local UIFriendReport = UIViewClass() local ReportReasonList local MaxReportRemarkLen = 160 -- context 参数:beReportAcid(被举报人acid), reportContent(被举报人发言内容) -------------------- function UIFriendReport:OnOpened(context) if GameAppInfo.IsChinesePackage() then --国服包增加举报内容 ReportReasonList = { Const_IDS.IDS_Report_WeiGui, -- 违法违规 Const_IDS.IDS_Report_DiSu, -- 色情低俗 Const_IDS.IDS_Report_GuangGao, -- 虚假广告 Const_IDS.IDS_Report_RuMa, -- 辱骂攻击 Const_IDS.IDS_Report_ShiZheng, -- 时政不实信息 Const_IDS.IDS_FraudPrevention_Report1, -- 时政不实信息 Const_IDS.IDS_FraudPrevention_Report2, -- 拉人换游 Const_IDS.IDS_Report_Other, -- 其它 } else ReportReasonList = { Const_IDS.IDS_Report_WeiGui, -- 违法违规 Const_IDS.IDS_Report_DiSu, -- 色情低俗 Const_IDS.IDS_Report_GuangGao, -- 虚假广告 Const_IDS.IDS_Report_RuMa, -- 辱骂攻击 Const_IDS.IDS_Report_ShiZheng, -- 时政不实信息 Const_IDS.IDS_Report_Other, -- 其它 } end UIUtils.SetLabelText(self.UICommonPopUp.txt_Title, Const_IDS.IDS_Report_JuBao) UIUtils.SetLabel(self.txt_Tip, string.FormatByIdsId(Const_IDS.IDS_Report_ZhengZaiJuBao, context.beReportName)) self.beReportAcid = context.beReportAcid self.reportContent = context.reportContent self.reportReasons = {} self:InitPanel() end function UIFriendReport:OnBackButtonPressed() self:OnButtonClicked(self.UICommonPopUp.btn_Close) end function UIFriendReport:OnButtonClicked(comp) if comp == self.UICommonPopUp.btn_Close or comp == self.btn_Cencal then self:CloseView() elseif comp == self.btn_Report then for k, v in pairs(self.reportReasons) do -- 用来判断是否选取了举报内容 if string.isNilOrEmpty(self.obj_InputField.text) then -- 举报详情不能为空 CTL.Tips.AddTipsMsg(Const_IDS.IDS_Report_TiShi1) return else local strLen = UTL.String.GetStrCharCount(self.obj_InputField.text, 2) if strLen > MaxReportRemarkLen then CTL.Tips.AddTipsMsg(Const_IDS.IDS_Report_ZiShuXianZhi) else MDL.Report.SentimentReportRequest(self.beReportAcid, self.reportContent, self.reportReasons, self.obj_InputField.text) self:OnButtonClicked(self.UICommonPopUp.btn_Close) end end return end CTL.Tips.AddTipsMsg(Const_IDS.IDS_Report_TiShi2) end end function UIFriendReport:OnValueChanged(comp, value) for i = 1, #self.obj_toggleArray do local toggleItem = self.obj_toggleArray[i].toggle if comp == toggleItem then if value then -- 选择举报内容 self.reportReasons[i] = UIUtils.GetLocalizedTxt(ReportReasonList[i]) else -- 取消举报内容 self.reportReasons[i] = nil end end end end -------------------- function UIFriendReport:InitPanel() for i, reportContent in ipairs(ReportReasonList) do local toggleItem = self.obj_toggleArray[i] if not toggleItem then toggleItem = self:InstantiateCollection(self.obj_toggleArray, self.toggle_template.gameObject) end UIUtils.SetActive(toggleItem.gameObject, true) UIUtils.SetLabel(toggleItem.reasonText, UIUtils.GetLocalizedTxt(reportContent)) toggleItem.toggle.isOn = false end for i = #ReportReasonList + 1, #self.obj_toggleArray do UIUtils.SetActive(self.obj_toggleArray[i].gameObject, false) end end return UIFriendReport