源战役客户端
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

179 rader
5.9 KiB

1 månad sedan
  1. ServiceView = ServiceView or BaseClass(BaseItem)
  2. -- 客服界面
  3. function ServiceView:__init(parent)
  4. self.base_file = "setting"
  5. self.layout_file = "ServiceView"
  6. self.model = GameSettingModel:GetInstance()
  7. self.mainRoleVo = RoleManager.Instance.mainRoleInfo
  8. self.item_list = {}
  9. self:Load()
  10. end
  11. function ServiceView:Load_callback()
  12. self:LoadSuccess()
  13. self:InitEvent()
  14. end
  15. function ServiceView:LoadSuccess()
  16. -- self.qr_code = self:GetChild("qr_code"):GetComponent("Image")
  17. -- self.tipsContent = self:GetChild("tipsScrollView/Viewport/Content")
  18. -- lua_resM:setOutsideImageSprite(self,self.qr_code,GameResPath.GetSettingImage("qr_code"))
  19. local nodes = {
  20. "qr_code:img:obj",
  21. "copyBtn1:obj", "copyBtn2:obj",
  22. "copyRoleInfoBtn:obj", "changeRoleBtn:obj", "changeAccountBtn:obj",
  23. "headCon",
  24. "contact1:tmp", "contact2:tmp",
  25. "contact4:tmp", "contact5:tmp",
  26. "info3:tmp", "info1:tmp", "info2:tmp", "info4:tmp",
  27. }
  28. self:GetChildren(nodes)
  29. self.head_item = HeadRoleItem.New(self.headCon)
  30. self.head_item:SetItemSize(82, 82)
  31. self.service_data = VipModel:getInstance():GetServiceData()
  32. if self.need_refreshData then
  33. self:SetData()
  34. end
  35. end
  36. function ServiceView:InitEvent()
  37. local on_click = function ( click_obj )
  38. if self.copyBtn1_obj == click_obj then--拷贝公众号
  39. self:CopyInfo(1)
  40. elseif self.copyBtn2_obj == click_obj then--拷贝客服电话
  41. self:CopyInfo(2)
  42. elseif self.copyRoleInfoBtn_obj == click_obj then--拷贝角色信息
  43. self:CopyInfo(3)
  44. elseif self.changeRoleBtn_obj == click_obj then--切换角色
  45. if Scene.Instance.main_role:IsInState(PoseState.JUMP) or Scene.Instance.main_role:IsInState(PoseState.FLY)
  46. or Scene.Instance.main_role:IsInState(PoseState.JUMP_UP_HORSE) then
  47. return
  48. end
  49. local function ChangeRole()
  50. GlobalEventSystem:Fire(EventName.CHANGE_ROLE)
  51. end
  52. GlobalEventSystem:Fire(EventName.WANT_TO_CHANGE_ROLE)
  53. Alert.show("是否返回角色选择界面?",Alert.Type.Two,ChangeRole)
  54. elseif self.changeAccountBtn_obj == click_obj then--切换账号
  55. local function ChangeAccount()
  56. GlobalEventSystem:Fire(EventName.CHANGE_ACCOUNT)
  57. PlatformMgr:getInstance():LoginOut()
  58. end
  59. Alert.show("是否切换游戏账号?", Alert.Type.Two, ChangeAccount)
  60. end
  61. end
  62. AddClickEvent(self.copyBtn1_obj, on_click)
  63. AddClickEvent(self.copyBtn2_obj, on_click)
  64. AddClickEvent(self.copyRoleInfoBtn_obj, on_click)
  65. AddClickEvent(self.changeRoleBtn_obj, on_click)
  66. AddClickEvent(self.changeAccountBtn_obj, on_click)
  67. end
  68. function ServiceView:CopyInfo(copy_type)
  69. if copy_type == 1 then
  70. if not self.service_data then return end
  71. local str_list_1 = SplitByStr(self.service_data.link_info_1,'>')
  72. local final_str_list_1 = SplitByStr(str_list_1[2],'<')
  73. SetSystemClipboard(final_str_list_1[1])
  74. -- Optimizer.CopyOnPC(final_str_list_1[1])
  75. Message.show("复制成功,可前往粘贴~!")
  76. elseif copy_type == 2 then
  77. if not self.service_data then return end
  78. local str_list_2 = SplitByStr(self.service_data.link_info_2,'>')
  79. local final_str_list_2 = SplitByStr(str_list_2[2],'<')
  80. SetSystemClipboard(final_str_list_2[1])
  81. -- Optimizer.CopyOnPC(final_str_list_2[1])
  82. Message.show("复制成功,可前往粘贴~!")
  83. elseif copy_type == 3 then
  84. local str = ""
  85. local server_info = LoginController.Instance:GetPlatUserInfo()
  86. str = str.."区服信息:"..server_info.server_name.."\n"
  87. str = str.."角色名称:"..self.mainRoleVo.name.."\n"
  88. str = str.."角色ID:"..self.mainRoleVo.role_id.."\n"
  89. str = str.."账号:"..server_info.account
  90. SetSystemClipboard(str)
  91. -- Optimizer.CopyOnPC(str)
  92. Message.show("复制成功,可前往粘贴~!")
  93. end
  94. end
  95. function ServiceView:SetData()
  96. if self.is_loaded then
  97. self:UpdateView()
  98. else
  99. self.need_refreshData = true
  100. end
  101. end
  102. function ServiceView:UpdateView( )
  103. self:UpdateServiceInfo()
  104. self:UpdateRoleInfo()
  105. end
  106. function ServiceView:UpdateServiceInfo( )
  107. if not self.service_data then return end
  108. if not string.find(self.service_data.link_info_1,"@") then
  109. self.contact1_tmp.text = self.service_data.link_info_1
  110. else
  111. self.contact1_tmp.text = ChuanWenManager:FormatColorTag(self.service_data.link_info_1)
  112. end
  113. if not string.find(self.service_data.link_info_2,"@") then
  114. self.contact2_tmp.text = self.service_data.link_info_2
  115. else
  116. self.contact2_tmp.text = ChuanWenManager:FormatColorTag(self.service_data.link_info_2)
  117. end
  118. if not string.find(self.service_data.remark,"@") then
  119. self.contact4_tmp.text = self.service_data.remark
  120. else
  121. self.contact4_tmp.text = ChuanWenManager:FormatColorTag(self.service_data.remark)
  122. end
  123. self.contact5_tmp.text = string.format("客服每日<#2cf89a>%s</color>在线给您解答问题",self.service_data.work_time)
  124. if self.service_data.display_code == 1 then
  125. self.qr_code_obj:SetActive(true)
  126. lua_resM:setOutsideImageSprite(self,self.qr_code_img,GameResPath.GetSettingImage(Trim(self.service_data.code_path)))
  127. else
  128. self.qr_code_obj:SetActive(false)
  129. end
  130. end
  131. function ServiceView:UpdateRoleInfo( )
  132. local data = {
  133. id = RoleManager.Instance.mainRoleInfo.role_id,
  134. profile_photo_id = RoleManager.Instance.mainRoleInfo.profile_photo_id,
  135. level = RoleManager.Instance.mainRoleInfo.level,
  136. dress_board_id = RoleManager.Instance.mainRoleInfo.dress_board,
  137. }
  138. self.head_item:SetData(data)
  139. --区服信息
  140. local server_info = LoginController.Instance:GetPlatUserInfo()
  141. self.info1_tmp.text = string.format("区服信息:<#fdffc2>%s</color>",server_info.server_name)
  142. --账号
  143. self.info2_tmp.text = string.format("账号:<#fdffc2>%s</color>",server_info.account)
  144. --角色名称
  145. self.info3_tmp.text = string.format("角色名称:<#fdffc2>%s</color>",self.mainRoleVo.name)
  146. --角色ID
  147. self.info4_tmp.text = string.format("角色ID:<#fdffc2>%s</color>",self.mainRoleVo.role_id)
  148. end
  149. function ServiceView:__delete()
  150. for i, v in ipairs(self.item_list) do
  151. v:DeleteMe()
  152. end
  153. self.item_list = {}
  154. end