From e65a042d66374180ac0b93e9ecb19ad923158a80 Mon Sep 17 00:00:00 2001 From: fxy060608 Date: Sat, 26 Oct 2019 17:01:28 +0800 Subject: [PATCH] refactor(v): createMapContext --- packages/uni-app-plus/dist/index.v3.js | 200 +++++++++++++----- .../service/api/context/create-map-context.js | 92 ++++++++ .../api/ui/create-intersection-observer.js | 18 +- .../service/api/ui/create-selector-query.js | 11 +- src/core/service/platform.js | 10 + .../app-plus-nvue/service/api/context/map.js | 47 ---- .../service/api/context/operate-map-player.js | 30 +++ .../app-plus-nvue/service/api/util.js | 8 +- .../service/api/context/operate-map-player.js | 12 ++ .../service/api/ui/request-component-info.js | 8 +- src/platforms/h5/service/api/context/map.js | 91 -------- .../service/api/context/operate-map-player.js | 8 + 12 files changed, 320 insertions(+), 215 deletions(-) create mode 100644 src/core/service/api/context/create-map-context.js delete mode 100644 src/platforms/app-plus-nvue/service/api/context/map.js create mode 100644 src/platforms/app-plus-nvue/service/api/context/operate-map-player.js create mode 100644 src/platforms/app-plus/service/api/context/operate-map-player.js delete mode 100644 src/platforms/h5/service/api/context/map.js create mode 100644 src/platforms/h5/service/api/context/operate-map-player.js diff --git a/packages/uni-app-plus/dist/index.v3.js b/packages/uni-app-plus/dist/index.v3.js index bac6a2246..be4282b70 100644 --- a/packages/uni-app-plus/dist/index.v3.js +++ b/packages/uni-app-plus/dist/index.v3.js @@ -7256,10 +7256,10 @@ var serviceContext = (function () { }); } - function requestComponentInfo$2 (pageInstance, queue, callback) { - pageInstance.$page.meta.isNVue - ? requestComponentInfo$1(pageInstance, queue, callback) - : requestComponentInfo(pageInstance, queue, callback); + function requestComponentInfo$2 (pageVm, queue, callback) { + pageVm.$page.meta.isNVue + ? requestComponentInfo$1(pageVm, queue, callback) + : requestComponentInfo(pageVm, queue, callback); } @@ -7427,6 +7427,16 @@ var serviceContext = (function () { */ function onMethod (name, callback) { return UniServiceJSBridge.on('api.' + name, callback) + } + + function getCurrentPageVm (method) { + const pages = getCurrentPages(); + const len = pages.length; + if (!len) { + UniServiceJSBridge.emit('onError', `${method}:fail`); + } + const page = pages[len - 1]; + return page.$vm } const eventNames = [ @@ -7737,6 +7747,98 @@ var serviceContext = (function () { getBackgroundAudioManager: getBackgroundAudioManager }); + function operateMapPlayer (mapId, pageVm, type, data) { + invokeMethod('operateMapPlayer', mapId, pageVm, type, data); + } + + class MapContext { + constructor (id, pageVm) { + this.id = id; + this.pageVm = pageVm; + } + + getCenterLocation ({ + success, + fail, + complete + }) { + operateMapPlayer(this.id, this.pageVm, 'getCenterLocation', { + success, + fail, + complete + }); + } + + moveToLocation () { + operateMapPlayer(this.id, this.pageVm, 'moveToLocation'); + } + + translateMarker ({ + markerId, + destination, + autoRotate, + rotate, + duration, + animationEnd, + fail + }) { + operateMapPlayer(this.id, this.pageVm, 'translateMarker', { + markerId, + destination, + autoRotate, + rotate, + duration, + animationEnd, + fail + }); + } + + includePoints ({ + points, + padding + }) { + operateMapPlayer(this.id, this.pageVm, 'includePoints', { + points, + padding + }); + } + + getRegion ({ + success, + fail, + complete + }) { + operateMapPlayer(this.id, this.pageVm, 'getRegion', { + success, + fail, + complete + }); + } + + getScale ({ + success, + fail, + complete + }) { + operateMapPlayer(this.id, this.pageVm, 'getScale', { + success, + fail, + complete + }); + } + } + + function createMapContext$1 (id, context) { + if (context) { + return new MapContext(id, context) + } + return new MapContext(id, getCurrentPageVm('createMapContext')) + } + + var require_context_module_1_6 = /*#__PURE__*/Object.freeze({ + createMapContext: createMapContext$1 + }); + const callbacks$3 = []; onMethod('onAccelerometerChange', function (res) { @@ -7777,7 +7879,7 @@ var serviceContext = (function () { }) } - var require_context_module_1_6 = /*#__PURE__*/Object.freeze({ + var require_context_module_1_7 = /*#__PURE__*/Object.freeze({ onAccelerometerChange: onAccelerometerChange, startAccelerometer: startAccelerometer, stopAccelerometer: stopAccelerometer @@ -7800,7 +7902,7 @@ var serviceContext = (function () { const onBLEConnectionStateChange$1 = on('onBLEConnectionStateChange'); const onBLECharacteristicValueChange$1 = on('onBLECharacteristicValueChange'); - var require_context_module_1_7 = /*#__PURE__*/Object.freeze({ + var require_context_module_1_8 = /*#__PURE__*/Object.freeze({ onBluetoothDeviceFound: onBluetoothDeviceFound$1, onBluetoothAdapterStateChange: onBluetoothAdapterStateChange$1, onBLEConnectionStateChange: onBLEConnectionStateChange$1, @@ -7847,7 +7949,7 @@ var serviceContext = (function () { }) } - var require_context_module_1_8 = /*#__PURE__*/Object.freeze({ + var require_context_module_1_9 = /*#__PURE__*/Object.freeze({ onCompassChange: onCompassChange, startCompass: startCompass, stopCompass: stopCompass @@ -7865,7 +7967,7 @@ var serviceContext = (function () { callbacks$5.push(callbackId); } - var require_context_module_1_9 = /*#__PURE__*/Object.freeze({ + var require_context_module_1_10 = /*#__PURE__*/Object.freeze({ onNetworkStatusChange: onNetworkStatusChange }); @@ -7942,7 +8044,7 @@ var serviceContext = (function () { return recorderManager || (recorderManager = new RecorderManager()) } - var require_context_module_1_10 = /*#__PURE__*/Object.freeze({ + var require_context_module_1_11 = /*#__PURE__*/Object.freeze({ getRecorderManager: getRecorderManager }); @@ -8030,7 +8132,7 @@ var serviceContext = (function () { return task } - var require_context_module_1_11 = /*#__PURE__*/Object.freeze({ + var require_context_module_1_12 = /*#__PURE__*/Object.freeze({ downloadFile: downloadFile$1 }); @@ -8135,7 +8237,7 @@ var serviceContext = (function () { return new RequestTask(requestTaskId) } - var require_context_module_1_12 = /*#__PURE__*/Object.freeze({ + var require_context_module_1_13 = /*#__PURE__*/Object.freeze({ request: request$1 }); @@ -8309,7 +8411,7 @@ var serviceContext = (function () { callbacks$7.close = callbackId; } - var require_context_module_1_13 = /*#__PURE__*/Object.freeze({ + var require_context_module_1_14 = /*#__PURE__*/Object.freeze({ connectSocket: connectSocket$1, sendSocketMessage: sendSocketMessage$1, closeSocket: closeSocket$1, @@ -8403,7 +8505,7 @@ var serviceContext = (function () { return task } - var require_context_module_1_14 = /*#__PURE__*/Object.freeze({ + var require_context_module_1_15 = /*#__PURE__*/Object.freeze({ uploadFile: uploadFile$1 }); @@ -8512,7 +8614,7 @@ var serviceContext = (function () { return res } - var require_context_module_1_15 = /*#__PURE__*/Object.freeze({ + var require_context_module_1_16 = /*#__PURE__*/Object.freeze({ setStorage: setStorage$1, setStorageSync: setStorageSync$1, getStorage: getStorage$1, @@ -8603,7 +8705,7 @@ var serviceContext = (function () { return new MPAnimation(option) } - var require_context_module_1_16 = /*#__PURE__*/Object.freeze({ + var require_context_module_1_17 = /*#__PURE__*/Object.freeze({ createAnimation: createAnimation }); @@ -8616,8 +8718,8 @@ var serviceContext = (function () { }; class ServiceIntersectionObserver { - constructor (pageId, component, options) { - this.pageId = pageId; + constructor (component, options) { + this.pageId = component.$page.id; this.component = component._$id || component; // app-plus 平台传输_$id this.options = Object.assign({}, defaultOptions, options); } @@ -8662,18 +8764,12 @@ var serviceContext = (function () { context = null; } if (context) { - return new ServiceIntersectionObserver(context.$page.id, context, options) - } - const pages = getCurrentPages(); - const len = pages.length; - if (!len) { - UniServiceJSBridge.emit('onError', 'createIntersectionObserver:fail'); + return new ServiceIntersectionObserver(context, options) } - const page = pages[len - 1]; - return new ServiceIntersectionObserver(page.$page.id, page.$vm, options) + return new ServiceIntersectionObserver(getCurrentPageVm('createIntersectionObserver'), options) } - var require_context_module_1_17 = /*#__PURE__*/Object.freeze({ + var require_context_module_1_18 = /*#__PURE__*/Object.freeze({ createIntersectionObserver: createIntersectionObserver }); @@ -8778,15 +8874,10 @@ var serviceContext = (function () { if (context) { return new SelectorQuery(context) } - const pages = getCurrentPages(); - const len = pages.length; - if (!len) { - UniServiceJSBridge.emit('onError', 'createSelectorQuery:fail'); - } - return new SelectorQuery(pages[len - 1].$vm) + return new SelectorQuery(getCurrentPageVm('createSelectorQuery')) } - var require_context_module_1_18 = /*#__PURE__*/Object.freeze({ + var require_context_module_1_19 = /*#__PURE__*/Object.freeze({ createSelectorQuery: createSelectorQuery }); @@ -8802,7 +8893,7 @@ var serviceContext = (function () { callbacks$8.push(callbackId); } - var require_context_module_1_19 = /*#__PURE__*/Object.freeze({ + var require_context_module_1_20 = /*#__PURE__*/Object.freeze({ onKeyboardHeightChange: onKeyboardHeightChange }); @@ -8814,7 +8905,7 @@ var serviceContext = (function () { return {} } - var require_context_module_1_20 = /*#__PURE__*/Object.freeze({ + var require_context_module_1_21 = /*#__PURE__*/Object.freeze({ pageScrollTo: pageScrollTo$1 }); @@ -8850,7 +8941,7 @@ var serviceContext = (function () { callbacks$9.push(callbackId); } - var require_context_module_1_21 = /*#__PURE__*/Object.freeze({ + var require_context_module_1_22 = /*#__PURE__*/Object.freeze({ removeTabBarBadge: removeTabBarBadge$1, showTabBarRedDot: showTabBarRedDot$1, hideTabBarRedDot: hideTabBarRedDot$1, @@ -8873,7 +8964,7 @@ var serviceContext = (function () { callbacks$a.splice(callbacks$a.indexOf(callbackId), 1); } - var require_context_module_1_22 = /*#__PURE__*/Object.freeze({ + var require_context_module_1_23 = /*#__PURE__*/Object.freeze({ onWindowResize: onWindowResize, offWindowResize: offWindowResize }); @@ -8889,23 +8980,24 @@ var serviceContext = (function () { './base/upx2px.js': require_context_module_1_3, './context/audio.js': require_context_module_1_4, './context/background-audio.js': require_context_module_1_5, - './device/accelerometer.js': require_context_module_1_6, - './device/bluetooth.js': require_context_module_1_7, - './device/compass.js': require_context_module_1_8, - './device/network.js': require_context_module_1_9, - './media/recorder.js': require_context_module_1_10, - './network/download-file.js': require_context_module_1_11, - './network/request.js': require_context_module_1_12, - './network/socket.js': require_context_module_1_13, - './network/upload-file.js': require_context_module_1_14, - './storage/storage.js': require_context_module_1_15, - './ui/create-animation.js': require_context_module_1_16, - './ui/create-intersection-observer.js': require_context_module_1_17, - './ui/create-selector-query.js': require_context_module_1_18, - './ui/keyboard.js': require_context_module_1_19, - './ui/page-scroll-to.js': require_context_module_1_20, - './ui/tab-bar.js': require_context_module_1_21, - './ui/window.js': require_context_module_1_22, + './context/create-map-context.js': require_context_module_1_6, + './device/accelerometer.js': require_context_module_1_7, + './device/bluetooth.js': require_context_module_1_8, + './device/compass.js': require_context_module_1_9, + './device/network.js': require_context_module_1_10, + './media/recorder.js': require_context_module_1_11, + './network/download-file.js': require_context_module_1_12, + './network/request.js': require_context_module_1_13, + './network/socket.js': require_context_module_1_14, + './network/upload-file.js': require_context_module_1_15, + './storage/storage.js': require_context_module_1_16, + './ui/create-animation.js': require_context_module_1_17, + './ui/create-intersection-observer.js': require_context_module_1_18, + './ui/create-selector-query.js': require_context_module_1_19, + './ui/keyboard.js': require_context_module_1_20, + './ui/page-scroll-to.js': require_context_module_1_21, + './ui/tab-bar.js': require_context_module_1_22, + './ui/window.js': require_context_module_1_23, }; var req = function req(key) { diff --git a/src/core/service/api/context/create-map-context.js b/src/core/service/api/context/create-map-context.js new file mode 100644 index 000000000..c867b18be --- /dev/null +++ b/src/core/service/api/context/create-map-context.js @@ -0,0 +1,92 @@ +import { + invokeMethod, + getCurrentPageVm +} from '../../platform' + +function operateMapPlayer (mapId, pageVm, type, data) { + invokeMethod('operateMapPlayer', mapId, pageVm, type, data) +} + +class MapContext { + constructor (id, pageVm) { + this.id = id + this.pageVm = pageVm + } + + getCenterLocation ({ + success, + fail, + complete + }) { + operateMapPlayer(this.id, this.pageVm, 'getCenterLocation', { + success, + fail, + complete + }) + } + + moveToLocation () { + operateMapPlayer(this.id, this.pageVm, 'moveToLocation') + } + + translateMarker ({ + markerId, + destination, + autoRotate, + rotate, + duration, + animationEnd, + fail + }) { + operateMapPlayer(this.id, this.pageVm, 'translateMarker', { + markerId, + destination, + autoRotate, + rotate, + duration, + animationEnd, + fail + }) + } + + includePoints ({ + points, + padding + }) { + operateMapPlayer(this.id, this.pageVm, 'includePoints', { + points, + padding + }) + } + + getRegion ({ + success, + fail, + complete + }) { + operateMapPlayer(this.id, this.pageVm, 'getRegion', { + success, + fail, + complete + }) + } + + getScale ({ + success, + fail, + complete + }) { + operateMapPlayer(this.id, this.pageVm, 'getScale', { + success, + fail, + complete + }) + } +} + +export function createMapContext (id, context) { + if (context) { + return new MapContext(id, context) + } + return new MapContext(id, getCurrentPageVm('createMapContext')) +} diff --git a/src/core/service/api/ui/create-intersection-observer.js b/src/core/service/api/ui/create-intersection-observer.js index 28d59bc49..c0336e555 100644 --- a/src/core/service/api/ui/create-intersection-observer.js +++ b/src/core/service/api/ui/create-intersection-observer.js @@ -1,5 +1,9 @@ import createCallbacks from 'uni-helpers/callbacks' +import { + getCurrentPageVm +} from '../../platform' + const createIntersectionObserverCallbacks = createCallbacks('requestComponentObserver') const defaultOptions = { @@ -9,8 +13,8 @@ const defaultOptions = { } class ServiceIntersectionObserver { - constructor (pageId, component, options) { - this.pageId = pageId + constructor (component, options) { + this.pageId = component.$page.id this.component = component._$id || component // app-plus 平台传输_$id this.options = Object.assign({}, defaultOptions, options) } @@ -55,13 +59,7 @@ export function createIntersectionObserver (context, options) { context = null } if (context) { - return new ServiceIntersectionObserver(context.$page.id, context, options) - } - const pages = getCurrentPages() - const len = pages.length - if (!len) { - UniServiceJSBridge.emit('onError', 'createIntersectionObserver:fail') + return new ServiceIntersectionObserver(context, options) } - const page = pages[len - 1] - return new ServiceIntersectionObserver(page.$page.id, page.$vm, options) + return new ServiceIntersectionObserver(getCurrentPageVm('createIntersectionObserver'), options) } diff --git a/src/core/service/api/ui/create-selector-query.js b/src/core/service/api/ui/create-selector-query.js index 84bacdfab..917bb4f3e 100644 --- a/src/core/service/api/ui/create-selector-query.js +++ b/src/core/service/api/ui/create-selector-query.js @@ -1,8 +1,10 @@ import { isFn } from 'uni-shared' + import { - invokeMethod + invokeMethod, + getCurrentPageVm } from '../../platform' class NodesRef { @@ -106,10 +108,5 @@ export function createSelectorQuery (context) { if (context) { return new SelectorQuery(context) } - const pages = getCurrentPages() - const len = pages.length - if (!len) { - UniServiceJSBridge.emit('onError', 'createSelectorQuery:fail') - } - return new SelectorQuery(pages[len - 1].$vm) + return new SelectorQuery(getCurrentPageVm('createSelectorQuery')) } diff --git a/src/core/service/platform.js b/src/core/service/platform.js index d5b2d2e55..556a59266 100644 --- a/src/core/service/platform.js +++ b/src/core/service/platform.js @@ -13,4 +13,14 @@ export function invokeMethod (name, ...args) { */ export function onMethod (name, callback) { return UniServiceJSBridge.on('api.' + name, callback) +} + +export function getCurrentPageVm (method) { + const pages = getCurrentPages() + const len = pages.length + if (!len) { + UniServiceJSBridge.emit('onError', `${method}:fail`) + } + const page = pages[len - 1] + return page.$vm } diff --git a/src/platforms/app-plus-nvue/service/api/context/map.js b/src/platforms/app-plus-nvue/service/api/context/map.js deleted file mode 100644 index 7e13d1e60..000000000 --- a/src/platforms/app-plus-nvue/service/api/context/map.js +++ /dev/null @@ -1,47 +0,0 @@ -import { - findElmById, - invokeVmMethod, - invokeVmMethodWithoutArgs -} from '../util' - -class MapContext { - constructor (id, ctx) { - this.id = id - this.ctx = ctx - } - - getCenterLocation (cbs) { - return invokeVmMethodWithoutArgs(this.ctx, 'getCenterLocation', cbs) - } - - moveToLocation () { - return invokeVmMethodWithoutArgs(this.ctx, 'moveToLocation') - } - - translateMarker (args) { - return invokeVmMethod(this.ctx, 'translateMarker', args, ['animationEnd']) - } - - includePoints (args) { - return invokeVmMethod(this.ctx, 'includePoints', args) - } - - getRegion (cbs) { - return invokeVmMethodWithoutArgs(this.ctx, 'getRegion', cbs) - } - - getScale (cbs) { - return invokeVmMethodWithoutArgs(this.ctx, 'getScale', cbs) - } -} - -export function createMapContext (id, vm) { - if (!vm) { - return console.warn('uni.createMapContext 必须传入第二个参数,即当前 vm 对象(this)') - } - const elm = findElmById(id, vm) - if (!elm) { - return console.warn('Can not find `' + id + '`') - } - return new MapContext(id, elm) -} diff --git a/src/platforms/app-plus-nvue/service/api/context/operate-map-player.js b/src/platforms/app-plus-nvue/service/api/context/operate-map-player.js new file mode 100644 index 000000000..6d5a6919b --- /dev/null +++ b/src/platforms/app-plus-nvue/service/api/context/operate-map-player.js @@ -0,0 +1,30 @@ +import { + findElmById, + invokeVmMethod, + invokeVmMethodWithoutArgs +} from '../util' + +const METHODS = { + getCenterLocation (ctx, cbs) { + return invokeVmMethodWithoutArgs(ctx, 'getCenterLocation', cbs) + }, + moveToLocation (ctx) { + return invokeVmMethodWithoutArgs(ctx, 'moveToLocation') + }, + translateMarker (ctx, args) { + return invokeVmMethod(ctx, 'translateMarker', args, ['animationEnd']) + }, + includePoints (ctx, args) { + return invokeVmMethod(ctx, 'includePoints', args) + }, + getRegion (ctx, cbs) { + return invokeVmMethodWithoutArgs(ctx, 'getRegion', cbs) + }, + getScale (ctx, cbs) { + return invokeVmMethodWithoutArgs(ctx, 'getScale', cbs) + } +} + +export function operateMapPlayer (mapId, pageVm, type, data) { + return METHODS[type](findElmById(mapId, pageVm), data) +} diff --git a/src/platforms/app-plus-nvue/service/api/util.js b/src/platforms/app-plus-nvue/service/api/util.js index d91873a7f..8e018f080 100644 --- a/src/platforms/app-plus-nvue/service/api/util.js +++ b/src/platforms/app-plus-nvue/service/api/util.js @@ -46,7 +46,11 @@ export function invokeVmMethod (vm, method, args, extras) { } export function findElmById (id, vm) { - return findRefByElm(id, vm.$el) + const elm = findRefByElm(id, vm.$el) + if (!elm) { + return console.error('Can not find `' + id + '`') + } + return elm } function findRefByElm (id, elm) { @@ -108,4 +112,4 @@ function normalizeCallback (method, callbacks) { isFn(complete) && complete(ret) } } -} +} diff --git a/src/platforms/app-plus/service/api/context/operate-map-player.js b/src/platforms/app-plus/service/api/context/operate-map-player.js new file mode 100644 index 000000000..9781d9e56 --- /dev/null +++ b/src/platforms/app-plus/service/api/context/operate-map-player.js @@ -0,0 +1,12 @@ +import { + operateMapPlayer as operateVueMapPlayer +} from 'uni-platforms/h5/service/api/context/operate-map-player' +import { + operateMapPlayer as operateNVueMapPlayer +} from 'uni-platforms/app-plus-nvue/service/api/context/operate-map-player' + +export function operateMapPlayer(mapId, pageVm, type, data) { + pageVm.$page.meta.isNVue ? + operateNVueMapPlayer(mapId, pageVm, type, data) : + operateVueMapPlayer(mapId, pageVm, type, data) +} diff --git a/src/platforms/app-plus/service/api/ui/request-component-info.js b/src/platforms/app-plus/service/api/ui/request-component-info.js index 581dc945d..7a62d669a 100644 --- a/src/platforms/app-plus/service/api/ui/request-component-info.js +++ b/src/platforms/app-plus/service/api/ui/request-component-info.js @@ -6,8 +6,8 @@ import { requestComponentInfo as requestNVueComponentInfo } from 'uni-platforms/app-plus-nvue/service/api/ui/request-component-info' -export function requestComponentInfo (pageInstance, queue, callback) { - pageInstance.$page.meta.isNVue - ? requestNVueComponentInfo(pageInstance, queue, callback) - : requestVueComponentInfo(pageInstance, queue, callback) +export function requestComponentInfo (pageVm, queue, callback) { + pageVm.$page.meta.isNVue + ? requestNVueComponentInfo(pageVm, queue, callback) + : requestVueComponentInfo(pageVm, queue, callback) } diff --git a/src/platforms/h5/service/api/context/map.js b/src/platforms/h5/service/api/context/map.js deleted file mode 100644 index f1bdffae5..000000000 --- a/src/platforms/h5/service/api/context/map.js +++ /dev/null @@ -1,91 +0,0 @@ -function operateMapPlayer (mapId, pageId, type, data) { - UniServiceJSBridge.publishHandler(pageId + '-map-' + mapId, { - mapId, - type, - data - }, pageId) -} - -class MapContext { - constructor (id, pageId) { - this.id = id - this.pageId = pageId - } - - getCenterLocation ({ - success, - fail, - complete - }) { - operateMapPlayer(this.id, this.pageId, 'getCenterLocation', { - success, - fail, - complete - }) - } - moveToLocation () { - operateMapPlayer(this.id, this.pageId, 'moveToLocation') - } - translateMarker ({ - markerId, - destination, - autoRotate, - rotate, - duration, - animationEnd, - fail - }) { - operateMapPlayer(this.id, this.pageId, 'translateMarker', { - markerId, - destination, - autoRotate, - rotate, - duration, - animationEnd, - fail - }) - } - includePoints ({ - points, - padding - }) { - operateMapPlayer(this.id, this.pageId, 'includePoints', { - points, - padding - }) - } - getRegion ({ - success, - fail, - complete - }) { - operateMapPlayer(this.id, this.pageId, 'getRegion', { - success, - fail, - complete - }) - } - getScale ({ - success, - fail, - complete - }) { - operateMapPlayer(this.id, this.pageId, 'getScale', { - success, - fail, - complete - }) - } -} - -export function createMapContext (id, context) { - if (context) { - return new MapContext(id, context.$page.id) - } - const app = getApp() - if (app.$route && app.$route.params.__id__) { - return new MapContext(id, app.$route.params.__id__) - } else { - UniServiceJSBridge.emit('onError', 'createMapContext:fail') - } -} diff --git a/src/platforms/h5/service/api/context/operate-map-player.js b/src/platforms/h5/service/api/context/operate-map-player.js new file mode 100644 index 000000000..abf1d8dd7 --- /dev/null +++ b/src/platforms/h5/service/api/context/operate-map-player.js @@ -0,0 +1,8 @@ +export function operateMapPlayer (mapId, pageVm, type, data) { + const pageId = pageVm.$page.id + UniServiceJSBridge.publishHandler(pageId + '-map-' + mapId, { + mapId, + type, + data + }, pageId) +} -- GitLab