JumpProxy.lua 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312
  1. local RemoteProxy = requireProxy("remote/RemoteProxy")
  2. local JumpProxy = class("JumpProxy", RemoteProxy)
  3. JumpProxy.NAME = global.ProxyTable.JumpProxy
  4. local LINK_TYPE = {
  5. Equip = 1, -- 角色-装备
  6. State = 2, -- 角色-状态
  7. Attri = 3, -- 角色-属性
  8. Skill = 4, -- 角色-技能
  9. Title = 5, -- 角色-装备
  10. BestRing = 6, -- 角色-首饰盒
  11. Bag = 7, -- 背包
  12. Stall = 8, -- 摆摊
  13. StoreHot = 9, -- 商城-热销
  14. StoreBeauty = 10, -- 商城-装饰
  15. StoreEngine = 11, -- 商城-功能
  16. StoreFestival = 12, -- 商城-节日
  17. GuildMain = 13, -- 行会-主界面
  18. GuildMember = 14, -- 行会成员列表
  19. GuildList = 15, -- 行会列表
  20. Mail = 16, -- 邮件
  21. Team = 17, -- 组队
  22. NearPlayer = 18, -- 附近玩家
  23. Buff = 19, -- 角色-buff/天赋
  24. MiniMap = 24, -- 小地图
  25. SkillSetting = 25, -- 技能设置
  26. StoreRecharge = 26, -- 充值
  27. Auction = 27, -- 拍卖行
  28. Friend = 28, -- 好友
  29. ExitToRole = 29, -- 小退
  30. GuildCreate = 30, -- 行会创建
  31. Guild = 31, -- 智能行会界面
  32. Rank = 32, -- 排行榜
  33. Trade = 33, -- 面对面交易 请求
  34. ForceExitToRole = 34, -- 强制小退
  35. TradingBank = 35, -- 交易行
  36. GuideEnter = 36, -- 引导进入[主界面按钮块显示切换]
  37. SuperEquip = 37, -- 角色-神装
  38. HeroEquip = 41, -- 英雄-装备
  39. HeroState = 42, -- 英雄-状态
  40. HeroAttri = 43, -- 英雄-属性
  41. HeroSkill = 44, -- 英雄-技能
  42. HeroTitle = 45, -- 英雄-称号
  43. HeroBestRing = 46, -- 英雄-首饰盒
  44. HeroBag = 47, -- 英雄-背包
  45. HeroSuperEquip = 48, -- 英雄-神装
  46. HeroBuff = 49, -- 英雄-BUFF
  47. ReinAttrPoint = 51, -- 转生属性点
  48. Chat = 52, -- 聊天
  49. PCPrivate = 53, -- PC 私聊记录页
  50. MagicJointAttack = 99, -- 释放合击
  51. AssistChange = 110, -- 主界面-任务栏
  52. Box996 = 111, -- 盒子称号
  53. MainMiniMapChange = 112, -- 小地图伸缩
  54. PCResolution = 113, -- PC 分辨率设置
  55. ChatExtendEmoj = 114, -- 角色-表情
  56. ChatExtendBag = 115, -- 聊天小框-背包
  57. MainNear = 116, -- 主界面-附近列表
  58. CallPay = 117, -- 调用-支付
  59. SettingBasic = 300, -- 基础设置
  60. SettingWindowRange = 301, -- 视距
  61. SettingFight = 302, -- 战斗
  62. SettingProtect = 303, -- 保护
  63. SettingAuto = 304, -- 挂机
  64. SettingHelp = 305, -- 帮助
  65. SettingAutoPick = 306, -- 拾取
  66. KeFu = 310, -- 调用客服界面
  67. Community = 320, -- 社区帖子
  68. Compound = 2201, -- 合成
  69. -- 人物
  70. PlayerInternalState = 401, -- 内功状态
  71. PlayerInternalSkill = 402, -- 内功技能
  72. PlayerInternalMeridian = 403, -- 内功经络
  73. PlayerInternalCombo = 404, -- 内功连击
  74. -- 英雄
  75. HeroInternalState = 501, -- 内功状态
  76. HeroInternalSkill = 502, -- 内功技能
  77. HeroInternalMeridian = 503, -- 内功经络
  78. HeroInternalCombo = 504, -- 内功连击
  79. ReviewGift = 311, -- 好评有礼
  80. Purchase = 601, -- 求购
  81. ManualService996 = 701, -- 996客服
  82. ThirdApp = 312, -- 打开第三方应用 需sdk有相关接口
  83. }
  84. function JumpProxy:ctor()
  85. JumpProxy.super.ctor(self)
  86. self._links = self:LoadDefine()
  87. end
  88. function JumpProxy:RegisterMsgHandler()
  89. JumpProxy.super.RegisterMsgHandler(self)
  90. LuaRegisterMsgHandler(global.MsgType.MSG_SC_HYPERLINK_JUMP, handler(self, self.RespHyperlinkJump))
  91. end
  92. function JumpProxy:LoadDefine()
  93. return {
  94. [LINK_TYPE.Equip] = {open = function () SL:OpenMyPlayerUI({extent = SLDefine.PlayerPage.MAIN_PLAYER_LAYER_EQUIP}) end, close = function () SL:CloseMyPlayerUI() end, mediator = "PlayerEquipLayerMediator"},
  95. [LINK_TYPE.State] = {open = function () SL:OpenMyPlayerUI({extent = SLDefine.PlayerPage.MAIN_PLAYER_LAYER_BASE_ATTRI}) end, close = function () SL:CloseMyPlayerUI() end, mediator = "PlayerBaseAttLayerMediator"},
  96. [LINK_TYPE.Attri] = {open = function () SL:OpenMyPlayerUI({extent = SLDefine.PlayerPage.MAIN_PLAYER_LAYER_EXTRA_ATTRO}) end, close = function () SL:CloseMyPlayerUI() end, mediator = "PlayerExtraAttLayerMediator"},
  97. [LINK_TYPE.Skill] = {open = function () SL:OpenMyPlayerUI({extent = SLDefine.PlayerPage.MAIN_PLAYER_LAYER_SKILL}) end, close = function () SL:CloseMyPlayerUI() end, mediator = "PlayerSkillLayerMediator"},
  98. [LINK_TYPE.Title] = {open = function () SL:OpenMyPlayerUI({extent = SLDefine.PlayerPage.MAIN_PLAYER_LAYER_TITLE}) end, close = function () SL:CloseMyPlayerUI() end, mediator = "PlayerTitleLayerMediator"},
  99. [LINK_TYPE.SuperEquip] = {open = function () SL:OpenMyPlayerUI({extent = SLDefine.PlayerPage.MAIN_PLAYER_LAYER_SUPER_EQUIP}) end, close = function () SL:CloseMyPlayerUI() end, mediator = "PlayerSuperEquipMediator"},
  100. [LINK_TYPE.Buff] = {open = function () SL:OpenMyPlayerUI({extent = SLDefine.PlayerPage.MAIN_PLAYER_LAYER_BUFF}) end, close = function () SL:CloseMyPlayerUI() end, mediator = "PlayerBuffMediator"},
  101. [LINK_TYPE.BestRing] = {open = function () SL:OpenBestRingBoxUI(1) end, close = function () SL:CloseBestRingBoxUI(1) end, mediator = "PlayerBestRingLayerMediator"},
  102. [LINK_TYPE.Bag] = {open = function () SL:OpenBagUI() end, close = function () SL:CloseBagUI() end, mediator = tonumber(SL:GetMetaValue("GAME_DATA", "playerInfoMode")) == 1 and "MergeBagLayerMediator" or "BagLayerMediator"},
  103. [LINK_TYPE.Stall] = {open = function () SL:OpenStallLayerUI() end, close = function () SL:CloseStallLayerUI() end, mediator = "StallLayerMediator"},
  104. [LINK_TYPE.StoreHot] = {open = function () SL:OpenStoreUI(1) end, close = function () SL:CloseStoreUI() end, mediator = "PageStoreLayerMediator"},
  105. [LINK_TYPE.StoreBeauty] = {open = function () SL:OpenStoreUI(2) end, close = function () SL:CloseStoreUI() end, mediator = "PageStoreLayerMediator"},
  106. [LINK_TYPE.StoreEngine] = {open = function () SL:OpenStoreUI(3) end, close = function () SL:CloseStoreUI() end, mediator = "PageStoreLayerMediator"},
  107. [LINK_TYPE.StoreFestival] = {open = function () SL:OpenStoreUI(4) end, close = function () SL:CloseStoreUI() end, mediator = "PageStoreLayerMediator"},
  108. [LINK_TYPE.StoreRecharge] = {open = function () SL:OpenStoreUI(5) end, close = function () SL:CloseStoreUI() end, mediator = "PageStoreLayerMediator"},
  109. [LINK_TYPE.CallPay] = {open = function () SL:OpenCallPayUI() end},
  110. [LINK_TYPE.GuildMain] = {open = function () SL:OpenGuildMainUI(1) end, close = function () SL:CloseGuildMainUI() end, mediator = "GuildMainMediator"},
  111. [LINK_TYPE.GuildMember] = {open = function () SL:OpenGuildMainUI(2) end, close = function () SL:CloseGuildMainUI() end, mediator = "GuildMemberLayerMediator"},
  112. [LINK_TYPE.GuildList] = {open = function () SL:OpenGuildMainUI(3) end, close = function () SL:CloseGuildMainUI() end, mediator = "GuildListLayerMediator"},
  113. [LINK_TYPE.Guild] = {open = function () SL:OpenGuildMainUI() end, close = function () SL:CloseGuildMainUI() end, mediator = "GuildFrameMediator"},
  114. [LINK_TYPE.GuildCreate] = {open = function () SL:OpenGuildCreateUI() end, close = function () SL:CloseGuildCreateUI() end, mediator = "GuildCreateLayerMediator"},
  115. [LINK_TYPE.NearPlayer] = {open = function () SL:OpenSocialUI(1) end, close = function () SL:CloseSocialUI() end, mediator = "NearPlayerMediator"},
  116. [LINK_TYPE.Team] = {open = function () SL:OpenSocialUI(2) end, close = function () SL:CloseSocialUI() end, mediator = "TeamMediator"},
  117. [LINK_TYPE.Friend] = {open = function () SL:OpenSocialUI(3) end, close = function () SL:CloseSocialUI() end, mediator = "FriendMediator"},
  118. [LINK_TYPE.Mail] = {open = function () SL:OpenSocialUI(4) end, close = function () SL:CloseSocialUI() end, mediator = "MailMediator"},
  119. [LINK_TYPE.MiniMap] = {open = function () SL:OpenMiniMap() end, close = function () SL:CloseMiniMap() end, mediator = "MiniMapMediator"},
  120. [LINK_TYPE.SkillSetting] = {open = function () SL:OpenSkillSettingUI() end, close = function () SL:CloseSkillSettingUI() end, mediator = "Layer_SkillSetting_Open"},
  121. [LINK_TYPE.Auction] = {open = function () SL:OpenAuctionUI() end, close = function () SL:CloseAuctionUI() end, mediator = "AuctionMainMediator"},
  122. [LINK_TYPE.ExitToRole] = {open = function () SL:ExitToRoleUI() end},
  123. [LINK_TYPE.ForceExitToRole] = {open = function () SL:ForceExitToRoleUI() end},
  124. [LINK_TYPE.GuideEnter] = {open = function (param) SL:OpenGuideEnter(param) end, close = function () SL:CloseGuideEnter() end},
  125. [LINK_TYPE.Rank] = {open = function(param) SL:OpenRankUI(param) end, close = function () SL:CloseRankUI() end, mediator = "RankLayerMediator"},
  126. [LINK_TYPE.Trade] = {open = function () SL:OpenTradeUI() end, close = function () SL:CloseTradeUI() end, mediator = "TradeMediator"},
  127. [LINK_TYPE.TradingBank] = {open = function () SL:OpenTradingBankUI() end, close = function () SL:CloseTradingBankUI() end, mediator = "TradingBankFrameMediator"},
  128. [LINK_TYPE.HeroEquip] = {open = function () SL:OpenMyPlayerHeroUI({extent = SLDefine.PlayerPage.MAIN_PLAYER_LAYER_EQUIP}) end, close = function () SL:CloseMyPlayerHeroUI() end, mediator = "HeroEquipLayerMediator"},
  129. [LINK_TYPE.HeroState] = {open = function () SL:OpenMyPlayerHeroUI({extent = SLDefine.PlayerPage.MAIN_PLAYER_LAYER_BASE_ATTRI}) end, close = function () SL:CloseMyPlayerHeroUI() end, mediator = "HeroBaseAttLayerMediator"},
  130. [LINK_TYPE.HeroAttri] = {open = function () SL:OpenMyPlayerHeroUI({extent = SLDefine.PlayerPage.MAIN_PLAYER_LAYER_EXTRA_ATTRO}) end, close = function () SL:CloseMyPlayerHeroUI() end, mediator = "HeroExtraAttLayerMediator"},
  131. [LINK_TYPE.HeroSkill] = {open = function () SL:OpenMyPlayerHeroUI({extent = SLDefine.PlayerPage.MAIN_PLAYER_LAYER_SKILL}) end, close = function () SL:CloseMyPlayerHeroUI() end, mediator = "HeroSkillLayerMediator"},
  132. [LINK_TYPE.HeroTitle] = {open = function () SL:OpenMyPlayerHeroUI({extent = SLDefine.PlayerPage.MAIN_PLAYER_LAYER_TITLE}) end, close = function () SL:CloseMyPlayerHeroUI() end, mediator = "HeroTitleLayerMediator"},
  133. [LINK_TYPE.HeroSuperEquip] = {open = function () SL:OpenMyPlayerHeroUI({extent = SLDefine.PlayerPage.MAIN_PLAYER_LAYER_SUPER_EQUIP}) end, close = function () SL:CloseMyPlayerHeroUI() end, mediator = "HeroSuperEquipMediator"},
  134. [LINK_TYPE.HeroBuff] = {open = function () SL:OpenMyPlayerHeroUI({extent = SLDefine.PlayerPage.MAIN_PLAYER_LAYER_BUFF}) end, close = function () SL:CloseMyPlayerHeroUI() end, mediator = "HeroBuffMediator"},
  135. [LINK_TYPE.HeroBestRing] = {open = function () SL:OpenBestRingBoxUI(2) end, close = function () SL:CloseBestRingBoxUI(2) end, mediator = "HeroBestRingLayerMediator"},
  136. [LINK_TYPE.HeroBag] = {open = function () SL:OpenHeroBagUI() end, close = function () SL:CloseHeroBagUI() end, mediator = "HeroBagLayerMediator"},
  137. [LINK_TYPE.ReinAttrPoint] = {open = function () SL:OpenReinAttrUI() end, close = function () SL:CloseReinAttrUI() end, mediator = "ReinAttrMediator"},
  138. [LINK_TYPE.Chat] = {open = function () SL:OpenChatUI() end, close = function () SL:CloseChatUI() end, mediator = "ChatMediator"},
  139. [LINK_TYPE.ChatExtendEmoj] = {open = function () SL:OpenChatExtendUI(2) end, close = function () SL:CloseChatExtendUI() end, mediator = "ChatExtendMediator"},
  140. [LINK_TYPE.ChatExtendBag] = {open = function () SL:OpenChatExtendUI(3) end, close = function () SL:CloseChatExtendUI() end, mediator = "ChatExtendMediator"},
  141. [LINK_TYPE.MagicJointAttack] = {open = function () SL:RequestMagicJointAttack() end},
  142. [LINK_TYPE.AssistChange] = {open = function () SL:OpenAssistUI() end, close = function () SL:CloseAssistUI() end},
  143. [LINK_TYPE.Box996] = {open = function(param) SL:OpenBox996UI(param) end, close = function () SL:CloseBox996UI() end, mediator = "Box996MainLayerMediator"},
  144. [LINK_TYPE.MainMiniMapChange] = {open = function () SL:OpenMiniMapChangeUI() end, close = function () SL:CloseMiniMapChangeUI() end},
  145. [LINK_TYPE.PCResolution] = {open = function () SL:OpenResolutionSetUI() end, close = function () SL:CloseResolutionSetUI() end, mediator = "setResolutionSizeLayerMediator"},
  146. [LINK_TYPE.MainNear] = {open = function () SL:OpenMainNearUI() end, close = function () SL:CloseMainNearUI() end, mediator = "MainNearPanelMediator"},
  147. [LINK_TYPE.SettingBasic] = {open = function () SL:OpenSettingUI(1) end, close = function () SL:CloseSettingUI() end, mediator = "SettingBasicMediator"},
  148. [LINK_TYPE.SettingWindowRange] = {open = function () SL:OpenSettingUI(2) end, close = function () SL:CloseSettingUI() end, mediator = "SettingWindowRangeMediator"},
  149. [LINK_TYPE.SettingFight] = {open = function () SL:OpenSettingUI(3) end, close = function () SL:CloseSettingUI() end, mediator = "SettingLaunchMediator"},
  150. [LINK_TYPE.SettingProtect] = {open = function () SL:OpenSettingUI(4) end, close = function () SL:CloseSettingUI() end, mediator = "SettingProtectMediator"},
  151. [LINK_TYPE.SettingAuto] = {open = function () SL:OpenSettingUI(5) end, close = function () SL:CloseSettingUI() end, mediator = "SettingAutoMediator"},
  152. [LINK_TYPE.SettingHelp] = {open = function () SL:OpenSettingUI(6) end, close = function () SL:CloseSettingUI() end, mediator = "SettingHelpMediator"},
  153. [LINK_TYPE.SettingAutoPick] = {open = function () SL:OpenPickSettingUI() end, close = function () SL:ClosePickSettingUI() end, mediator = "PickSettingLayerMediator"},
  154. [LINK_TYPE.KeFu] = {open = function () SL:OpenKefuUI() end},
  155. [LINK_TYPE.PCPrivate] = {open = function() SL:OpenPCPrivateUI() end, close = function() SL:ClosePCPrivateUI() end, mediator = "PrivateChatMediator"},
  156. [LINK_TYPE.Compound] = {open = function(param) SL:OpenCompoundItemsUI(param) end, close = function() SL:CloseCompoundItemsUI() end, mediator = "CompoundItemLayerMediator"},
  157. [LINK_TYPE.PlayerInternalState] = {open = function () SL:OpenMyPlayerUI({extent = 1, type = 2}) end, close = function () SL:CloseMyPlayerUI() end, mediator = "PlayerInternalStateLayerMediator"},
  158. [LINK_TYPE.PlayerInternalSkill] = {open = function () SL:OpenMyPlayerUI({extent = 2, type = 2}) end, close = function () SL:CloseMyPlayerUI() end, mediator = "PlayerInternalSkillLayerMediator"},
  159. [LINK_TYPE.PlayerInternalMeridian] = {open = function () SL:OpenMyPlayerUI({extent = 3, type = 2}) end, close = function () SL:CloseMyPlayerUI() end, mediator = "PlayerInternalMeridianLayerMediator"},
  160. [LINK_TYPE.PlayerInternalCombo] = {open = function () SL:OpenMyPlayerUI({extent = 4, type = 2}) end, close = function () SL:CloseMyPlayerUI() end, mediator = "PlayerInternalComboLayerMediator"},
  161. [LINK_TYPE.HeroInternalState] = {open = function () SL:OpenMyPlayerHeroUI({extent = 1, type = 2}) end, close = function () SL:CloseMyPlayerHeroUI() end, mediator = "HeroInternalStateLayerMediator"},
  162. [LINK_TYPE.HeroInternalSkill] = {open = function () SL:OpenMyPlayerHeroUI({extent = 2, type = 2}) end, close = function () SL:CloseMyPlayerHeroUI() end, mediator = "HeroInternalSkillLayerMediator"},
  163. [LINK_TYPE.HeroInternalMeridian] = {open = function () SL:OpenMyPlayerHeroUI({extent = 3, type = 2}) end, close = function () SL:CloseMyPlayerHeroUI() end, mediator = "HeroInternalMeridianLayerMediator"},
  164. [LINK_TYPE.HeroInternalCombo] = {open = function () SL:OpenMyPlayerHeroUI({extent = 4, type = 2}) end, close = function () SL:CloseMyPlayerHeroUI() end, mediator = "HeroInternalComboLayerMediator"},
  165. [LINK_TYPE.ReviewGift] = {open = function () SL:ReviewGift() end},
  166. [LINK_TYPE.Purchase] = {open = function () SL:OpenPurchaseUI() end, close = function () SL:ClosePurchaseUI() end, mediator = "PurchaseMainMediator"},
  167. [LINK_TYPE.Community] = {open = function () SL:OpenCommunityUI() end, close = function () SL:CloseCommunityUI() end},
  168. [LINK_TYPE.ManualService996] = {open = function() SL:RequestOpen996ManualService() end},
  169. [LINK_TYPE.ThirdApp] = {open = function () SL:OpenThirdApp() end},
  170. }
  171. end
  172. function JumpProxy:FindLinkByID(jumpID)
  173. -- 兼容老跳转id
  174. local map = {
  175. [20] = LINK_TYPE.SettingProtect,
  176. [21] = LINK_TYPE.SettingAutoPick,
  177. [22] = LINK_TYPE.SettingFight,
  178. [23] = LINK_TYPE.SettingBasic
  179. }
  180. if jumpID >= 20 and jumpID <= 23 then
  181. local key = map[jumpID]
  182. return self._links[key]
  183. end
  184. return self._links[jumpID]
  185. end
  186. function JumpProxy:ExecuteByParam(param, jumpID, destPos,isOpen)
  187. if not param then
  188. return nil
  189. end
  190. local JumpLayerProxy = global.Facade:retrieveProxy(global.ProxyTable.JumpLayerProxy)
  191. local slices = string.split(param, "#")
  192. local command = slices[1]
  193. if command == "find_point" then
  194. local movePos =
  195. {
  196. mapID = slices[2],
  197. x = tonumber(slices[3]),
  198. y = tonumber(slices[4]),
  199. autoMoveType = global.MMO.AUTO_MOVE_TYPE_CHAT
  200. }
  201. global.Facade:sendNotification(global.NoticeTable.AutoMoveBegin, movePos)
  202. elseif command == "item_tips" then
  203. self:JumpToItemTips(tonumber(slices[2]), destPos)
  204. end
  205. end
  206. function JumpProxy:JumpToItemTips(itemIndex, destPos)
  207. local ItemConfigProxy = global.Facade:retrieveProxy(global.ProxyTable.ItemConfigProxy)
  208. local itemInfo = ItemConfigProxy:GetItemDataByIndex(itemIndex)
  209. local data = {}
  210. data.itemData = itemInfo
  211. data.pos = destPos
  212. global.Facade:sendNotification(global.NoticeTable.Layer_ItemTips_Open, data)
  213. end
  214. function JumpProxy:JumpTo(jumpID, param, param1)
  215. print("+++++++++++++hyper link jump", jumpID)
  216. local link = self:FindLinkByID(tonumber(jumpID) or 0)
  217. local openLayer = function()
  218. if link and link.open then
  219. link.open(param)
  220. end
  221. end
  222. local closeLayer = function()
  223. if link and link.close then
  224. link.close(param)
  225. end
  226. end
  227. if not param1 or param1 == 0 then--0走打开 但是已经打开的有些layer会自己关闭
  228. -- 伸缩类型
  229. if jumpID == LINK_TYPE.MainMiniMapChange then
  230. global.Facade:sendNotification(global.NoticeTable.MainMiniMapChange, MainMiniMap._showState)
  231. return
  232. elseif jumpID == LINK_TYPE.AssistChange then
  233. global.Facade:sendNotification(global.NoticeTable.Layer_Assist_ChangeHide, MainAssist._hideAssist)
  234. return
  235. end
  236. if link and link.close and link.mediator and global.Facade:retrieveMediator(link.mediator) and global.Facade:retrieveMediator(link.mediator)._layer then
  237. closeLayer()
  238. else
  239. openLayer()
  240. end
  241. else
  242. if param1 == 1 then -- 强制打开
  243. if link and link.mediator and global.Facade:retrieveMediator(link.mediator) and global.Facade:retrieveMediator(link.mediator)._layer then
  244. return
  245. end
  246. openLayer()
  247. else --关闭
  248. closeLayer()
  249. end
  250. end
  251. end
  252. function JumpProxy:RespHyperlinkJump(msg)
  253. local header = msg:GetHeader()
  254. local jumpID = header.recog
  255. print("++++++++++++++++++++++++++++++ service jump", jumpID)
  256. local param1 = tonumber(header.param1) or 0--0走打开 但是已经打开的有些lyaer会自己关闭 1强制打开 2关闭;
  257. local param2 = header.param2 or 0
  258. self:JumpTo(jumpID, param2, param1)
  259. end
  260. function JUMPTO(id, param)
  261. local JumpProxy = global.Facade:retrieveProxy(global.ProxyTable.JumpProxy)
  262. JumpProxy:JumpTo(id, param)
  263. end
  264. return JumpProxy