You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

331 lines
12 KiB

  1. local DEEP_COL1 = cc.c3b(0xff, 0xff, 0xff)
  2. local WEAK_COL1 = cc.c3b(0xd9, 0xf6, 0xff)
  3. local scheduler = require("luaScript.ModuleEapSdk.SdkSocket.scheduler")
  4. local BaseLayer = require("luaScript.ModuleEapSdk.BaseLayers.BaseLayer")
  5. local LayerBindPhone = EapClass("LayerBindPhone", BaseLayer)
  6. function LayerBindPhone.createWithData(__node, __zorder)
  7. local layer = LayerBindPhone.new()
  8. layer.m_parent = __node
  9. __node:addChild(layer, __zorder)
  10. return layer
  11. end
  12. function LayerBindPhone:myShow()
  13. print(" LayerBindPhone:myShow()")
  14. -- self:addListener(true)
  15. self:initData()
  16. self:initUI()
  17. end
  18. function LayerBindPhone:myClose()
  19. if self.m_ScheduleID then
  20. scheduler.unscheduleGlobal(self.m_ScheduleID)
  21. end
  22. if self.m_ScheduleID1 then
  23. scheduler.unscheduleGlobal(self.m_ScheduleID1)
  24. end
  25. end
  26. function LayerBindPhone:initData()
  27. self.m_curSel = 1
  28. self.m_dealSel = true --用户协议是否选中
  29. self.m_matchIDs = {}
  30. self.scrollView = nil
  31. self.m_menuItems = {}
  32. end
  33. function LayerBindPhone:initUI()
  34. self.imgPath = {
  35. "res/ModuleEapSdk/eapsdk_public_back_bg1.png",
  36. "res/ModuleEapSdk/eapsdk_public_back_bg6.png",
  37. "res/ModuleEapSdk/eapsdk_public_back_bg3.png",
  38. "res/ModuleEapSdk/eapsdk_bt_xb_sp.png",
  39. "res/ModuleEapSdk/eapsdk_wj_icon_decor.png",
  40. "res/ModuleEapSdk/Eap_Score/eapsdk_wj_btn_bind.png",
  41. "res/ModuleEapSdk/eapsdk_public_back_bg4.png",
  42. "res/ModuleEapSdk/eapsdk_img_arrow.png",
  43. "res/ModuleEapSdk/eapsdk_img_phone.png",
  44. "res/ModuleEapSdk/eapsdk_img_code.png",
  45. "res/ModuleEapSdk/eapsdk_wj_btn_back.png",
  46. "res/ModuleEapSdk/Eap_Score/eapsdk_btn_getCode.png",
  47. "res/ModuleEapSdk/eapsdk_store_btnDeal_off.png",
  48. "res/ModuleEapSdk/eapsdk_store_btnDeal_on.png",
  49. "res/ModuleEapSdk/eapsdk_store_btnDealGo.png", --15
  50. "res/ModuleEapSdk/Eap_Red/eapsdk_wj_btn_bind1.png",
  51. }
  52. local fix_x = display.width
  53. local fix_y = display.cy
  54. local imgBack2 = G_EapAbbreviation.createImageView(self.imgPath[2], self, cc.p(fix_x-10, fix_y), true, -1, 10101, cc.p(1, 0.5))
  55. imgBack2:setSize(cc.size(544, 580))
  56. self.imgBack2 = imgBack2
  57. self.btnBack = ccui.Button:create(self.imgPath[11])
  58. self.btnBack:setPosition(cc.p(30, 550))
  59. self.btnBack:setScale(0.6)
  60. imgBack2:addChild(self.btnBack)
  61. addButtonListener(self.btnBack, function()
  62. self:refreshErrMsg(3, 0)
  63. G_EapSocketLogin.request_markLog(MARK_LOG11005)
  64. local bottomSel = G_LayerMain.m_layerBottom:getCurSel()
  65. print("LayerBindPhone btnBack clicked === ", bottomSel)
  66. if bottomSel == 1 then
  67. G_LayerMain:showLayer(LAYER_ENUM.LAYER_MATCH)
  68. elseif bottomSel == 2 then
  69. G_LayerMain:showLayer(LAYER_ENUM.LAYER_STORE)
  70. end
  71. end)
  72. local normCol = cc.c3b(0x33, 0x33, 0x33)
  73. local disCol = cc.c3b(0xe9, 0x9d, 0x39)
  74. local title = "报名参赛"
  75. G_EapAbbreviation.createSystemLabel(imgBack2, cc.p(265, 468+80), title, 30, DEEP_COL1, true)
  76. self.node_submit = cc.Node:create()
  77. self.node_submit:setPosition(cc.p(0, 20))
  78. imgBack2:addChild(self.node_submit)
  79. self.node_award = cc.Node:create()
  80. imgBack2:addChild(self.node_award)
  81. self.node_submit:setVisible(true)
  82. self.node_award:setVisible(false)
  83. local imgBack3 = G_EapAbbreviation.createImageView(self.imgPath[3], self.node_submit, cc.p(265, 420), true)
  84. imgBack3:setSize(cc.size(360, 48))
  85. local imgBack4 = G_EapAbbreviation.createImageView(self.imgPath[3], self.node_submit, cc.p(265, 300), true)
  86. imgBack4:setSize(cc.size(360, 48))
  87. local imgBack5 = G_EapAbbreviation.createImageView(self.imgPath[3], self.node_submit, cc.p(265, 180), true)
  88. imgBack5:setSize(cc.size(360, 48))
  89. local imgPhone = G_EapAbbreviation.createImageView(self.imgPath[9], imgBack3, cc.p(20, 24))
  90. local imgCode = G_EapAbbreviation.createImageView(self.imgPath[10], imgBack4, cc.p(20, 24))
  91. imgPhone:setScale(0.6)
  92. imgCode:setScale(0.6)
  93. local title = "手机号"
  94. G_EapAbbreviation.createSystemLabel(self.node_submit, cc.p(120, 470), title, 24, DEEP_COL1, true)
  95. self.editPhone = G_EapLabelTool.getEditBox(self.imgPath[3], cc.size(210, 48), "请输入手机号", nil, 11)
  96. self.editPhone:setAnchorPoint(cc.p(0, 0.5))
  97. self.editPhone:setPosition(cc.p(125, 420))
  98. self.node_submit:addChild(self.editPhone)
  99. local title1 = "验证码"
  100. G_EapAbbreviation.createSystemLabel(self.node_submit, cc.p(120, 350), title1, 24, DEEP_COL1, true)
  101. self.editCode = G_EapLabelTool.getEditBox(self.imgPath[3], cc.size(320, 48), "请输入验证码")
  102. self.editCode:setAnchorPoint(cc.p(0, 0.5))
  103. self.editCode:setPosition(cc.p(125, 300))
  104. self.node_submit:addChild(self.editCode)
  105. local title2 = "选择玩法"
  106. G_EapAbbreviation.createSystemLabel(self.node_submit, cc.p(128, 230), title2, 24, DEEP_COL1, true)
  107. local errMsg = ""
  108. self.lblErr = G_EapAbbreviation.createSystemLabel(self.node_submit, cc.p(265, 100), errMsg, 22, cc.c3b(220, 0, 0))
  109. --获取验证码
  110. self.btnGetCode = ccui.Button:create(self.imgPath[12])
  111. self.btnGetCode:setPosition(cc.p(300, 24))
  112. imgBack3:addChild(self.btnGetCode)
  113. self.btnGetCode:setScale(0.6)
  114. addButtonListener(self.btnGetCode, function()
  115. self.btnGetCode:setTouchEnabled(false)
  116. self.btnBack:setVisible(false)
  117. self.m_ScheduleID1 = scheduler.performWithDelayGlobal(function()
  118. self.btnGetCode:setTouchEnabled(true)
  119. self.btnBack:setVisible(true)
  120. end, 2)
  121. local phone = self.editPhone:getText()
  122. if phone == "" then
  123. local errStr = "请先完善信息!"
  124. self.lblErr:setString(errStr)
  125. return
  126. end
  127. phone = tonumber(phone) or 0
  128. G_EapSocketLogin.request_GetCodeReq(phone, "bindPhone")
  129. end)
  130. --提交
  131. self.btnSubmit = ccui.Button:create(self.imgPath[16])
  132. self.btnSubmit:setPosition(cc.p(265, 20))
  133. self.node_submit:addChild(self.btnSubmit)
  134. self.btnSubmit:setScale(0.6)
  135. addButtonListener(self.btnSubmit, function()
  136. print("LayerRule btnSubmit clicked === ")
  137. G_EapSocketLogin.request_markLog(MARK_LOG11006)
  138. self.btnSubmit:setTouchEnabled(false)
  139. self.btnBack:setVisible(false)
  140. self.m_ScheduleID = scheduler.performWithDelayGlobal(function()
  141. self.btnSubmit:setTouchEnabled(true)
  142. self.btnBack:setVisible(true)
  143. end, 2)
  144. --绑定平台账户
  145. local phone = self.editPhone:getText()
  146. local code = self.editCode:getText()
  147. if phone == "" or code == "" then
  148. local errStr = "请先完善信息!"
  149. self.lblErr:setString(errStr)
  150. return
  151. end
  152. if not self.m_dealSel then
  153. local errStr = "请先阅读并同意积分协议!"
  154. self.lblErr:setString(errStr)
  155. return
  156. end
  157. phone = tonumber(phone) or 0
  158. code = tonumber(code) or 0
  159. G_EapSocketLogin.request_BindPhoneReq(phone, code, nil, "bindPhone")
  160. end)
  161. -- 选择赛事
  162. local btnMenus = cc.Node:create()
  163. btnMenus:setPosition(cc.p(265, 180))
  164. self.node_submit:addChild(btnMenus)
  165. local vecMatchInfos = {}
  166. for k,v in pairs(G_EapSdkMgr.m_allMatchs) do
  167. vecMatchInfos[#vecMatchInfos+1] = v
  168. self.m_matchIDs[#self.m_matchIDs+1] = k
  169. end
  170. for i=1, #vecMatchInfos do
  171. local matchItem = vecMatchInfos[i]
  172. local gameInfo = G_EapSdkMgr:getGameInfo(matchItem.GameID)
  173. local coreName1 = gameInfo and gameInfo.name or "赛事名称"..i
  174. if G_EapLabelTool.GetUTF8StrNums( coreName1 ) > 9 then
  175. coreName1 = G_EapLabelTool.GetUTF8StrByIdxNumEx(coreName1, 9)
  176. coreName1 = coreName1..".."
  177. end
  178. local item1 = self:createItemFont(btnMenus, i, coreName1)
  179. addButtonListener(item1, function()
  180. print("item1 clicked ========= ")
  181. self:setItemFontEnable(self.m_menuItems[self.m_curSel], true)
  182. self:setItemFontEnable(self.m_menuItems[i], false)
  183. self.m_curSel = i
  184. end)
  185. self.m_menuItems[#self.m_menuItems+1] = item1
  186. -- local matchNumInfo = G_EapSdkMgr:getScoreMatchNumInfo(matchItem.MatchID)
  187. -- local tmpCount = matchNumInfo and matchNumInfo.Count or 0
  188. -- local title1 = tmpCount.."人"
  189. -- G_EapAbbreviation.createSystemLabel(self.node_submit, cc.p(150+(i-1)*120, 135), title1, 22, DEEP_COL1)
  190. end
  191. for i=1,#self.m_menuItems do
  192. if i == 1 then
  193. self:setItemFontEnable(self.m_menuItems[i], false)
  194. else
  195. self:setItemFontEnable(self.m_menuItems[i], true)
  196. end
  197. end
  198. self:initDealNode()
  199. end
  200. function LayerBindPhone:initDealNode()
  201. --是否同意
  202. self.btnDeal = G_EapAbbreviation.createImageView(self.imgPath[14], self.node_submit, cc.p(130, 65))
  203. self.btnDeal:setScale(0.6)
  204. addButtonListener(self.btnDeal, function()
  205. if self.m_dealSel then
  206. self.btnDeal:loadTexture(self.imgPath[13])
  207. else
  208. self.btnDeal:loadTexture(self.imgPath[14])
  209. end
  210. self.m_dealSel = not self.m_dealSel
  211. end)
  212. --用户须知网址
  213. self.btnJump = ccui.Button:create(self.imgPath[15])
  214. self.btnJump:setPosition(cc.p(285, 65))
  215. self.node_submit:addChild(self.btnJump)
  216. self.btnJump:setScale(0.6)
  217. addButtonListener(self.btnJump, function()
  218. print("LayerBindPhone btnJump clicked === ")
  219. F_EapOpenUrl(EAP_SCORE_DEAL_URL)
  220. end)
  221. end
  222. function LayerBindPhone:refreshErrMsg(__info, __ret)
  223. local lblCol = cc.c3b(220, 0, 0)
  224. local lblStr = ""
  225. if __info == 1 then
  226. if __ret < 0 then
  227. G_EapSocketLogin.request_markLog(MARK_LOG11008, tostring(__ret))
  228. lblStr = "获取验证码失败!"..tostring(__ret)
  229. else
  230. lblCol = cc.c3b(0, 220, 0)
  231. lblStr = "获取验证码成功!请稍等~"
  232. end
  233. elseif __info == 2 then
  234. if __ret == 0 then
  235. lblCol = cc.c3b(0, 220, 0)
  236. lblStr = "绑定手机号成功!"
  237. local selMatchID = self.m_matchIDs[self.m_curSel]
  238. G_EapSdkMgr:setSelMatchID(selMatchID)
  239. local matchInfo = G_EapSdkMgr.m_allMatchs[selMatchID]
  240. if matchInfo then
  241. G_EapSocketLogin.request_PointGameSelectGet(2, matchInfo.GameID)
  242. end
  243. else
  244. local errWarns = {
  245. [1] = "绑定手机号失败!",
  246. [6] = "验证码错误!",
  247. [7] = "验证码失效!",
  248. [40006] = "该账号已绑定过手机!",
  249. [40007] = "该手机号已被注册!",
  250. [40019] = "平台账号已经绑定过游戏账号!",
  251. }
  252. local errStr = errWarns[1]
  253. local index = math.abs(__ret)
  254. lblStr = errWarns[index] or errStr
  255. G_EapSocketLogin.request_markLog(MARK_LOG11007, tostring(__ret))
  256. end
  257. end
  258. self.lblErr:setString(lblStr)
  259. self.lblErr:setColor(lblCol)
  260. end
  261. function LayerBindPhone:createItemFont(__parent, __index, __title)
  262. local sysFont = G_EapAbbreviation.getSystemFont()
  263. local item1 = ccui.Button:create()
  264. item1:setScale9Enabled(true)
  265. item1:setSize(cc.size(150, 50))
  266. item1:setPosition(cc.p(-120+(__index-1)*120, 0))
  267. local ttfConfig = {}
  268. ttfConfig.fontFilePath = sysFont
  269. ttfConfig.fontSize = 22
  270. ttfConfig.glyphs = cc.GLYPHCOLLECTION_DYNAMIC
  271. ttfConfig.customGlyphs = nil
  272. ttfConfig.distanceFieldEnabled = false
  273. ttfConfig.outlineSize = 0
  274. item1:setFontConfig(ttfConfig)
  275. item1:setTitleText(__title)
  276. __parent:addChild(item1)
  277. return item1
  278. end
  279. function LayerBindPhone:setItemFontEnable(__node, __state)
  280. local normCol = cc.c3b(0x33, 0x33, 0x33)
  281. local disCol = cc.c3b(0xe9, 0x9d, 0x39)
  282. if __node then
  283. if __state then
  284. __node:setTitleColor(normCol)
  285. else
  286. __node:setTitleColor(disCol)
  287. end
  288. __node:setTouchEnabled(__state)
  289. end
  290. end
  291. return LayerBindPhone