|
- -- 消息Layout
- local ClubMessage = class("ClubMessage" , cc.UIView);
- local ClubDefine = require("luaScript.Protocol.Club.ClubDefine")
-
- local BUTTON_TAG = {
- BTN_APPLY = 0, --申请消息
- BTN_NEWS = 1, --茶馆消息
- BTN_REWARD= 2, --奖励领取
- BTN_C0PARTNER = 3, --合伙人申请
- }
-
- local PAGE_IMG_SELECT = {
- APPLY = "club_msg_btn_font_apply_sel.png", --申请消息
- NEWS = "club_msg_btn_font_news_sel.png", --茶馆消息
- REWARD = "club_msg_btn_font_reward_sel.png",--奖励领取
- }
-
- local PAGE_IMG_NORMAL = {
- APPLY = "club_msg_btn_font_apply_nor.png", --申请消息
- NEWS = "club_msg_btn_font_news_nor.png", --茶馆消息
- REWARD = "club_msg_btn_font_reward_nor.png",--奖励领取
- }
-
- function ClubMessage:ctor(clubId)
- ClubMessage.super.ctor(self)
-
- local ui = loadUI("res/ui/ui_club/ui_club_message.ui")
- self.ui = ui;
- self:addChild(ui)
-
- --茶馆群id
- self.clubId = clubId
-
- self.clubInfo = app.club_php.clubList[clubId]
-
- -- self.btnZorder = {
- -- [BUTTON_TAG.BTN_APPLY] = 0,
- -- [BUTTON_TAG.BTN_NEWS] = 0,
- -- [BUTTON_TAG.BTN_REWARD] = 0,
- -- }
- end
-
- function ClubMessage:onEnter()
- ClubMessage.super.onEnter(self)
- --关闭
- self.ui.Items.Button_close:registerClick(handler(self , self.onClose))
-
- --消息分类(普通消息)
- -- self.ui.Items.Button_news:registerClick(handler(self,self.onTouchMsg))
-
- --申请消息
- -- self.ui.Items.Button_apply:registerClick(handler(self,self.onTouchApplyMsg))
-
- --领取奖励
- -- self.ui.Items.Button_reward:registerClick(handler(self,self.onTouchReward))
-
- self:init()
-
- --请求茶馆亲友圈消息
- app.club_php:requestMsg(self.clubId)
-
- --请求茶馆申请消息
- app.club_php:requestApplyMsg(self.clubId)
-
- --请求退出茶馆申请消息
- app.club_php:requestExitApplyMsg(self.clubId)
-
- --请求奖励内容列表
- if self.clubInfo.role == ClubDefine.Job.Creator then
- --只有创始人才有权限请求奖励内容列表
- app.club_php:requestAwardList(self.clubId)
- end
-
- -- self:updateButtonTitle(BUTTON_TAG.BTN_APPLY)
- if app.config.ModuleConfig.IsSupportHeHuoRen or app.config.ModuleConfig.IsSupportDaLianMeng then
- self.ui.Items.Layout_title:setVisible(true)
- self.ui.Items.Layout_title_uncopartner:setVisible(false)
- local radioManager = import("luaScript.Tools.RadioManager"):new()
- radioManager:addItem(self.ui.Items.CheckBox_apply,BUTTON_TAG.BTN_APPLY)
- radioManager:addItem(self.ui.Items.CheckBox_copartner,BUTTON_TAG.BTN_C0PARTNER)
- radioManager:addItem(self.ui.Items.CheckBox_news,BUTTON_TAG.BTN_NEWS)
- radioManager:addItem(self.ui.Items.CheckBox_reward,BUTTON_TAG.BTN_REWARD)
- radioManager:setCallback(handler(self , self.updateButtonTitle))
- radioManager:setDefault(BUTTON_TAG.BTN_APPLY)
- if self.clubInfo.role == ClubDefine.Job.Manager then
- self.ui.Items.CheckBox_reward:setVisible(false)
- self.ui.Items.Layout_title:requestDoLayout()
- self.ui.Items.Layout_title:doLayout()
- self.ui.Items.CheckBox_news:loadTextureFrontCross("res/ui/zy_club/club_room/club_message/club_msg_btn_font_news_sel_circle.png")
- end
- else
- self.ui.Items.Layout_title:setVisible(false)
- self.ui.Items.Layout_title_uncopartner:setVisible(true)
- local radioManager = import("luaScript.Tools.RadioManager"):new()
- radioManager:addItem(self.ui.Items.CheckBox_apply_un,BUTTON_TAG.BTN_APPLY)
- radioManager:addItem(self.ui.Items.CheckBox_news_un,BUTTON_TAG.BTN_NEWS)
- radioManager:addItem(self.ui.Items.CheckBox_reward_un,BUTTON_TAG.BTN_REWARD)
- radioManager:setCallback(handler(self , self.updateButtonTitle))
- radioManager:setDefault(BUTTON_TAG.BTN_APPLY)
- end
-
- self:bindEvent(app.club_php,GAME_EVENT.CLUB_MESSAGE,handler(self,self.onMessageEvent))
- self:bindEvent(app.club_php,GAME_EVENT.CLUB_MESSAGE_REAWRD,handler(self,self.onGetRewardSuccess))
- self:bindEvent(app.club_php,GAME_EVENT.CLUB_MESSAGE_CHANGED, handler(self, self.onChangeMsgSuccess));
- --权限发生改变
- self:bindEvent(app.club_php , GAME_EVENT.CLUB_CHANGE_ROLE , handler(self , self.onChangeRole));
-
- end
-
- -- 角色权限修改
- function ClubMessage:onChangeRole()
- self:removeFromParent()
- end
-
- function ClubMessage:onMessageEvent(event)
- if event.tag == BUTTON_TAG.BTN_APPLY then
- self:setApplyMsgData()
- elseif event.tag == BUTTON_TAG.BTN_C0PARTNER then
- self:setCopartnerMsgData()
- elseif event.tag == BUTTON_TAG.BTN_NEWS then
- self:setMsgData()
- elseif event.tag == BUTTON_TAG.BTN_REWARD then
- self:setAwardListMsgData()
- end
-
- --logD("---------------------------")
- --dump(self.clubInfo.isApplyHints)
- --dump(self.clubInfo.isLogHints)
- --dump(self.clubInfo.isAwardHints)
-
- if app.config.ModuleConfig.IsSupportHeHuoRen or app.config.ModuleConfig.IsSupportDaLianMeng then
- if self.clubInfo.isApplyHints then
- self.ui.Items.ImageView_apply_dian:setVisible(true)
- else
- self.ui.Items.ImageView_apply_dian:setVisible(false)
- end
-
- if self.clubInfo.isCoApplyHints then
- self.ui.Items.ImageView_copartner_dian:setVisible(true)
- else
- self.ui.Items.ImageView_copartner_dian:setVisible(false)
- end
-
- if self.clubInfo.isLogHints then
- self.ui.Items.ImageView_dian:setVisible(true)
- else
- self.ui.Items.ImageView_dian:setVisible(false)
- end
-
- if self.clubInfo.isAwardHints then
- self.ui.Items.ImageView_reward_dian:setVisible(true)
- else
- self.ui.Items.ImageView_reward_dian:setVisible(false)
- end
- else
- if self.clubInfo.isApplyHints then
- self.ui.Items.ImageView_apply_dian_un:setVisible(true)
- else
- self.ui.Items.ImageView_apply_dian_un:setVisible(false)
- end
-
- if self.clubInfo.isLogHints then
- self.ui.Items.ImageView_dian_un:setVisible(true)
- else
- self.ui.Items.ImageView_dian_un:setVisible(false)
- end
-
- if self.clubInfo.isAwardHints then
- self.ui.Items.ImageView_reward_dian_un:setVisible(true)
- else
- self.ui.Items.ImageView_reward_dian_un:setVisible(false)
- end
- end
-
-
- end
-
- function ClubMessage:onClose()
- playBtnCloseEffect()
- self:removeFromParent()
- end
-
- function ClubMessage:updateButtonTitle(tag)
- self.ui.Items.ScrollView_msg:setVisible(false)
- self.ui.Items.Layout_apply_msg:setVisible(false)
- self.ui.Items.Layout_copartner_msg:setVisible(false)
- self.ui.Items.Layout_copartner_msg_match:setVisible(false)
- self.ui.Items.ScrollView_reward:setVisible(false)
- self.ui.Items.Layout_no_data:setVisible(false)
-
- self.tag = tag
-
- local childs = {}
- if tag == BUTTON_TAG.BTN_APPLY then
- self.ui.Items.Layout_apply_msg:setVisible(true)
- childs = self.ui.Items.ScrollView_apply_msg:getChildren()
- elseif tag == BUTTON_TAG.BTN_C0PARTNER then
- if app.config.ModuleConfig.IsSupportHeHuoRen then
- self.ui.Items.Layout_copartner_msg:setVisible(true)
- childs = self.ui.Items.ScrollView_copartner_msg:getChildren()
- else
- self.ui.Items.Layout_copartner_msg_match:setVisible(true)
- childs = self.ui.Items.ScrollView_match_copartner_msg:getChildren()
- end
- elseif tag == BUTTON_TAG.BTN_NEWS then
- self.ui.Items.ScrollView_msg:setVisible(true)
-
- if self.clubInfo.isLogHints then
- app.club_php:requestSetHints(self.clubInfo.clubId,"loghints")
- end
-
- childs = self.ui.Items.ScrollView_msg:getChildren()
-
-
- elseif tag == BUTTON_TAG.BTN_REWARD then
- self.ui.Items.ScrollView_reward:setVisible(true)
- childs = self.ui.Items.ScrollView_reward:getChildren()
- end
-
- if table.nums(childs) <= 0 then
- self.ui.Items.Layout_no_data:setVisible(true);
- else
- self.ui.Items.Layout_no_data:setVisible(false);
- end
- end
-
- function ClubMessage:init()
- --默认不显示红点提示
- self.ui.Items.ImageView_dian:setVisible(false)
- self.ui.Items.ImageView_dian_un:setVisible(false)
- self.ui.Items.ImageView_apply_dian:setVisible(false)
- self.ui.Items.ImageView_apply_dian_un:setVisible(false)
- self.ui.Items.ImageView_copartner_dian:setVisible(false)
- self.ui.Items.ImageView_reward_dian:setVisible(false)
- self.ui.Items.ImageView_reward_dian_un:setVisible(false)
-
- self.ui.Items.Layout_no_data:setVisible(false)
-
- self.ui.Items.Layout_apply_title:setVisible(false)
- self.ui.Items.Layout_copartner_title:setVisible(false)
-
- self.ui.Items.Text_10:setText(ClubDefine.heHuoRenText)
- end
-
- function ClubMessage:setMsgData()
- --普通消息
- local mListView = self.ui.Items.ScrollView_msg
- mListView:getInnerContainer():setAutoSize(true)
- mListView:removeAllChildren();
-
- if self.clubInfo.messages == nil then
- if self.tag==BUTTON_TAG.BTN_NEWS then
- self.ui.Items.Layout_no_data:setVisible(true)
- end
- return
- end
-
- if self.tag==BUTTON_TAG.BTN_NEWS then
- if self.clubInfo.messages == nil or table.nums(self.clubInfo.messages)==0 then
- self.ui.Items.Layout_no_data:setVisible(true)
- return
- else
- self.ui.Items.Layout_no_data:setVisible(false)
- end
- end
-
- for k,v in pairsByKeysEx(self.clubInfo.messages) do
- local item = import("luaScript.Views.Club.ClubMessageItem"):new(v, "msg", self.clubId)
- mListView:addChild(item.ui)
- end
- mListView:jumpToTopOnSizeChanged()
- end
-
- function ClubMessage:setApplyMsgData()
- --申请消息
- local mListView = self.ui.Items.ScrollView_apply_msg
- mListView:getInnerContainer():setAutoSize(true)
- mListView:removeAllChildren();
-
- if self.clubInfo.applyMessages == nil then
- if self.tag==BUTTON_TAG.BTN_APPLY then
- self.ui.Items.Layout_apply_title:setVisible(false)
- self.ui.Items.Layout_no_data:setVisible(true)
- end
- return
- end
-
- if self.tag==BUTTON_TAG.BTN_APPLY then
- if self.clubInfo.applyMessages == nil or table.nums(self.clubInfo.applyMessages)==0 then
- self.ui.Items.Layout_apply_title:setVisible(false)
- self.ui.Items.Layout_no_data:setVisible(true)
- return
- else
- self.ui.Items.Layout_apply_title:setVisible(true)
- self.ui.Items.Layout_no_data:setVisible(false)
- end
- end
-
- local messages = {}
- for k,v in pairs(self.clubInfo.applyMessages) do
- table.insert(messages,v)
- end
-
- table.sort(messages, function (a, b)
- return a.applyTime > b.applyTime
- end)
-
- for k,v in pairs(messages) do
- local item = import("luaScript.Views.Club.ClubMessageItem"):new(v,"applyMsg", self.clubId)
- mListView:addChild(item.ui)
- end
-
- mListView:jumpToTopOnSizeChanged()
- end
-
- function ClubMessage:setCopartnerMsgData()
- --申请消息
- local mListView = self.ui.Items.ScrollView_copartner_msg
- mListView:getInnerContainer():setAutoSize(true)
- mListView:removeAllChildren();
-
- --若果没有数据
- if self.clubInfo.coapplyMessages == nil or table.nums(self.clubInfo.coapplyMessages)== 0 then
- if self.tag==BUTTON_TAG.BTN_C0PARTNER then
- if app.config.ModuleConfig.IsSupportDaLianMeng then
- self.ui.Items.Layout_copartner_title_match:setVisible(false)
- else
- self.ui.Items.Layout_copartner_title:setVisible(false)
- end
-
- self.ui.Items.Layout_no_data:setVisible(true)
- end
- return
- end
-
- if self.tag==BUTTON_TAG.BTN_C0PARTNER then
- if self.clubInfo.coapplyMessages then
- if app.config.ModuleConfig.IsSupportDaLianMeng then
- self.ui.Items.Layout_copartner_title_match:setVisible(true)
- else
- self.ui.Items.Layout_copartner_title:setVisible(true)
- end
- self.ui.Items.Layout_no_data:setVisible(false)
- end
- end
-
- local messages = {}
- for k,v in pairs(self.clubInfo.coapplyMessages) do
- table.insert(messages,v)
- end
-
- table.sort(messages, function (a, b)
- return a.applyTime > b.applyTime
- end)
-
- for k,v in pairs(messages) do
- local item = import("luaScript.Views.Club.ClubMessageItem"):new(v,"coapplyMsg", self.clubId)
- mListView:addChild(item.ui)
- self.ui.Items.Layout_copartner_title:setVisible(true)
- end
-
- mListView:jumpToTopOnSizeChanged()
- end
-
- function ClubMessage:setAwardListMsgData()
- --奖励内容列表消息
- local mListView = self.ui.Items.ScrollView_reward
- mListView:getInnerContainer():setAutoSize(true)
- mListView:removeAllChildren();
-
- if self.clubInfo.awardMessages == nil then
- if self.tag==BUTTON_TAG.BTN_REWARD then
- self.ui.Items.Layout_no_data:setVisible(true)
- end
- return
- end
-
- if self.tag==BUTTON_TAG.BTN_REWARD then
- if self.clubInfo.awardMessages == nil or table.nums(self.clubInfo.awardMessages)==0 then
- self.ui.Items.Layout_no_data:setVisible(true)
- return
- else
- self.ui.Items.Layout_no_data:setVisible(false)
- end
- end
-
- for k,v in pairsByKeysEx(self.clubInfo.awardMessages) do
- local item = import("luaScript.Views.Club.ClubMessageItem"):new(v, "awardListMsg", self.clubId)
- mListView:addChild(item.ui)
- end
- mListView:jumpToTopOnSizeChanged()
- end
-
-
- function ClubMessage:onGetRewardSuccess(event)
- if event then
- local awardType = ""
- if event.type == 1 then
- awardType = "房卡"
- elseif event.type == 2 then
- awardType = "金币"
- end
- local content = string.format("恭喜您领取奖励成功,获得%d%s", event.num, awardType);
-
- showConfirmDialog(content)
- end
- end
-
- --根据是否领取奖励,升序排序(0:未领取,1:已领取)
- function ClubMessage:sortStatus()
- if app.club_php.awardListMsg then
- local awardList = app.club_php.awardListMsg[tonumber(self.gID)]
- if awardList then
- local lT = {};
- for k,v in pairs(awardList.list) do
- table.insert(lT,v)
- end
-
- --升序(0:未领取,1:已领取)
- local function sortFunc(a,b)
- return tonumber(a.status) < tonumber(b.status)
- end
-
- table.sort(lT, sortFunc);
-
- app.club_php.awardListMsg.list = lT;
- end
- end
- end
-
- --消息处理成功回调
- function ClubMessage:onChangeMsgSuccess(event)
- --重新请求消息数据
- app.club_php:requestMsg(self.clubId);
- end
-
- return ClubMessage
|