--[[ 活动主界面 --]] local ActivityMainView = class("ActivityMainView", cc.UIView) local ActivityConfig = require("luaScript.Views.Activity.ActivityConfig") function ActivityMainView:ctor(endCallback) ActivityMainView.super.ctor(self) self.endCallback = endCallback; --当前选择的类型1:活动 2:公告(默认选中活动) self.selectType = app.serverConfigs:getStickyType() self.ui = loadUI("res/ui/ui_dating/ui_activity_main.ui") self:addChild(self.ui) end function ActivityMainView:onEnter() ActivityMainView.super.onEnter(self) self.ui.Items.Button_Close:registerClick(handler(self, self.onClickClose)) --活动标签 self.ui.Items.Layout_huodong:registerClick(handler(self, self.onClickHuodong)) -- self.ui.Items.ImageView_huodong_gray:setVisible(false) --公告标签 self.ui.Items.Layout_gonggao:registerClick(handler(self, self.onClickGonggao)) -- self.ui.Items.ImageView_gonggao_bg:setVisible(false) --活动点击事件 self.ui.Items.Layout_Rule:registerClick(handler(self, self.onClickContent)) self.ui.Items.Layout_Rule:setTouchEnabled(false) self.ui.Items.Layout_Social:setVisible(false) self.ui.Items.Layout_Xianyou:setVisible(false) self.ui.Items.Layout_Chuanqi:setVisible(false) self.ui.Items.Layout_Buyu:setVisible(false) self.ui.Items.Layout_Qier:setVisible(false) self.ui.Items.Layout_Jiandang:setVisible(false) self.ui.Items.Layout_Jinbichang:setVisible(false) self.ui.Items.Layout_QianJiangBuYu:setVisible(false) self.ui.Items.Layout_All:setVisible(false) self.ui.Items.Layout_DuoWanWan:setVisible(false) --仙游 self.ui.Items.Layout_Xianyou:registerClick(handler(self, self.onClickContent)) --传奇 self.ui.Items.Layout_Chuanqi:registerClick(handler(self, self.onClickContent)) --捕鱼 self.ui.Items.Layout_Buyu:registerClick(handler(self, self.onClickContent)) --七十二变 self.ui.Items.Layout_Qier:registerClick(handler(self, self.onClickContent)) --剑荡江湖 self.ui.Items.Layout_Jiandang:registerClick(handler(self, self.onClickContent)) --钱江捕鱼 self.ui.Items.Layout_QianJiangBuYu:registerClick(handler(self, self.onClickContent)) --只爱三国 self.ui.Items.Layout_All:registerClick(handler(self, self.onClickContent)) --多玩玩 self.ui.Items.Layout_DuoWanWan:registerClick(handler(self, self.onClickContent)) --金币场 self.ui.Items.Layout_Jinbichang:registerClick(handler(self, self.onClickButtonGold)) self:bindEvent(app, "onGetActivityInfoResponse", handler(self, self.onGetActivityInfoResponse)) --再更新界面 self:updateView() end function ActivityMainView:onExit() ActivityMainView.super.onExit(self) if self.endCallback then self.endCallback() end end -- 跳转到金币场 function ActivityMainView:onClickButtonGold() playBtnEffect() if not app.config.ModuleConfig.IsSupportCoin then showTooltip("开发中...") return ; end local view = import("luaScript.Views.Coin.CoinView"):new(); view:setAnchorPoint(cc.p(0.5, 0.5)); app:showWaitDialog(view); self:removeFromParent() end function ActivityMainView:updateView() if self.selectType == 2 then self.ui.Items.ImageView_huodong_bg:setVisible(true) self.ui.Items.ImageView_gonggao_bg:setVisible(false) else self.ui.Items.ImageView_gonggao_bg:setVisible(true) self.ui.Items.ImageView_huodong_bg:setVisible(false) end self.radioManager = import("luaScript.Tools.RadioManager"):new(); self.radioManager:setColorSwitch(false) self.ui.Items.CheckBox_XuanXiang:setVisible(false) self.ui.Items.ScrollView:getInnerContainer():setAutoSize(true) self.ui.Items.ScrollView:removeAllChildren() --当前选中的活动数据 self.mission = nil local misstions,index = app.serverConfigs:getMissionListByType(self.selectType) for k,v in pairs(misstions) do if v and v.ext then local info = json.decode(v.ext) or {} if not info.ishide then local ui = self.ui.Items.CheckBox_XuanXiang:getCopied() ui.Items = getUIItems(ui) ui.Items.Text_Nor:setText(v.name) ui.Items.Text_Sel:setText(v.name) ui.Items.Text_Sel:setVisible(false) self.ui.Items.ScrollView:addChild(ui) self.radioManager:addItem(ui, v) end end end self.radioManager:setCallback(handler(self, self.onClickItem)) self.radioManager:setDefault(misstions[index]) self.ui.Items.ScrollView:hideAllBar() self.ui.Items.ScrollView:jumpToTopOnSizeChanged() end function ActivityMainView:onClickClose() playBtnCloseEffect() app:dispatchEvent({name = GAME_EVENT.ACTIVITY_CLOSE}) self:removeFromParent() end function ActivityMainView:onClickItem(mission,checkNode) if self.selectItem and not tolua.isnull(self.selectItem) then -- playBtnEffect() self.selectItem.Items.Text_Nor:setVisible(true) self.selectItem.Items.Text_Sel:setVisible(false) end self.selectItem = checkNode if self.selectItem then self.selectItem.Items.Text_Nor:setVisible(false) self.selectItem.Items.Text_Sel:setVisible(true) end self:showContent(mission) end function ActivityMainView:showContent(mission) self.ui.Items.Layout_Social:setVisible(false) self.ui.Items.Layout_Xianyou:setVisible(false) self.ui.Items.Layout_Chuanqi:setVisible(false) self.ui.Items.Layout_Buyu:setVisible(false) self.ui.Items.Layout_Qier:setVisible(false) self.ui.Items.Layout_Jiandang:setVisible(false) self.ui.Items.Layout_Jinbichang:setVisible(false) self.ui.Items.Layout_QianJiangBuYu:setVisible(false) self.ui.Items.Layout_All:setVisible(false) self.ui.Items.Layout_DuoWanWan:setVisible(false) self.mission = mission self.ui.Items.Layout_Rule:removeAllChildren() logD("ActivityMainView:showContent", mission) local ext = json.decode(mission.ext) if ext then local view = import("luaScript.Views.Activity."..ext.view):new(mission) self.ui.Items.Layout_Rule:addChild(view) end local param = ext.param or {} local action = ext.action or "" if action == "webGame" then if tonumber(param) == 10005 then self.ui.Items.Layout_Xianyou:setVisible(true) elseif tonumber(param) == 10008 then self.ui.Items.Layout_Chuanqi:setVisible(true) elseif tonumber(param) == 10002 then self.ui.Items.Layout_Buyu:setVisible(true) elseif tonumber(param) == 10003 then self.ui.Items.Layout_Qier:setVisible(true) elseif tonumber(param) == 10006 then self.ui.Items.Layout_Jiandang:setVisible(true) elseif tonumber(param) == 10007 then self.ui.Items.Layout_QianJiangBuYu:setVisible(true) elseif tonumber(param) == 10010 then -- 只爱三国 self.ui.Items.Layout_All:setVisible(true) elseif tonumber(param) == 10011 then -- 诚物 self.ui.Items.Layout_All:setVisible(true) end elseif action == "webUrl" then self.ui.Items.Layout_DuoWanWan:setVisible(true) elseif action == "gold" then if tonumber(param.gameId) == 33 then self.ui.Items.Layout_Jinbichang:setVisible(true) end elseif action == "share" then else if tonumber(param) == 10009 then -- 社交平台 self.ui.Items.Layout_Social:setVisible(true) end end end function ActivityMainView:onClickContent() if not self.mission then return end local ext = json.decode(self.mission.ext) or {} local action = ext.action local param = ext.param if not action then logE("ActivityMainView:onClickContent", "扩展信 息没有配置action,不允许跳转") return end if action=="webGame" then -- 打开小游戏 local gameId = ext.param self:openWebGame(gameId) elseif action=="share" then -- 打开微信分享 self:shareGame(ext.param) elseif action == "gold" then -- 打开金币场 local gameId = param.gameId self:onClickButtonGold(gameId) elseif action == "func" then -- 整个页面点击 local func = param.func or "" if type(self[func]) == "function" then self[func]() end elseif action=="webUrl" then if isWin32Platform() then showTooltip("请在手机上操作") return end app.plugin:callUrl(ext.url); end end function ActivityMainView:openWebGame(gameId) if not app.serverConfigs:isOpenWebGame(gameId) then showTooltip("敬请期待!") return end self.ui.Items.Layout_Rule:setTouchEnabled(false) app.serverConfigs:requestWebGameUrl(gameId,function (url,orientation) self.ui.Items.Layout_Rule:setTouchEnabled(false) if gameId == 10011 then -- 诚物 local game_id = ActivityConfig.ActivityGameID local game_user_id = ""..app.user.loginInfo.uid local key = ActivityConfig.ActivityGameCode local str = ""..game_id .."" .. game_user_id .. "".. key local sign = md5.sumhexa( str ) logD("out_url___sign", sign); local game_code = string.lower(sign); local url = string.format("https://h5g.zwokeji.com/?game_id="..game_id.."&game_user_id="..game_user_id.."&game_code="..game_code.."") -- https://h5g.zwokeji.com/?game_id=10741&game_user_id=1065160&game_code=74043377bd456b7be23b12a7d86e2ac1 logD("out_url___url", url); app.plugin:callUrl(url) return end if not url or url =="" then showTooltip("敬请期待!") return end if gameId == 10010 then -- 只爱三国 app.plugin:callUrl(url) return end local targetPlatform = cc.Application:getInstance():getTargetPlatform() if targetPlatform == 3 then --判断是V开头的手机,一般是VIVO,比如V1901A local machineType = getLocalizedModel() if string.find(machineType,"V") == 1 then local index = string.find(url,"sc") if index then local params=string.sub(url,1,index-2) app.plugin:callUrl(params); else app.plugin:callUrl(url); end else local view = import("luaScript.Views.Main.WebViews.WebGameView"):new(gameId,url,orientation) view:setAnchorPoint(cc.p(0.5, 0.5)) app:showWaitDialog(view,nil,true) end else local view = import("luaScript.Views.Main.WebViews.WebGameView"):new(gameId,url,orientation) view:setAnchorPoint(cc.p(0.5, 0.5)) app:showWaitDialog(view,nil,true) end end) end function ActivityMainView:shareGame(param) end --活动点击事件 function ActivityMainView:onClickHuodong() self.selectType = 2 playBtnEffect() self:updateView() end --公告点击事件 function ActivityMainView:onClickGonggao() self.selectType = 1 playBtnEffect() self:updateView() end function ActivityMainView:onGetActivityInfoResponse() self.selectType = app.serverConfigs:getStickyType() self:updateView() end return ActivityMainView;