@@ -48,6 +48,10 @@ public class AAEventMessageModel: NSObject {
4848 public var category : String ?
4949 public var offset : [ String : Any ] ?
5050 public var index : Int ?
51+
52+ required override init ( ) {
53+
54+ }
5155}
5256
5357@available ( iOS 10 . 0 , macCatalyst 13 . 1 , macOS 10 . 13 , * )
@@ -660,44 +664,20 @@ extension AAChartView: WKScriptMessageHandler {
660664 open func userContentController( _ userContentController: WKUserContentController , didReceive message: WKScriptMessage ) {
661665 if message. name == kUserContentMessageNameClick {
662666 let messageBody = message. body as! [ String : Any ]
663- let eventMessageModel = getClickEventMessageModel ( messageBody: messageBody)
664- delegate? . aaChartView ? ( self , clickEventMessage: eventMessageModel )
667+ let clickEventMessageModel = getEventMessageModel ( messageBody: messageBody, eventType : AAClickEventMessageModel . self )
668+ delegate? . aaChartView ? ( self , clickEventMessage: clickEventMessageModel )
665669 } else if message. name == kUserContentMessageNameMouseOver {
666670 let messageBody = message. body as! [ String : Any ]
667- let eventMessageModel = getMoveOverEventMessageModel ( messageBody: messageBody)
668- delegate? . aaChartView ? ( self , moveOverEventMessage: eventMessageModel )
671+ let moveOverEventMessageModel = getEventMessageModel ( messageBody: messageBody, eventType : AAMoveOverEventMessageModel . self )
672+ delegate? . aaChartView ? ( self , moveOverEventMessage: moveOverEventMessageModel )
669673 }
670674 }
671675}
672676
673677@available ( iOS 10 . 0 , macCatalyst 13 . 1 , macOS 10 . 13 , * )
674678extension AAChartView {
675- private func getClickEventMessageModel( messageBody: [ String : Any ] ) -> AAClickEventMessageModel {
676- let eventMessageModel = getEventMessageModel ( messageBody: messageBody)
677- let clickMessageModel = AAClickEventMessageModel ( )
678- clickMessageModel. name = eventMessageModel. name
679- clickMessageModel. x = eventMessageModel. x
680- clickMessageModel. y = eventMessageModel. y
681- clickMessageModel. category = eventMessageModel. category
682- clickMessageModel. offset = eventMessageModel. offset
683- clickMessageModel. index = eventMessageModel. index
684- return clickMessageModel
685- }
686-
687- private func getMoveOverEventMessageModel( messageBody: [ String : Any ] ) -> AAMoveOverEventMessageModel {
688- let eventMessageModel = getEventMessageModel ( messageBody: messageBody)
689- let moveOverMessageModel = AAMoveOverEventMessageModel ( )
690- moveOverMessageModel. name = eventMessageModel. name
691- moveOverMessageModel. x = eventMessageModel. x
692- moveOverMessageModel. y = eventMessageModel. y
693- moveOverMessageModel. category = eventMessageModel. category
694- moveOverMessageModel. offset = eventMessageModel. offset
695- moveOverMessageModel. index = eventMessageModel. index
696- return moveOverMessageModel
697- }
698-
699- private func getEventMessageModel( messageBody: [ String : Any ] ) -> AAEventMessageModel {
700- let eventMessageModel = AAEventMessageModel ( )
679+ private func getEventMessageModel< T: AAEventMessageModel > ( messageBody: [ String : Any ] , eventType: T . Type ) -> T {
680+ let eventMessageModel = T ( )
701681 eventMessageModel. name = messageBody [ " name " ] as? String
702682 eventMessageModel. x = getFloatValue ( messageBody [ " x " ] )
703683 eventMessageModel. y = getFloatValue ( messageBody [ " y " ] )
0 commit comments