|
- --[[
- 活动主界面
- --]]
-
- 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;
|