diff --git a/packages/uni-app-plus/dist/index.js b/packages/uni-app-plus/dist/index.js index 5103512f9625ee176a40fd4da9ff4cdcb3e2cf58..b30f7b8fdf53b51ea126c157d78c2838fe234363 100644 --- a/packages/uni-app-plus/dist/index.js +++ b/packages/uni-app-plus/dist/index.js @@ -256,12 +256,33 @@ TODOS.forEach(function (name) { todoApis[name] = createTodoApi(name); }); -const Emitter = new Vue(); - -const $on = Emitter.$on.bind(Emitter); -const $off = Emitter.$off.bind(Emitter); -const $once = Emitter.$once.bind(Emitter); -const $emit = Emitter.$emit.bind(Emitter); +const getEmitter = (function () { + if (typeof getUniEmitter === 'function') { + /* eslint-disable no-undef */ + return getUniEmitter + } + const Emitter = new Vue(); + return function getUniEmitter () { + return Emitter + } +})(); + +function apply (ctx, method, args) { + return ctx[method].apply(ctx, args) +} + +function $on () { + return apply(getEmitter(), '$on', [...arguments]) +} +function $off () { + return apply(getEmitter(), '$off', [...arguments]) +} +function $once () { + return apply(getEmitter(), '$once', [...arguments]) +} +function $emit () { + return apply(getEmitter(), '$emit', [...arguments]) +} diff --git a/packages/uni-app-plus/package.json b/packages/uni-app-plus/package.json index 65e19c6fb41f5793409f44d892fd4db908802ee7..a0003ad0dc29b03a6103dc0c10b58e7771995e80 100644 --- a/packages/uni-app-plus/package.json +++ b/packages/uni-app-plus/package.json @@ -1,6 +1,6 @@ { "name": "@dcloudio/uni-app-plus", - "version": "0.0.238", + "version": "0.0.239", "description": "uni-app app-plus", "main": "dist/index.js", "scripts": { diff --git a/packages/uni-mp-alipay/dist/index.js b/packages/uni-mp-alipay/dist/index.js index 7f7916c427de861252512d1f7811fcbe0fd7c7e9..e5b924c8e4d364e4c4796ff2fe981d13b62e9306 100644 --- a/packages/uni-mp-alipay/dist/index.js +++ b/packages/uni-mp-alipay/dist/index.js @@ -656,12 +656,33 @@ var extraApi = /*#__PURE__*/Object.freeze({ getProvider: getProvider }); -const Emitter = new Vue(); - -const $on = Emitter.$on.bind(Emitter); -const $off = Emitter.$off.bind(Emitter); -const $once = Emitter.$once.bind(Emitter); -const $emit = Emitter.$emit.bind(Emitter); +const getEmitter = (function () { + if (typeof getUniEmitter === 'function') { + /* eslint-disable no-undef */ + return getUniEmitter + } + const Emitter = new Vue(); + return function getUniEmitter () { + return Emitter + } +})(); + +function apply (ctx, method, args) { + return ctx[method].apply(ctx, args) +} + +function $on () { + return apply(getEmitter(), '$on', [...arguments]) +} +function $off () { + return apply(getEmitter(), '$off', [...arguments]) +} +function $once () { + return apply(getEmitter(), '$once', [...arguments]) +} +function $emit () { + return apply(getEmitter(), '$emit', [...arguments]) +} diff --git a/packages/uni-mp-alipay/package.json b/packages/uni-mp-alipay/package.json index 6bed0bbcbf73121d8feed9233a19e01e0a20360a..cd4d82b29c1eb279ff2b0dfd1396ecceb4436978 100644 --- a/packages/uni-mp-alipay/package.json +++ b/packages/uni-mp-alipay/package.json @@ -1,6 +1,6 @@ { "name": "@dcloudio/uni-mp-alipay", - "version": "0.0.810", + "version": "0.0.811", "description": "uni-app mp-alipay", "main": "dist/index.js", "scripts": { diff --git a/packages/uni-mp-baidu/dist/index.js b/packages/uni-mp-baidu/dist/index.js index 93bb719ea3b6b41dc5b5c858c6f660a4541e4242..e8283be9bc398f26a8a4eb936c6abdf625f96b5b 100644 --- a/packages/uni-mp-baidu/dist/index.js +++ b/packages/uni-mp-baidu/dist/index.js @@ -413,12 +413,33 @@ var extraApi = /*#__PURE__*/Object.freeze({ getProvider: getProvider }); -const Emitter = new Vue(); - -const $on = Emitter.$on.bind(Emitter); -const $off = Emitter.$off.bind(Emitter); -const $once = Emitter.$once.bind(Emitter); -const $emit = Emitter.$emit.bind(Emitter); +const getEmitter = (function () { + if (typeof getUniEmitter === 'function') { + /* eslint-disable no-undef */ + return getUniEmitter + } + const Emitter = new Vue(); + return function getUniEmitter () { + return Emitter + } +})(); + +function apply (ctx, method, args) { + return ctx[method].apply(ctx, args) +} + +function $on () { + return apply(getEmitter(), '$on', [...arguments]) +} +function $off () { + return apply(getEmitter(), '$off', [...arguments]) +} +function $once () { + return apply(getEmitter(), '$once', [...arguments]) +} +function $emit () { + return apply(getEmitter(), '$emit', [...arguments]) +} diff --git a/packages/uni-mp-baidu/package.json b/packages/uni-mp-baidu/package.json index edc072b2c856b79c67307cd02e3b9504af270bf5..69867d78aa9443a36870c88f206e538bb47b7e7b 100644 --- a/packages/uni-mp-baidu/package.json +++ b/packages/uni-mp-baidu/package.json @@ -1,6 +1,6 @@ { "name": "@dcloudio/uni-mp-baidu", - "version": "0.0.836", + "version": "0.0.837", "description": "uni-app mp-baidu", "main": "dist/index.js", "scripts": { diff --git a/packages/uni-mp-toutiao/dist/index.js b/packages/uni-mp-toutiao/dist/index.js index 0fdab1712a73801f1622447d8fb076a2d2b7b30c..e877e4b4f7da06e53d94ab0ca295297073f13668 100644 --- a/packages/uni-mp-toutiao/dist/index.js +++ b/packages/uni-mp-toutiao/dist/index.js @@ -474,12 +474,33 @@ var extraApi = /*#__PURE__*/Object.freeze({ getProvider: getProvider }); -const Emitter = new Vue(); - -const $on = Emitter.$on.bind(Emitter); -const $off = Emitter.$off.bind(Emitter); -const $once = Emitter.$once.bind(Emitter); -const $emit = Emitter.$emit.bind(Emitter); +const getEmitter = (function () { + if (typeof getUniEmitter === 'function') { + /* eslint-disable no-undef */ + return getUniEmitter + } + const Emitter = new Vue(); + return function getUniEmitter () { + return Emitter + } +})(); + +function apply (ctx, method, args) { + return ctx[method].apply(ctx, args) +} + +function $on () { + return apply(getEmitter(), '$on', [...arguments]) +} +function $off () { + return apply(getEmitter(), '$off', [...arguments]) +} +function $once () { + return apply(getEmitter(), '$once', [...arguments]) +} +function $emit () { + return apply(getEmitter(), '$emit', [...arguments]) +} diff --git a/packages/uni-mp-toutiao/package.json b/packages/uni-mp-toutiao/package.json index 2b461cbed8017deab651b6a1f976fb792022ac8e..9b8e63103993d2ab9db1604adbafa7dfd66ffd99 100644 --- a/packages/uni-mp-toutiao/package.json +++ b/packages/uni-mp-toutiao/package.json @@ -1,6 +1,6 @@ { "name": "@dcloudio/uni-mp-toutiao", - "version": "0.0.336", + "version": "0.0.337", "description": "uni-app mp-toutiao", "main": "dist/index.js", "scripts": { diff --git a/packages/uni-mp-weixin/dist/index.js b/packages/uni-mp-weixin/dist/index.js index fcebb280e02db27d95c682d4d28475a41554a3bf..d0f4a5c99674a650c0a2f16549926505de4d6d20 100644 --- a/packages/uni-mp-weixin/dist/index.js +++ b/packages/uni-mp-weixin/dist/index.js @@ -326,12 +326,33 @@ var extraApi = /*#__PURE__*/Object.freeze({ getProvider: getProvider }); -const Emitter = new Vue(); - -const $on = Emitter.$on.bind(Emitter); -const $off = Emitter.$off.bind(Emitter); -const $once = Emitter.$once.bind(Emitter); -const $emit = Emitter.$emit.bind(Emitter); +const getEmitter = (function () { + if (typeof getUniEmitter === 'function') { + /* eslint-disable no-undef */ + return getUniEmitter + } + const Emitter = new Vue(); + return function getUniEmitter () { + return Emitter + } +})(); + +function apply (ctx, method, args) { + return ctx[method].apply(ctx, args) +} + +function $on () { + return apply(getEmitter(), '$on', [...arguments]) +} +function $off () { + return apply(getEmitter(), '$off', [...arguments]) +} +function $once () { + return apply(getEmitter(), '$once', [...arguments]) +} +function $emit () { + return apply(getEmitter(), '$emit', [...arguments]) +} diff --git a/packages/uni-mp-weixin/package.json b/packages/uni-mp-weixin/package.json index 5198b26bdf8db1addf8e78e6e1ef615ccfdcfe2a..b151599206870bd4aea133cf2c8bc35c54c5a217 100644 --- a/packages/uni-mp-weixin/package.json +++ b/packages/uni-mp-weixin/package.json @@ -1,6 +1,6 @@ { "name": "@dcloudio/uni-mp-weixin", - "version": "0.0.958", + "version": "0.0.959", "description": "uni-app mp-weixin", "main": "dist/index.js", "scripts": { diff --git a/src/core/service/api/event.js b/src/core/service/api/event.js index 320bc5209097cb9461bc217c2325108b0cdbe483..512d76f3a4b6ddeabe3e87b6c723b3be91b5abb4 100644 --- a/src/core/service/api/event.js +++ b/src/core/service/api/event.js @@ -1,8 +1,29 @@ -import Vue from 'vue' - -const Emitter = new Vue() - -export const $on = Emitter.$on.bind(Emitter) -export const $off = Emitter.$off.bind(Emitter) -export const $once = Emitter.$once.bind(Emitter) -export const $emit = Emitter.$emit.bind(Emitter) +import Vue from 'vue' + +const getEmitter = (function () { + if (typeof getUniEmitter === 'function') { + /* eslint-disable no-undef */ + return getUniEmitter + } + const Emitter = new Vue() + return function getUniEmitter () { + return Emitter + } +})() + +function apply (ctx, method, args) { + return ctx[method].apply(ctx, args) +} + +export function $on () { + return apply(getEmitter(), '$on', [...arguments]) +} +export function $off () { + return apply(getEmitter(), '$off', [...arguments]) +} +export function $once () { + return apply(getEmitter(), '$once', [...arguments]) +} +export function $emit () { + return apply(getEmitter(), '$emit', [...arguments]) +}