{"version":3,"sources":["jsdelivr-header.js","/npm/jbz-film-logic@1.0.0/src/polyfill/Promise.any.ts","/npm/jbz-film-logic@1.0.0/src/variable/enum.ts","/npm/jbz-film-logic@1.0.0/src/util/Constant.ts","/npm/jbz-film-logic@1.0.0/src/util/ConfigManager.ts","/npm/jbz-film-logic@1.0.0/node_modules/rxjs/_esm5/internal/util/isFunction.js","/npm/jbz-film-logic@1.0.0/node_modules/rxjs/_esm5/internal/config.js","/npm/jbz-film-logic@1.0.0/node_modules/rxjs/_esm5/internal/util/hostReportError.js","/npm/jbz-film-logic@1.0.0/node_modules/rxjs/_esm5/internal/Observer.js","/npm/jbz-film-logic@1.0.0/node_modules/rxjs/_esm5/internal/util/isArray.js","/npm/jbz-film-logic@1.0.0/node_modules/rxjs/_esm5/internal/util/isObject.js","/npm/jbz-film-logic@1.0.0/node_modules/rxjs/_esm5/internal/util/UnsubscriptionError.js","/npm/jbz-film-logic@1.0.0/node_modules/rxjs/_esm5/internal/Subscription.js","/npm/jbz-film-logic@1.0.0/node_modules/rxjs/_esm5/internal/symbol/rxSubscriber.js","/npm/jbz-film-logic@1.0.0/node_modules/rxjs/_esm5/internal/Subscriber.js","/npm/jbz-film-logic@1.0.0/node_modules/rxjs/_esm5/internal/util/canReportError.js","/npm/jbz-film-logic@1.0.0/node_modules/rxjs/_esm5/internal/util/toSubscriber.js","/npm/jbz-film-logic@1.0.0/node_modules/rxjs/_esm5/internal/symbol/observable.js","/npm/jbz-film-logic@1.0.0/node_modules/rxjs/_esm5/internal/util/identity.js","/npm/jbz-film-logic@1.0.0/node_modules/rxjs/_esm5/internal/util/pipe.js","/npm/jbz-film-logic@1.0.0/node_modules/rxjs/_esm5/internal/Observable.js","/npm/jbz-film-logic@1.0.0/node_modules/rxjs/_esm5/internal/util/ObjectUnsubscribedError.js","/npm/jbz-film-logic@1.0.0/src/packages/cinema-list-view/index.ts","/npm/jbz-film-logic@1.0.0/node_modules/rxjs/_esm5/internal/SubjectSubscription.js","/npm/jbz-film-logic@1.0.0/node_modules/rxjs/_esm5/internal/Subject.js","/npm/jbz-film-logic@1.0.0/src/tool/ObjectTool.ts","/npm/jbz-film-logic@1.0.0/src/tool/MethodTool.ts","/npm/jbz-film-logic@1.0.0/src/packages/base.ts","/npm/jbz-film-logic@1.0.0/src/packages/base-view/index.ts","/npm/jbz-film-logic@1.0.0/src/packages/home-view/index.ts","/npm/jbz-film-logic@1.0.0/src/util/LocationManager.ts","/npm/jbz-film-logic@1.0.0/src/packages/location/index.ts","/npm/jbz-film-logic@1.0.0/src/index.ts"],"names":[],"mappings":"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","file":"/npm/jbz-film-logic@1.0.0/lib/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/jbz-film-logic@1.0.0/lib/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","if (!Promise.any){\n    Promise.any = function any(promises: PromiseLike<any>[]) {\n        if (!Array.isArray(promises) || promises.length === 0){\n            return Promise.reject('any is empty')\n        }\n        return Promise.all(\n            /** @ts-ignore **/\n            promises.map(promise =>\n                promise.then(val => {\n                    throw val;\n                }, reason => reason),\n            ),\n        ).then(reasons => {\n            throw reasons;\n        }, firstResolved => firstResolved);\n    };\n}","/**\n * logic类型 目前仅使用 MIXIN，预留字段\n */\nenum LogicType{\n    MIXIN = 'mixin'\n}\n\n/**\n * 请求序列发送方式\n */\nenum RequestSequenceType {\n    /**\n     * 一个接一个的发送, 当之前的请求收到数据后发送第二个请求\n     */\n    ONEBYONE = 'onebyone',\n    /**\n     * 同时发出请求，不限制数据返回顺序\n     */\n    CONCURRENCY = 'concurrency',\n    /**\n     * 同事发送请求，当收到所有请求的数据才返回\n     */\n    ALLSETTLED = 'allsettled'\n}\n\n\n/**\n * 单个请求的发送状态\n */\nenum RequestStatus {\n    /**\n     * 初始化\n     */\n    INIT = 'init',\n    /**\n     * 已经发送但没有返回\n     */\n    HOLD = 'hold',\n    /**\n     * 已经收到数据\n     */\n    FINISH = 'finish',\n}\n\nenum LocatorType {\n    BROWSER = 'browser',\n    NATIVE = 'native',\n    BAIDU = 'baidu',\n    GAODE = 'gaode',\n    TENCENT = 'tencent',\n}\n\nexport {\n    LogicType,\n    RequestSequenceType,\n    RequestStatus,\n    LocatorType,\n}\n","export const NAME = 'jbz-film-logic';","import {NAME} from \"./Constant\";\nimport {LocatorType} from \"@/variable/enum\";\n\nconst hasConfig = () => {\n    return window.$jbzLogicConfig !== undefined;\n};\n\n\nconst getConfig = () => {\n    if (!hasConfig()){\n        console.error(`未安装 ${NAME} 插件，请先安装本插件`);\n        return null;\n    }\n    return window.$jbzLogicConfig;\n};\n\nlet NETWORK_CONFIG = null;\nexport const getNetwork = (networkName?) => {\n    if (NETWORK_CONFIG){\n        if (NETWORK_CONFIG.hasOwnProperty(networkName)){\n            return NETWORK_CONFIG[networkName]\n        }\n    }\n\n    const jbzLogicConfig = getConfig();\n    if (!jbzLogicConfig){\n        return;\n    }\n    const networkConfig = jbzLogicConfig.networkConfig;\n    if (!networkConfig){\n        console.error('没有找到 networkConfig 配置项');\n        return null;\n    }\n\n    NETWORK_CONFIG = networkConfig;\n\n    if (networkConfig.hasOwnProperty(networkName)){\n        return networkConfig[networkName]\n    }\n    console.error(`没有找到网络配置 ${networkName}`)\n    return null;\n};\n\n\nexport const getMapConfig: () => LocatorType[] = () => {\n    const jbzLogicConfig = getConfig();\n    if (!jbzLogicConfig){\n        return;\n    }\n    const geoConfig = jbzLogicConfig.geoConfig;\n    if (!geoConfig){\n        console.error('没有找到 geoConfig 配置项');\n        return null;\n    }\n\n    const {mapPlatforms} = geoConfig;\n    if (!(Array.isArray(mapPlatforms) || typeof mapPlatforms === 'string')){\n        console.error(`mapFrameworks 配置项格式错误`);\n        return null;\n    }\n    return geoConfig\n};\n\n","/** PURE_IMPORTS_START  PURE_IMPORTS_END */\nexport function isFunction(x) {\n    return typeof x === 'function';\n}\n//# sourceMappingURL=isFunction.js.map\n","/** PURE_IMPORTS_START  PURE_IMPORTS_END */\nvar _enable_super_gross_mode_that_will_cause_bad_things = false;\nexport var config = {\n    Promise: undefined,\n    set useDeprecatedSynchronousErrorHandling(value) {\n        if (value) {\n            var error = /*@__PURE__*/ new Error();\n            /*@__PURE__*/ console.warn('DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \\n' + error.stack);\n        }\n        else if (_enable_super_gross_mode_that_will_cause_bad_things) {\n            /*@__PURE__*/ console.log('RxJS: Back to a better error behavior. Thank you. <3');\n        }\n        _enable_super_gross_mode_that_will_cause_bad_things = value;\n    },\n    get useDeprecatedSynchronousErrorHandling() {\n        return _enable_super_gross_mode_that_will_cause_bad_things;\n    },\n};\n//# sourceMappingURL=config.js.map\n","/** PURE_IMPORTS_START  PURE_IMPORTS_END */\nexport function hostReportError(err) {\n    setTimeout(function () { throw err; }, 0);\n}\n//# sourceMappingURL=hostReportError.js.map\n","/** PURE_IMPORTS_START _config,_util_hostReportError PURE_IMPORTS_END */\nimport { config } from './config';\nimport { hostReportError } from './util/hostReportError';\nexport var empty = {\n    closed: true,\n    next: function (value) { },\n    error: function (err) {\n        if (config.useDeprecatedSynchronousErrorHandling) {\n            throw err;\n        }\n        else {\n            hostReportError(err);\n        }\n    },\n    complete: function () { }\n};\n//# sourceMappingURL=Observer.js.map\n","/** PURE_IMPORTS_START  PURE_IMPORTS_END */\nexport var isArray = /*@__PURE__*/ (function () { return Array.isArray || (function (x) { return x && typeof x.length === 'number'; }); })();\n//# sourceMappingURL=isArray.js.map\n","/** PURE_IMPORTS_START  PURE_IMPORTS_END */\nexport function isObject(x) {\n    return x !== null && typeof x === 'object';\n}\n//# sourceMappingURL=isObject.js.map\n","/** PURE_IMPORTS_START  PURE_IMPORTS_END */\nvar UnsubscriptionErrorImpl = /*@__PURE__*/ (function () {\n    function UnsubscriptionErrorImpl(errors) {\n        Error.call(this);\n        this.message = errors ?\n            errors.length + \" errors occurred during unsubscription:\\n\" + errors.map(function (err, i) { return i + 1 + \") \" + err.toString(); }).join('\\n  ') : '';\n        this.name = 'UnsubscriptionError';\n        this.errors = errors;\n        return this;\n    }\n    UnsubscriptionErrorImpl.prototype = /*@__PURE__*/ Object.create(Error.prototype);\n    return UnsubscriptionErrorImpl;\n})();\nexport var UnsubscriptionError = UnsubscriptionErrorImpl;\n//# sourceMappingURL=UnsubscriptionError.js.map\n","/** PURE_IMPORTS_START _util_isArray,_util_isObject,_util_isFunction,_util_UnsubscriptionError PURE_IMPORTS_END */\nimport { isArray } from './util/isArray';\nimport { isObject } from './util/isObject';\nimport { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nvar Subscription = /*@__PURE__*/ (function () {\n    function Subscription(unsubscribe) {\n        this.closed = false;\n        this._parentOrParents = null;\n        this._subscriptions = null;\n        if (unsubscribe) {\n            this._unsubscribe = unsubscribe;\n        }\n    }\n    Subscription.prototype.unsubscribe = function () {\n        var errors;\n        if (this.closed) {\n            return;\n        }\n        var _a = this, _parentOrParents = _a._parentOrParents, _unsubscribe = _a._unsubscribe, _subscriptions = _a._subscriptions;\n        this.closed = true;\n        this._parentOrParents = null;\n        this._subscriptions = null;\n        if (_parentOrParents instanceof Subscription) {\n            _parentOrParents.remove(this);\n        }\n        else if (_parentOrParents !== null) {\n            for (var index = 0; index < _parentOrParents.length; ++index) {\n                var parent_1 = _parentOrParents[index];\n                parent_1.remove(this);\n            }\n        }\n        if (isFunction(_unsubscribe)) {\n            try {\n                _unsubscribe.call(this);\n            }\n            catch (e) {\n                errors = e instanceof UnsubscriptionError ? flattenUnsubscriptionErrors(e.errors) : [e];\n            }\n        }\n        if (isArray(_subscriptions)) {\n            var index = -1;\n            var len = _subscriptions.length;\n            while (++index < len) {\n                var sub = _subscriptions[index];\n                if (isObject(sub)) {\n                    try {\n                        sub.unsubscribe();\n                    }\n                    catch (e) {\n                        errors = errors || [];\n                        if (e instanceof UnsubscriptionError) {\n                            errors = errors.concat(flattenUnsubscriptionErrors(e.errors));\n                        }\n                        else {\n                            errors.push(e);\n                        }\n                    }\n                }\n            }\n        }\n        if (errors) {\n            throw new UnsubscriptionError(errors);\n        }\n    };\n    Subscription.prototype.add = function (teardown) {\n        var subscription = teardown;\n        if (!teardown) {\n            return Subscription.EMPTY;\n        }\n        switch (typeof teardown) {\n            case 'function':\n                subscription = new Subscription(teardown);\n            case 'object':\n                if (subscription === this || subscription.closed || typeof subscription.unsubscribe !== 'function') {\n                    return subscription;\n                }\n                else if (this.closed) {\n                    subscription.unsubscribe();\n                    return subscription;\n                }\n                else if (!(subscription instanceof Subscription)) {\n                    var tmp = subscription;\n                    subscription = new Subscription();\n                    subscription._subscriptions = [tmp];\n                }\n                break;\n            default: {\n                throw new Error('unrecognized teardown ' + teardown + ' added to Subscription.');\n            }\n        }\n        var _parentOrParents = subscription._parentOrParents;\n        if (_parentOrParents === null) {\n            subscription._parentOrParents = this;\n        }\n        else if (_parentOrParents instanceof Subscription) {\n            if (_parentOrParents === this) {\n                return subscription;\n            }\n            subscription._parentOrParents = [_parentOrParents, this];\n        }\n        else if (_parentOrParents.indexOf(this) === -1) {\n            _parentOrParents.push(this);\n        }\n        else {\n            return subscription;\n        }\n        var subscriptions = this._subscriptions;\n        if (subscriptions === null) {\n            this._subscriptions = [subscription];\n        }\n        else {\n            subscriptions.push(subscription);\n        }\n        return subscription;\n    };\n    Subscription.prototype.remove = function (subscription) {\n        var subscriptions = this._subscriptions;\n        if (subscriptions) {\n            var subscriptionIndex = subscriptions.indexOf(subscription);\n            if (subscriptionIndex !== -1) {\n                subscriptions.splice(subscriptionIndex, 1);\n            }\n        }\n    };\n    Subscription.EMPTY = (function (empty) {\n        empty.closed = true;\n        return empty;\n    }(new Subscription()));\n    return Subscription;\n}());\nexport { Subscription };\nfunction flattenUnsubscriptionErrors(errors) {\n    return errors.reduce(function (errs, err) { return errs.concat((err instanceof UnsubscriptionError) ? err.errors : err); }, []);\n}\n//# sourceMappingURL=Subscription.js.map\n","/** PURE_IMPORTS_START  PURE_IMPORTS_END */\nexport var rxSubscriber = /*@__PURE__*/ (function () {\n    return typeof Symbol === 'function'\n        ? /*@__PURE__*/ Symbol('rxSubscriber')\n        : '@@rxSubscriber_' + /*@__PURE__*/ Math.random();\n})();\nexport var $$rxSubscriber = rxSubscriber;\n//# sourceMappingURL=rxSubscriber.js.map\n","/** PURE_IMPORTS_START tslib,_util_isFunction,_Observer,_Subscription,_internal_symbol_rxSubscriber,_config,_util_hostReportError PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { empty as emptyObserver } from './Observer';\nimport { Subscription } from './Subscription';\nimport { rxSubscriber as rxSubscriberSymbol } from '../internal/symbol/rxSubscriber';\nimport { config } from './config';\nimport { hostReportError } from './util/hostReportError';\nvar Subscriber = /*@__PURE__*/ (function (_super) {\n    tslib_1.__extends(Subscriber, _super);\n    function Subscriber(destinationOrNext, error, complete) {\n        var _this = _super.call(this) || this;\n        _this.syncErrorValue = null;\n        _this.syncErrorThrown = false;\n        _this.syncErrorThrowable = false;\n        _this.isStopped = false;\n        switch (arguments.length) {\n            case 0:\n                _this.destination = emptyObserver;\n                break;\n            case 1:\n                if (!destinationOrNext) {\n                    _this.destination = emptyObserver;\n                    break;\n                }\n                if (typeof destinationOrNext === 'object') {\n                    if (destinationOrNext instanceof Subscriber) {\n                        _this.syncErrorThrowable = destinationOrNext.syncErrorThrowable;\n                        _this.destination = destinationOrNext;\n                        destinationOrNext.add(_this);\n                    }\n                    else {\n                        _this.syncErrorThrowable = true;\n                        _this.destination = new SafeSubscriber(_this, destinationOrNext);\n                    }\n                    break;\n                }\n            default:\n                _this.syncErrorThrowable = true;\n                _this.destination = new SafeSubscriber(_this, destinationOrNext, error, complete);\n                break;\n        }\n        return _this;\n    }\n    Subscriber.prototype[rxSubscriberSymbol] = function () { return this; };\n    Subscriber.create = function (next, error, complete) {\n        var subscriber = new Subscriber(next, error, complete);\n        subscriber.syncErrorThrowable = false;\n        return subscriber;\n    };\n    Subscriber.prototype.next = function (value) {\n        if (!this.isStopped) {\n            this._next(value);\n        }\n    };\n    Subscriber.prototype.error = function (err) {\n        if (!this.isStopped) {\n            this.isStopped = true;\n            this._error(err);\n        }\n    };\n    Subscriber.prototype.complete = function () {\n        if (!this.isStopped) {\n            this.isStopped = true;\n            this._complete();\n        }\n    };\n    Subscriber.prototype.unsubscribe = function () {\n        if (this.closed) {\n            return;\n        }\n        this.isStopped = true;\n        _super.prototype.unsubscribe.call(this);\n    };\n    Subscriber.prototype._next = function (value) {\n        this.destination.next(value);\n    };\n    Subscriber.prototype._error = function (err) {\n        this.destination.error(err);\n        this.unsubscribe();\n    };\n    Subscriber.prototype._complete = function () {\n        this.destination.complete();\n        this.unsubscribe();\n    };\n    Subscriber.prototype._unsubscribeAndRecycle = function () {\n        var _parentOrParents = this._parentOrParents;\n        this._parentOrParents = null;\n        this.unsubscribe();\n        this.closed = false;\n        this.isStopped = false;\n        this._parentOrParents = _parentOrParents;\n        return this;\n    };\n    return Subscriber;\n}(Subscription));\nexport { Subscriber };\nvar SafeSubscriber = /*@__PURE__*/ (function (_super) {\n    tslib_1.__extends(SafeSubscriber, _super);\n    function SafeSubscriber(_parentSubscriber, observerOrNext, error, complete) {\n        var _this = _super.call(this) || this;\n        _this._parentSubscriber = _parentSubscriber;\n        var next;\n        var context = _this;\n        if (isFunction(observerOrNext)) {\n            next = observerOrNext;\n        }\n        else if (observerOrNext) {\n            next = observerOrNext.next;\n            error = observerOrNext.error;\n            complete = observerOrNext.complete;\n            if (observerOrNext !== emptyObserver) {\n                context = Object.create(observerOrNext);\n                if (isFunction(context.unsubscribe)) {\n                    _this.add(context.unsubscribe.bind(context));\n                }\n                context.unsubscribe = _this.unsubscribe.bind(_this);\n            }\n        }\n        _this._context = context;\n        _this._next = next;\n        _this._error = error;\n        _this._complete = complete;\n        return _this;\n    }\n    SafeSubscriber.prototype.next = function (value) {\n        if (!this.isStopped && this._next) {\n            var _parentSubscriber = this._parentSubscriber;\n            if (!config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n                this.__tryOrUnsub(this._next, value);\n            }\n            else if (this.__tryOrSetError(_parentSubscriber, this._next, value)) {\n                this.unsubscribe();\n            }\n        }\n    };\n    SafeSubscriber.prototype.error = function (err) {\n        if (!this.isStopped) {\n            var _parentSubscriber = this._parentSubscriber;\n            var useDeprecatedSynchronousErrorHandling = config.useDeprecatedSynchronousErrorHandling;\n            if (this._error) {\n                if (!useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n                    this.__tryOrUnsub(this._error, err);\n                    this.unsubscribe();\n                }\n                else {\n                    this.__tryOrSetError(_parentSubscriber, this._error, err);\n                    this.unsubscribe();\n                }\n            }\n            else if (!_parentSubscriber.syncErrorThrowable) {\n                this.unsubscribe();\n                if (useDeprecatedSynchronousErrorHandling) {\n                    throw err;\n                }\n                hostReportError(err);\n            }\n            else {\n                if (useDeprecatedSynchronousErrorHandling) {\n                    _parentSubscriber.syncErrorValue = err;\n                    _parentSubscriber.syncErrorThrown = true;\n                }\n                else {\n                    hostReportError(err);\n                }\n                this.unsubscribe();\n            }\n        }\n    };\n    SafeSubscriber.prototype.complete = function () {\n        var _this = this;\n        if (!this.isStopped) {\n            var _parentSubscriber = this._parentSubscriber;\n            if (this._complete) {\n                var wrappedComplete = function () { return _this._complete.call(_this._context); };\n                if (!config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n                    this.__tryOrUnsub(wrappedComplete);\n                    this.unsubscribe();\n                }\n                else {\n                    this.__tryOrSetError(_parentSubscriber, wrappedComplete);\n                    this.unsubscribe();\n                }\n            }\n            else {\n                this.unsubscribe();\n            }\n        }\n    };\n    SafeSubscriber.prototype.__tryOrUnsub = function (fn, value) {\n        try {\n            fn.call(this._context, value);\n        }\n        catch (err) {\n            this.unsubscribe();\n            if (config.useDeprecatedSynchronousErrorHandling) {\n                throw err;\n            }\n            else {\n                hostReportError(err);\n            }\n        }\n    };\n    SafeSubscriber.prototype.__tryOrSetError = function (parent, fn, value) {\n        if (!config.useDeprecatedSynchronousErrorHandling) {\n            throw new Error('bad call');\n        }\n        try {\n            fn.call(this._context, value);\n        }\n        catch (err) {\n            if (config.useDeprecatedSynchronousErrorHandling) {\n                parent.syncErrorValue = err;\n                parent.syncErrorThrown = true;\n                return true;\n            }\n            else {\n                hostReportError(err);\n                return true;\n            }\n        }\n        return false;\n    };\n    SafeSubscriber.prototype._unsubscribe = function () {\n        var _parentSubscriber = this._parentSubscriber;\n        this._context = null;\n        this._parentSubscriber = null;\n        _parentSubscriber.unsubscribe();\n    };\n    return SafeSubscriber;\n}(Subscriber));\nexport { SafeSubscriber };\n//# sourceMappingURL=Subscriber.js.map\n","/** PURE_IMPORTS_START _Subscriber PURE_IMPORTS_END */\nimport { Subscriber } from '../Subscriber';\nexport function canReportError(observer) {\n    while (observer) {\n        var _a = observer, closed_1 = _a.closed, destination = _a.destination, isStopped = _a.isStopped;\n        if (closed_1 || isStopped) {\n            return false;\n        }\n        else if (destination && destination instanceof Subscriber) {\n            observer = destination;\n        }\n        else {\n            observer = null;\n        }\n    }\n    return true;\n}\n//# sourceMappingURL=canReportError.js.map\n","/** PURE_IMPORTS_START _Subscriber,_symbol_rxSubscriber,_Observer PURE_IMPORTS_END */\nimport { Subscriber } from '../Subscriber';\nimport { rxSubscriber as rxSubscriberSymbol } from '../symbol/rxSubscriber';\nimport { empty as emptyObserver } from '../Observer';\nexport function toSubscriber(nextOrObserver, error, complete) {\n    if (nextOrObserver) {\n        if (nextOrObserver instanceof Subscriber) {\n            return nextOrObserver;\n        }\n        if (nextOrObserver[rxSubscriberSymbol]) {\n            return nextOrObserver[rxSubscriberSymbol]();\n        }\n    }\n    if (!nextOrObserver && !error && !complete) {\n        return new Subscriber(emptyObserver);\n    }\n    return new Subscriber(nextOrObserver, error, complete);\n}\n//# sourceMappingURL=toSubscriber.js.map\n","/** PURE_IMPORTS_START  PURE_IMPORTS_END */\nexport var observable = /*@__PURE__*/ (function () { return typeof Symbol === 'function' && Symbol.observable || '@@observable'; })();\n//# sourceMappingURL=observable.js.map\n","/** PURE_IMPORTS_START  PURE_IMPORTS_END */\nexport function identity(x) {\n    return x;\n}\n//# sourceMappingURL=identity.js.map\n","/** PURE_IMPORTS_START _identity PURE_IMPORTS_END */\nimport { identity } from './identity';\nexport function pipe() {\n    var fns = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        fns[_i] = arguments[_i];\n    }\n    return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n    if (fns.length === 0) {\n        return identity;\n    }\n    if (fns.length === 1) {\n        return fns[0];\n    }\n    return function piped(input) {\n        return fns.reduce(function (prev, fn) { return fn(prev); }, input);\n    };\n}\n//# sourceMappingURL=pipe.js.map\n","/** PURE_IMPORTS_START _util_canReportError,_util_toSubscriber,_symbol_observable,_util_pipe,_config PURE_IMPORTS_END */\nimport { canReportError } from './util/canReportError';\nimport { toSubscriber } from './util/toSubscriber';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nvar Observable = /*@__PURE__*/ (function () {\n    function Observable(subscribe) {\n        this._isScalar = false;\n        if (subscribe) {\n            this._subscribe = subscribe;\n        }\n    }\n    Observable.prototype.lift = function (operator) {\n        var observable = new Observable();\n        observable.source = this;\n        observable.operator = operator;\n        return observable;\n    };\n    Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n        var operator = this.operator;\n        var sink = toSubscriber(observerOrNext, error, complete);\n        if (operator) {\n            sink.add(operator.call(sink, this.source));\n        }\n        else {\n            sink.add(this.source || (config.useDeprecatedSynchronousErrorHandling && !sink.syncErrorThrowable) ?\n                this._subscribe(sink) :\n                this._trySubscribe(sink));\n        }\n        if (config.useDeprecatedSynchronousErrorHandling) {\n            if (sink.syncErrorThrowable) {\n                sink.syncErrorThrowable = false;\n                if (sink.syncErrorThrown) {\n                    throw sink.syncErrorValue;\n                }\n            }\n        }\n        return sink;\n    };\n    Observable.prototype._trySubscribe = function (sink) {\n        try {\n            return this._subscribe(sink);\n        }\n        catch (err) {\n            if (config.useDeprecatedSynchronousErrorHandling) {\n                sink.syncErrorThrown = true;\n                sink.syncErrorValue = err;\n            }\n            if (canReportError(sink)) {\n                sink.error(err);\n            }\n            else {\n                console.warn(err);\n            }\n        }\n    };\n    Observable.prototype.forEach = function (next, promiseCtor) {\n        var _this = this;\n        promiseCtor = getPromiseCtor(promiseCtor);\n        return new promiseCtor(function (resolve, reject) {\n            var subscription;\n            subscription = _this.subscribe(function (value) {\n                try {\n                    next(value);\n                }\n                catch (err) {\n                    reject(err);\n                    if (subscription) {\n                        subscription.unsubscribe();\n                    }\n                }\n            }, reject, resolve);\n        });\n    };\n    Observable.prototype._subscribe = function (subscriber) {\n        var source = this.source;\n        return source && source.subscribe(subscriber);\n    };\n    Observable.prototype[Symbol_observable] = function () {\n        return this;\n    };\n    Observable.prototype.pipe = function () {\n        var operations = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            operations[_i] = arguments[_i];\n        }\n        if (operations.length === 0) {\n            return this;\n        }\n        return pipeFromArray(operations)(this);\n    };\n    Observable.prototype.toPromise = function (promiseCtor) {\n        var _this = this;\n        promiseCtor = getPromiseCtor(promiseCtor);\n        return new promiseCtor(function (resolve, reject) {\n            var value;\n            _this.subscribe(function (x) { return value = x; }, function (err) { return reject(err); }, function () { return resolve(value); });\n        });\n    };\n    Observable.create = function (subscribe) {\n        return new Observable(subscribe);\n    };\n    return Observable;\n}());\nexport { Observable };\nfunction getPromiseCtor(promiseCtor) {\n    if (!promiseCtor) {\n        promiseCtor = config.Promise || Promise;\n    }\n    if (!promiseCtor) {\n        throw new Error('no Promise impl found');\n    }\n    return promiseCtor;\n}\n//# sourceMappingURL=Observable.js.map\n","/** PURE_IMPORTS_START  PURE_IMPORTS_END */\nvar ObjectUnsubscribedErrorImpl = /*@__PURE__*/ (function () {\n    function ObjectUnsubscribedErrorImpl() {\n        Error.call(this);\n        this.message = 'object unsubscribed';\n        this.name = 'ObjectUnsubscribedError';\n        return this;\n    }\n    ObjectUnsubscribedErrorImpl.prototype = /*@__PURE__*/ Object.create(Error.prototype);\n    return ObjectUnsubscribedErrorImpl;\n})();\nexport var ObjectUnsubscribedError = ObjectUnsubscribedErrorImpl;\n//# sourceMappingURL=ObjectUnsubscribedError.js.map\n","import {BaseViewComponent, BaseViewLogic} from \"../base-view\";\nimport {IViewLogicOptions, IMethods} from \"../../interface/IOptions\";\nimport {LogicType, RequestSequenceType} from \"../../variable/enum\";\nimport {getNetwork} from '../../util/ConfigManager'\n\nconst DEFAULT_OPTIONS: IViewLogicOptions = {\n    type: LogicType.MIXIN,\n    requestListInspect: _ => _,\n    requestSequence: {\n        type: RequestSequenceType.CONCURRENCY,\n        requestList: [\n            {\n                methodName: '_cinemasRequest',\n                defaultValue: [],\n            },\n            {\n                methodName: '_districtsRequest',\n                defaultValue: [],\n            },\n            {\n                methodName: '_bannersRequest',\n                defaultValue: [],\n            }\n        ],\n    },\n};\n\nenum ORDER_TYPE {\n    DISTANCE = 1,\n    PRICE\n}\n\nconst PAGE_SIZE = 20;\n\nconst Methods: IMethods<Component> = {\n    reloadCinemas(context){\n        window.scrollTo(0, 1);\n        context['page'] = 1;\n        context['finishLoading'] = false;\n        this.__fetchRequest(context, 'cinemas')\n    },\n    loadMoreCinemas(context){\n        if (context['cinemasStatus'] === 'hold' || context['finishLoading']){\n            console.log('加载完成');\n        }\n        context['page']++;\n        this.__fetchRequest(context, 'cinemas', {isAppend: true})\n    },\n    _initData(context) {\n        this.__fetchRequestList(context);\n    },\n    async _cinemasRequest(context){\n        const {\n            region,\n            orderType,\n            feature,\n            page,\n            size = PAGE_SIZE,\n        } = context;\n        const regionName = region?.name === '全部' ? '' : region?.name;\n        return getNetwork('NetworkCinema').useParams('location').cinemasList({\n            regionName,\n            orderType,\n            feature,\n            page,\n            size\n        }).then(data => {\n            context.finishLoading = data.length < PAGE_SIZE;\n            return data\n        })\n    },\n    async _districtsRequest(context){\n        return getNetwork('NetworkCity').useParams('cityId').cityDistrictList()\n    },\n    async _bannersRequest(context){\n      return getNetwork('NetworkBanner').useParams('cityId').bannerList('02');\n    },\n    __assignResponseData(context, req, data, options, defaultAssign){\n        if (req.key === 'districts'){\n            context.districts = [{id: 0, name: '全部'}].concat(data);\n            return;\n        }\n        defaultAssign(context, req, data, options)\n    }\n};\n\nclass Component extends BaseViewComponent{\n    public mounted(context) {\n        context._initData();\n    }\n\n    public data(context): Object {\n        return {\n            ...super.data(context),\n            region: null,\n            orderType: context.hasLocation ? ORDER_TYPE.DISTANCE : ORDER_TYPE.PRICE,\n            feature: null,\n            page: 1,\n            finishLoading: false,\n        };\n    }\n}\n\nclass CinemaListLogic extends BaseViewLogic{\n    static defaultOptions: IViewLogicOptions = DEFAULT_OPTIONS;\n    static Component = Component;\n    static Methods = Methods;\n    constructor(opt) {\n        super(opt);\n    }\n}\n\nexport default CinemaListLogic;\n","/** PURE_IMPORTS_START tslib,_Subscription PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscription } from './Subscription';\nvar SubjectSubscription = /*@__PURE__*/ (function (_super) {\n    tslib_1.__extends(SubjectSubscription, _super);\n    function SubjectSubscription(subject, subscriber) {\n        var _this = _super.call(this) || this;\n        _this.subject = subject;\n        _this.subscriber = subscriber;\n        _this.closed = false;\n        return _this;\n    }\n    SubjectSubscription.prototype.unsubscribe = function () {\n        if (this.closed) {\n            return;\n        }\n        this.closed = true;\n        var subject = this.subject;\n        var observers = subject.observers;\n        this.subject = null;\n        if (!observers || observers.length === 0 || subject.isStopped || subject.closed) {\n            return;\n        }\n        var subscriberIndex = observers.indexOf(this.subscriber);\n        if (subscriberIndex !== -1) {\n            observers.splice(subscriberIndex, 1);\n        }\n    };\n    return SubjectSubscription;\n}(Subscription));\nexport { SubjectSubscription };\n//# sourceMappingURL=SubjectSubscription.js.map\n","/** PURE_IMPORTS_START tslib,_Observable,_Subscriber,_Subscription,_util_ObjectUnsubscribedError,_SubjectSubscription,_internal_symbol_rxSubscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Observable } from './Observable';\nimport { Subscriber } from './Subscriber';\nimport { Subscription } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { SubjectSubscription } from './SubjectSubscription';\nimport { rxSubscriber as rxSubscriberSymbol } from '../internal/symbol/rxSubscriber';\nvar SubjectSubscriber = /*@__PURE__*/ (function (_super) {\n    tslib_1.__extends(SubjectSubscriber, _super);\n    function SubjectSubscriber(destination) {\n        var _this = _super.call(this, destination) || this;\n        _this.destination = destination;\n        return _this;\n    }\n    return SubjectSubscriber;\n}(Subscriber));\nexport { SubjectSubscriber };\nvar Subject = /*@__PURE__*/ (function (_super) {\n    tslib_1.__extends(Subject, _super);\n    function Subject() {\n        var _this = _super.call(this) || this;\n        _this.observers = [];\n        _this.closed = false;\n        _this.isStopped = false;\n        _this.hasError = false;\n        _this.thrownError = null;\n        return _this;\n    }\n    Subject.prototype[rxSubscriberSymbol] = function () {\n        return new SubjectSubscriber(this);\n    };\n    Subject.prototype.lift = function (operator) {\n        var subject = new AnonymousSubject(this, this);\n        subject.operator = operator;\n        return subject;\n    };\n    Subject.prototype.next = function (value) {\n        if (this.closed) {\n            throw new ObjectUnsubscribedError();\n        }\n        if (!this.isStopped) {\n            var observers = this.observers;\n            var len = observers.length;\n            var copy = observers.slice();\n            for (var i = 0; i < len; i++) {\n                copy[i].next(value);\n            }\n        }\n    };\n    Subject.prototype.error = function (err) {\n        if (this.closed) {\n            throw new ObjectUnsubscribedError();\n        }\n        this.hasError = true;\n        this.thrownError = err;\n        this.isStopped = true;\n        var observers = this.observers;\n        var len = observers.length;\n        var copy = observers.slice();\n        for (var i = 0; i < len; i++) {\n            copy[i].error(err);\n        }\n        this.observers.length = 0;\n    };\n    Subject.prototype.complete = function () {\n        if (this.closed) {\n            throw new ObjectUnsubscribedError();\n        }\n        this.isStopped = true;\n        var observers = this.observers;\n        var len = observers.length;\n        var copy = observers.slice();\n        for (var i = 0; i < len; i++) {\n            copy[i].complete();\n        }\n        this.observers.length = 0;\n    };\n    Subject.prototype.unsubscribe = function () {\n        this.isStopped = true;\n        this.closed = true;\n        this.observers = null;\n    };\n    Subject.prototype._trySubscribe = function (subscriber) {\n        if (this.closed) {\n            throw new ObjectUnsubscribedError();\n        }\n        else {\n            return _super.prototype._trySubscribe.call(this, subscriber);\n        }\n    };\n    Subject.prototype._subscribe = function (subscriber) {\n        if (this.closed) {\n            throw new ObjectUnsubscribedError();\n        }\n        else if (this.hasError) {\n            subscriber.error(this.thrownError);\n            return Subscription.EMPTY;\n        }\n        else if (this.isStopped) {\n            subscriber.complete();\n            return Subscription.EMPTY;\n        }\n        else {\n            this.observers.push(subscriber);\n            return new SubjectSubscription(this, subscriber);\n        }\n    };\n    Subject.prototype.asObservable = function () {\n        var observable = new Observable();\n        observable.source = this;\n        return observable;\n    };\n    Subject.create = function (destination, source) {\n        return new AnonymousSubject(destination, source);\n    };\n    return Subject;\n}(Observable));\nexport { Subject };\nvar AnonymousSubject = /*@__PURE__*/ (function (_super) {\n    tslib_1.__extends(AnonymousSubject, _super);\n    function AnonymousSubject(destination, source) {\n        var _this = _super.call(this) || this;\n        _this.destination = destination;\n        _this.source = source;\n        return _this;\n    }\n    AnonymousSubject.prototype.next = function (value) {\n        var destination = this.destination;\n        if (destination && destination.next) {\n            destination.next(value);\n        }\n    };\n    AnonymousSubject.prototype.error = function (err) {\n        var destination = this.destination;\n        if (destination && destination.error) {\n            this.destination.error(err);\n        }\n    };\n    AnonymousSubject.prototype.complete = function () {\n        var destination = this.destination;\n        if (destination && destination.complete) {\n            this.destination.complete();\n        }\n    };\n    AnonymousSubject.prototype._subscribe = function (subscriber) {\n        var source = this.source;\n        if (source) {\n            return this.source.subscribe(subscriber);\n        }\n        else {\n            return Subscription.EMPTY;\n        }\n    };\n    return AnonymousSubject;\n}(Subject));\nexport { AnonymousSubject };\n//# sourceMappingURL=Subject.js.map\n","const isExist = (obj: any) => {\n    if (obj === undefined || obj === null){\n        return false;\n    }\n    if (Array.isArray(obj)){\n        return obj.length > 0;\n    }\n    return false;\n};\n\nconst fromEntries = (arr) => {\n    return arr.reduce(function(acc, curr) {\n        acc[curr[0]] = curr[1];\n        return acc;\n    }, {});\n};\n\nexport {\n    isExist,\n    fromEntries,\n}","import {IComponentOptions, IViewLogicApplyOptions, IMethodsOptions} from \"@/interface/IOptions\";\nimport {fromEntries, isExist} from \"./ObjectTool\";\nimport RequestModel from \"../model/RequestModel\";\nimport {upperFirst} from \"lodash\";\nimport {RequestStatus} from \"@/variable/enum\";\n\nconst getUnderlineMethods = (obj): Map<string, Function> => {\n    const map = new Map();\n    for (let key in obj){\n        if (obj.hasOwnProperty(key)){\n            if (/^_.*$/.test(key) && typeof obj[key] === 'function'){\n                map.set(key, obj[key]);\n            }\n        }\n    }\n    return map;\n};\n\nfunction getMethods(obj): Map<string, Function> {\n    const map = new Map();\n    for (let key in obj){\n        if (obj.hasOwnProperty(key)){\n            map.set(key, obj[key]);\n        }\n    }\n    return map;\n}\n\nconst methOptFromLogicOpt = (logicOptions: IViewLogicApplyOptions): IMethodsOptions => {\n    const {requestSequence} = logicOptions;\n    return {\n        requestType: requestSequence.type,\n        requestList: [...requestSequence.requestList]\n    }\n};\n\nconst compOptFromLogicOpt = (logicOptions: IViewLogicApplyOptions): IComponentOptions => {\n    const requestVariablesObj = {};\n    const computedVariableObj = {};\n    const statusVariableObj = {};\n    let {requestSequence} = logicOptions;\n    const {requestList} = requestSequence;\n    requestList\n        .forEach(req => {\n            const varable = getVarableNameFromRequest(req, '');\n            if (varable !== ''){\n                req.key = req.key ?? varable;\n                req.varable = req.varable ?? varable;\n                req.existVarable = req.existVarable ?? getExistNameFromVarableName(varable);\n                req.statusVarable = req.statusVarable ?? getStatusNameFromVarableName(varable);\n                requestVariablesObj[req.varable] = req.defaultValue;\n                computedVariableObj[req.existVarable] = function() {\n                    const context = this;\n                    return isExist(context.$data[varable]);\n                };\n                statusVariableObj[req.statusVarable] = RequestStatus.INIT;\n            }\n        });\n\n    /**\n     * 不允许用户修改\n     */\n    computedVariableObj['requestStatus'] = function () {\n        const context = this;\n        return context.$data['_requestStatus'];\n    };\n\n    return {\n        logicOptions: logicOptions,\n        variablesObj:{\n            ...requestVariablesObj,\n            ...fromEntries(requestList.map(req => ([`${req.varable}Status`, {req, status: RequestStatus.INIT}]))),\n            _requestStatus: requestList.map(req => ({req: req, status: RequestStatus.INIT})),\n        },\n        computedVariableObj\n    }\n};\n\nconst getVarableNameFromRequest = (request: RequestModel, defaultName: string = null) => {\n    if (request.varable){\n        return request.varable;\n    }\n    const found = request.methodName.match(/_(.*)Request/);\n    if (found){\n        return `${found[1]}`\n    }\n    return defaultName;\n};\n\nconst getMethodName = (req: RequestModel | string) => {\n    if (typeof req === 'string'){\n        return req\n    } else if (typeof req === 'object'){\n        return req.methodName;\n    } else {\n        throw new Error('非法 requestList 类型');\n    }\n};\n\nconst getExistNameFromVarableName = (varableName: string): string | null => {\n    if (varableName === ''){\n        return null;\n    }\n    return `has${upperFirst(varableName)}`\n};\n\nconst getStatusNameFromVarableName = (varableName: string): string | null => {\n    if (varableName === ''){\n        return null;\n    }\n    return `${varableName}Status`\n};\n\nexport {\n    getUnderlineMethods,\n    getMethods,\n    methOptFromLogicOpt,\n    compOptFromLogicOpt,\n    getVarableNameFromRequest,\n    getMethodName,\n    getExistNameFromVarableName,\n}\n","import {IBaseLogicOptions, IComponentOptions, IMethods} from \"@/interface/IOptions\";\nimport {Subject} from \"rxjs\";\nimport deepmerge from \"deepmerge\";\nimport {LogicType} from \"@/variable/enum\";\n\nconst BaseMethods: any & IMethods<BaseComponent> = {\n};\n\nclass BaseComponent<T = IBaseLogicOptions>{\n    protected options: IComponentOptions = null;\n    protected logicOptions: T;\n    public subject: Subject<any> = null;\n    constructor(options: IComponentOptions, logicOptions: T) {\n        this.options = options;\n        this.logicOptions = logicOptions;\n    }\n\n    public created(context){\n        this.subject = new Subject();\n    }\n\n    public mounted(context) {\n    }\n\n    public computed(context) {\n        const {computedVariableObj} = this.options;\n        return {\n            ...computedVariableObj\n        }\n    }\n\n    public data(context): Object{\n        const {variablesObj} = this.options;\n        return {\n            ...variablesObj,\n        };\n    }\n}\n\n\nclass BaseLogic<T = IBaseLogicOptions>{\n    protected options: T = null;\n    protected static defaultOptions: IBaseLogicOptions = {type: LogicType.MIXIN};\n    protected static Component = null;\n    protected static Methods = null;\n\n    constructor(options = {}) {\n        this.options = deepmerge(Object.getPrototypeOf(this).constructor.defaultOptions, options);\n    }\n\n    public getOptions(): T{\n        return this.options;\n    }\n\n    protected logAllProperty(){\n        console.log('子类未实现 打印所有可用属性 方法')\n    }\n\n    protected createLogic(){\n        const {Component, Methods} = Object.getPrototypeOf(this).constructor as {\n            Component: {new(...args: any[]): BaseComponent},\n            Methods: Object\n        };\n        if (!Component || !Methods){\n            throw new Error('子类需要提供 Component 及 Methods 定义');\n        }\n        const options = this.getOptions();\n        const component = new Component({\n            logicOptions: options,\n            variablesObj: {},\n            computedVariableObj: {},\n        }, options);\n        const methods = createMethodsSet(Methods, {}, component);\n        // 退出的对象上下文改变成 vue 上下文\n        return {\n            created() {\n                component.created(this);\n            },\n            mounted(){\n                component.mounted(this);\n            },\n            data(){\n                return component.data(this)\n            },\n            computed:{\n                ...component.computed(this)\n            },\n            methods: {\n                ...methods\n            }\n        }\n    }\n\n    static makeLogic<T>(opt?: IBaseLogicOptions){\n        const Class = Object.getPrototypeOf(this).constructor;\n        let logic = new this(opt || Class.defaultOptions);\n        return {\n            main: logic.createLogic()\n        };\n    }\n}\n\nconst createMethodsSet = (m, opt, comp, baseMethods = BaseMethods) => {\n    const _m = Object.create(baseMethods, {\n        options: {\n            writable: false,\n            configurable: true,\n            value: opt\n        },\n        component: {\n            writable: false,\n            configurable: true,\n            value: comp\n        }\n    });\n    for (let key in m){\n        if (m.hasOwnProperty(key)){\n            _m[key] = m[key];\n        }\n    }\n    const methodObj = {};\n    for (let key in _m){\n        if (_m.hasOwnProperty(key)){\n            methodObj[key] = function(...args) {\n                return _m[key].call(_m, this, ...args);\n            };\n        }\n    }\n    return methodObj\n};\n\nexport {\n    BaseLogic,\n    BaseComponent,\n    createMethodsSet,\n}\n","import {IViewLogicOptions, IComponentOptions, IViewLogicApplyOptions, IMethods} from \"../../interface/IOptions\";\nimport deepmerge from \"deepmerge\";\nimport {Observable, Subject} from \"rxjs\";\nimport { v4 as uuid } from 'uuid';\nimport RequestModel from \"../../model/RequestModel\";\nimport {LogicType, RequestSequenceType, RequestStatus} from \"../../variable/enum\";\nimport {compOptFromLogicOpt, getMethodName, getVarableNameFromRequest, methOptFromLogicOpt} from \"../../tool/MethodTool\";\nimport {BaseComponent, BaseLogic, createMethodsSet} from \"../base\";\n\nconst EMPTY_LOGIC_OPTION: IViewLogicOptions = {\n    type: LogicType.MIXIN,\n    requestListInspect: _ => _,\n    requestSequence: {\n        type: RequestSequenceType.CONCURRENCY,\n        requestList: [\n        ],\n    },\n};\n\nconst updateRequestStatus = (context: Vue, req: RequestModel, status: RequestStatus) => {\n    const index = context.$data['_requestStatus'].findIndex(_ => {\n        return _.req.methodName === req.methodName\n    });\n    context.$set(context.$data['_requestStatus'], index, {\n        ...context.$data['_requestStatus'][index],\n        status\n    });\n    context.$data[req.statusVarable] = status;\n};\n\nconst BaseViewMethods: any & IMethods<BaseViewComponent> = {\n    __initData(context){\n        this.__fetchRequestList(context);\n    },\n    __fetchRequest(context, requestKey, options: any = {}){\n        const {subject} = this.component;\n        const requestList = this.options.requestList;\n        const req = requestList.find(_ => _.key === requestKey);\n        if (!req){\n            console.warn(`没有找到 Request Key: ${requestKey}`)\n            return;\n        }\n        const reqObservable = new Observable(subscriber => {\n            const methodName = getMethodName(req);\n            const id = uuid();\n            const nextObj = {\n                type: 'request',\n                id,\n                methodName,\n            };\n            subscriber.next(nextObj);\n            subject.next(nextObj);\n            if (!context[methodName]){\n                throw new Error(`没有找到方法 ${methodName}`)\n            }\n            updateRequestStatus(context, req, RequestStatus.HOLD);\n            context[methodName]().then(data => {\n                const nextObj = {\n                    type: 'response',\n                    id,\n                    methodName,\n                    data,\n                };\n                this.__assignResponseData(context, req, data, options, function defaultAssign(context, req, data, options){\n                    const {isAppend = false} = options;\n                    const varable = req.varable;\n                    if (isAppend){\n                        // TODO: 数组改成 可迭代对象\n                        if (!Array.isArray(context[varable])){\n                            throw new Error('非Array对象不可进行追加数据')\n                        }\n                        context[varable] = context[varable].concat(data);\n                    } else {\n                        context[varable] = data;\n                    }\n                });\n                updateRequestStatus(context, req, RequestStatus.FINISH);\n                subscriber.next(nextObj);\n                subject.next(nextObj);\n            }, error => {\n                subscriber.next({\n                    type: 'response',\n                    id,\n                    methodName,\n                    error,\n                });\n            });\n        });\n        reqObservable.subscribe((v) => {\n            if (context.networkListener){\n                context.networkListener.call(context, v)\n            }\n        });\n    },\n    __fetchRequestList(context, keyList?){\n        let {requestList, requestType} = this.options;\n        if (requestType === RequestSequenceType.CONCURRENCY){\n            for (let index = 0; index < requestList.length; index++){\n                const req: RequestModel = requestList[index];\n                if (Array.isArray(keyList) && keyList.indexOf(req.key) === -1) continue;\n                this.__fetchRequest(context, req.key, {})\n            }\n        }\n    },\n    __assignResponseData(context, req, data, options, defaultAssign){\n        defaultAssign(context, req, data, options)\n    }\n};\n\nclass BaseViewComponent extends BaseComponent{\n    protected options: IComponentOptions = null;\n    protected logicOptions: IViewLogicApplyOptions;\n    public subject: Subject<any> = null;\n    constructor(options: IComponentOptions, logicOptions: IViewLogicApplyOptions) {\n        super(options, logicOptions);\n        this.options = options;\n        this.logicOptions = logicOptions;\n    }\n\n    public created(context){\n        this.subject = new Subject();\n    }\n\n    public mounted(context) {\n\n    }\n\n    public computed(context) {\n        const {computedVariableObj} = this.options;\n        return {\n            ...computedVariableObj\n        }\n    }\n\n    public data(context): Object{\n        const {variablesObj} = this.options;\n        return {\n            ...variablesObj,\n        };\n    }\n}\n\nclass BaseViewLogic extends BaseLogic<IViewLogicOptions>{\n    protected static defaultOptions: IViewLogicOptions = null;\n    protected static Component = null;\n    protected static Methods = null;\n\n    constructor(options) {\n        super(options);\n    }\n\n    public getOptions(): IViewLogicApplyOptions{\n        let {options} = this;\n        const {requestSequence, requestListInspect} = options;\n        options.requestSequence = {\n            ...requestSequence,\n            requestList: requestListInspect(requestSequence.requestList)\n        };\n        return options\n    }\n\n    protected logAllProperty(){\n        console.log('子类未实现 打印所有可用属性 方法')\n    }\n\n    protected createLogic(){\n        const {Component, Methods} = Object.getPrototypeOf(this).constructor;\n        if (!Component || !Methods){\n            throw new Error('子类需要提供 Component 及 Methods 定义');\n        }\n        const options = this.getOptions();\n        const component = new Component(compOptFromLogicOpt(options), options);\n        const methods = createMethodsSet(Methods, methOptFromLogicOpt(options), component, BaseViewMethods);\n        // 退出的对象上下文改变成 vue 上下文\n        return {\n            created() {\n                component.created(this);\n            },\n            mounted(){\n                component.mounted(this);\n            },\n            data(){\n                return component.data(this)\n            },\n            computed:{\n                ...component.computed(this)\n            },\n            methods: {\n                ...methods\n            }\n        }\n    }\n\n    static makeLogic<T>(opt?: IViewLogicOptions | ((IViewLogicOptions) => IViewLogicOptions)){\n        const Class = Object.getPrototypeOf(this).constructor;\n        let logic = typeof opt === 'function' ? new this(opt(Class.defaultOptions))\n            : new this(opt || Class.defaultOptions || EMPTY_LOGIC_OPTION);\n        return {\n            main: logic.createLogic()\n        };\n    }\n}\n\nexport {\n    BaseViewLogic,\n    BaseViewComponent,\n    updateRequestStatus,\n}\n","import {getNetwork} from '../../util/ConfigManager';\nimport {LogicType, RequestSequenceType} from \"../../variable/enum\";\nimport {IViewLogicOptions, IMethods} from \"../../interface/IOptions\";\nimport {BaseViewComponent, BaseViewLogic} from \"../base-view\";\n\nconst DEFAULT_OPTIONS: IViewLogicOptions = {\n    type: LogicType.MIXIN,\n    requestListInspect: _ => _,\n    requestSequence: {\n        type: RequestSequenceType.CONCURRENCY,\n        requestList: [\n            {\n                methodName: '_bannersRequest',\n                defaultValue: [],\n                varable: 'banners'\n            }, {\n                methodName: '_hotFilmsRequest',\n                defaultValue: [],\n            }, {\n                methodName: '_waitFilmsRequest',\n                defaultValue: []\n            }, {\n                methodName: '_cinemasRequest',\n                defaultValue: [],\n            },\n        ],\n    },\n};\n\nconst Methods: IMethods<Component> = {\n    loadMoreCinema(context){\n        this.__fetchRequest(context, 'cinemas', {isAppend: true})\n    },\n    reloadData(context, keyList: undefined | string[], options = {}){\n        if (keyList === undefined){\n            this.__fetchRequestList(context);\n        } else {\n            this.__fetchRequestList(context, keyList);\n        }\n    },\n    _initData(context){\n        this.__fetchRequestList(context);\n    },\n    async _bannersRequest(context){\n        const NetworkBanner = getNetwork('NetworkBanner');\n        return NetworkBanner.useParams('cityId').bannerList()\n    },\n    async _hotFilmsRequest(context){\n        const NetworkFilm = getNetwork('NetworkFilm');\n        return NetworkFilm.useParams('cityId').hotFilms({\n            page: 1,\n            size: 20\n        })\n    },\n    async _waitFilmsRequest(context){\n        const NetworkFilm = getNetwork('NetworkFilm');\n        return NetworkFilm.useParams('cityId').waitFilms({\n            page: 1,\n            size: 20\n        })\n    },\n    async _cinemasRequest(context){\n        const NetworkCinema = getNetwork('NetworkCinema');\n        return NetworkCinema.useParams('location').cinemasList({\n            page: context.cinemasPage,\n            size: context.cinemasSize,\n        }).then(data => {\n            context.cinemasPage++;\n            return data;\n        });\n    },\n};\n\nclass Component extends BaseViewComponent{\n    public mounted(context) {\n        super.mounted(context);\n        context._initData();\n    }\n\n    public data(context){\n        return {\n            ...super.data(context),\n            cinemasPage: 1,\n            cinemasSize: 10,\n        }\n    }\n}\n\n/**\n * 首页 logic 类\n */\nclass HomeViewLogic extends BaseViewLogic{\n    static defaultOptions: IViewLogicOptions = DEFAULT_OPTIONS;\n    static Component = Component;\n    static Methods = Methods;\n    constructor(opt) {\n        super(opt);\n    }\n}\n\nexport default HomeViewLogic;\n","'use strict';\nimport LocatorModel from \"@/model/LocatorModel\";\nimport {LocatorType} from \"@/variable/enum\";\nimport {getMapConfig} from '@/util/ConfigManager';\n\ntype Coordinate<T = null | number> = {\n  longitude?: T;\n  latitude?: T;\n}\n\nconst CoordinateNull: Coordinate<null> = {\n  longitude: null,\n  latitude: null,\n};\n\n\ninterface LocationManagerOption{\n  mapFrameworks?: any[]\n  mapPlatforms?: LocatorType[]\n  nativeLocationCallback?: (callback: (coor: Coordinate) => void) => void\n  nativeLocation?: () => void\n  nativeLocationIsNull?: (coor: Coordinate) => boolean\n}\n\nlet instance: LocationManager = null;\nclass LocationManager {\n  private nativeLocationCallback: (location: Coordinate) => void;\n  private options: LocationManagerOption = null;\n\n  private constructor (options: LocationManagerOption) {\n    if (!instance) {\n      instance = this;\n      this.options = options = {\n        ...getMapConfig(),\n        ...options,\n      };\n      options.nativeLocationCallback((location) => {\n        this.locationCallback(location)\n      });\n      this.nativeLocationCallback = null;\n    }\n    return instance\n  }\n\n  static prepareManager(options: LocationManagerOption = {}){\n    if (instance){\n      throw new Error('只能执行 prepareManager 一次');\n    }\n    return new LocationManager(options);\n  }\n\n  static defaultManager () {\n    if (!instance){\n      throw new Error('需要执行 prepareManager')\n    }\n    return instance;\n  }\n\n  locationCallback (location: Coordinate): void {\n    if (this.nativeLocationCallback) {\n      this.nativeLocationCallback(location)\n    }\n  }\n\n  /**\n   * app定位超时处理\n   */\n  async appLocationTimeOutPromise (timeout = 1500): Promise<Coordinate> {\n    return new Promise((resolve) => {\n      setTimeout(() => {\n        resolve({longitude: null, latitude: null})\n      }, timeout)\n    })\n  }\n\n  getNativeLocation (): Promise<Coordinate> {\n    const {nativeLocation} = this.options;\n    return new Promise((resolve, reject) => {\n      this.nativeLocationCallback = (location) => {\n        resolve(location)\n      };\n      try {\n        nativeLocation()\n      } catch (e) {\n        resolve(null);\n      }\n    })\n  }\n\n  nativeLocationNull (coordinate) {\n    const {nativeLocationIsNull} = this.options;\n    if (nativeLocationIsNull){\n      return nativeLocationIsNull(coordinate);\n    }\n    return !!coordinate;\n  }\n\n  /**\n   * 获取定位（经纬度）\n   * @returns {Promise}\n   */\n  async getLocation (locatorList: LocatorModel[], options: any) {\n    let openNativeLocation = false, {timeout} = options;\n    for (let i = 0, l = locatorList.length; i < l; i++){\n      const locator = locatorList[i];\n      if (locator.key === LocatorType.NATIVE){\n        openNativeLocation = true;\n        timeout = locator.timeout ?? timeout;\n      }\n    }\n\n    let coordinate: Coordinate = CoordinateNull;\n    if (openNativeLocation) {\n      coordinate = await Promise.race([this.appLocationTimeOutPromise(timeout), this.getNativeLocation()]).then((coordinate: Coordinate) => {\n        let longitude = null;\n        let latitude = null;\n        if (!this.nativeLocationNull(coordinate)) {\n          longitude = coordinate.longitude;\n          latitude = coordinate.latitude\n        }\n        return {\n          longitude,\n          latitude,\n        }\n      }).catch(error => {\n        console.log(error);\n        return CoordinateNull;\n      })\n    }\n\n    return new Promise((resolve, reject) => {\n      const {longitude, latitude} = coordinate;\n      this.handleLocationPromise(locatorList.filter(({key}) => key !== LocatorType.NATIVE), longitude, latitude).then(location => {\n        // this.updateLocationStore(location)\n        resolve(location)\n      }, error => {\n        // this.updateLocationStore()\n        reject(error)\n      })\n    })\n  }\n\n\n  /**\n   * web定位处理回调\n   * @param longitude 定位到得经纬度\n   * @param latitude 定位到的经纬度\n   */\n  handleLocationPromise (locatorList: LocatorModel[], longitude?, latitude?): Promise<Coordinate> {\n    if (longitude && latitude) {\n      return new Promise((resolve, reject) => {\n        console.log('good, the native app location is enable');\n        resolve({longitude, latitude})\n      })\n    } else {\n      const {mapPlatforms, mapFrameworks} = this.options;\n      return new Promise((resolve, reject) => {\n        console.log('oops, the native app location is fly');\n\n        // locatorList.map(({key}) => {\n        //   const index = mapPlatforms.findIndex(*)\n        // })\n\n        // Promise.any([this.baiduLocatePromise()]).then(data => {\n        //   console.log(data);\n        // });\n        // this.baiduLocatePromise().then(location => {\n        //   resolve(location)\n        // }, error => {\n        //   reject(error)\n        // })\n      })\n    }\n  }\n\n  /**\n   * 浏览器定位\n   */\n  browserLocate () {\n    return new Promise((resolve, reject) => {\n      // navigator.geolocation.getCurrentPosition(location => {\n      //   this.doSuccessCallback(location)\n      // }, () => {\n      //   this.doErrorCallback()\n      // })\n    })\n\n  }\n\n  /**\n   * 百度定位\n   */\n  baiduLocatePromise (BMap) {\n    return new Promise((resolve, reject) => {\n      let geolocation = new BMap.Geolocation()\n      geolocation.getCurrentPosition((options) => {\n            if (geolocation.getStatus() === 0 && options.accuracy !== null) {\n              resolve(options)\n            } else {\n              reject()\n            }\n          },\n          () => {\n            reject()\n          },\n          {timeout: 2000, maximumAge: 0})\n    })\n  }\n\n  // updateLocationStore (location) {\n  //   if (location) {\n  //       this._hasLocation = true\n  //     GlobalConstant.store.commit('UPDATE_LOCATION_MUTATION', {\n  //       latitude: location.latitude,\n  //       longitude: location.longitude,\n  //       hasLocation: true\n  //     })\n  //   } else {\n  //     this._hasLocation = false\n  //     GlobalConstant.store.commit('UPDATE_LOCATION_MUTATION')\n  //   }\n  // }\n\n  /**\n   * 获取当前城市\n   * @param callback\n   */\n  // getLocationCity (callback) {\n  //   NetworkCity.smartCityByCoordinate().then(data => {\n  //     if (callback) {\n  //       callback(null, data)\n  //     }\n  //   }, error => {\n  //     if (callback) {\n  //       callback(error, null)\n  //     }\n  //   })\n  // }\n\n  /**\n   * 底部弹出窗口\n   * @param text 弹出窗口的内容\n   */\n  // bottomAlert (text) {\n  //   if (UrlTool.getQueryString('isTest') === 'true') {\n  //     Toast({\n  //       message: text,\n  //       position: 'bottom',\n  //       duration: 2000\n  //     })\n  //   }\n  // }\n\n}\n\nexport default LocationManager\n","import {ILocationLogicOptions, IMethods} from \"@/interface/IOptions\";\nimport {BaseComponent, BaseLogic} from \"../base\";\nimport LocationManager from \"@/util/LocationManager\";\nimport {LocatorType, LogicType} from \"@/variable/enum\";\n\nconst Methods: IMethods<Component> = {\n    _initData(context){\n    },\n};\n\n\nclass Component extends BaseComponent<ILocationLogicOptions>{\n    public mounted(context) {\n        const {locatorSequence: {timeout, locatorList}} = this.logicOptions;\n        LocationManager.prepareManager();\n        const manager = LocationManager.defaultManager();\n        LocationManager.defaultManager().getLocation(locatorList, {timeout}).then(data => {\n            console.log(data);\n        });\n    }\n\n    public data(context){\n        return {\n        }\n    }\n}\n\nconst DEFAULT_OPTIONS: ILocationLogicOptions = {\n    type: LogicType.MIXIN,\n    locatorSequence: {\n        timeout: 1000,\n        locatorList: [{\n            key: LocatorType.NATIVE,\n        }, {\n            key: LocatorType.BAIDU,\n        }]\n    },\n};\n\n\nclass LocationLogic extends BaseLogic{\n    static defaultOptions = DEFAULT_OPTIONS;\n    static Component = Component;\n    static Methods = Methods;\n    constructor(opt) {\n        super(opt);\n    }\n\n    static makeLogic<T>(opt?: ILocationLogicOptions){\n        const logic = new this(opt);\n        return {\n            main: logic.createLogic()\n        }\n    }\n}\n\nexport default LocationLogic;\n","'use strict';\nimport './polyfill/Promise.any'\nimport { version } from '../package.json';\nimport HomeView from './packages/home-view/index';\nimport CinemaListView from './packages/cinema-list-view/index';\n\nconst VIEW_LOGIC = {\n    HomeView,\n    CinemaListView\n};\n\n\nconst install = function(vue, config: any = {}) {\n    const {networkConfig, geoConfig} = config;\n    window.$jbzLogicConfig = vue.$jbzLogicConfig = vue.prototype.$jbzLogicConfig = {\n        ...config,\n    };\n};\n\n// if (typeof window !== 'undefined' && window.Vue) {\n//     install(window.Vue);\n// }\n\nexport function generateLogic(logicName, opt?) {\n    if (VIEW_LOGIC.hasOwnProperty(logicName)){\n        return VIEW_LOGIC[logicName].makeLogic(opt);\n    }\n    console.error(`没有找到Logic类: ${logicName}`)\n}\n\nexport * from './packages/modules';\nexport default {\n    install,\n    version,\n};\n"]}