local DEEP_COL1 = cc.c3b(0xff, 0xff, 0xff) local WEAK_COL1 = cc.c3b(0xd9, 0xf6, 0xff) local scheduler = require("luaScript.ModuleEapSdk.SdkSocket.scheduler") local BaseLayer = require("luaScript.ModuleEapSdk.BaseLayers.BaseLayer") local LayerBindPhone = EapClass("LayerBindPhone", BaseLayer) function LayerBindPhone.createWithData(__node, __zorder) local layer = LayerBindPhone.new() layer.m_parent = __node __node:addChild(layer, __zorder) return layer end function LayerBindPhone:myShow() print(" LayerBindPhone:myShow()") -- self:addListener(true) self:initData() self:initUI() end function LayerBindPhone:myClose() if self.m_ScheduleID then scheduler.unscheduleGlobal(self.m_ScheduleID) end if self.m_ScheduleID1 then scheduler.unscheduleGlobal(self.m_ScheduleID1) end end function LayerBindPhone:initData() self.m_curSel = 1 self.m_dealSel = true --用户协议是否选中 self.m_matchIDs = {} self.scrollView = nil self.m_menuItems = {} end function LayerBindPhone:initUI() self.imgPath = { "res/ModuleEapSdk/eapsdk_public_back_bg1.png", "res/ModuleEapSdk/eapsdk_public_back_bg6.png", "res/ModuleEapSdk/eapsdk_public_back_bg3.png", "res/ModuleEapSdk/eapsdk_bt_xb_sp.png", "res/ModuleEapSdk/eapsdk_wj_icon_decor.png", "res/ModuleEapSdk/Eap_Score/eapsdk_wj_btn_bind.png", "res/ModuleEapSdk/eapsdk_public_back_bg4.png", "res/ModuleEapSdk/eapsdk_img_arrow.png", "res/ModuleEapSdk/eapsdk_img_phone.png", "res/ModuleEapSdk/eapsdk_img_code.png", "res/ModuleEapSdk/eapsdk_wj_btn_back.png", "res/ModuleEapSdk/Eap_Score/eapsdk_btn_getCode.png", "res/ModuleEapSdk/eapsdk_store_btnDeal_off.png", "res/ModuleEapSdk/eapsdk_store_btnDeal_on.png", "res/ModuleEapSdk/eapsdk_store_btnDealGo.png", --15 "res/ModuleEapSdk/Eap_Red/eapsdk_wj_btn_bind1.png", } local fix_x = display.width local fix_y = display.cy local imgBack2 = G_EapAbbreviation.createImageView(self.imgPath[2], self, cc.p(fix_x-10, fix_y), true, -1, 10101, cc.p(1, 0.5)) imgBack2:setSize(cc.size(544, 580)) self.imgBack2 = imgBack2 self.btnBack = ccui.Button:create(self.imgPath[11]) self.btnBack:setPosition(cc.p(30, 550)) self.btnBack:setScale(0.6) imgBack2:addChild(self.btnBack) addButtonListener(self.btnBack, function() self:refreshErrMsg(3, 0) G_EapSocketLogin.request_markLog(MARK_LOG11005) local bottomSel = G_LayerMain.m_layerBottom:getCurSel() print("LayerBindPhone btnBack clicked === ", bottomSel) if bottomSel == 1 then G_LayerMain:showLayer(LAYER_ENUM.LAYER_MATCH) elseif bottomSel == 2 then G_LayerMain:showLayer(LAYER_ENUM.LAYER_STORE) end end) local normCol = cc.c3b(0x33, 0x33, 0x33) local disCol = cc.c3b(0xe9, 0x9d, 0x39) local title = "报名参赛" G_EapAbbreviation.createSystemLabel(imgBack2, cc.p(265, 468+80), title, 30, DEEP_COL1, true) self.node_submit = cc.Node:create() self.node_submit:setPosition(cc.p(0, 20)) imgBack2:addChild(self.node_submit) self.node_award = cc.Node:create() imgBack2:addChild(self.node_award) self.node_submit:setVisible(true) self.node_award:setVisible(false) local imgBack3 = G_EapAbbreviation.createImageView(self.imgPath[3], self.node_submit, cc.p(265, 420), true) imgBack3:setSize(cc.size(360, 48)) local imgBack4 = G_EapAbbreviation.createImageView(self.imgPath[3], self.node_submit, cc.p(265, 300), true) imgBack4:setSize(cc.size(360, 48)) local imgBack5 = G_EapAbbreviation.createImageView(self.imgPath[3], self.node_submit, cc.p(265, 180), true) imgBack5:setSize(cc.size(360, 48)) local imgPhone = G_EapAbbreviation.createImageView(self.imgPath[9], imgBack3, cc.p(20, 24)) local imgCode = G_EapAbbreviation.createImageView(self.imgPath[10], imgBack4, cc.p(20, 24)) imgPhone:setScale(0.6) imgCode:setScale(0.6) local title = "手机号" G_EapAbbreviation.createSystemLabel(self.node_submit, cc.p(120, 470), title, 24, DEEP_COL1, true) self.editPhone = G_EapLabelTool.getEditBox(self.imgPath[3], cc.size(210, 48), "请输入手机号", nil, 11) self.editPhone:setAnchorPoint(cc.p(0, 0.5)) self.editPhone:setPosition(cc.p(125, 420)) self.node_submit:addChild(self.editPhone) local title1 = "验证码" G_EapAbbreviation.createSystemLabel(self.node_submit, cc.p(120, 350), title1, 24, DEEP_COL1, true) self.editCode = G_EapLabelTool.getEditBox(self.imgPath[3], cc.size(320, 48), "请输入验证码") self.editCode:setAnchorPoint(cc.p(0, 0.5)) self.editCode:setPosition(cc.p(125, 300)) self.node_submit:addChild(self.editCode) local title2 = "选择玩法" G_EapAbbreviation.createSystemLabel(self.node_submit, cc.p(128, 230), title2, 24, DEEP_COL1, true) local errMsg = "" self.lblErr = G_EapAbbreviation.createSystemLabel(self.node_submit, cc.p(265, 100), errMsg, 22, cc.c3b(220, 0, 0)) --获取验证码 self.btnGetCode = ccui.Button:create(self.imgPath[12]) self.btnGetCode:setPosition(cc.p(300, 24)) imgBack3:addChild(self.btnGetCode) self.btnGetCode:setScale(0.6) addButtonListener(self.btnGetCode, function() self.btnGetCode:setTouchEnabled(false) self.btnBack:setVisible(false) self.m_ScheduleID1 = scheduler.performWithDelayGlobal(function() self.btnGetCode:setTouchEnabled(true) self.btnBack:setVisible(true) end, 2) local phone = self.editPhone:getText() if phone == "" then local errStr = "请先完善信息!" self.lblErr:setString(errStr) return end phone = tonumber(phone) or 0 G_EapSocketLogin.request_GetCodeReq(phone, "bindPhone") end) --提交 self.btnSubmit = ccui.Button:create(self.imgPath[16]) self.btnSubmit:setPosition(cc.p(265, 20)) self.node_submit:addChild(self.btnSubmit) self.btnSubmit:setScale(0.6) addButtonListener(self.btnSubmit, function() print("LayerRule btnSubmit clicked === ") G_EapSocketLogin.request_markLog(MARK_LOG11006) self.btnSubmit:setTouchEnabled(false) self.btnBack:setVisible(false) self.m_ScheduleID = scheduler.performWithDelayGlobal(function() self.btnSubmit:setTouchEnabled(true) self.btnBack:setVisible(true) end, 2) --绑定平台账户 local phone = self.editPhone:getText() local code = self.editCode:getText() if phone == "" or code == "" then local errStr = "请先完善信息!" self.lblErr:setString(errStr) return end if not self.m_dealSel then local errStr = "请先阅读并同意积分协议!" self.lblErr:setString(errStr) return end phone = tonumber(phone) or 0 code = tonumber(code) or 0 G_EapSocketLogin.request_BindPhoneReq(phone, code, nil, "bindPhone") end) -- 选择赛事 local btnMenus = cc.Node:create() btnMenus:setPosition(cc.p(265, 180)) self.node_submit:addChild(btnMenus) local vecMatchInfos = {} for k,v in pairs(G_EapSdkMgr.m_allMatchs) do vecMatchInfos[#vecMatchInfos+1] = v self.m_matchIDs[#self.m_matchIDs+1] = k end for i=1, #vecMatchInfos do local matchItem = vecMatchInfos[i] local gameInfo = G_EapSdkMgr:getGameInfo(matchItem.GameID) local coreName1 = gameInfo and gameInfo.name or "赛事名称"..i if G_EapLabelTool.GetUTF8StrNums( coreName1 ) > 9 then coreName1 = G_EapLabelTool.GetUTF8StrByIdxNumEx(coreName1, 9) coreName1 = coreName1..".." end local item1 = self:createItemFont(btnMenus, i, coreName1) addButtonListener(item1, function() print("item1 clicked ========= ") self:setItemFontEnable(self.m_menuItems[self.m_curSel], true) self:setItemFontEnable(self.m_menuItems[i], false) self.m_curSel = i end) self.m_menuItems[#self.m_menuItems+1] = item1 -- local matchNumInfo = G_EapSdkMgr:getScoreMatchNumInfo(matchItem.MatchID) -- local tmpCount = matchNumInfo and matchNumInfo.Count or 0 -- local title1 = tmpCount.."人" -- G_EapAbbreviation.createSystemLabel(self.node_submit, cc.p(150+(i-1)*120, 135), title1, 22, DEEP_COL1) end for i=1,#self.m_menuItems do if i == 1 then self:setItemFontEnable(self.m_menuItems[i], false) else self:setItemFontEnable(self.m_menuItems[i], true) end end self:initDealNode() end function LayerBindPhone:initDealNode() --是否同意 self.btnDeal = G_EapAbbreviation.createImageView(self.imgPath[14], self.node_submit, cc.p(130, 65)) self.btnDeal:setScale(0.6) addButtonListener(self.btnDeal, function() if self.m_dealSel then self.btnDeal:loadTexture(self.imgPath[13]) else self.btnDeal:loadTexture(self.imgPath[14]) end self.m_dealSel = not self.m_dealSel end) --用户须知网址 self.btnJump = ccui.Button:create(self.imgPath[15]) self.btnJump:setPosition(cc.p(285, 65)) self.node_submit:addChild(self.btnJump) self.btnJump:setScale(0.6) addButtonListener(self.btnJump, function() print("LayerBindPhone btnJump clicked === ") F_EapOpenUrl(EAP_SCORE_DEAL_URL) end) end function LayerBindPhone:refreshErrMsg(__info, __ret) local lblCol = cc.c3b(220, 0, 0) local lblStr = "" if __info == 1 then if __ret < 0 then G_EapSocketLogin.request_markLog(MARK_LOG11008, tostring(__ret)) lblStr = "获取验证码失败!"..tostring(__ret) else lblCol = cc.c3b(0, 220, 0) lblStr = "获取验证码成功!请稍等~" end elseif __info == 2 then if __ret == 0 then lblCol = cc.c3b(0, 220, 0) lblStr = "绑定手机号成功!" local selMatchID = self.m_matchIDs[self.m_curSel] G_EapSdkMgr:setSelMatchID(selMatchID) local matchInfo = G_EapSdkMgr.m_allMatchs[selMatchID] if matchInfo then G_EapSocketLogin.request_PointGameSelectGet(2, matchInfo.GameID) end else local errWarns = { [1] = "绑定手机号失败!", [6] = "验证码错误!", [7] = "验证码失效!", [40006] = "该账号已绑定过手机!", [40007] = "该手机号已被注册!", [40019] = "平台账号已经绑定过游戏账号!", } local errStr = errWarns[1] local index = math.abs(__ret) lblStr = errWarns[index] or errStr G_EapSocketLogin.request_markLog(MARK_LOG11007, tostring(__ret)) end end self.lblErr:setString(lblStr) self.lblErr:setColor(lblCol) end function LayerBindPhone:createItemFont(__parent, __index, __title) local sysFont = G_EapAbbreviation.getSystemFont() local item1 = ccui.Button:create() item1:setScale9Enabled(true) item1:setSize(cc.size(150, 50)) item1:setPosition(cc.p(-120+(__index-1)*120, 0)) local ttfConfig = {} ttfConfig.fontFilePath = sysFont ttfConfig.fontSize = 22 ttfConfig.glyphs = cc.GLYPHCOLLECTION_DYNAMIC ttfConfig.customGlyphs = nil ttfConfig.distanceFieldEnabled = false ttfConfig.outlineSize = 0 item1:setFontConfig(ttfConfig) item1:setTitleText(__title) __parent:addChild(item1) return item1 end function LayerBindPhone:setItemFontEnable(__node, __state) local normCol = cc.c3b(0x33, 0x33, 0x33) local disCol = cc.c3b(0xe9, 0x9d, 0x39) if __node then if __state then __node:setTitleColor(normCol) else __node:setTitleColor(disCol) end __node:setTouchEnabled(__state) end end return LayerBindPhone