UNPKG

@mpxjs/webpack-plugin

Version:

mpx compile core

100 lines (98 loc) 4.13 kB
const TAG_NAME = 'map' module.exports = function ({ print }) { const aliPropLog = print({ platform: 'ali', tag: TAG_NAME, isError: false }) const aliEventLogError = print({ platform: 'ali', tag: TAG_NAME, isError: true, type: 'event' }) const aliPropValueWarningLog = print({ platform: 'ali', tag: TAG_NAME, isError: false, type: 'value-attr-uniform' }) const baiduPropLog = print({ platform: 'baidu', tag: TAG_NAME, isError: false }) const baiduEventLogError = print({ platform: 'baidu', tag: TAG_NAME, isError: true, type: 'event' }) const jdPropLog = print({ platform: 'jd', tag: TAG_NAME, isError: false }) const jdEventLogError = print({ platform: 'jd', tag: TAG_NAME, isError: true, type: 'event' }) const ttEventLog = print({ platform: 'bytedance', tag: TAG_NAME, isError: false, type: 'event' }) const ttPropLog = print({ platform: 'bytedance', tag: TAG_NAME, isError: false }) const qaPropLog = print({ platform: 'qa', tag: TAG_NAME, isError: false }) const qaEventLogError = print({ platform: 'qa', tag: TAG_NAME, isError: true, type: 'event' }) return { // 匹配标签名,可传递正则 test: TAG_NAME, // 组件属性中的差异部分 props: [ { test: /^(min-scale|max-scale|covers|subkey|layer-style|rotate|skew|enable-3D|show-compass|show-scale|enable-overlooking|enable-zoom|enable-scroll|enable-rotate|enable-satellite|enable-traffic|enable-poi|enable-building)$/, ali: aliPropLog }, { test: /^polygons$/, ali ({ name, value }) { name = 'polygon' // TODO 标签的属性名不一致,后续考虑通过wxs注入的方式实现转换 aliPropValueWarningLog() return { name, value } } }, { test: 'subkey', swan: baiduPropLog }, { test: /^(covers|polygons|subkey|layer-style|rotate|skew|enable-3D|show-compass|show-scale|enable-overlooking|enable-zoom|enable-scroll|enable-rotate|enable-satellite|enable-traffic|setting)$/, jd: jdPropLog }, { test: /^(include-points|show-location)$/, jd ({ name, value }) { const propsMap = { 'include-points': 'includePoints', 'show-location': 'showLocation' } return propsMap[name] } }, { test: /^(min-scale|max-scale|polyline|controls|polygons|subkey|layer-style|rotate|skew|enable-3D|show-compass|show-scale|enable-overlooking|enable-zoom|enable-scroll|enable-rotate|enable-satellite|enable-traffic|enable-poi|enable-building|setting)$/, tt: ttPropLog }, { test: /^(min-scale|max-scale|covers|polyline|include-points|show-location|subkey|layer-style|skew|enable-3D|show-compass|show-scale|enable-overlooking|enable-zoom|enable-scroll|enable-rotate|enable-satellite|enable-traffic|enable-poi|enable-building|setting)$/, qa: qaPropLog } ], // 组件事件中的差异部分 // 微信中基础事件有touchstart|touchmove|touchcancel|touchend|tap|longpress|longtap|transitionend|animationstart|animationiteration|animationend|touchforcechange // 支付宝中的基础事件有touchStart|touchMove|touchEnd|touchCancel|tap|longTap event: [ { test: /^(tap|markertap|callouttap|controltap|regionchange|)$/, ali (eventName) { const eventMap = { tap: 'tap', markertap: 'markerTap', callouttap: 'calloutTap', controltap: 'controlTap', regionchange: 'regionChange' } return eventMap[eventName] } }, { test: /^(updated|poitap|anchorpointtap)$/, ali: aliEventLogError }, { test: 'poitap', swan: baiduEventLogError }, { test: /^(labeltap|updated|poitap)$/, jd: jdEventLogError }, { test: /^(labeltap|controltap|updated|regionchange|poitap|anchorpointtap)$/, tt: ttEventLog }, { test: /^(labeltap|anchorpointtap)$/, qa: qaEventLogError } ] } }