@@ -42,6 +42,45 @@ messageType 1 文本
4242messageType 2 图片
4343messageType 3 选择
4444]] --
45+ -- widgetEvent版本兼容
46+ local function widgetEvent (eventType , adID , adName , actionType , linkUrl , deepLink , selfLink )
47+
48+ local actionString = " "
49+ if (linkUrl ~= nil and string.len (linkUrl ) > 0 ) then
50+ actionString = linkUrl
51+ elseif (deepLink ~= nil and string.len (deepLink ) > 0 ) then
52+ actionString = deepLink
53+ elseif (selfLink ~= nil and string.len (selfLink ) > 0 ) then
54+ actionString = selfLink
55+ end
56+
57+ if Native .widgetNotify then
58+
59+ local notifyTable = {}
60+
61+ notifyTable [" eventType" ] = eventType
62+ notifyTable [" adID" ] = adID
63+ notifyTable [" adName" ] = adName
64+ notifyTable [" actionType" ] = actionType
65+ notifyTable [" actionString" ] = actionString
66+
67+ if (linkUrl ~= nil ) then
68+ notifyTable [" linkUrl" ] = linkUrl
69+ end
70+
71+ if (deepLink ~= nil ) then
72+ notifyTable [" deepLink" ] = deepLink
73+ end
74+
75+ if (selfLink ~= nil ) then
76+ notifyTable [" selfLink" ] = selfLink
77+ end
78+
79+ Native :widgetNotify (notifyTable )
80+ else
81+ Native :widgetEvent (eventType , adID , adName , actionType , actionString )
82+ end
83+ end
4584
4685local function getHotspotExposureTrackLink (data , index )
4786 if (data == nil or index == nil ) then
@@ -77,24 +116,35 @@ local function linkUrl(data) --获取linkUrl
77116 if (data == nil ) then
78117 return nil
79118 end
80- local link = data .link
81- if (link ~= nil and string.len (link ) > 0 ) then
82- return link
83- else
119+ local linkData = data .linkData
120+ if (linkData == nil ) then
84121 return nil
85122 end
123+ local linkUrl = linkData .linkUrl
124+ local deepLink = linkData .deepLink
125+ local selfLink = linkData .selfLink
126+ if (linkUrl ~= nil and string.len (linkUrl ) > 0 ) then
127+ return linkUrl
128+ elseif (deepLink ~= nil and string.len (deepLink ) > 0 ) then
129+ return deepLink
130+ elseif (selfLink ~= nil and string.len (selfLink ) > 0 ) then
131+ return selfLink
132+ end
133+ return nil
86134end
87135
88136local function closeView ()
89137 if Native :getCacheData (bubble .id ) == tostring (eventTypeShow ) then
90- Native : widgetEvent (eventTypeClose , bubble .id , adTypeName , actionTypeNone , " " )
138+ widgetEvent (eventTypeClose , bubble .id , adTypeName , actionTypeNone , " " )
91139 Native :deleteBatchCacheData ({ bubble .id })
92140 end
93141 Native :destroyView ()
94142end
95143
96- local function clickView (url , ise )
97- Native :widgetEvent (eventTypeClick , bubble .id , adTypeName , actionTypeOpenUrl , url )
144+ local function clickView (urlTable , ise )
145+
146+ widgetEvent (eventTypeClick , bubble .id , adTypeName , actionTypeOpenUrl ,urlTable .linkUrl ,urlTable .deepLink ,urlTable .selfLink )
147+
98148 local clickLinkUrl = getHotspotClickTrackLink (bubble .data , 1 )
99149 if (clickLinkUrl ~= nil ) then
100150 Native :get (clickLinkUrl )
@@ -437,13 +487,14 @@ local function createUserTypeLeftWithMessageImage(data, index) --左边用户云
437487 local promptTop = message :y () + message :height () - 17 * bubble .scale
438488 prompt :xy (message :x () + message :width () - 17 * bubble .scale , promptTop )
439489
440- if (data .link ~= nil and string.len (data .link ) > 0 ) then
490+ local linkUrl = linkUrl (data )
491+ if (linkUrl ~= nil and string.len (linkUrl ) > 0 ) then
441492 performWithDelay (function ()
442493 prompt :show ()
443494 startViewMoveAnim (prompt , - prompt :width () * 0.3 , - prompt :height () * 0.3 , nil )
444495 end , promptShowTime )
445496 message :onClick (function ()
446- clickView (data .link , data .id )
497+ clickView (data .linkData , data .id )
447498 prompt :hide ()
448499 end )
449500 end
@@ -543,13 +594,14 @@ local function createUserTypeLeftWithMessageImageIOS(data, index) --左边用户
543594 prompt :xy (message :x () + message :width () - 17 * bubble .scale , promptTop )
544595 userParent :frame (0 , 0 , bubble .width , prompt :y () + prompt :height ())
545596
546- if (data .link ~= nil and string.len (data .link ) > 0 ) then
597+ local linkUrl = linkUrl (data )
598+ if (linkUrl ~= nil and string.len (linkUrl ) > 0 ) then
547599 performWithDelay (function ()
548600 prompt :show ()
549601 startViewMoveAnim (prompt , - prompt :width () * 0.3 , - prompt :height () * 0.3 , nil )
550602 end , promptShowTime )
551603 message :onClick (function ()
552- clickView (data .link , data .id )
604+ clickView (data .linkData , data .id )
553605 prompt :hide ()
554606 end )
555607 end
@@ -738,13 +790,15 @@ local function createUserTypeRightWithMessageImage(data, index) --左边用户
738790 prompt :margin (70 * bubble .scale , promptTop , 0 , 0 )
739791 message :size (messageWidth , messageHeight )
740792 message :margin (86 * bubble .scale , 19 * bubble .scale , 0 , 0 )
741- if (data .link ~= nil and string.len (data .link ) > 0 ) then
793+
794+ local linkUrl = linkUrl (data )
795+ if (linkUrl ~= nil and string.len (linkUrl ) > 0 ) then
742796 performWithDelay (function ()
743797 prompt :show ()
744798 startViewMoveAnim (prompt , prompt :width () * 0.3 , - prompt :height () * 0.3 , nil )
745799 end , promptShowTime )
746800 message :onClick (function ()
747- clickView (data .link , data .id )
801+ clickView (data .linkData , data .id )
748802 prompt :hide ()
749803 end )
750804 end
@@ -828,13 +882,14 @@ local function createUserTypeRightWithMessageImageIOS(data, index) --左边用
828882
829883 userParent :height (prompt :y () + prompt :height ())
830884
831- if (data .link ~= nil and string.len (data .link ) > 0 ) then
885+ local linkUrl = linkUrl (data )
886+ if (linkUrl ~= nil and string.len (linkUrl ) > 0 ) then
832887 performWithDelay (function ()
833888 prompt :show ()
834889 startViewMoveAnim (prompt , prompt :width () * 0.3 , - prompt :height () * 0.3 , nil )
835890 end , promptShowTime )
836891 message :onClick (function ()
837- clickView (data .link , data .id )
892+ clickView (data .linkData , data .id )
838893 prompt :hide ()
839894 end )
840895 end
@@ -1199,7 +1254,7 @@ function createUserMessageSelect(data, index) --左边用户云泡 显示问题
11991254 -- TODO是否需要合并在一起,如果同时有数据怎么处理
12001255 local linkUrl = linkUrl (data .messageButtons [1 ])
12011256 if (linkUrl ~= nil ) then
1202- clickView (linkUrl , data .id )
1257+ clickView (data . messageButtons [ 1 ]. linkData , data .id )
12031258 end
12041259 end
12051260 bubble .leftBtnClickFunction = leftBtnClickFunction
@@ -1208,7 +1263,7 @@ function createUserMessageSelect(data, index) --左边用户云泡 显示问题
12081263 local rightBtnClickFunction = function ()
12091264 local linkUrl = linkUrl (data .messageButtons [2 ])
12101265 if (linkUrl ~= nil ) then
1211- clickView (linkUrl , data .id )
1266+ clickView (data . messageButtons [ 2 ]. linkData , data .id )
12121267 end
12131268 end
12141269 bubble .rightBtnClickFunction = rightBtnClickFunction
@@ -1392,7 +1447,7 @@ function show(args)
13921447 bubble .id = dataTable .id
13931448
13941449 setBubbleTime (dataTable )
1395- Native : widgetEvent (eventTypeShow , bubble .id , bubble .id , adTypeBubble , " " ) -- todo 修改参数为table
1450+ widgetEvent (eventTypeShow , bubble .id , bubble .id , adTypeBubble , " " ) -- todo 修改参数为table
13961451 Native :saveCacheData (bubble .id , tostring (eventTypeShow ))
13971452 bubble .data = dataTable
13981453 bubble .media = registerMedia ()
0 commit comments