import { normalizeStyles as normalizeStyles$1, addLeadingSlash, invokeArrayFns, parseQuery, SYSTEM_DIALOG_PAGE_PATH_STARTER, EventChannel, once, parseUrl, Emitter, ON_UNHANDLE_REJECTION, ON_PAGE_NOT_FOUND, ON_ERROR, ON_SHOW, ON_HIDE, removeLeadingSlash, getLen, ON_UNLOAD, ON_READY, ON_PAGE_SCROLL, ON_PULL_DOWN_REFRESH, ON_REACH_BOTTOM, ON_RESIZE, ON_LAUNCH, ON_BACK_PRESS, isSystemDialogPage, isSystemActionSheetDialogPage } from "@dcloudio/uni-shared"; import { extend, isString, isPlainObject, isFunction as isFunction$1, isArray, isPromise, hasOwn, remove, invokeArrayFns as invokeArrayFns$1, capitalize, toTypeString, toRawType, parseStringStyle } from "@vue/shared"; import { createVNode, render, getCurrentInstance, onMounted, onBeforeUnmount, injectHook, resolveComponent, openBlock, createElementBlock, normalizeClass, createElementVNode, normalizeStyle, toDisplayString, withDirectives, vModelText, createCommentVNode, Fragment, renderList, defineComponent, warn, isInSSRComponentSetup, ref, watchEffect, watch, computed, camelize, onUnmounted, reactive, provide, inject, nextTick } from "vue"; function get$pageByPage(page) { return page.vm.$basePage; } function getCurrentPage() { var pages2 = getCurrentPages(); var len = pages2.length; if (len) { return pages2[len - 1]; } } function getCurrentPageMeta() { var _getCurrentPage; var $page = (_getCurrentPage = getCurrentPage()) === null || _getCurrentPage === void 0 || (_getCurrentPage = _getCurrentPage.vm) === null || _getCurrentPage === void 0 ? void 0 : _getCurrentPage.$basePage; if ($page) { return $page.meta; } } function getCurrentPageVm() { var _getCurrentPage3; var page = (_getCurrentPage3 = getCurrentPage()) === null || _getCurrentPage3 === void 0 ? void 0 : _getCurrentPage3.vm; if (page) { return page.$vm; } } var PAGE_META_KEYS = ["navigationBar", "pullToRefresh"]; function initGlobalStyle() { return JSON.parse(JSON.stringify(__uniConfig.globalStyle || {})); } function initRouteMeta(pageMeta, id2) { var globalStyle = initGlobalStyle(); var res = extend({ id: id2 }, globalStyle, pageMeta); PAGE_META_KEYS.forEach((name) => { res[name] = extend({}, globalStyle[name], pageMeta[name]); }); var { navigationBar } = res; navigationBar.titleText && navigationBar.titleImage && (navigationBar.titleText = ""); return res; } function initPageInternalInstance(openType, url, pageQuery, meta, eventChannel, themeMode) { var { id: id2, route } = meta; var titleColor = normalizeStyles$1(meta.navigationBar, __uniConfig.themeConfig, themeMode).titleColor; return { id: id2, path: addLeadingSlash(route), route, fullPath: url, options: pageQuery, meta, openType, eventChannel, statusBarStyle: titleColor === "#ffffff" ? "light" : "dark" }; } function invokeHook(vm, name, args) { if (isString(vm)) { args = name; name = vm; vm = getCurrentPageVm(); } else if (typeof vm === "number") { var page = getCurrentPages().find((page2) => get$pageByPage(page2).id === vm); if (page) { vm = page.$vm; } else { vm = getCurrentPageVm(); } } if (!vm) { return; } { if (vm.__call_hook) { return vm.__call_hook(name, args); } } var hooks = vm.$[name]; return hooks && invokeArrayFns(hooks, args); } function normalizeRoute(toRoute) { if (toRoute.indexOf("/") === 0 || toRoute.indexOf("uni:") === 0) { return toRoute; } var fromRoute = ""; var pages2 = getCurrentPages(); if (pages2.length) { fromRoute = get$pageByPage(pages2[pages2.length - 1]).route; } return getRealRoute(fromRoute, toRoute); } function getRealRoute(fromRoute, toRoute) { if (toRoute.indexOf("/") === 0) { return toRoute; } if (toRoute.indexOf("./") === 0) { return getRealRoute(fromRoute, toRoute.slice(2)); } var toRouteArray = toRoute.split("/"); var toRouteLength = toRouteArray.length; var i = 0; for (; i < toRouteLength && toRouteArray[i] === ".."; i++) { } toRouteArray.splice(0, i); toRoute = toRouteArray.join("/"); var fromRouteArray = fromRoute.length > 0 ? fromRoute.split("/") : []; fromRouteArray.splice(fromRouteArray.length - i - 1, i + 1); return addLeadingSlash(fromRouteArray.concat(toRouteArray).join("/")); } function getRouteOptions(path) { var alias = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; if (alias) { return __uniRoutes.find((route) => route.path === path || route.alias === path); } return __uniRoutes.find((route) => route.path === path); } function getRouteMeta(path) { var routeOptions = getRouteOptions(path); if (routeOptions) { return routeOptions.meta; } } function initPageVm(pageVm, page) { pageVm.route = page.route; pageVm.$vm = pageVm; pageVm.$page = page; pageVm.$mpType = "page"; pageVm.$fontFamilySet = /* @__PURE__ */ new Set(); if (page.meta.isTabBar) { pageVm.$.__isTabBar = true; pageVm.$.__isActive = true; } } function createLaunchOptions() { return { path: "", query: {}, scene: 1001, referrerInfo: { appId: "", extraData: {} } }; } function defineGlobalData(app, defaultGlobalData) { var options = app.$options || {}; options.globalData = extend(options.globalData || {}, defaultGlobalData); Object.defineProperty(app, "globalData", { get() { return options.globalData; }, set(newGlobalData) { options.globalData = newGlobalData; } }); } function tryCatch(fn) { return function() { try { return fn.apply(fn, arguments); } catch (e) { console.error(e); } }; } var invokeCallbackId = 1; var invokeCallbacks = {}; function addInvokeCallback(id2, name, callback) { var keepAlive = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false; invokeCallbacks[id2] = { name, keepAlive, callback }; return id2; } function invokeCallback(id2, res, extras) { if (typeof id2 === "number") { var opts = invokeCallbacks[id2]; if (opts) { if (!opts.keepAlive) { delete invokeCallbacks[id2]; } return opts.callback(res, extras); } } return res; } var API_SUCCESS = "success"; var API_FAIL = "fail"; var API_COMPLETE = "complete"; function getApiCallbacks(args) { var apiCallbacks = {}; for (var name in args) { var fn = args[name]; if (isFunction$1(fn)) { apiCallbacks[name] = tryCatch(fn); delete args[name]; } } return apiCallbacks; } function normalizeErrMsg(errMsg, name) { if (!errMsg || errMsg.indexOf(":fail") === -1) { return name + ":ok"; } return name + errMsg.substring(errMsg.indexOf(":fail")); } function createAsyncApiCallback(name) { var args = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; var { beforeAll, beforeSuccess } = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; if (!isPlainObject(args)) { args = {}; } var { success, fail, complete } = getApiCallbacks(args); var hasSuccess = isFunction$1(success); var hasFail = isFunction$1(fail); var hasComplete = isFunction$1(complete); var callbackId2 = invokeCallbackId++; addInvokeCallback(callbackId2, name, (res) => { res = res || {}; res.errMsg = normalizeErrMsg(res.errMsg, name); isFunction$1(beforeAll) && beforeAll(res); if (res.errMsg === name + ":ok") { isFunction$1(beforeSuccess) && beforeSuccess(res, args); hasSuccess && success(res); } else { hasFail && fail(res); } hasComplete && complete(res); }); return callbackId2; } var HOOK_SUCCESS = "success"; var HOOK_FAIL = "fail"; var HOOK_COMPLETE = "complete"; var globalInterceptors = {}; var scopedInterceptors = {}; function wrapperHook(hook, params) { return function(data) { return hook(data, params) || data; }; } function queue(hooks, data, params) { var promise = false; for (var i = 0; i < hooks.length; i++) { var hook = hooks[i]; if (promise) { promise = Promise.resolve(wrapperHook(hook, params)); } else { var res = hook(data, params); if (isPromise(res)) { promise = Promise.resolve(res); } if (res === false) { return { then() { }, catch() { } }; } } } return promise || { then(callback) { return callback(data); }, catch() { } }; } function wrapperOptions(interceptors) { var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; [HOOK_SUCCESS, HOOK_FAIL, HOOK_COMPLETE].forEach((name) => { var hooks = interceptors[name]; if (!isArray(hooks)) { return; } var oldCallback = options[name]; options[name] = function callbackInterceptor(res) { queue(hooks, res, options).then((res2) => { return isFunction$1(oldCallback) && oldCallback(res2) || res2; }); }; }); return options; } function wrapperReturnValue(method, returnValue) { var returnValueHooks = []; if (isArray(globalInterceptors.returnValue)) { returnValueHooks.push(...globalInterceptors.returnValue); } var interceptor = scopedInterceptors[method]; if (interceptor && isArray(interceptor.returnValue)) { returnValueHooks.push(...interceptor.returnValue); } returnValueHooks.forEach((hook) => { returnValue = hook(returnValue) || returnValue; }); return returnValue; } function getApiInterceptorHooks(method) { var interceptor = /* @__PURE__ */ Object.create(null); Object.keys(globalInterceptors).forEach((hook) => { if (hook !== "returnValue") { interceptor[hook] = globalInterceptors[hook].slice(); } }); var scopedInterceptor = scopedInterceptors[method]; if (scopedInterceptor) { Object.keys(scopedInterceptor).forEach((hook) => { if (hook !== "returnValue") { interceptor[hook] = (interceptor[hook] || []).concat(scopedInterceptor[hook]); } }); } return interceptor; } function invokeApi(method, api, options, params) { var interceptor = getApiInterceptorHooks(method); if (interceptor && Object.keys(interceptor).length) { if (isArray(interceptor.invoke)) { var res = queue(interceptor.invoke, options); return res.then((options2) => { return api(wrapperOptions(getApiInterceptorHooks(method), options2), ...params); }); } else { return api(wrapperOptions(interceptor, options), ...params); } } return api(options, ...params); } function hasCallback(args) { if (isPlainObject(args) && [API_SUCCESS, API_FAIL, API_COMPLETE].find((cb) => isFunction$1(args[cb]))) { return true; } return false; } function handlePromise(promise) { return promise; } function promisify(name, fn) { return function() { var args = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { rest[_key - 1] = arguments[_key]; } if (hasCallback(args)) { return wrapperReturnValue(name, invokeApi(name, fn, args, rest)); } return wrapperReturnValue(name, handlePromise(new Promise((resolve, reject) => { invokeApi(name, fn, extend(args, { success: resolve, fail: reject }), rest); }))); }; } function formatApiArgs(args, options) { var params = args[0]; if (!options || !options.formatArgs || !isPlainObject(options.formatArgs) && isPlainObject(params)) { return; } var formatArgs = options.formatArgs; var keys = Object.keys(formatArgs); for (var i = 0; i < keys.length; i++) { var name = keys[i]; var formatterOrDefaultValue = formatArgs[name]; if (isFunction$1(formatterOrDefaultValue)) { var errMsg = formatterOrDefaultValue(args[0][name], params); if (isString(errMsg)) { return errMsg; } } else { if (!hasOwn(params, name)) { params[name] = formatterOrDefaultValue; } } } } function invokeSuccess(id2, name, res) { var result = { errMsg: name + ":ok" }; { result.errSubject = name; } return invokeCallback(id2, extend(res || {}, result)); } function invokeFail(id2, name, errMsg) { var errRes = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {}; var errMsgPrefix = name + ":fail"; var apiErrMsg = ""; if (!errMsg) { apiErrMsg = errMsgPrefix; } else if (errMsg.indexOf(errMsgPrefix) === 0) { apiErrMsg = errMsg; } else { apiErrMsg = errMsgPrefix + " " + errMsg; } var res = extend({ errMsg: apiErrMsg }, errRes); { if (typeof UniError !== "undefined") { res = typeof errRes.errCode !== "undefined" ? new UniError(name, errRes.errCode, apiErrMsg) : new UniError(apiErrMsg, errRes); } } return invokeCallback(id2, res); } function beforeInvokeApi(name, args, protocol, options) { if (options && options.beforeInvoke) { var errMsg2 = options.beforeInvoke(args); if (isString(errMsg2)) { return errMsg2; } } var errMsg = formatApiArgs(args, options); if (errMsg) { return errMsg; } } function parseErrMsg(errMsg) { if (!errMsg || isString(errMsg)) { return errMsg; } if (errMsg.stack) { return errMsg.message; } return errMsg; } function wrapperTaskApi(name, fn, protocol, options) { return (args) => { var id2 = createAsyncApiCallback(name, args, options); var errMsg = beforeInvokeApi(name, [args], protocol, options); if (errMsg) { return invokeFail(id2, name, errMsg); } return fn(args, { resolve: (res) => invokeSuccess(id2, name, res), reject: (errMsg2, errRes) => invokeFail(id2, name, parseErrMsg(errMsg2), errRes) }); }; } function wrapperSyncApi(name, fn, protocol, options) { return function() { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } var errMsg = beforeInvokeApi(name, args, protocol, options); if (errMsg) { throw new Error(errMsg); } return fn.apply(null, args); }; } function wrapperAsyncApi(name, fn, protocol, options) { return wrapperTaskApi(name, fn, protocol, options); } function defineSyncApi(name, fn, protocol, options) { return wrapperSyncApi(name, fn, void 0, options); } function defineAsyncApi(name, fn, protocol, options) { return promisify(name, wrapperAsyncApi(name, fn, void 0, options)); } var vueApp; function getVueApp() { return vueApp; } function initVueApp(appVm) { var internalInstance = appVm.$; Object.defineProperty(internalInstance.ctx, "$children", { get() { return getAllPages().map((page) => page.$vm); } }); var appContext = internalInstance.appContext; vueApp = extend(appContext.app, { mountPage(pageComponent, pageProps, pageContainer) { var vnode = createVNode(pageComponent, pageProps); vnode.appContext = appContext; vnode.__page_container__ = pageContainer; render(vnode, pageContainer); var publicThis = vnode.component.proxy; publicThis.__page_container__ = pageContainer; return publicThis; }, unmountPage: (pageInstance) => { var { __page_container__ } = pageInstance; if (__page_container__) { __page_container__.isUnmounted = true; render(null, __page_container__); } } }); } function getPage$BasePage(page) { return page.$basePage; } var pages = []; function addCurrentPage(page) { var $page = getPage$BasePage(page); if (!$page.meta.isNVue) { return pages.push(page); } var index2 = pages.findIndex((p) => getPage$BasePage(p).id === $page.id); if (index2 > -1) { pages.splice(index2, 1, page); } else { pages.push(page); } } function getAllPages() { return pages; } function getCurrentPages$1() { var curPages = getCurrentBasePages(); { return curPages.map((page) => page.$page); } } function getCurrentBasePages() { var curPages = []; pages.forEach((page) => { if (page.$.__isTabBar) { if (page.$.__isActive) { curPages.push(page); } } else { curPages.push(page); } }); return curPages; } function removePage(curPage) { var index2 = pages.findIndex((page) => page === curPage); if (index2 === -1) { return; } var $basePage = getPage$BasePage(curPage); if (!$basePage.meta.isNVue) { getVueApp().unmountPage(curPage); } var removePages2 = pages.splice(index2, 1); { removePages2[0].$page = null; } } function backbuttonListener() { uni.navigateBack({ from: "backbutton", success() { } // 传入空方法,避免返回Promise,因为onBackPress可能导致fail }); } var enterOptions$1 = /* @__PURE__ */ createLaunchOptions(); var launchOptions$1 = /* @__PURE__ */ createLaunchOptions(); function getLaunchOptions() { return extend({}, launchOptions$1); } function initLaunchOptions(_ref2) { var { path, query, referrerInfo } = _ref2; extend(launchOptions$1, { path, query: query ? parseQuery(query) : {}, referrerInfo: referrerInfo || {}, // TODO uni-app x channel: void 0, launcher: void 0 }); extend(enterOptions$1, launchOptions$1); return enterOptions$1; } var ON_BACK_BUTTON = "onBackButton"; var ON_POP_GESTURE = "onPopGesture"; var OPEN_DIALOG_PAGE = "openDialogPage"; function setupPage(component) { var oldSetup = component.setup; component.inheritAttrs = false; component.setup = (props, ctx) => { var { attrs: { __pageId, __pagePath, /*__pageQuery,*/ __pageInstance } } = ctx; var instance = getCurrentInstance(); var pageVm = instance.proxy; initPageVm(pageVm, __pageInstance); { instance.$dialogPages = []; var uniPage; if (__pageInstance.openType === OPEN_DIALOG_PAGE) { var currentPage = getCurrentPage(); if (__pagePath.startsWith(SYSTEM_DIALOG_PAGE_PATH_STARTER)) { var systemDialogPages = currentPage.vm.$systemDialogPages; uniPage = systemDialogPages[systemDialogPages.length - 1]; } else { uniPage = new UniDialogPageImpl(); } } else { uniPage = new UniNormalPageImpl(); } pageVm.$basePage = pageVm.$page; pageVm.$page = uniPage; uniPage.route = pageVm.$basePage.route; uniPage.optionsByJS = pageVm.$basePage.options; Object.defineProperty(uniPage, "options", { get: function() { return new UTSJSONObject(pageVm.$basePage.options); } }); uniPage.vm = pageVm; uniPage.$vm = pageVm; uniPage.getElementById = (id2) => { var _pageVm$$el; var currentPage2 = getCurrentPage(); if (currentPage2 !== uniPage) { return null; } var bodyNode = (_pageVm$$el = pageVm.$el) === null || _pageVm$$el === void 0 ? void 0 : _pageVm$$el.parentNode; if (bodyNode == null) { console.warn("bodyNode is null"); return null; } return bodyNode.querySelector("#".concat(id2)); }; uniPage.getParentPage = () => { var parentPage = uniPage.getParentPageByJS(); return parentPage || null; }; uniPage.getPageStyle = () => { var pageStyle = uniPage.getPageStyleByJS(); return new UTSJSONObject(pageStyle); }; uniPage.$getPageStyle = () => { return uniPage.getPageStyle(); }; uniPage.setPageStyle = (styles2) => { uniPage.setPageStyleByJS(styles2); }; uniPage.$setPageStyle = (styles2) => { uniPage.setPageStyle(styles2); }; uniPage.getAndroidView = () => null; uniPage.getHTMLElement = () => null; if (getPage$BasePage(pageVm).openType !== OPEN_DIALOG_PAGE) { addCurrentPageWithInitScope(__pageId, pageVm, __pageInstance); } } { onMounted(() => { var _pageVm$$el2; var rootElement = (_pageVm$$el2 = pageVm.$el) === null || _pageVm$$el2 === void 0 ? void 0 : _pageVm$$el2._parent; if (rootElement) { rootElement._page = pageVm.$page; } }); onBeforeUnmount(() => { var _pageVm$$el3; var rootElement = (_pageVm$$el3 = pageVm.$el) === null || _pageVm$$el3 === void 0 ? void 0 : _pageVm$$el3._parent; if (rootElement) { rootElement._page = null; } }); } if (oldSetup) { return oldSetup(props, ctx); } }; return component; } function initScope(pageId, vm, pageInstance) { { Object.defineProperty(vm, "$viewToTempFilePath", { get() { return vm.$nativePage.viewToTempFilePath.bind(vm.$nativePage); } }); Object.defineProperty(vm, "$getPageStyle", { get() { return vm.$nativePage.getPageStyle.bind(vm.$nativePage); } }); Object.defineProperty(vm, "$setPageStyle", { get() { return vm.$nativePage.setPageStyle.bind(vm.$nativePage); } }); } vm.getOpenerEventChannel = () => { if (!pageInstance.eventChannel) { pageInstance.eventChannel = new EventChannel(pageId); } return pageInstance.eventChannel; }; return vm; } function addCurrentPageWithInitScope(pageId, pageVm, pageInstance) { addCurrentPage(initScope(pageId, pageVm, pageInstance)); } function isVuePageAsyncComponent(component) { return isFunction$1(component); } var pagesMap = /* @__PURE__ */ new Map(); function definePage(pagePath, asyncComponent) { pagesMap.set(pagePath, once(createFactory(asyncComponent))); } function createFactory(component) { return () => { if (isVuePageAsyncComponent(component)) { return component().then((component2) => setupPage(component2)); } return setupPage(component); }; } function initRouteOptions(path, openType) { var routeOptions = JSON.parse(JSON.stringify(getRouteOptions(path))); routeOptions.meta = initRouteMeta(routeOptions.meta); if (openType !== "preloadPage" && !__uniConfig.realEntryPagePath && (openType === "reLaunch" || getCurrentPages().length === 0)) { routeOptions.meta.isQuit = true; } else if (!routeOptions.meta.isTabBar) { routeOptions.meta.isQuit = false; } return routeOptions; } var id = 1; function getWebviewId() { return id; } function genWebviewId() { return id++; } var ANI_SHOW = "pop-in"; var ANI_DURATION = 300; var ANI_CLOSE = "pop-out"; function hasLeadingSlash(str) { return str.indexOf("/") == 0; } function getRealPath(path) { var fix = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; if (hasLeadingSlash(path)) { return path; } if (fix && path.indexOf(".") !== 0) { return "/" + path; } var currentPage = getCurrentPage().vm; var currentPath = !currentPage ? "/" : parseUrl(currentPage.route).path; var currentPathArray = currentPath.split("/"); var pathArray = path.split("/"); var resultArray = []; for (var index2 = 0; index2 < pathArray.length; index2++) { var element = pathArray[index2]; if (element == "..") { currentPathArray.pop(); } else if (element != ".") { resultArray.push(element); } } return addLeadingSlash(currentPathArray.concat(resultArray).join("/")); } var systemRoutes = []; function registerSystemRoute(route, page) { var meta = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; if (systemRoutes.includes(route)) { return; } systemRoutes.push(route); __uniRoutes.push({ path: route, meta: extend({ isQuit: false, isEntry: false, route, navigationBar: {} }, meta) }); definePage(route, page); } var API_ADD_INTERCEPTOR = "addInterceptor"; var API_REMOVE_INTERCEPTOR = "removeInterceptor"; function mergeInterceptorHook(interceptors2, interceptor) { Object.keys(interceptor).forEach((hook) => { if (isFunction$1(interceptor[hook])) { interceptors2[hook] = mergeHook(interceptors2[hook], interceptor[hook]); } }); } function removeInterceptorHook(interceptors2, interceptor) { if (!interceptors2 || !interceptor) { return; } Object.keys(interceptor).forEach((name) => { var hooks = interceptors2[name]; var hook = interceptor[name]; if (isArray(hooks) && isFunction$1(hook)) { remove(hooks, hook); } }); } function mergeHook(parentVal, childVal) { var res = childVal ? parentVal ? parentVal.concat(childVal) : isArray(childVal) ? childVal : [childVal] : parentVal; return res ? dedupeHooks(res) : res; } function dedupeHooks(hooks) { var res = []; for (var i = 0; i < hooks.length; i++) { if (res.indexOf(hooks[i]) === -1) { res.push(hooks[i]); } } return res; } var addInterceptor = /* @__PURE__ */ defineSyncApi(API_ADD_INTERCEPTOR, (method, interceptor) => { if (isString(method) && isPlainObject(interceptor)) { mergeInterceptorHook(scopedInterceptors[method] || (scopedInterceptors[method] = {}), interceptor); } else if (isPlainObject(method)) { mergeInterceptorHook(globalInterceptors, method); } }); var removeInterceptor = /* @__PURE__ */ defineSyncApi(API_REMOVE_INTERCEPTOR, (method, interceptor) => { if (isString(method)) { if (isPlainObject(interceptor)) { removeInterceptorHook(scopedInterceptors[method], interceptor); } else { delete scopedInterceptors[method]; } } else if (isPlainObject(method)) { removeInterceptorHook(globalInterceptors, method); } }); var API_ON = "$on"; var API_ONCE = "$once"; var API_OFF = "$off"; var API_EMIT = "$emit"; class EventBus { constructor() { this.$emitter = new Emitter(); } on(name, callback) { return this.$emitter.on(name, callback); } once(name, callback) { return this.$emitter.once(name, callback); } off(name, callback) { if (!name) { this.$emitter.e = {}; return; } this.$emitter.off(name, callback); } emit(name) { for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { args[_key - 1] = arguments[_key]; } this.$emitter.emit(name, ...args); } } var eventBus = new EventBus(); var $on = /* @__PURE__ */ defineSyncApi(API_ON, (name, callback) => { var id2 = eventBus.on(name, callback); { return id2; } }); var $once = /* @__PURE__ */ defineSyncApi(API_ONCE, (name, callback) => { var id2 = eventBus.once(name, callback); { return id2; } }); var $off = /* @__PURE__ */ defineSyncApi(API_OFF, (name, callback) => { if (!isArray(name)) name = name ? [name] : []; name.forEach((n) => eventBus.off(n, callback)); }); var $emit = /* @__PURE__ */ defineSyncApi(API_EMIT, function(name) { for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { args[_key2 - 1] = arguments[_key2]; } eventBus.emit(name, ...args); }); var appHooks = { [ON_UNHANDLE_REJECTION]: [], [ON_PAGE_NOT_FOUND]: [], [ON_ERROR]: [], [ON_SHOW]: [], [ON_HIDE]: [] }; function injectAppHooks(appInstance) { Object.keys(appHooks).forEach((type) => { appHooks[type].forEach((hook) => { injectHook(type, hook, appInstance); }); }); } function encodeQueryString(url) { if (!isString(url)) { return url; } var index2 = url.indexOf("?"); if (index2 === -1) { return url; } var query = url.slice(index2 + 1).trim().replace(/^(\?|#|&)/, ""); if (!query) { return url; } url = url.slice(0, index2); var params = []; query.split("&").forEach((param) => { var parts = param.replace(/\+/g, " ").split("="); var key = parts.shift(); var val = parts.length > 0 ? parts.join("=") : ""; params.push(key + "=" + encodeURIComponent(val)); }); return params.length ? url + "?" + params.join("&") : url; } var ANIMATION_IN = ["slide-in-right", "slide-in-left", "slide-in-top", "slide-in-bottom", "fade-in", "zoom-out", "zoom-fade-out", "pop-in", "none"]; var ANIMATION_OUT = ["slide-out-right", "slide-out-left", "slide-out-top", "slide-out-bottom", "fade-out", "zoom-in", "zoom-fade-in", "pop-out", "none"]; var BaseRouteProtocol = { url: { type: String, required: true } }; var API_NAVIGATE_TO = "navigateTo"; var API_REDIRECT_TO = "redirectTo"; var API_RE_LAUNCH = "reLaunch"; var API_SWITCH_TAB = "switchTab"; var API_NAVIGATE_BACK = "navigateBack"; var API_PRELOAD_PAGE = "preloadPage"; var API_UN_PRELOAD_PAGE = "unPreloadPage"; var NavigateToProtocol = /* @__PURE__ */ extend({}, BaseRouteProtocol, createAnimationProtocol(ANIMATION_IN)); var NavigateBackProtocol = /* @__PURE__ */ extend({ delta: { type: Number } }, createAnimationProtocol(ANIMATION_OUT)); var RedirectToProtocol = BaseRouteProtocol; var ReLaunchProtocol = BaseRouteProtocol; var SwitchTabProtocol = BaseRouteProtocol; var NavigateToOptions = /* @__PURE__ */ createRouteOptions(API_NAVIGATE_TO); var RedirectToOptions = /* @__PURE__ */ createRouteOptions(API_REDIRECT_TO); var ReLaunchOptions = /* @__PURE__ */ createRouteOptions(API_RE_LAUNCH); var SwitchTabOptions = /* @__PURE__ */ createRouteOptions(API_SWITCH_TAB); var NavigateBackOptions = { formatArgs: { delta(value, params) { value = parseInt(value + "") || 1; params.delta = Math.min(getCurrentPages().length - 1, value); } } }; function createAnimationProtocol(animationTypes) { return { animationType: { type: String, validator(type) { if (type && animationTypes.indexOf(type) === -1) { return "`" + type + "` is not supported for `animationType` (supported values are: `" + animationTypes.join("`|`") + "`)"; } } }, animationDuration: { type: Number } }; } var navigatorLock; function beforeRoute() { navigatorLock = ""; } function createRouteOptions(type) { return { formatArgs: { url: createNormalizeUrl(type) }, beforeAll: beforeRoute }; } function createNormalizeUrl(type) { return function normalizeUrl(url, params) { if (!url) { return 'Missing required args: "url"'; } url = normalizeRoute(url); var pagePath = url.split("?")[0]; var routeOptions = getRouteOptions(pagePath, true); if (!routeOptions) { return "page `" + url + "` is not found"; } if (type === API_NAVIGATE_TO || type === API_REDIRECT_TO) { if (routeOptions.meta.isTabBar) { return "can not ".concat(type, " a tabbar page"); } } else if (type === API_SWITCH_TAB) { if (!routeOptions.meta.isTabBar) { return "can not switch to no-tabBar page"; } } if ((type === API_SWITCH_TAB || type === API_PRELOAD_PAGE) && routeOptions.meta.isTabBar && params.openType !== "appLaunch") { url = pagePath; } if (routeOptions.meta.isEntry) { url = url.replace(routeOptions.alias, "/"); } params.url = encodeQueryString(url); if (type === API_UN_PRELOAD_PAGE) { return; } else if (type === API_PRELOAD_PAGE) { { if (!routeOptions.meta.isNVue) { return "can not preload vue page"; } } if (routeOptions.meta.isTabBar) { var pages2 = getCurrentPages(); var tabBarPagePath = routeOptions.path.slice(1); if (pages2.find((page) => page.route === tabBarPagePath)) { return "tabBar page `" + tabBarPagePath + "` already exists"; } } return; } if (navigatorLock === url && params.openType !== "appLaunch") { return "".concat(navigatorLock, " locked"); } if (__uniConfig.ready) { navigatorLock = url; } }; } var API_LOAD_FONT_FACE = "loadFontFace"; var FRONT_COLORS = ["#ffffff", "#000000"]; var API_SET_NAVIGATION_BAR_COLOR = "setNavigationBarColor"; var SetNavigationBarColorOptions = { formatArgs: { animation(animation2, params) { if (!animation2) { animation2 = { duration: 0, timingFunc: "linear" }; } params.animation = { duration: animation2.duration || 0, timingFunc: animation2.timingFunc || "linear" }; } } }; var SetNavigationBarColorProtocol = { frontColor: { type: String, required: true, validator(frontColor) { if (FRONT_COLORS.indexOf(frontColor) === -1) { return 'invalid frontColor "'.concat(frontColor, '"'); } } }, backgroundColor: { type: String, required: true }, animation: Object }; var API_SET_NAVIGATION_BAR_TITLE = "setNavigationBarTitle"; var API_PAGE_SCROLL_TO = "pageScrollTo"; var PageScrollToProtocol = { scrollTop: Number, selector: String, duration: Number }; var PageScrollToOptions = { formatArgs: { duration: 300 } }; var API_START_PULL_DOWN_REFRESH = "startPullDownRefresh"; var API_STOP_PULL_DOWN_REFRESH = "stopPullDownRefresh"; var IndexProtocol = { index: { type: Number, required: true } }; var IndexOptions = { beforeInvoke() { var pageMeta = getCurrentPageMeta(); if (pageMeta && !pageMeta.isTabBar) { return "not TabBar page"; } }, formatArgs: { index(value) { if (!__uniConfig.tabBar.list[value]) { return "tabbar item not found"; } } } }; var API_SET_TAB_BAR_ITEM = "setTabBarItem"; var SetTabBarItemProtocol = /* @__PURE__ */ extend({ text: String, iconPath: String, selectedIconPath: String, pagePath: String }, IndexProtocol); var SetTabBarItemOptions = { beforeInvoke: IndexOptions.beforeInvoke, formatArgs: /* @__PURE__ */ extend({ pagePath(value, params) { if (value) { params.pagePath = removeLeadingSlash(value); } } }, IndexOptions.formatArgs) }; var API_SET_TAB_BAR_STYLE = "setTabBarStyle"; var SetTabBarStyleProtocol = { color: String, selectedColor: String, backgroundColor: String, backgroundImage: String, backgroundRepeat: String, borderStyle: String }; var SetTabBarStyleOptions = { beforeInvoke: IndexOptions.beforeInvoke, formatArgs: { backgroundImage(value, params) { { params.backgroundImage = value; return; } }, borderStyle(value, params) { if (value) { params.borderStyle = value === "white" ? "white" : "black"; } } } }; var API_HIDE_TAB_BAR = "hideTabBar"; var API_SHOW_TAB_BAR = "showTabBar"; var API_HIDE_TAB_BAR_RED_DOT = "hideTabBarRedDot"; var HideTabBarRedDotProtocol = IndexProtocol; var HideTabBarRedDotOptions = IndexOptions; var API_SHOW_TAB_BAR_RED_DOT = "showTabBarRedDot"; var ShowTabBarRedDotProtocol = IndexProtocol; var ShowTabBarRedDotOptions = IndexOptions; var API_REMOVE_TAB_BAR_BADGE = "removeTabBarBadge"; var RemoveTabBarBadgeProtocol = IndexProtocol; var RemoveTabBarBadgeOptions = IndexOptions; var API_SET_TAB_BAR_BADGE = "setTabBarBadge"; var SetTabBarBadgeProtocol = /* @__PURE__ */ extend({ text: { type: String, required: true } }, IndexProtocol); var SetTabBarBadgeOptions = { beforeInvoke: IndexOptions.beforeInvoke, formatArgs: /* @__PURE__ */ extend({ text(value, params) { if (getLen(value) >= 4) { params.text = "..."; } } }, IndexOptions.formatArgs) }; function showWebview(nPage, animationType, animationDuration, showCallback) { nPage.show(/* @__PURE__ */ new Map([["animationType", animationType], ["animationDuration", animationDuration]]), showCallback); } function closeWebview(nPage, animationType, animationDuration, callback) { var options = /* @__PURE__ */ new Map([["animationType", animationType]]); if (typeof animationDuration === "number") { options.set("animationDuration", animationDuration); } nPage.close(options, callback); } var nativeApp; function getNativeApp() { return nativeApp; } function setNativeApp(app) { nativeApp = app; } function getPageManager() { return nativeApp.pageManager; } var beforeRouteHooks = []; var afterRouteHooks = []; var pageReadyHooks = []; function onBeforeRoute(hook) { beforeRouteHooks.push(hook); } function onAfterRoute(hook) { afterRouteHooks.push(hook); } function onPageReady(hook) { pageReadyHooks.push(hook); } function invokeBeforeRouteHooks(type) { invokeArrayFns$1(beforeRouteHooks, type); } function invokeAfterRouteHooks(type) { invokeArrayFns$1(afterRouteHooks, type); } function invokePageReadyHooks(page) { invokeArrayFns$1(pageReadyHooks, page); } var BORDER_COLORS = /* @__PURE__ */ new Map([["white", "rgba(255, 255, 255, 0.33)"], ["black", "rgba(0, 0, 0, 0.33)"]]); function getBorderStyle(borderStyle) { var value = BORDER_COLORS.get(borderStyle); if (borderStyle && !value) { console.warn("4.23 版本起,在 pages.json 设置 tabbar borderStyle、在 uni.setTabBarStyle 设置 borderStyle 时仅支持 white/black,推荐使用 borderColor 自定义颜色。"); } return value || BORDER_COLORS.get("black"); } function fixBorderStyle(tabBarConfig) { var borderStyle = tabBarConfig.get("borderStyle"); var borderColor = tabBarConfig.get("borderColor"); var isBorderColorFilled = isString(borderColor); borderStyle = getBorderStyle(borderStyle); if (isBorderColorFilled) { borderStyle = borderColor; } tabBarConfig.set("borderStyle", borderStyle); tabBarConfig.delete("borderColor"); } var onTabBarMidButtonTapCallback = []; var tabBar0 = null; var selected0 = -1; var tabs = /* @__PURE__ */ new Map(); function getTabList() { var tabConfig = __uniConfig.tabBar ? /* @__PURE__ */ new Map() : null; if (__uniConfig.tabBar) { for (var key in __uniConfig.tabBar) { tabConfig.set(key, __uniConfig.tabBar[key]); } } if (tabConfig === null) { return null; } var list = tabConfig.get("list"); return list; } function init() { var _uniConfig$globalSty, _uniConfig$globalSty2; var list = getTabList(); var style = /* @__PURE__ */ new Map(); style.set("navigationStyle", "custom"); style.set("pageOrientation", (_uniConfig$globalSty = (_uniConfig$globalSty2 = __uniConfig.globalStyle) === null || _uniConfig$globalSty2 === void 0 ? void 0 : _uniConfig$globalSty2.pageOrientation) !== null && _uniConfig$globalSty !== void 0 ? _uniConfig$globalSty : "portrait"); var page = getPageManager().createPage( "tabBar", // id 后增加 Date.now() 保证唯一性,与 android 端统一 "tabBar_".concat(Date.now()), style ); var document = page.createDocument(new NodeData("root", "view", /* @__PURE__ */ new Map(), /* @__PURE__ */ new Map([["flex", "1"]]))); var tabParent = document.createElement(new NodeData("tabs", "tabs", /* @__PURE__ */ new Map(), /* @__PURE__ */ new Map([["overflow", "hidden"], ["flex", "1"]]))); document.appendChild(tabParent); tabBar0 = document.getRealDomNodeById("tabs"); var _tabBarConfig = extend({}, __uniConfig.tabBar); normalizeTabBarStyles(_tabBarConfig, __uniConfig.themeConfig, getAppThemeFallbackOS()); var tabBarConfig = /* @__PURE__ */ new Map(); for (var key in _tabBarConfig) { tabBarConfig.set(key, _tabBarConfig[key]); } fixBorderStyle(tabBarConfig); tabBar0.initTabBar(tabBarConfig); tabBar0.addEventListener("tabBarItemTap", function(event) { var index2 = event.index; if (index2 !== selected0) { var item = list[index2]; var path = item.pagePath; if (isString(path) && findPageRoute(getRealPath(path, true))) { uni.switchTab({ url: getRealPath(path, true) }); } else { console.error("switchTab: pagePath not found"); } } }); tabBar0.addEventListener("tabBarMidButtonTap", function(event) { onTabBarMidButtonTapCallback.forEach((callback) => { if (typeof callback === "function") { callback(); } }); }); page.startRender(); page.show(null); } function removeTabBarPage(page) { var pagePath = getRealPath(page.route, true); if (tabs.get(pagePath) === page) { tabs.delete(pagePath); if (getTabIndex(pagePath) === selected0) { selected0 = -1; } } } function getTabBar() { return tabBar0; } function getTabIndex(path) { var list = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : getTabList(); var selected = -1; if (list && list.length !== 0) { for (var index2 = 0; index2 < list.length; index2++) { var page = list[index2]; var pagePath = page.pagePath; if (isString(pagePath) && getRealPath(pagePath, true) == getRealPath(path, true)) { selected = index2; break; } } } return selected; } function findPageRoute(path) { return __uniRoutes.find((route) => route.path === path); } function createTab(path, query, callback) { registerPage({ url: path, path, query, openType: "switchTab" }); callback === null || callback === void 0 || callback(); var page = getCurrentPage().vm; tabBar0.appendItem(page.$basePage.id.toString()); return page; } function findTabPage(path) { var _tabs$get; var page = (_tabs$get = tabs.get(path)) !== null && _tabs$get !== void 0 ? _tabs$get : null; var pages2 = getAllPages(); pages2.forEach((item) => item.$.__isActive = item === page); if (page !== null) { var index2 = pages2.indexOf(page); if (index2 !== pages2.length - 1) { pages2.splice(index2, 1); pages2.push(page); } } return page; } function isTabPage(page) { var has = false; tabs.forEach((value, key) => { if (value === page) { has = true; } }); return has; } class TabPageInfo { constructor(page, isFirst) { this.page = page; this.isFirst = isFirst; } } function getTabPage(path) { var query = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; var rebuild = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false; var callback = arguments.length > 3 ? arguments[3] : void 0; var page = findTabPage(path); var isFirst = false; if (page === null || rebuild) { isFirst = true; page = createTab(path, query, callback); tabs.set(path, page); } return new TabPageInfo(page, isFirst); } function switchSelect(selected, path) { var _getCurrentPage; var query = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; var rebuild = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false; var callback = arguments.length > 4 ? arguments[4] : void 0; var shouldShow = false; if (tabBar0 === null) { init(); } var currentPage = (_getCurrentPage = getCurrentPage()) === null || _getCurrentPage === void 0 ? void 0 : _getCurrentPage.vm; var type = currentPage == null ? "appLaunch" : "switchTab"; invokeBeforeRouteHooks(type); var pageInfo = getTabPage(getRealPath(path, true), query, rebuild, callback); var page = pageInfo.page; if (currentPage !== page) { shouldShow = true; if (currentPage && isTabPage(currentPage)) { invokeHook(currentPage, ON_HIDE); } } tabBar0.switchSelect(page.$basePage.id.toString(), selected); if (shouldShow) { invokeHook(page, ON_SHOW); } selected0 = selected; invokeAfterRouteHooks(type); } var APP_THEME_AUTO = "auto"; var THEME_KEY_PREFIX = "@"; function getAppThemeFallbackOS() { var fallbackOSTheme = "light"; try { var appTheme = uni.getAppBaseInfo().appTheme; fallbackOSTheme = appTheme; if (appTheme === APP_THEME_AUTO) { var osTheme = uni.getDeviceInfo().osTheme; fallbackOSTheme = osTheme; } return fallbackOSTheme; } catch (e) { console.error(e); return fallbackOSTheme; } } var appThemeChangeCallbackId = -1; function clearAppThemeChangeCallbackId() { appThemeChangeCallbackId = -1; } function registerThemeChange(callback) { try { if (appThemeChangeCallbackId !== -1) { uni.offAppThemeChange(appThemeChangeCallbackId); clearAppThemeChangeCallbackId(); } appThemeChangeCallbackId = uni.onAppThemeChange(function(res1) { var appThemeMode = res1["appTheme"]; callback(appThemeMode); }); } catch (e) { console.warn("监听 OS 主题变化", e); } } var onThemeChange = function(themeMode) { var handlePage = () => { var pages2 = getAllPages(); pages2.forEach((page) => { var routeOptions = initRouteOptions(page.$basePage.path, ""); var style = parsePageStyle(routeOptions); page.$page.setPageStyle(new UTSJSONObject(style)); }); }; handlePage(); var handleTabBar = () => { var tabBar = getTabBar(); if (tabBar !== null) { var tabBarConfig = __uniConfig.getTabBarConfig(); normalizeTabBarStyles(tabBarConfig, __uniConfig.themeConfig, themeMode); var tabBarStyle = /* @__PURE__ */ new Map(); var tabBarConfigKeys = Object.keys(tabBarConfig); tabBarConfigKeys.forEach((key) => { var value = tabBarConfig[key]; if (isString(value)) { tabBarStyle.set(key, value); } else if (isArray(value)) { var valueAsArray = value; var index2 = 0; valueAsArray.forEach((item) => { var tabBarItemMap = /* @__PURE__ */ new Map(); tabBarItemMap.set("index", index2); Object.keys(item).forEach((tabBarItemkey) => { if (item[tabBarItemkey] != null) { tabBarItemMap.set(tabBarItemkey, item[tabBarItemkey]); } }); tabBar.setTabBarItem(tabBarItemMap); index2++; }); } }); fixBorderStyle(tabBarStyle); tabBar.setTabBarStyle(tabBarStyle); } }; handleTabBar(); }; function normalizePageStyles(pageStyle, themeConfig, themeMode) { var themeMap = themeConfig === null || themeConfig === void 0 ? void 0 : themeConfig[themeMode]; if (!themeMap) { return; } normalizeStyles(pageStyle, themeMap); } function normalizeStyles(style, themeMap) { Object.keys(style).forEach((key) => { var value = style[key]; if (isString(value)) { var valueAsString = value; if (valueAsString.startsWith(THEME_KEY_PREFIX)) { var valueKey = valueAsString.slice(1); var configValue = themeMap[valueKey]; if (configValue != null) { style[key] = configValue; } } } else if (isArray(value)) { var valueAsArray = value; valueAsArray.forEach((item) => { normalizeStyles(item, themeMap); }); } else if (isPlainObject(value)) { normalizeStyles(value, themeMap); } }); } function normalizeTabBarStyles(tabBar, themeConfig, themeMode) { if (!themeConfig) { return; } var themeMap = themeConfig[themeMode]; if (themeMap == null) { return; } normalizeStyles(tabBar, themeMap); } function useTheme() { registerThemeChange(onThemeChange); } var homeDialogPages = []; var homeSystemDialogPages = []; function parsePageStyle(route) { var style = /* @__PURE__ */ new Map(); var routeMeta = route.meta; var routeKeys = [ "id", "route", "i18n", "isQuit", "isEntry", "isTabBar", "tabBarIndex", "tabBarText", "windowTop", "topWindow", "leftWindow", "rightWindow", "eventChannel", // 忽略 initRouteMeta产生的 navigationBar 对象 "navigationBar" ]; var navKeys = ["navigationBarTitleText", "navigationBarBackgroundColor", "navigationBarTextStyle", "navigationStyle"]; normalizePageStyles(routeMeta, __uniConfig.themeConfig, getAppThemeFallbackOS()); Object.keys(routeMeta).forEach((key) => { if (!routeKeys.includes(key) && !navKeys.includes(key)) { style.set(key, routeMeta[key]); } }); var navigationBar = {}; navKeys.forEach((key) => { if (key in routeMeta) { navigationBar[key] = routeMeta[key]; } }); if (Object.keys(navigationBar).length > 0) { if (navigationBar.navigationBarTextStyle !== "custom" && !routeMeta.isQuit && routeMeta.route !== __uniConfig.realEntryPagePath) { style.set("navigationBarAutoBackButton", true); } Object.keys(navigationBar).forEach((key) => { style.set(key, navigationBar[key]); }); } return style; } function registerPage(_ref, onCreated) { var { url, path, query, openType, webview, nvuePageVm, eventChannel } = _ref; var delay = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 0; var id2 = genWebviewId(); var routeOptions = initRouteOptions(path, openType); var pageStyle = parsePageStyle(routeOptions); var nativePage2 = getPageManager().createPage(url, id2.toString(), pageStyle); if (onCreated) { onCreated(nativePage2); } routeOptions.meta.id = parseInt(nativePage2.pageId); var route = path.slice(1); var pageInstance = initPageInternalInstance( openType, url, query, routeOptions.meta, eventChannel, // TODO ThemeMode "light" ); function fn() { var page = createVuePage(id2, route, query, pageInstance, {}, nativePage2); var pages2 = getCurrentPages(); if (pages2.length === 1) { if (homeDialogPages.length) { var homePage = pages2[0]; homePage.vm.$.$dialogPages = homeDialogPages.map((dialogPage) => { dialogPage.getParentPage = () => homePage; return dialogPage; }); homeDialogPages.length = 0; } if (homeSystemDialogPages.length) { var _homePage = pages2[0]; _homePage.vm.$systemDialogPages = homeSystemDialogPages.map((dialogPage) => { dialogPage.getParentPage = () => _homePage; return dialogPage; }); homeDialogPages.length = 0; } } nativePage2.addPageEventListener(ON_POP_GESTURE, function(e) { uni.navigateBack({ from: "popGesture", fail(e2) { if (e2.errMsg.endsWith("cancel")) { nativePage2.show(); } } }); }); nativePage2.addPageEventListener(ON_UNLOAD, (_) => { invokeHook(page, ON_UNLOAD); }); nativePage2.addPageEventListener(ON_READY, (_) => { invokePageReadyHooks(page); invokeHook(page, ON_READY); }); nativePage2.addPageEventListener(ON_PAGE_SCROLL, (arg) => { invokeHook(page, ON_PAGE_SCROLL, { scrollTop: arg.scrollTop }); }); nativePage2.addPageEventListener(ON_PULL_DOWN_REFRESH, (_) => { invokeHook(page, ON_PULL_DOWN_REFRESH); }); nativePage2.addPageEventListener(ON_REACH_BOTTOM, (_) => { invokeHook(page, ON_REACH_BOTTOM); }); nativePage2.addPageEventListener(ON_RESIZE, (arg) => { var args = { deviceOrientation: arg.deviceOrientation, size: { windowWidth: arg.size.windowWidth, windowHeight: arg.size.windowHeight, screenWidth: arg.size.screenWidth, screenHeight: arg.size.screenHeight } }; invokeHook(page, ON_RESIZE, args); }); nativePage2.startRender(); } if (delay) { setTimeout(fn, delay); } else { fn(); } return nativePage2; } function registerDialogPage(_ref2, dialogPage, onCreated) { var { url, path, query, openType, webview, nvuePageVm, eventChannel } = _ref2; var delay = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 0; var id2 = genWebviewId(); var routeOptions = initRouteOptions(path, openType); var pageStyle = parsePageStyle(routeOptions); pageStyle.set("navigationStyle", "custom"); pageStyle.set("backgroundColorContent", "transparent"); if (typeof pageStyle.get("disableSwipeBack") !== "boolean") { pageStyle.set("disableSwipeBack", true); } var parentPage = dialogPage.getParentPage(); var nativePage2 = getPageManager().createDialogPage( // @ts-expect-error parentPage ? parentPage.__nativePageId : "", id2.toString(), url, pageStyle ); if (onCreated) { onCreated(nativePage2); } routeOptions.meta.id = parseInt(nativePage2.pageId); var route = path.startsWith(SYSTEM_DIALOG_PAGE_PATH_STARTER) ? path : path.slice(1); var pageInstance = initPageInternalInstance( openType, url, query, routeOptions.meta, eventChannel, // TODO ThemeMode "light" ); function fn() { var page = createVuePage(id2, route, query, pageInstance, {}, nativePage2); dialogPage.vm = page; dialogPage.$vm = page; nativePage2.addPageEventListener(ON_POP_GESTURE, function(e) { closeDialogPage({ dialogPage }); }); nativePage2.addPageEventListener(ON_UNLOAD, (_) => { invokeHook(page, ON_UNLOAD); }); nativePage2.addPageEventListener(ON_READY, (_) => { invokePageReadyHooks(page); invokeHook(page, ON_READY); }); nativePage2.addPageEventListener(ON_PAGE_SCROLL, (arg) => { invokeHook(page, ON_PAGE_SCROLL, arg); }); nativePage2.addPageEventListener(ON_PULL_DOWN_REFRESH, (_) => { invokeHook(page, ON_PULL_DOWN_REFRESH); }); nativePage2.addPageEventListener(ON_REACH_BOTTOM, (_) => { invokeHook(page, ON_REACH_BOTTOM); }); nativePage2.addPageEventListener(ON_RESIZE, (arg) => { var args = { deviceOrientation: arg.deviceOrientation, size: { windowWidth: arg.size.windowWidth, windowHeight: arg.size.windowHeight, screenWidth: arg.size.screenWidth, screenHeight: arg.size.screenHeight } }; invokeHook(page, ON_RESIZE, args); }); nativePage2.startRender(); } if (delay) { setTimeout(fn, delay); } else { fn(); } return nativePage2; } function createVuePage(__pageId, __pagePath, __pageQuery, __pageInstance, pageOptions, nativePage2) { var pageNode = nativePage2.document.body; var app = getVueApp(); var component = pagesMap.get(__pagePath)(); var mountPage = (component2) => app.mountPage(component2, { __pageId, __pagePath, __pageQuery, __pageInstance }, pageNode); if (isPromise(component)) { return component.then((component2) => mountPage(component2)); } return mountPage(component); } function setStatusBarStyle() { var page = getCurrentPage().vm; if (page) { var nativePage2 = page.$nativePage; nativePage2.applyStatusBarStyle(); } } function initGlobalEvent(app) { app.addKeyEventListener(ON_BACK_BUTTON, () => { backbuttonListener(); return true; }); } function loadFontFaceByStyles(styles2, global) { styles2 = Array.isArray(styles2) ? styles2 : [styles2]; var fontFaceStyle = []; styles2.forEach((style) => { if (style["@FONT-FACE"]) { fontFaceStyle.push(...style["@FONT-FACE"]); } }); if (fontFaceStyle.length === 0) return; fontFaceStyle.forEach((style) => { var fontFamily = style["fontFamily"]; var fontWeight = style["fontWeight"]; var fontStyle = style["fontStyle"]; var fontVariant = style["fontVariant"]; var src = style["src"]; if (fontFamily != null && src != null) { loadFontFace({ global, family: fontFamily, source: src, desc: { style: fontStyle, weight: fontWeight, variant: fontVariant } }); } else { console.warn("loadFontFace: fail, font-family or src is null"); } }); } var API_GET_LAUNCH_OPTIONS_SYNC = "getLaunchOptionsSync"; var launchOptions = { path: "", appScheme: null, appLink: null }; var setLaunchOptionsSync = function(options) { launchOptions = options; }; var getLaunchOptionsSync = /* @__PURE__ */ defineSyncApi(API_GET_LAUNCH_OPTIONS_SYNC, () => { var baseInfo = getLaunchOptions(); return Object.assign({}, baseInfo, launchOptions); }); var API_GET_ENTER_OPTIONS_SYNC = "getEnterOptionsSync"; var enterOptions = { path: "", appScheme: null, appLink: null }; var setEnterOptionsSync = function(options) { enterOptions = options; }; var getEnterOptionsSync = /* @__PURE__ */ defineSyncApi(API_GET_ENTER_OPTIONS_SYNC, () => { var baseInfo = getLaunchOptions(); return Object.assign({}, baseInfo, enterOptions); }); function initAppLaunch(appVm) { injectAppHooks(appVm.$); var { entryPagePath, entryPageQuery, referrerInfo } = __uniConfig; var args = initLaunchOptions({ path: entryPagePath, query: entryPageQuery, referrerInfo }); var app = getNativeApp(); var schemaLink = app.getLaunchOptionsSync(); var launchOption = extend({}, args, schemaLink); setLaunchOptionsSync(launchOption); invokeHook(appVm, ON_LAUNCH, launchOption); var showOption = extend({}, launchOption); setEnterOptionsSync(showOption); invokeHook(appVm, ON_SHOW, showOption); var appStyle = appVm.$options.styles; if (appStyle) { loadFontFaceByStyles(appStyle, true); } useTheme(); } function initAppError(appVm, nativeApp2) { nativeApp2.addEventListener(ON_ERROR, function(errorEvent) { invokeHook(appVm, ON_ERROR, errorEvent.error); }); } var redirectTo = /* @__PURE__ */ defineAsyncApi(API_REDIRECT_TO, (_ref, _ref2) => { var { url } = _ref; var { resolve, reject } = _ref2; var { path, query } = parseUrl(url); if (!entryPageState.isReady) { redirectToPagesBeforeEntryPages.push({ args: { url, path, query }, handler: { resolve, reject } }); return; } _redirectTo({ url, path, query }).then(resolve).catch(reject); }, RedirectToProtocol, RedirectToOptions); function _redirectTo(_ref3) { var { url, path, query } = _ref3; var lastPage = getCurrentPage().vm; return new Promise((resolve) => { invokeAfterRouteHooks(API_REDIRECT_TO); showWebview(registerPage({ url, path, query, openType: isTabPage(lastPage) || getAllPages().length === 1 ? "reLaunch" : "redirectTo" }), "none", 0, () => { if (lastPage) { removePages(lastPage); } resolve(void 0); setStatusBarStyle(); }); invokeBeforeRouteHooks(API_REDIRECT_TO); }); } function removePages(currentPage) { if (isTabPage(currentPage)) { var pages2 = getAllPages().slice(0, -1); pages2.forEach((page) => { closePage(page, "none"); }); } else { closePage(currentPage, "none"); } } var $reLaunch = (_ref, _ref2) => { var { url } = _ref; var { resolve, reject } = _ref2; var { path, query } = parseUrl(url); if (!entryPageState.isReady) { reLaunchPagesBeforeEntryPages.push({ args: { url }, handler: { resolve, reject } }); return; } _reLaunch({ url, path, query }).then(resolve).catch(reject); }; function _reLaunch(_ref3) { var { url, path, query } = _ref3; return new Promise((resolve) => { var pages2 = getAllPages().slice(0); var selected = getTabIndex(path); function callback() { pages2.forEach((page) => closePage(page, "none")); resolve(void 0); setStatusBarStyle(); } if (selected === -1) { showWebview(registerPage({ url, path, query, openType: "reLaunch" }), "none", 0, callback); } else { switchSelect(selected, path, query, true, callback); } }); } var reLaunch = /* @__PURE__ */ defineAsyncApi(API_RE_LAUNCH, $reLaunch, ReLaunchProtocol, ReLaunchOptions); function closePage(page, animationType, animationDuration) { var dialogPages = page.$page.getDialogPages(); for (var i = dialogPages.length - 1; i >= 0; i--) { closeNativeDialogPage(dialogPages[i]); } var systemDialogPages = page.$systemDialogPages || []; for (var _i = 0; _i < systemDialogPages.length; _i++) { closeNativeDialogPage(systemDialogPages[_i]); } page.$systemDialogPages = []; for (var _i2 = dialogPages.length - 1; _i2 >= 0; _i2--) { closeNativeDialogPage(dialogPages[_i2]); } closeWebview(page.$nativePage, animationType, animationDuration); removePage(page); removeTabBarPage(page); } function updateEntryPageIsReady(path) { if (!getCurrentPage() && path === addLeadingSlash(__uniConfig.entryPagePath)) { entryPageState.isReady = true; } } function handleBeforeEntryPageRoutes() { if (entryPageState.handledBeforeEntryPageRoutes) { return; } entryPageState.handledBeforeEntryPageRoutes = true; var navigateToPages = [...navigateToPagesBeforeEntryPages]; navigateToPagesBeforeEntryPages.length = 0; navigateToPages.forEach((_ref) => { var { args, handler } = _ref; return $navigateTo(args, handler); }); var switchTabPages = [...switchTabPagesBeforeEntryPages]; switchTabPagesBeforeEntryPages.length = 0; switchTabPages.forEach((_ref2) => { var { args, handler } = _ref2; return $switchTab(args, handler); }); var redirectToPages = [...redirectToPagesBeforeEntryPages]; redirectToPagesBeforeEntryPages.length = 0; redirectToPages.forEach((_ref3) => { var { args, handler } = _ref3; return _redirectTo(args).then(handler.resolve).catch(handler.reject); }); var reLaunchPages = [...reLaunchPagesBeforeEntryPages]; reLaunchPagesBeforeEntryPages.length = 0; reLaunchPages.forEach((_ref4) => { var { args, handler } = _ref4; return $reLaunch(args, handler); }); } function closeNativeDialogPage(dialogPage, animationType, animationDuration, callback) { var webview = getNativeApp().pageManager.findPageById(dialogPage.$vm.$basePage.id + ""); if (webview) { closeWebview(webview, animationType || "none", animationDuration || 0, callback); } } var $switchTab = (args, _ref) => { var { resolve, reject } = _ref; var { url } = args; var { path, query } = parseUrl(url); updateEntryPageIsReady(path); if (!entryPageState.isReady) { switchTabPagesBeforeEntryPages.push({ args, handler: { resolve, reject } }); return; } _switchTab({ url, path, query }).then(resolve).catch(reject); handleBeforeEntryPageRoutes(); }; var switchTab = /* @__PURE__ */ defineAsyncApi(API_SWITCH_TAB, $switchTab, SwitchTabProtocol, SwitchTabOptions); function _switchTab(_ref2) { var { url, path, query } = _ref2; var selected = getTabIndex(path); if (selected == -1) { return Promise.reject("tab ".concat(path, " not found")); } var pages2 = getCurrentBasePages(); switchSelect(selected, path, query); for (var index2 = pages2.length - 1; index2 >= 0; index2--) { var page = pages2[index2]; if (isTabPage(page)) { break; } closePage(page, "none"); } return Promise.resolve(); } var isLaunchWebviewReady = false; function subscribeWebviewReady(_data, pageId) { if (isLaunchWebviewReady) { return; } { isLaunchWebviewReady = true; } onLaunchWebviewReady(); } function onLaunchWebviewReady() { var entryPagePath = addLeadingSlash(__uniConfig.entryPagePath); var routeOptions = getRouteOptions(entryPagePath); var args = { url: entryPagePath + (__uniConfig.entryPageQuery || ""), openType: "appLaunch" }; var handler = { resolve() { }, reject() { } }; if (routeOptions.meta.isTabBar) { return $switchTab(args, handler); } return $navigateTo(args, handler); } function initSubscribeHandlers() { subscribeWebviewReady(); } function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n2) { return void e(n2); } i.done ? t(u) : Promise.resolve(u).then(r, o); } function _asyncToGenerator(n) { return function() { var t = this, e = arguments; return new Promise(function(r, o) { var a = n.apply(t, e); function _next(n2) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n2); } function _throw(n2) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n2); } _next(void 0); }); }; } function initOn(app) { app.addEventListener(ON_SHOW, /* @__PURE__ */ function() { var _ref = _asyncToGenerator(function* (event) { var _getCurrentPage; var app2 = getNativeApp(); var MAX_TIMEOUT = 200; function getNewIntent() { return new Promise((resolve, reject) => { var handleNewIntent = (newIntent) => { var _newIntent$appScheme, _newIntent$appLink; clearTimeout(timeout); app2.removeEventListener("onNewIntent", handleNewIntent); resolve({ appScheme: (_newIntent$appScheme = newIntent.appScheme) !== null && _newIntent$appScheme !== void 0 ? _newIntent$appScheme : null, appLink: (_newIntent$appLink = newIntent.appLink) !== null && _newIntent$appLink !== void 0 ? _newIntent$appLink : null }); }; var timeout = setTimeout(() => { app2.removeEventListener("onNewIntent", handleNewIntent); var appLink = { appScheme: null, appLink: null }; resolve(appLink); }, MAX_TIMEOUT); app2.addEventListener("onNewIntent", handleNewIntent); }); } var schemaLink = yield getNewIntent(); var showOptions = extend({ path: __uniConfig.entryPagePath }, schemaLink); setEnterOptionsSync(showOptions); var page = (_getCurrentPage = getCurrentPage()) === null || _getCurrentPage === void 0 ? void 0 : _getCurrentPage.vm; invokeHook(getApp().vm, ON_SHOW, showOptions); if (page) { invokeHook(page, ON_SHOW); } }); return function(_x) { return _ref.apply(this, arguments); }; }()); app.addEventListener(ON_HIDE, function() { var _getCurrentPage2; var page = (_getCurrentPage2 = getCurrentPage()) === null || _getCurrentPage2 === void 0 ? void 0 : _getCurrentPage2.vm; invokeHook(getApp().vm, ON_HIDE); if (page) { invokeHook(page, ON_HIDE); } }); } function initService(app) { initOn(app); } function initComponentInstance(app) { app.mixin({ beforeCreate() { var vm = this; var instance = vm.$; if (instance.type.mpType === "app") { return; } var pageId = instance.root.attrs.__pageId; vm.$nativePage = getNativeApp().pageManager.findPageById(pageId + ""); if (vm.$page) { vm.$page.__nativePageId = vm.$nativePage.pageId; } }, beforeMount() { var _vm$$options$styles; var vm = this; var instance = vm.$; if (instance.type.mpType === "app") { return; } loadFontFaceByStyles((_vm$$options$styles = vm.$options.styles) !== null && _vm$$options$styles !== void 0 ? _vm$$options$styles : [], false); } }); } var appCtx; var defaultApp = { globalData: {} }; class UniAppImpl { get vm() { return appCtx; } get $vm() { return appCtx; } get globalData() { var _appCtx; return ((_appCtx = appCtx) === null || _appCtx === void 0 ? void 0 : _appCtx.globalData) || {}; } getAndroidApplication() { return null; } } var $uniApp = new UniAppImpl(); var entryPageState = { isReady: false, handledBeforeEntryPageRoutes: false }; var navigateToPagesBeforeEntryPages = []; var switchTabPagesBeforeEntryPages = []; var redirectToPagesBeforeEntryPages = []; var reLaunchPagesBeforeEntryPages = []; function initAppVm(appVm) { appVm.$vm = appVm; appVm.$mpType = "app"; } function getApp$1() { return $uniApp; } function registerApp(appVm, nativeApp2) { initEntryPagePath(nativeApp2); setNativeApp(nativeApp2); initVueApp(appVm); appCtx = appVm; initAppVm(appCtx); extend(appCtx, defaultApp); defineGlobalData(appCtx, defaultApp.globalData); initService(nativeApp2); initGlobalEvent(nativeApp2); initAppLaunch(appVm); initAppError(appVm, nativeApp2); initSubscribeHandlers(); __uniConfig.ready = true; } function initApp(app) { initComponentInstance(app); } function initEntryPagePath(app) { var redirectInfo = app.getRedirectInfo(); var debugInfo = redirectInfo.get("debug"); if (debugInfo) { var url = debugInfo.get("url"); if (url && url != __uniConfig.entryPagePath) { __uniConfig.realEntryPagePath = __uniConfig.entryPagePath; var [path, query] = url.split("?"); __uniConfig.entryPagePath = path; if (query) { __uniConfig.entryPageQuery = "?".concat(query); } return; } } if (__uniConfig.conditionUrl) { __uniConfig.realEntryPagePath = __uniConfig.entryPagePath; var conditionUrl = __uniConfig.conditionUrl; var [_path, _query] = conditionUrl.split("?"); __uniConfig.entryPagePath = _path; if (_query) { __uniConfig.entryPageQuery = "?".concat(_query); } } } var $navigateTo = (args, _ref) => { var { resolve, reject } = _ref; var { url, events, animationType, animationDuration } = args; var { path, query } = parseUrl(url); var [aniType, aniDuration] = initAnimation$1(path, animationType, animationDuration); updateEntryPageIsReady(path); if (!entryPageState.isReady) { navigateToPagesBeforeEntryPages.push({ args, handler: { resolve, reject } }); return; } _navigateTo({ url, path, query, events, aniType, aniDuration }).then(resolve).catch(reject); handleBeforeEntryPageRoutes(); }; var navigateTo = /* @__PURE__ */ defineAsyncApi(API_NAVIGATE_TO, $navigateTo, NavigateToProtocol, NavigateToOptions); function _navigateTo(_ref2) { var _getCurrentPage; var { url, path, query, events, aniType, aniDuration } = _ref2; var currentPage = (_getCurrentPage = getCurrentPage()) === null || _getCurrentPage === void 0 ? void 0 : _getCurrentPage.vm; var currentRouteType = currentPage == null ? "appLaunch" : API_NAVIGATE_TO; invokeBeforeRouteHooks(currentRouteType); invokeHook(ON_HIDE); var eventChannel = new EventChannel(getWebviewId() + 1, events); return new Promise((resolve) => { var noAnimation = aniType === "none" || aniDuration === 0; function callback(page2) { showWebview(page2, aniType, aniDuration, () => { invokeAfterRouteHooks(currentRouteType); resolve({ eventChannel }); setStatusBarStyle(); }); } var page = registerPage( { url, path, query, openType: "navigateTo", eventChannel }, noAnimation ? void 0 : callback, // 有动画时延迟创建 vm noAnimation ? 0 : 1 ); if (noAnimation) { callback(page); } }); } function initAnimation$1(path, animationType, animationDuration) { if (!getCurrentPage()) { return ["none", 0]; } var { globalStyle } = __uniConfig; var meta = getRouteMeta(path); return [animationType || meta.animationType || globalStyle.animationType || ANI_SHOW, animationDuration || meta.animationDuration || globalStyle.animationDuration || ANI_DURATION]; } function isDirectPage(page) { return !!__uniConfig.realEntryPagePath && getRealPath(page.$basePage.route, true) === getRealPath(parseUrl(__uniConfig.entryPagePath).path, true); } function reLaunchEntryPage() { var _uniConfig$entryPage; __uniConfig.entryPagePath = __uniConfig.realEntryPagePath; __uniConfig.realEntryPagePath = ""; reLaunch({ url: (_uniConfig$entryPage = __uniConfig.entryPagePath) !== null && _uniConfig$entryPage !== void 0 && _uniConfig$entryPage.startsWith("/") ? __uniConfig.entryPagePath : "/" + __uniConfig.entryPagePath }); } var navigateBack = /* @__PURE__ */ defineAsyncApi(API_NAVIGATE_BACK, (args, _ref) => { var { resolve, reject } = _ref; var page = getCurrentPage().vm; if (!page) { return reject("getCurrentPages is empty"); } if ( // popGesture 时不触发 onBackPress 事件,避免引发半屏弹窗这种冲突情况 args.from !== "popGesture" ) { var onBackPressRes = invokeHook(page, ON_BACK_PRESS, { from: args.from || "navigateBack" }); if (onBackPressRes !== true) { var dialogPages = page.$page.getDialogPages(); if (dialogPages.length > 0) { var dialogPage = dialogPages[dialogPages.length - 1]; onBackPressRes = invokeHook(dialogPage.$vm, ON_BACK_PRESS, { from: args.from || "navigateBack" }); } } if (onBackPressRes === true) { return reject("cancel"); } } try { uni.hideToast(); uni.hideLoading(); } catch (error) { console.warn(error); } if (getPage$BasePage(page).meta.isQuit) ; else { if (isDirectPage(page)) { return reLaunchEntryPage(); } else { var { delta, animationType, animationDuration } = args; back(delta, animationType, animationDuration); } } return resolve(); }, NavigateBackProtocol, NavigateBackOptions); function back(delta, animationType, animationDuration) { var pages2 = getCurrentBasePages(); var len = pages2.length; var currentPage = pages2[len - 1]; if (delta > 1) { pages2.slice(len - delta, len - 1).reverse().forEach((deltaPage) => { var dialogPages2 = deltaPage.$page.getDialogPages(); for (var i2 = dialogPages2.length - 1; i2 >= 0; i2--) { var dialogPage2 = dialogPages2[i2]; closeNativeDialogPage(dialogPage2); } closeWebview(getNativeApp().pageManager.findPageById(deltaPage.$basePage.id + ""), "none", 0); }); } var backPage = function(webview2) { if (animationType) { animationDuration = animationDuration || ANI_DURATION; } else { if (currentPage.$basePage.openType === "redirectTo") { animationType = ANI_CLOSE; animationDuration = ANI_DURATION; } else { animationType = "auto"; } } closeWebview(webview2, animationType, animationDuration, () => { pages2.slice(len - delta, len).forEach((page) => removePage(page)); invokeHook(ON_SHOW); setStatusBarStyle(); }); }; var webview = getNativeApp().pageManager.findPageById(currentPage.$basePage.id + ""); var dialogPages = currentPage.$page.getDialogPages(); for (var i = dialogPages.length - 1; i >= 0; i--) { var dialogPage = dialogPages[i]; closeNativeDialogPage(dialogPage); if (i > 0) { invokeHook(dialogPages[i - 1].$vm, ON_SHOW); } } var systemDialogPages = currentPage.$systemDialogPages || []; for (var _i = 0; _i < systemDialogPages.length; _i++) { closeNativeDialogPage(systemDialogPages[_i]); } currentPage.$systemDialogPages = []; backPage(webview); } var openDialogPage = (options) => { var _options$success, _options$complete; var { url, animationType } = options; if (!options.url) { triggerFailCallback$1(options, "url is required"); return null; } var { path, query } = parseUrl(url); var normalizeUrl = createNormalizeUrl("navigateTo"); var errMsg = normalizeUrl(path, {}); if (errMsg) { triggerFailCallback$1(options, errMsg); return null; } var parentPage = options.parentPage || null; var currentPages = getCurrentPages(); if (parentPage) { if (currentPages.indexOf(parentPage) === -1) { triggerFailCallback$1(options, "parentPage is not a valid page"); return null; } } if (currentPages.length && !parentPage) { parentPage = currentPages[currentPages.length - 1]; } var dialogPage = new UniDialogPageImpl(); dialogPage.route = path; dialogPage.optionsByJS = query; dialogPage.getParentPage = () => parentPage; dialogPage.$component = null; dialogPage.$disableEscBack = false; var systemDialog = isSystemDialogPage(dialogPage); if (!systemDialog) { if (!parentPage) { homeDialogPages.push(dialogPage); } else { var dialogPages = parentPage.getDialogPages(); if (dialogPages.length) { invokeHook(dialogPages[dialogPages.length - 1].$vm, ON_HIDE); } dialogPages.push(dialogPage); } } else { if (!parentPage) { homeSystemDialogPages.push(dialogPage); if (isSystemActionSheetDialogPage(dialogPage)) { closePreActionSheet(homeSystemDialogPages); } } else { if (!parentPage.vm.$systemDialogPages) { parentPage.vm.$systemDialogPages = []; } parentPage.vm.$systemDialogPages.push(dialogPage); if (isSystemActionSheetDialogPage(dialogPage)) { closePreActionSheet(parentPage.vm.$systemDialogPages); } } } var [aniType, aniDuration] = initAnimation(path, animationType); var noAnimation = aniType === "none" || aniDuration === 0; function callback(page2) { showWebview(page2, aniType, aniDuration, () => { beforeRoute(); }); } var page = registerDialogPage( { url, path, query, openType: OPEN_DIALOG_PAGE }, dialogPage, noAnimation ? void 0 : callback, // 有动画时延迟创建 vm noAnimation ? 0 : 1 ); if (systemDialog) { dialogPage.__nativeType = "systemDialog"; } if (noAnimation) { callback(page); } var successOptions = { errMsg: "openDialogPage:ok" }; (_options$success = options.success) === null || _options$success === void 0 || _options$success.call(options, successOptions); (_options$complete = options.complete) === null || _options$complete === void 0 || _options$complete.call(options, successOptions); return dialogPage; }; function triggerFailCallback$1(options, errMsg) { var _options$fail, _options$complete2; var failOptions = new UniError("uni-openDialogPage", 4, "openDialogPage: fail, ".concat(errMsg)); (_options$fail = options.fail) === null || _options$fail === void 0 || _options$fail.call(options, failOptions); (_options$complete2 = options.complete) === null || _options$complete2 === void 0 || _options$complete2.call(options, failOptions); } function initAnimation(path, animationType) { if (!getCurrentPage()) { return ["none", 0]; } var { globalStyle } = __uniConfig; var meta = getRouteMeta(path); var _animationType = animationType || meta.animationType || globalStyle.animationType || ANI_SHOW; if (_animationType == "pop-in") { _animationType = "none"; } return [_animationType, meta.animationDuration || globalStyle.animationDuration || ANI_DURATION]; } function closePreActionSheet(dialogPages) { var actionSheets = dialogPages.filter((page) => isSystemActionSheetDialogPage(page)); if (actionSheets.length > 1) { setTimeout(() => { closeNativeDialogPage(actionSheets[0]); dialogPages.splice(dialogPages.indexOf(actionSheets[0]), 1); }, 150); } } var closeDialogPage = (options) => { var _options$success, _options$complete; var currentPages = getCurrentPages(); var currentPage = currentPages[currentPages.length - 1]; if (!currentPage) { triggerFailCallback(options, "currentPage is null"); return; } if ((options === null || options === void 0 ? void 0 : options.animationType) === "pop-out") { options.animationType = "none"; } if (options !== null && options !== void 0 && options.dialogPage) { var dialogPage = options === null || options === void 0 ? void 0 : options.dialogPage; if (!(dialogPage instanceof UniDialogPageImpl)) { triggerFailCallback(options, "dialogPage is not a valid page"); return; } var parentPage = dialogPage.getParentPage(); if (!isSystemDialogPage(dialogPage)) { if (parentPage && currentPages.indexOf(parentPage) !== -1) { var parentDialogPages = parentPage.getDialogPages(); var index2 = parentDialogPages.indexOf(dialogPage); parentDialogPages.splice(index2, 1); closeNativeDialogPage(dialogPage, (options === null || options === void 0 ? void 0 : options.animationType) || "none", (options === null || options === void 0 ? void 0 : options.animationDuration) || ANI_DURATION); if (index2 > 0 && index2 === parentDialogPages.length) { invokeHook(parentDialogPages[parentDialogPages.length - 1].$vm, ON_SHOW); } } else { triggerFailCallback(options, "dialogPage is not a valid page"); return; } } else { var systemDialogPages = parentPage.vm.$systemDialogPages; var _index = systemDialogPages.indexOf(dialogPage); systemDialogPages.splice(_index, 1); closeNativeDialogPage(dialogPage); return; } } else { var dialogPages = currentPage.getDialogPages(); for (var i = dialogPages.length - 1; i >= 0; i--) { closeNativeDialogPage(dialogPages[i], (options === null || options === void 0 ? void 0 : options.animationType) || "none", (options === null || options === void 0 ? void 0 : options.animationDuration) || ANI_DURATION); if (i > 0) { invokeHook(dialogPages[i - 1].$vm, ON_SHOW); } dialogPages[i] = null; } dialogPages.length = 0; } var successOptions = { errMsg: "closeDialogPage: ok" }; options === null || options === void 0 || (_options$success = options.success) === null || _options$success === void 0 || _options$success.call(options, successOptions); options === null || options === void 0 || (_options$complete = options.complete) === null || _options$complete === void 0 || _options$complete.call(options, successOptions); }; function triggerFailCallback(options, errMsg) { var _options$fail, _options$complete2; var failOptions = new UniError("uni-openDialogPage", 4, "openDialogPage: fail, ".concat(errMsg)); options === null || options === void 0 || (_options$fail = options.fail) === null || _options$fail === void 0 || _options$fail.call(options, failOptions); options === null || options === void 0 || (_options$complete2 = options.complete) === null || _options$complete2 === void 0 || _options$complete2.call(options, failOptions); } var setTabBarBadge = /* @__PURE__ */ defineAsyncApi(API_SET_TAB_BAR_BADGE, (_ref, _ref2) => { var { index: index2, text } = _ref; var { resolve, reject } = _ref2; var tabBar = getTabBar(); if (tabBar === null) { reject("tabBar is not exist"); return; } tabBar.setTabBarBadge(/* @__PURE__ */ new Map([["index", index2], ["text", text]])); resolve(); }, SetTabBarBadgeProtocol, SetTabBarBadgeOptions); var removeTabBarBadge = /* @__PURE__ */ defineAsyncApi(API_REMOVE_TAB_BAR_BADGE, (_ref, _ref2) => { var { index: index2 } = _ref; var { resolve, reject } = _ref2; var tabBar = getTabBar(); if (tabBar === null) { reject("tabBar is not exist"); return; } tabBar.removeTabBarBadge(/* @__PURE__ */ new Map([["index", index2]])); resolve(); }, RemoveTabBarBadgeProtocol, RemoveTabBarBadgeOptions); var setTabBarItem = /* @__PURE__ */ defineAsyncApi(API_SET_TAB_BAR_ITEM, (_ref, _ref2) => { var { index: index2, text, iconPath, selectedIconPath, pagePath, visible, iconfont } = _ref; var { resolve, reject } = _ref2; var tabBar = getTabBar(); if (tabBar === null) { reject("tabBar is not exist"); return; } var item = /* @__PURE__ */ new Map([["index", index2], ["text", text], ["iconPath", iconPath], ["selectedIconPath", selectedIconPath], ["pagePath", pagePath], ["visible", visible]]); if (!!iconfont) { var iconfontOptions = iconfont; var _iconfont = /* @__PURE__ */ new Map([["text", iconfontOptions.text], ["selectedText", iconfontOptions.selectedText], ["fontSize", iconfontOptions.fontSize], ["color", iconfontOptions.color], ["selectedColor", iconfontOptions.selectedColor]]); item.set("iconfont", _iconfont); } tabBar.setTabBarItem(item); resolve(); }, SetTabBarItemProtocol, SetTabBarItemOptions); var setTabBarStyle = /* @__PURE__ */ defineAsyncApi(API_SET_TAB_BAR_STYLE, (options, _ref) => { var { resolve, reject } = _ref; var tabBar = getTabBar(); if (tabBar === null) { reject("tabBar is not exist"); return; } var style = /* @__PURE__ */ new Map([["color", options.color], ["selectedColor", options.selectedColor], ["backgroundColor", options.backgroundColor], ["backgroundImage", options.backgroundImage], ["backgroundRepeat", options.backgroundRepeat], ["borderStyle", options.borderStyle], ["borderColor", options.borderColor]]); if (!!options.midButton) { var midButtonOptions = options.midButton; var midButton = /* @__PURE__ */ new Map([["width", midButtonOptions.width], ["height", midButtonOptions.height], ["iconPath", midButtonOptions.iconPath], ["text", midButtonOptions.text], ["iconPath", midButtonOptions.iconPath], ["iconWidth", midButtonOptions.iconWidth], ["backgroundImage", midButtonOptions.backgroundImage]]); if (!!midButtonOptions.iconfont) { var iconfontOptions = midButtonOptions.iconfont; var iconfont = /* @__PURE__ */ new Map([["text", iconfontOptions.text], ["selectedText", iconfontOptions.selectedText], ["fontSize", iconfontOptions.fontSize], ["color", iconfontOptions.color], ["selectedColor", iconfontOptions.selectedColor]]); midButton.set("iconfont", iconfont); } style.set("midButton", midButton); } fixBorderStyle(style); tabBar.setTabBarStyle(style); resolve(); }, SetTabBarStyleProtocol, SetTabBarStyleOptions); var hideTabBar = /* @__PURE__ */ defineAsyncApi(API_HIDE_TAB_BAR, (options, _ref) => { var { resolve, reject } = _ref; var tabBar = getTabBar(); if (tabBar === null) { reject("tabBar is not exist"); return; } tabBar.hideTabBar(/* @__PURE__ */ new Map([["animation", options === null || options === void 0 ? void 0 : options.animation]])); resolve(); }); var showTabBar = /* @__PURE__ */ defineAsyncApi(API_SHOW_TAB_BAR, (args, _ref) => { var { resolve, reject } = _ref; var tabBar = getTabBar(); var animation2 = args && args.animation; if (tabBar === null) { reject("tabBar is not exist"); return; } tabBar.showTabBar(/* @__PURE__ */ new Map([["animation", animation2]])); resolve(); }); var showTabBarRedDot = /* @__PURE__ */ defineAsyncApi(API_SHOW_TAB_BAR_RED_DOT, (_ref, _ref2) => { var { index: index2 } = _ref; var { resolve, reject } = _ref2; var tabBar = getTabBar(); if (tabBar === null) { reject("tabBar is not exist"); return; } tabBar.showTabBarRedDot(/* @__PURE__ */ new Map([["index", index2]])); resolve(); }, ShowTabBarRedDotProtocol, ShowTabBarRedDotOptions); var hideTabBarRedDot = /* @__PURE__ */ defineAsyncApi(API_HIDE_TAB_BAR_RED_DOT, (_ref, _ref2) => { var { index: index2 } = _ref; var { resolve, reject } = _ref2; var tabBar = getTabBar(); if (tabBar === null) { reject("tabBar is not exist"); return; } tabBar.hideTabBarRedDot(/* @__PURE__ */ new Map([["index", index2]])); resolve(); }, HideTabBarRedDotProtocol, HideTabBarRedDotOptions); var onTabBarMidButtonTap = (cb) => { onTabBarMidButtonTapCallback.push(cb); }; var setNavigationBarColor = /* @__PURE__ */ defineAsyncApi(API_SET_NAVIGATION_BAR_COLOR, (_ref, _ref2) => { var { frontColor, backgroundColor } = _ref; var { resolve, reject } = _ref2; var page = getCurrentPage(); if (!page) { return reject("getCurrentPages is empty"); } var appPage = page.vm.$nativePage; appPage.updateStyle(/* @__PURE__ */ new Map([["navigationBarTextStyle", frontColor == "#000000" ? "black" : "white"], ["navigationBarBackgroundColor", backgroundColor]])); resolve(); }, SetNavigationBarColorProtocol, SetNavigationBarColorOptions); var setNavigationBarTitle = /* @__PURE__ */ defineAsyncApi(API_SET_NAVIGATION_BAR_TITLE, (options, _ref) => { var { resolve, reject } = _ref; var page = getCurrentPage().vm; if (page == null) { reject("page is not ready"); return; } var appPage = page.$nativePage; appPage.updateStyle(/* @__PURE__ */ new Map([["navigationBarTitleText", options.title]])); resolve(); }); var getElementById = /* @__PURE__ */ defineSyncApi("getElementById", (id2) => { var _page$$el; var page = getCurrentPage().vm; if (page == null) { return null; } var bodyNode = (_page$$el = page.$el) === null || _page$$el === void 0 ? void 0 : _page$$el.parentNode; if (bodyNode == null) { console.warn("bodyNode is null"); return null; } return bodyNode.querySelector("#".concat(id2)); }); function isVueComponent(comp) { var has$instance = typeof comp.$ === "object"; var has$el = typeof comp.$el === "object"; return has$instance && has$el; } var isFunction = (val) => typeof val === "function"; class NodesRefImpl { constructor(selectorQuery, component, selector, single) { this._selectorQuery = selectorQuery; this._component = component; this._selector = selector; this._single = single; } boundingClientRect(callback) { var hasArg = callback === null || typeof callback === "function"; if (hasArg) { this._selectorQuery._push(this._selector, this._component, this._single, { id: true, dataset: true, rect: true, size: true }, callback); return this._selectorQuery; } else { return this.boundingClientRect(null); } } fields(fields, callback) { this._selectorQuery._push(this._selector, this._component, this._single, fields, callback); return this._selectorQuery; } scrollOffset(callback) { this._selectorQuery._push(this._selector, this._component, this._single, { id: true, dataset: true, scrollOffset: true }, callback); return this._selectorQuery; } context(callback) { this._selectorQuery._push(this._selector, this._component, this._single, { context: true }, callback); return this._selectorQuery; } /** * fields({node:true}) */ node(_callback) { this._selectorQuery._push(this._selector, this._component, this._single, { node: true }, _callback); return this._selectorQuery; } } class SelectorQueryImpl { constructor(component) { this._component = null; this._component = component; this._queue = []; this._queueCb = []; } exec(callback) { var _this$_component; (_this$_component = this._component) === null || _this$_component === void 0 || (_this$_component = _this$_component.$) === null || _this$_component === void 0 || _this$_component.$waitNativeRender(() => { requestComponentInfo(this._component, this._queue, (res) => { var queueCbs = this._queueCb; res.forEach((info, _index) => { var queueCb = queueCbs[_index]; if (isFunction(queueCb)) { queueCb(info); } }); if (callback && isFunction(callback)) { callback(res); } }); }); return this._nodesRef; } in(component) { if (isVueComponent(component)) { this._component = component; } return this; } select(selector) { this._nodesRef = new NodesRefImpl(this, this._component, selector, true); return this._nodesRef; } selectAll(selector) { this._nodesRef = new NodesRefImpl(this, this._component, selector, false); return this._nodesRef; } selectViewport() { this._nodesRef = new NodesRefImpl(this, null, "", true); return this._nodesRef; } _push(selector, component, single, fields, callback) { this._queue.push({ component, selector, single, fields }); this._queueCb.push(callback); } } class QuerySelectorHelper { constructor(element, vnode, fields) { this._element = element; this._commentStartVNode = vnode; this._fields = fields; } /** * entry */ static queryElement(element, selector, all, vnode, fields) { return new QuerySelectorHelper(element, vnode, fields).query(selector, all); } /** * 执行查询 * @param selector 选择器 * @param all 是否查询所有 selectAll * @returns */ query(selector, all) { if (this._element.nodeName == "#comment") { return this.queryFragment(this._element, selector, all); } else { return all ? this.querySelectorAll(this._element, selector) : this.querySelector(this._element, selector); } } queryFragment(el, selector, all) { var current = el.nextSibling; if (current == null) { return null; } if (all) { var result1 = []; while (true) { var queryResult = this.querySelectorAll(current, selector); if (queryResult != null) { result1.push(...queryResult); } current = current.nextSibling; if (current == null || this._commentStartVNode.anchor == current) { break; } } return result1; } else { var result2 = null; while (true) { result2 = this.querySelector(current, selector); current = current.nextSibling; if (result2 != null || current == null || this._commentStartVNode.anchor == current) { break; } } return result2; } } querySelector(element, selector) { var element2 = this.querySelf(element, selector); if (element2 == null) { element2 = element.querySelector(selector); } if (element2 != null) { return this.getNodeInfo(element2); } return null; } querySelectorAll(element, selector) { var nodesInfoArray = []; var element2 = this.querySelf(element, selector); if (element2 != null) { nodesInfoArray.push(this.getNodeInfo(element)); } var findNodes = element.querySelectorAll(selector); findNodes === null || findNodes === void 0 || findNodes.forEach((el) => { nodesInfoArray.push(this.getNodeInfo(el)); }); return nodesInfoArray; } querySelf(element, selector) { if (element == null || selector.length < 2) { return null; } var selectorType = selector.charAt(0); var selectorName = selector.slice(1); if (selectorType == "." && element.classList.includes(selectorName)) { return element; } if (selectorType == "#" && element.getAttribute("id") == selectorName) { return element; } if (selector.toUpperCase() == element.nodeName.toUpperCase()) { return element; } return null; } /** * 查询元素信息 * @param element * @returns */ getNodeInfo(element) { var _element$getAttribute; if (this._fields.node == true) { var nodeInfo2 = { node: element }; if (this._fields.size == true) { var rect2 = element.getBoundingClientRect(); nodeInfo2.width = rect2.width; nodeInfo2.height = rect2.height; } return nodeInfo2; } var rect = element.getBoundingClientRect(); var nodeInfo = { id: (_element$getAttribute = element.getAttribute("id")) === null || _element$getAttribute === void 0 ? void 0 : _element$getAttribute.toString(), dataset: null, left: rect.left, top: rect.top, right: rect.right, bottom: rect.bottom, width: rect.width, height: rect.height }; return nodeInfo; } } function requestComponentInfo(vueComponent, queue2, callback) { var result = []; var el = vueComponent === null || vueComponent === void 0 ? void 0 : vueComponent.$el; if (el != null) { queue2.forEach((item) => { var queryResult = QuerySelectorHelper.queryElement(el, item.selector, !item.single, vueComponent === null || vueComponent === void 0 ? void 0 : vueComponent.$.subTree, item.fields); if (queryResult != null) { result.push(queryResult); } }); } callback(result); } var createSelectorQuery = function() { var instance = getCurrentPage().vm; return new SelectorQueryImpl(instance); }; class CanvasContextImpl { constructor(element) { this._element = element; } // @ts-expect-error 类型不匹配 getContext(contextType) { return this._element.getContext(contextType); } toBlob(callback, type, quality) { throw new Error("Method not implemented."); } toDataURL(type, quality) { return this._element.toDataURL(type, quality); } createImage() { return new Image(); } createPath2D() { return new Path2D(); } requestAnimationFrame(callback) { return requestAnimationFrame(callback); } cancelAnimationFrame(taskId) { cancelAnimationFrame(taskId); } } var createCanvasContextAsync = /* @__PURE__ */ defineAsyncApi("createCanvasContextAsync", (options, _ref) => { var _options$component; var { resolve, reject } = _ref; var page = getCurrentPage().vm; if (page == null) { return null; } createSelectorQuery().in((_options$component = options.component) !== null && _options$component !== void 0 ? _options$component : null).select("#" + options.id).fields({ node: true }, (ret) => { var node = ret.node; if (node != null) { resolve(new CanvasContextImpl(node)); } else { var uniError = new UniError("uni-createCanvasContextAsync", -1, "canvas id invalid."); reject(uniError.errMsg); } }).exec(); }); function queryElementTop(component, selector) { var _component$$el; var scrollNode = (_component$$el = component.$el) === null || _component$$el === void 0 ? void 0 : _component$$el.querySelector(selector); if (scrollNode != null) { return scrollNode.getBoundingClientRect().top; } return null; } var pageScrollTo = /* @__PURE__ */ defineAsyncApi(API_PAGE_SCROLL_TO, (options, res) => { var currentPage = getCurrentPage().vm; var scrollViewNode = currentPage === null || currentPage === void 0 ? void 0 : currentPage.$el; if (scrollViewNode == null || scrollViewNode.tagName != "SCROLL-VIEW") { res.reject("selector invalid"); return; } var top = options.scrollTop; if (!!options.selector) { top = queryElementTop(currentPage, options.selector); if (top != null) { var currentScrollTop = scrollViewNode.scrollTop; top += currentScrollTop; } } if (top == null || top < 0) { res.reject("top or selector invalid"); return; } if (options.offsetTop != null) { top += options.offsetTop; } scrollViewNode.scrollTop = top; res.resolve(); }, PageScrollToProtocol, PageScrollToOptions); var SOURCE_REG = /(.+\.((ttf)|(otf)|(woff2?))$)|(^(http|https):\/\/.+)|(^(data:font).+)/; function removeUrlWrap(source) { if (source.startsWith("url(")) { if (source.split("format(").length > 1) { source = source.split("format(")[0].trim(); } source = source.substring(4, source.length - 1); } if (source.startsWith('"') || source.startsWith("'")) { source = source.substring(1, source.length - 1); } return source; } function checkOptionSource(options, res) { options.source = removeUrlWrap(options.source); if (!SOURCE_REG.test(options.source)) { res.reject("loadFontFace:fail, source is invalid.", 101); return false; } return true; } function getLoadFontFaceOptions(options, res) { return { family: options.family, source: options.source, success: (_) => { res.resolve(null); }, fail: (error) => { res.reject( // new LoadFontFaceErrorImpl( error.errMsg, error.errCode // ) ); } }; } var loadFontFace = /* @__PURE__ */ defineAsyncApi(API_LOAD_FONT_FACE, (options, res) => { if (options.global === true) { if (checkOptionSource(options, res)) { var app = getNativeApp(); var fontInfo = getLoadFontFaceOptions(options, res); app.loadFontFace(fontInfo); } } else { var page = getCurrentPage().vm; if (!page) { res.reject("page is not ready", 99); return; } if (page.$fontFamilySet.has(options.family)) { return; } if (checkOptionSource(options, res)) { page.$fontFamilySet.add(options.family); var _fontInfo = getLoadFontFaceOptions(options, res); page.$nativePage.loadFontFace(_fontInfo); } } }); var startPullDownRefresh = /* @__PURE__ */ defineAsyncApi(API_START_PULL_DOWN_REFRESH, (_options, res) => { var page = getCurrentPage().vm; if (page === null) { res.reject("page is not ready"); return; } page.$nativePage.startPullDownRefresh({ success: res.resolve, fail: res.reject }); }); var stopPullDownRefresh = /* @__PURE__ */ defineAsyncApi(API_STOP_PULL_DOWN_REFRESH, (_args, res) => { var page = getCurrentPage().vm; if (page === null) { res.reject("page is not ready"); return; } page.$nativePage.stopPullDownRefresh(); res.resolve(); }); var defaultPoi = { latitude: 39.908823, longitude: 116.39747 }; var languageData = { "en": { "back": "cancel", "ok": "ok", "cancel": "cancel", "loading": "loading...", "locationLoading": "positioning...", "search": "Search location", "current-location": "current location" }, "zh-Hans": { "back": "取消", "ok": "确定", "cancel": "取消", "loading": "请求中...", "locationLoading": "获取定位中...", "search": "搜索地点", "current-location": "当前位置" }, "zh-Hant": { "back": "取消", "ok": "確定", "cancel": "取消", "loading": "請求中...", "locationLoading": "獲取定位中...", "search": "蒐索地點", "current-location": "當前位置" } }; var loadingPath = "data:image/gif;base64,R0lGODlhLAEsAaIFAMPDw/j4+J2dneHh4aWlpf///wAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtYTVAgRGF0YVhNUDw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDkuMC1jMDAwIDc5LjE3MWMyN2ZhYiwgMjAyMi8wOC8xNi0yMjozNTo0MSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDI0LjAgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjIxOTdCRjQ2MEQ2MTFFRUI1NjJFQzJFRDFFNUYwODYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjIxOTdCRjU2MEQ2MTFFRUI1NjJFQzJFRDFFNUYwODYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyMzMzNjFGRjYwRDMxMUVFQjU2MkVDMkVEMUU1RjA4NiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyMzMzNjIwMDYwRDMxMUVFQjU2MkVDMkVEMUU1RjA4NiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV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"; const _sfc_main = { data() { var id1 = "UniMap1_".concat((Math.random() * 1e6).toString(36)); var id2 = "UniMap2_".concat((Math.random() * 1e6).toString(36)); var id3 = "UniMap3_".concat((Math.random() * 1e6).toString(36)); return { readyEventName: "", optionsEventName: "", successEventName: "", failEventName: "", mapId: id1, mapTargetId: id2, scrollId: id3, isFocus: false, latitude: 0, longitude: 0, locationComplete: false, locationLoading: false, chooseLocationOptions: {}, pageIndex: 1, pageSize: 20, pois: [], selected: -1, searchValue: "", safeArea: { top: 0, bottom: 0, left: 0, right: 0 }, icon: { target: "", success: "", position: "", search: "" }, lastTime: 0, searchLoading: false, language: "zh-Hans", scrollTop: 0, isLandscape: false, theme: "light", searchValueChangeTimer: -1, lastPoi: { latitude: null, longitude: null, selected: -1, pois: [], scrollTop: 0 }, errMsg: "", callUniMapCoErr: false, useUniCloud: true, loadingPath, mapHeight: 350 }; }, onLoad(options) { this.checkUniCloud(); this.initPageOptions(options); this.getSystemInfo(); this.getLocation(); }, onReady() { }, onUnload() { uni.$off(this.optionsEventName, null); uni.$off(this.readyEventName, null); uni.$off(this.successEventName, null); uni.$off(this.failEventName, null); }, onResize() { this.getSystemInfo(); }, methods: { checkUniCloud() { if (typeof uniCloud == "undefined") { this.errMsg = "uni.chooseLocation 依赖 uniCloud 的 uni-map-common 插件,请先关联服务空间,并安装 uni-map-common 插件,插件地址:https://ext.dcloud.net.cn/plugin?id=13872"; this.useUniCloud = false; console.error(this.errMsg); } }, initPageOptions(options) { this.readyEventName = options["readyEventName"]; this.optionsEventName = options["optionsEventName"]; this.successEventName = options["successEventName"]; this.failEventName = options["failEventName"]; uni.$on(this.optionsEventName, (data) => { if (data["latitude"] != null) { this.chooseLocationOptions.latitude = data["latitude"]; } if (data["longitude"] != null) { this.chooseLocationOptions.longitude = data["longitude"]; } if (data["keyword"] != null) { var keyword = data["keyword"]; this.chooseLocationOptions.keyword = keyword; this.searchValue = keyword; } else { this.chooseLocationOptions.keyword = ""; } if (data["payload"] != null) { this.chooseLocationOptions.payload = data["payload"]; } }); uni.$emit(this.readyEventName, {}); }, getLocation() { if (this.chooseLocationOptions.latitude != null && this.chooseLocationOptions.longitude != null) { this.latitude = this.chooseLocationOptions.latitude; this.longitude = this.chooseLocationOptions.longitude; this.locationComplete = true; this.getPoi("getLocation"); } else { this.locationLoading = true; uni.getLocation({ type: "gcj02", success: (res) => { this.latitude = res.latitude; this.longitude = res.longitude; this.locationComplete = true; this.locationLoading = false; this.getPoi("getLocation"); }, fail: (err) => { console.error("getLocationErr: ", err); this.latitude = defaultPoi.latitude; this.longitude = defaultPoi.longitude; this.locationComplete = true; this.locationLoading = false; this.getPoi("getLocation"); } }); } }, distanceHandle(distance) { if (distance < 1e3) { return distance + "m"; } else { return parseFloat((distance / 1e3).toFixed(2)) + "km"; } }, poiHandle(pois) { var list = pois.map((item, index2) => { var location = item["location"]; var distance = item["distance"]; var latitude = location["lat"]; var longitude = location["lng"]; if (distance == 0) { latitude = this.latitude; longitude = this.longitude; } return { title: item["title"], address: item["address"], distance, distanceStr: this.distanceHandle(distance), location: { latitude, longitude } }; }); var pageIndex = this.pageIndex; if (pageIndex == 1) { this.pois = list; this.updateScrollTop(0); } else { this.pois = this.pois.concat(list); } }, callUniMapCo(action, data) { var promise = new Promise((resolve, reject) => { if (this.useUniCloud == false) { reject(this.errMsg); return; } this.errMsg = ""; var uniMapCo = uniCloud.importObject("uni-map-co", { customUI: true }); var chooseLocationData = { action, data }; if (this.chooseLocationOptions.payload != null) { chooseLocationData["payload"] = this.chooseLocationOptions.payload; } uniMapCo.chooseLocation(chooseLocationData).then((res) => { resolve(res); }).catch((err) => { if (err instanceof UniCloudError) { var cloudError = err; var errCode = cloudError.errCode; var errMsg = cloudError.errMsg; var errSubject = cloudError.errSubject; if (errMsg.indexOf("在云端不存在") > -1 || errMsg.indexOf("未匹配") > -1) { this.errMsg = "uni.chooseLocation 依赖 uniCloud 的 uni-map-common 插件,请安装 uni-map-common 插件,插件地址:https://ext.dcloud.net.cn/plugin?id=13872"; console.error(this.errMsg); } else { this.errMsg = errMsg; console.error("获取POI信息失败," + JSON.stringify({ errCode, errMsg, errSubject })); } } reject(err); }); }); promise.then((res) => { this.callUniMapCoErr = false; }).catch((err) => { this.callUniMapCoErr = true; }); return promise; }, getPoi(type) { var searchValue = this.searchValue; var latitude = this.latitude; var longitude = this.longitude; var pageIndex = this.pageIndex; var pageSize = this.pageSize; if (["searchValueChange"].indexOf(type) == -1) { this.searchLoading = true; } if (searchValue != "" && searchValue.length > 0) { this.callUniMapCo("search", { keyword: searchValue, location: { lat: latitude, lng: longitude }, radius: 5e3, auto_extend: 1, orderby: "weight", page_index: pageIndex, page_size: pageSize }).then((res) => { var _res$getJSON; var pois = (_res$getJSON = res.getJSON("result")) === null || _res$getJSON === void 0 || (_res$getJSON = _res$getJSON.getJSON("result")) === null || _res$getJSON === void 0 ? void 0 : _res$getJSON.getArray("data"); this.poiHandle(pois); this.searchLoading = false; }).catch((err) => { this.searchLoading = false; }); } else { this.callUniMapCo("location2address", { location: "".concat(latitude, ",").concat(longitude), get_poi: 1, poi_options: { radius: 3e3, policy: pageIndex == 1 ? 3 : 4, roadlevel: 1, homeorcorp: 1, page_index: pageIndex, page_size: pageSize } }).then((res) => { var _res$getJSON2; var pois = (_res$getJSON2 = res.getJSON("result")) === null || _res$getJSON2 === void 0 || (_res$getJSON2 = _res$getJSON2.getJSON("result")) === null || _res$getJSON2 === void 0 ? void 0 : _res$getJSON2.getArray("pois"); this.poiHandle(pois); if (this.pois.length > 0 && pageIndex == 1) { var poi = this.pois[0]; if (poi.distance > 0) { var poi1 = poi.location; var poi2 = { latitude: this.latitude, longitude: this.longitude }; var distance = poi.distance; var direction = this.calcDirection(poi1, poi2); if (poi.address.indexOf("米") == -1) { var suffix = "向".concat(direction).concat(distance, "米"); var newPoi = { title: "".concat(poi.title).concat(suffix), address: "".concat(poi.address).concat(suffix), distance: 0, distanceStr: this.distanceHandle(distance), location: poi2 }; this.pois.unshift(newPoi); } } if (this.selected == -1) { this.selected = 0; this.lastPoi.latitude = this.latitude; this.lastPoi.longitude = this.longitude; this.lastPoi.selected = this.selected; this.lastPoi.pois = this.pois; } } this.searchLoading = false; }).catch((err) => { this.searchLoading = false; }); } }, calcDirection(poi1, poi2) { var toRadians = (angle2) => angle2 * (Math.PI / 180); var toDegrees = (angle2) => angle2 * (180 / Math.PI); var lat1 = toRadians(poi1.latitude); var lon1 = toRadians(poi1.longitude); var lat2 = toRadians(poi2.latitude); var lon2 = toRadians(poi2.longitude); var dLon = lon2 - lon1; var y = Math.sin(dLon) * Math.cos(lat2); var x = Math.cos(lat1) * Math.sin(lat2) - Math.sin(lat1) * Math.cos(lat2) * Math.cos(dLon); var angleRadians = Math.atan2(y, x); var angle = toDegrees(angleRadians); angle = (angle + 360) % 360; if (angle < 22.5 || angle >= 337.5) { return "北"; } else if (angle >= 22.5 && angle < 67.5) { return "东北"; } else if (angle >= 67.5 && angle < 112.5) { return "东"; } else if (angle >= 112.5 && angle < 157.5) { return "东南"; } else if (angle >= 157.5 && angle < 202.5) { return "南"; } else if (angle >= 202.5 && angle < 247.5) { return "西南"; } else if (angle >= 247.5 && angle < 292.5) { return "西"; } else { return "西北"; } }, getSystemInfo() { var info = uni.getWindowInfo(); this.safeArea.top = info.safeAreaInsets.top; this.safeArea.bottom = info.safeAreaInsets.bottom; this.safeArea.left = info.safeAreaInsets.left; this.safeArea.right = info.safeAreaInsets.right; var screenHeight = info.screenHeight; this.mapHeight = (screenHeight - this.safeArea.top - this.safeArea.bottom) * 0.6; var systemInfo = uni.getSystemInfoSync(); var appLanguage = systemInfo.appLanguage; this.language = appLanguage; var osTheme = systemInfo.osTheme; var appTheme = systemInfo.appTheme; if (appTheme != null && appTheme != "auto") { this.theme = appTheme; } else if (osTheme != null) { this.theme = osTheme; } this.isLandscape = systemInfo.deviceOrientation == "landscape"; }, getMapContext() { return uni.createMapContext(this.mapId, this); }, regionchange(e) { var causedBy = e.causedBy; if (e.type !== "end" || causedBy != "drag" || this.locationComplete == false) { return; } var mapContext = this.getMapContext(); if (mapContext != null) { mapContext.getCenterLocation({ success: (res) => { var latitudeDiff = Math.abs(res.latitude - this.latitude); var longitudeDiff = Math.abs(res.longitude - this.longitude); if (latitudeDiff > 1e-6 || longitudeDiff > 1e-6) { this.latitude = parseFloat(res.latitude.toFixed(6)); this.longitude = parseFloat(res.longitude.toFixed(6)); this.searchValue = ""; this.selected = -1; this.pageIndex = 1; this.getPoi("regionchange"); var element = this.$refs[this.mapTargetId]; if (element != null) { var duration = 250; element.style.setProperty("transition-duration", "".concat(duration, "ms")); element.style.setProperty("transform", "translateY(0px)"); element.style.setProperty("transform", "translateY(-15px)"); setTimeout(() => { element.style.setProperty("transform", "translateY(0px)"); }, duration); } } } }); } }, clearSearchValueChangeTimer() { if (this.searchValueChangeTimer != -1) { clearTimeout(this.searchValueChangeTimer); this.searchValueChangeTimer = -1; } }, searchValueChange(e) { this.clearSearchValueChangeTimer(); this.searchValueChangeTimer = setTimeout(() => { this.poiSearch("searchValueChange"); }, 200); }, poiSearch(type) { this.clearSearchValueChangeTimer(); this.pageIndex = 1; this.selected = -1; this.getPoi(type); }, cancelSearch() { this.isFocus = false; this.searchValue = ""; if (this.lastPoi.latitude != null) { this.latitude = this.lastPoi.latitude; } if (this.lastPoi.longitude != null) { this.longitude = this.lastPoi.longitude; } if (this.lastPoi.pois.length - 1 > this.lastPoi.selected) { this.pois = this.lastPoi.pois; this.selected = this.lastPoi.selected; this.updateScrollTop(this.lastPoi.scrollTop); } else { this.poiSearch("cancelSearch"); } }, updateScrollTop(scrollTop) { setTimeout(() => { this.scrollTop = scrollTop; }, 10); }, selectPoi(item, index2) { this.isFocus = false; this.selected = index2; this.latitude = item.location.latitude; this.longitude = item.location.longitude; if (this.searchValue == this.chooseLocationOptions.keyword) { this.lastPoi.latitude = this.latitude; this.lastPoi.longitude = this.longitude; this.lastPoi.selected = this.selected; this.lastPoi.pois = this.pois; var scrollElement = this.$refs[this.scrollId]; if (scrollElement != null) { var scrollTop = scrollElement.scrollTop; this.lastPoi.scrollTop = scrollTop; this.scrollTop = scrollTop; } } }, scrolltolower() { this.pageIndex++; this.getPoi("scrolltolower"); }, mapReset() { this.isFocus = false; this.pageIndex = 1; this.getLocation(); }, closeDialogPage() { uni.closeDialogPage({ dialogPage: this.$page }); }, back() { uni.$emit(this.failEventName, 1); this.closeDialogPage(); }, confirm() { if (this.selected < 0) { if (this.callUniMapCoErr) { uni.$emit(this.successEventName, { name: "", address: "", latitude: parseFloat(this.latitude.toFixed(6)), longitude: parseFloat(this.longitude.toFixed(6)) }); this.closeDialogPage(); } return; } var item = this.pois[this.selected]; var res = { name: item.title, address: item.address, latitude: item.location.latitude, longitude: item.location.longitude }; uni.$emit(this.successEventName, res); this.closeDialogPage(); } }, computed: { languageCom() { var textInfo = languageData[this.language] != null ? languageData[this.language] : languageData["zh-Hans"]; return textInfo; }, uniChooseLocationClassCom() { var list = []; if (this.theme == "dark") { list.push("uni-choose-location-dark"); } else { list.push("uni-choose-location-light"); } return list.join(" "); }, landscapeClassCom() { return this.isLandscape ? "uni-choose-location-landscape" : "uni-choose-location-vertical"; }, mapBoxStyleCom() { var list = []; if (!this.useUniCloud) { list.push("flex: 1;"); } if (!this.isLandscape) { var top = this.isFocus ? (300 - this.mapHeight) / 2 : 0; list.push("transform:translateY(".concat(top, "px);")); list.push("height:".concat(this.mapHeight, "px;")); } return list.join(""); }, poiBoxStyleCom() { var list = []; if (!this.isLandscape) { var top = this.isFocus ? 300 : this.mapHeight; list.push("top:".concat(top, "px;")); } return list.join(""); }, resetStyleCom() { var list = []; if (!this.isLandscape) { var bottom = this.isFocus ? (this.mapHeight - 300) / 2 + 300 - this.mapHeight : 0; list.push("transform:translateY(".concat(bottom, "px);")); } return list.join(""); } } }; const _style_0 = { "uni-choose-location-icons": { "": { "fontFamily": "UniChooseLocationFontFamily", "fontSize": 16, "fontStyle": "normal" } }, "uni-choose-location": { "": { "position": "relative", "left": 0, "top": 0, "width": "100%", "height": "100%", "backgroundImage": "none", "backgroundColor": "#f8f8f8", "zIndex": 999 } }, "uni-choose-location-map-box": { "": { "position": "relative", "width": "100%", "height": 350 }, ".uni-choose-location-vertical": { "transitionProperty": "transform", "transitionDuration": "0.25s", "transitionTimingFunction": "ease-out" }, ".uni-choose-location .uni-choose-location-landscape": { "height": "100%" } }, "uni-choose-location-map": { "": { "width": "100%", "height": "100%" } }, "uni-choose-location-map-target": { "": { "position": "absolute", "left": "50%", "bottom": "50%", "width": 50, "height": 50, "marginLeft": -25, "transitionProperty": "transform", "transitionDuration": "0.25s", "transitionTimingFunction": "ease-out" } }, "uni-choose-location-map-target-icon": { "": { "fontSize": 50, "color": "#f0493e" } }, "uni-choose-location-map-reset": { "": { "position": "absolute", "left": 20, "bottom": 40, "width": 40, "height": 40, "boxSizing": "border-box", "backgroundColor": "#ffffff", "borderRadius": 20, "pointerEvents": "auto", "boxShadow": "0px 0px 20px 2px rgba(0, 0, 0, .3)", "zIndex": 9, "display": "flex", "justifyContent": "center", "alignItems": "center" }, ".uni-choose-location-vertical": { "transitionProperty": "transform", "transitionDuration": "0.25s", "transitionTimingFunction": "ease-out" }, ".uni-choose-location .uni-choose-location-landscape": { "left": 40, "bottom": 40 }, ".uni-choose-location-dark ": { "backgroundColor": "#111111", "boxShadow": "0px 0px 5px 1px rgba(0, 0, 0, .3)" } }, "uni-choose-location-map-reset-icon": { "": { "fontSize": 26, "textAlign": "center", "lineHeight": "40px" }, ".uni-choose-location-dark ": { "color": "#d1d1d1" } }, "uni-choose-location-nav": { "": { "position": "absolute", "top": 0, "left": 0, "width": "100%", "height": 60, "backgroundColor": "rgba(0,0,0,0)", "backgroundImage": "linear-gradient(to bottom, rgba(0, 0, 0, .6), rgba(0, 0, 0, 0))" } }, "uni-choose-location-nav-btn": { "": { "position": "absolute", "top": 5, "left": 5, "width": 64, "height": 44, "paddingTop": 5, "paddingRight": 5, "paddingBottom": 5, "paddingLeft": 5 }, ".uni-choose-location-nav-confirm-btn": { "left": "auto", "right": 5 }, ".uni-choose-location-nav-confirm-btn.active:active": { "opacity": 0.7 }, ".uni-choose-location-nav-confirm-btn.disable": { "opacity": 0.4 }, ".uni-choose-location .uni-choose-location-landscape": { "top": 10, "left": 20 }, ".uni-choose-location .uni-choose-location-nav-confirm-btn.uni-choose-location-landscape": { "left": "auto", "right": 20 } }, "uni-choose-location-nav-confirm-text": { ".uni-choose-location-nav-btn.uni-choose-location-nav-confirm-btn ": { "backgroundColor": "#007aff", "borderRadius": 5 } }, "uni-choose-location-nav-back-text": { ".uni-choose-location-nav-btn.uni-choose-location-nav-back-btn ": { "color": "#ffffff" } }, "uni-choose-location-nav-text": { "": { "paddingTop": 8, "paddingRight": 0, "paddingBottom": 8, "paddingLeft": 0, "fontSize": 14, "textAlign": "center", "color": "#ffffff" } }, "uni-choose-location-poi": { "": { "position": "absolute", "top": 350, "width": "100%", "bottom": 0, "backgroundColor": "#ffffff", "zIndex": 10 }, ".uni-choose-location-vertical": { "transitionProperty": "top", "transitionDuration": "0.25s", "transitionTimingFunction": "ease-out" }, ".uni-choose-location .uni-choose-location-landscape": { "position": "absolute", "top": 80, "right": 25, "width": 300, "bottom": 20, "maxHeight": 600, "boxShadow": "0px 0px 20px 2px rgba(0, 0, 0, .3)", "borderRadius": 5 }, ".uni-choose-location-dark ": { "backgroundColor": "#181818" } }, "uni-choose-location-poi-search": { "": { "display": "flex", "flexDirection": "row", "alignItems": "center", "justifyContent": "center", "height": 50, "paddingTop": 8, "paddingRight": 8, "paddingBottom": 8, "paddingLeft": 8, "backgroundColor": "#ffffff" }, ".uni-choose-location-dark ": { "backgroundColor": "#181818" } }, "uni-choose-location-poi-search-box": { "": { "display": "flex", "flexDirection": "row", "alignItems": "center", "justifyContent": "center", "height": 32, "flex": 1, "borderRadius": 5, "paddingTop": 0, "paddingRight": 15, "paddingBottom": 0, "paddingLeft": 15, "backgroundColor": "#ededed" }, ".uni-choose-location-dark ": { "backgroundColor": "#111111" } }, "uni-choose-location-poi-search-input": { "": { "flex": 1, "height": "100%", "borderRadius": 5, "paddingTop": 0, "paddingRight": 5, "paddingBottom": 0, "paddingLeft": 5, "backgroundImage": "none", "backgroundColor": "#ededed" }, ".uni-choose-location-dark ": { "backgroundImage": "none", "backgroundColor": "#111111", "color": "#d1d1d1" } }, "uni-choose-location-poi-search-cancel": { "": { "marginLeft": 5, "color": "#007aff", "fontSize": 15, "textAlign": "center" } }, "uni-choose-location-poi-list": { "": { "flex": 1 } }, "uni-choose-location-poi-search-loading": { "": { "display": "flex", "alignItems": "center", "paddingTop": 10, "paddingRight": 0, "paddingBottom": 10, "paddingLeft": 0 } }, "uni-choose-location-poi-search-loading-text": { "": { "color": "#191919" }, ".uni-choose-location-dark ": { "color": "#d1d1d1" } }, "uni-choose-location-poi-search-error": { "": { "display": "flex", "alignItems": "center", "paddingTop": 10, "paddingRight": 10, "paddingBottom": 10, "paddingLeft": 10 } }, "uni-choose-location-poi-search-error-text": { "": { "color": "#191919", "fontSize": 14 } }, "uni-choose-location-poi-item": { "": { "position": "relative", "paddingTop": 15, "paddingRight": 40, "paddingBottom": 15, "paddingLeft": 10 }, ".uni-choose-location .uni-choose-location-landscape": { "paddingTop": 10, "paddingRight": 10, "paddingBottom": 10, "paddingLeft": 10 } }, "uni-choose-location-poi-item-title-text": { "": { "fontSize": 14, "overflow": "hidden", "whiteSpace": "nowrap", "textOverflow": "ellipsis", "color": "#191919" }, ".uni-choose-location-dark ": { "color": "#d1d1d1" } }, "uni-choose-location-poi-item-detail-text": { "": { "fontSize": 12, "marginTop": 5, "color": "#b2b2b2", "overflow": "hidden", "whiteSpace": "nowrap", "textOverflow": "ellipsis" }, ".uni-choose-location-dark ": { "color": "#595959" } }, "uni-choose-location-poi-item-selected-icon": { "": { "position": "absolute", "top": "50%", "right": 10, "width": 26, "height": 26, "marginTop": -13, "color": "#007aff", "fontSize": 24 } }, "uni-choose-location-poi-item-after": { "": { "position": "absolute", "height": 1, "left": 10, "bottom": 0, "right": 10, "width": "auto", "borderBottomWidth": 1, "borderBottomStyle": "solid", "borderBottomColor": "#f8f8f8" }, ".uni-choose-location-dark ": { "borderBottomWidth": 1, "borderBottomStyle": "solid", "borderBottomColor": "#1e1e1e" } }, "uni-choose-location-search-icon": { "": { "color": "#808080", "paddingLeft": 5 }, ".uni-choose-location-dark ": { "color": "#d1d1d1" } }, "uni-choose-location-poi-search-loading-image": { "": { "width": 30, "height": 30 } }, "@FONT-FACE": [{ "fontFamily": "UniChooseLocationFontFamily", "src": "url('data:font/ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwR1NVQiCLJXoAAAE4AAAAVE9TLzI8Rkp9AAABjAAAAGBjbWFw0euemwAAAgAAAAGyZ2x5ZuUB/iAAAAPAAAACsGhlYWQp23fyAAAA4AAAADZoaGVhB94DhgAAALwAAAAkaG10eBQAAAAAAAHsAAAAFGxvY2EBUAG+AAADtAAAAAxtYXhwARIAfQAAARgAAAAgbmFtZUTMSfwAAAZwAAADS3Bvc3RLRtf0AAAJvAAAAFIAAQAAA4D/gABcBAAAAAAABAAAAQAAAAAAAAAAAAAAAAAAAAUAAQAAAAEAAIZo1N5fDzz1AAsEAAAAAADjXhn6AAAAAONeGfoAAP+ABAADgQAAAAgAAgAAAAAAAAABAAAABQBxAAMAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKADAAPgACREZMVAAObGF0bgAaAAQAAAAAAAAAAQAAAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAQEAAGQAAUAAAKJAswAAACPAokCzAAAAesAMgEIAAACAAUDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBmRWQAwOYx560DgP+AAAAD3ACAAAAAAQAAAAAAAAAAAAAAAAACBAAAAAQAAAAEAAAABAAAAAQAAAAAAAAFAAAAAwAAACwAAAAEAAABcgABAAAAAABsAAMAAQAAACwAAwAKAAABcgAEAEAAAAAKAAgAAgAC5jHmU+aD563//wAA5jHmU+aD563//wAAAAAAAAAAAAEACgAKAAoACgAAAAIAAwAEAAEAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAEAAAAAAAAAABAAA5jEAAOYxAAAAAgAA5lMAAOZTAAAAAwAA5oMAAOaDAAAABAAA560AAOetAAAAAQAAAAAAAABIAGYBCAFYAAIAAP/SA4cDNgAdACoAACUGBwYnLgEnJjc+ATc2Fx4BFxYHBgcXHgEOAiYnJTI+ATQuASIOARQeAQJlSFdVT1FsDQwdHodWU1JTeBQUFhc+7AUFBAsPEAX+T0uASkqAln9LS3/MMwkIICKLV1RQUnMQEBoagVZTUlU+7AYPDwsEBAbrSoCWf0tLf5aASgAAAAEAAAAAA8ACyAANAAATNwU3Njc2NxcHBgcGB0A5AQdAVGaPnxdXbWuWfAGPN986TFl8hTpVbG6aiQAAAAMAAP+ABAADgQAzAGcAcAAAAQYHBgcGBxUUBi4BPQEmJyYnJicjIiY+ATsBNjc2NzY3NTQ2MhYdARYXFhcWFzM2HgEGKwIiJj4BOwEmJyYnJicVFAYiJj0BBgcGBwYHMzYeAQYrARYXFhcWFzU0Nh4BHQE2NzY3NiUiJjQ2MhYUBgOyBjk3WlxtDxUPbF1aNzgGNAsPAQ4LNAY4N1pdbA8VD21cWjc5BjMLDwEPC2eaCg8BDgqaBjIwT1BfDxUPXlFOMTEGmAsPAQ8LmQYxMU5RXhAVDl9QTzAy/ocWHR0rHh4BZmxdWjc4BzMLDwEOCzMHODdaXWwQFA9tXFo3OQY0ChAOCzUGOTdaXG0BDxUQEBQPX1BPMDEHmQsODwqZBzEwT1BfAQ8VEF5RTjExBpgLDwEOC5gGMTFOUUUdKx4eKx0AAAMAAP+BAyoDfgAIACYAMwAABRQWMjY0JiIGExEUBisBIiY1ES4BJyY1NDc2NzYyFxYXFhUUBw4BAwYeAj4BNC4CDgEBwCU1JiY1JWoGBEAEB0d1ISIpJ0RFokVEJykiIXX9AiRATEImJT9KQCdUEhkZIxkZAXH+iAQGBgQBeApTP0FJUUVEJykpJ0RFUUlBP1MBIiZDJwImQks/JQEjPQAAABIA3gABAAAAAAAAABMAAAABAAAAAAABABsAEwABAAAAAAACAAcALgABAAAAAAADABsANQABAAAAAAAEABsAUAABAAAAAAAFAAsAawABAAAAAAAGABsAdgABAAAAAAAKACsAkQABAAAAAAALABMAvAADAAEECQAAACYAzwADAAEECQABADYA9QADAAEECQACAA4BKwADAAEECQADADYBOQADAAEECQAEADYBbwADAAEECQAFABYBpQADAAEECQAGADYBuwADAAEECQAKAFYB8QADAAEECQALACYCR0NyZWF0ZWQgYnkgaWNvbmZvbnRVbmlDaG9vc2VMb2NhdGlvbkZvbnRGYW1pbHlSZWd1bGFyVW5pQ2hvb3NlTG9jYXRpb25Gb250RmFtaWx5VW5pQ2hvb3NlTG9jYXRpb25Gb250RmFtaWx5VmVyc2lvbiAxLjBVbmlDaG9vc2VMb2NhdGlvbkZvbnRGYW1pbHlHZW5lcmF0ZWQgYnkgc3ZnMnR0ZiBmcm9tIEZvbnRlbGxvIHByb2plY3QuaHR0cDovL2ZvbnRlbGxvLmNvbQBDAHIAZQBhAHQAZQBkACAAYgB5ACAAaQBjAG8AbgBmAG8AbgB0AFUAbgBpAEMAaABvAG8AcwBlAEwAbwBjAGEAdABpAG8AbgBGAG8AbgB0AEYAYQBtAGkAbAB5AFIAZQBnAHUAbABhAHIAVQBuAGkAQwBoAG8AbwBzAGUATABvAGMAYQB0AGkAbwBuAEYAbwBuAHQARgBhAG0AaQBsAHkAVQBuAGkAQwBoAG8AbwBzAGUATABvAGMAYQB0AGkAbwBuAEYAbwBuAHQARgBhAG0AaQBsAHkAVgBlAHIAcwBpAG8AbgAgADEALgAwAFUAbgBpAEMAaABvAG8AcwBlAEwAbwBjAGEAdABpAG8AbgBGAG8AbgB0AEYAYQBtAGkAbAB5AEcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAAcwB2AGcAMgB0AHQAZgAgAGYAcgBvAG0AIABGAG8AbgB0AGUAbABsAG8AIABwAHIAbwBqAGUAYwB0AC4AaAB0AHQAcAA6AC8ALwBmAG8AbgB0AGUAbABsAG8ALgBjAG8AbQAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAQIBAwEEAQUBBgAGc291c3VvB2dvdXh1YW4HZGluZ3dlaQtkaXR1LXR1ZGluZwAAAAA=') format('truetype')" }], "@TRANSITION": { "uni-choose-location-map-box": { "property": "transform", "duration": "0.25s", "timingFunction": "ease-out" }, "uni-choose-location-map-target": { "property": "transform", "duration": "0.25s", "timingFunction": "ease-out" }, "uni-choose-location-map-reset": { "property": "transform", "duration": "0.25s", "timingFunction": "ease-out" }, "uni-choose-location-poi": { "property": "top", "duration": "0.25s", "timingFunction": "ease-out" } } }; const _export_sfc = (sfc, props) => { const target = sfc.__vccOpts || sfc; for (const [key, val] of props) { target[key] = val; } return target; }; var _hoisted_1 = ["id"]; var _hoisted_2 = { class: "uni-choose-location-icons uni-choose-location-map-target-icon" }; var _hoisted_3 = { class: "uni-choose-location-icons uni-choose-location-map-reset-icon" }; var _hoisted_4 = { class: "uni-choose-location-nav-text uni-choose-location-nav-confirm-text" }; var _hoisted_5 = { class: "uni-choose-location-poi-search" }; var _hoisted_6 = { class: "uni-choose-location-poi-search-box" }; var _hoisted_7 = { class: "uni-choose-location-icons uni-choose-location-search-icon" }; var _hoisted_8 = ["placeholder"]; var _hoisted_9 = ["id", "scroll-top"]; var _hoisted_10 = { key: 0, class: "uni-choose-location-poi-search-error" }; var _hoisted_11 = { class: "uni-choose-location-poi-search-error-text" }; var _hoisted_12 = { key: 1, class: "uni-choose-location-poi-search-loading" }; var _hoisted_13 = { class: "uni-choose-location-poi-search-loading-text" }; var _hoisted_14 = { key: 2, class: "uni-choose-location-poi-search-loading" }; var _hoisted_15 = ["src"]; var _hoisted_16 = ["onClick"]; var _hoisted_17 = { class: "uni-choose-location-poi-item-title-text" }; var _hoisted_18 = { class: "uni-choose-location-poi-item-detail-text" }; var _hoisted_19 = { key: 0, class: "uni-choose-location-icons uni-choose-location-poi-item-selected-icon" }; var _hoisted_20 = /* @__PURE__ */ createElementVNode("view", { class: "uni-choose-location-poi-item-after" }, null, -1); var _hoisted_21 = { key: 4, class: "uni-choose-location-poi-search-loading" }; var _hoisted_22 = ["src"]; function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { var _component_map = resolveComponent("map"); return openBlock(), createElementBlock("view", { class: normalizeClass(["uni-choose-location", $options.uniChooseLocationClassCom]) }, [createElementVNode("view", { class: normalizeClass(["uni-choose-location-map-box", [$options.landscapeClassCom]]), style: normalizeStyle($options.mapBoxStyleCom) }, [createVNode(_component_map, { class: "uni-choose-location-map", id: $data.mapId, ref: $data.mapId, latitude: $data.latitude, longitude: $data.longitude, "layer-style": $data.theme == "dark" ? "2" : "1", "show-compass": false, "enable-zoom": true, "enable-scroll": true, "enable-rotate": false, "enable-poi": true, "show-location": true, onRegionchange: $options.regionchange }, null, 8, ["id", "latitude", "longitude", "layer-style", "onRegionchange"]), createElementVNode("view", { class: "uni-choose-location-map-target", ref: $data.mapTargetId, id: $data.mapTargetId }, [createElementVNode("text", _hoisted_2, toDisplayString($data.icon.target), 1)], 8, _hoisted_1), createElementVNode("view", { class: normalizeClass(["uni-choose-location-map-reset", [$options.landscapeClassCom]]), onClick: _cache[0] || (_cache[0] = function() { return $options.mapReset && $options.mapReset(...arguments); }), style: normalizeStyle($options.resetStyleCom) }, [createElementVNode("text", _hoisted_3, toDisplayString($data.icon.position), 1)], 6)], 6), createElementVNode("view", { class: "uni-choose-location-nav", style: normalizeStyle("height:" + (60 + $data.safeArea.top) + "px;") }, [createElementVNode("view", { class: normalizeClass(["uni-choose-location-nav-btn uni-choose-location-nav-back-btn", [$options.landscapeClassCom]]), style: normalizeStyle($data.safeArea.top > 0 ? "top: " + $data.safeArea.top + "px;" : "") }, [createElementVNode("text", { class: "uni-choose-location-nav-text uni-choose-location-nav-back-text", onClick: _cache[1] || (_cache[1] = function() { return $options.back && $options.back(...arguments); }) }, toDisplayString($options.languageCom["back"]), 1)], 6), createElementVNode("view", { class: normalizeClass(["uni-choose-location-nav-btn uni-choose-location-nav-confirm-btn", [$options.landscapeClassCom, $data.selected < 0 && !$data.callUniMapCoErr ? "disable" : "active"]]), style: normalizeStyle($data.safeArea.top > 0 ? "top: " + $data.safeArea.top + "px;" : ""), onClick: _cache[2] || (_cache[2] = function() { return $options.confirm && $options.confirm(...arguments); }) }, [createElementVNode("text", _hoisted_4, toDisplayString($options.languageCom["ok"]), 1)], 6)], 4), $data.useUniCloud ? (openBlock(), createElementBlock("view", { key: 0, class: normalizeClass(["uni-choose-location-poi", [$options.landscapeClassCom]]), style: normalizeStyle($options.poiBoxStyleCom) }, [createElementVNode("view", _hoisted_5, [createElementVNode("view", _hoisted_6, [createElementVNode("text", _hoisted_7, toDisplayString($data.icon.search), 1), withDirectives(createElementVNode("input", { "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => $data.searchValue = $event), type: "text", placeholder: $options.languageCom["search"], class: "uni-choose-location-poi-search-input uni-choose-location-icons", onFocus: _cache[4] || (_cache[4] = ($event) => $data.isFocus = true), onConfirm: _cache[5] || (_cache[5] = ($event) => $options.poiSearch("poiSearch")), onInput: _cache[6] || (_cache[6] = function() { return $options.searchValueChange && $options.searchValueChange(...arguments); }) }, null, 40, _hoisted_8), [[vModelText, $data.searchValue]])]), $data.isFocus || $data.searchValue != "" ? (openBlock(), createElementBlock("text", { key: 0, class: "uni-choose-location-poi-search-cancel", onClick: _cache[7] || (_cache[7] = function() { return $options.cancelSearch && $options.cancelSearch(...arguments); }) }, toDisplayString($options.languageCom["cancel"]), 1)) : createCommentVNode("", true)]), createElementVNode("scroll-view", { id: $data.scrollId, ref: $data.scrollId, "scroll-with-animation": false, direction: "vertical", "scroll-top": $data.scrollTop, "lower-threshold": 50, onScrolltolower: _cache[8] || (_cache[8] = function() { return $options.scrolltolower && $options.scrolltolower(...arguments); }), class: "uni-choose-location-poi-list" }, [$data.errMsg != "" ? (openBlock(), createElementBlock("view", _hoisted_10, [createElementVNode("text", _hoisted_11, toDisplayString($data.errMsg), 1)])) : $data.locationLoading ? (openBlock(), createElementBlock("view", _hoisted_12, [createElementVNode("text", _hoisted_13, toDisplayString($options.languageCom["locationLoading"]), 1)])) : $data.searchLoading && $data.pageIndex == 1 ? (openBlock(), createElementBlock("view", _hoisted_14, [createElementVNode("image", { src: $data.loadingPath, class: "uni-choose-location-poi-search-loading-image", mode: "widthFix" }, null, 8, _hoisted_15)])) : (openBlock(true), createElementBlock(Fragment, { key: 3 }, renderList($data.pois, (item, index2) => { return openBlock(), createElementBlock("view", { key: index2, class: normalizeClass(["uni-choose-location-poi-item", [$options.landscapeClassCom]]), onClick: ($event) => $options.selectPoi(item, index2) }, [createElementVNode("view", null, [createElementVNode("view", null, [createElementVNode("text", _hoisted_17, toDisplayString(item.title), 1)]), createElementVNode("view", null, [createElementVNode("text", _hoisted_18, toDisplayString(item.distance > 0 ? item.distanceStr + " | " : "") + toDisplayString(item.address), 1)])]), $data.selected == index2 ? (openBlock(), createElementBlock("text", _hoisted_19, toDisplayString($data.icon.success), 1)) : createCommentVNode("", true), _hoisted_20], 10, _hoisted_16); }), 128)), $data.searchLoading && $data.pageIndex > 1 ? (openBlock(), createElementBlock("view", _hoisted_21, [createElementVNode("image", { src: $data.loadingPath, class: "uni-choose-location-poi-search-loading-image", mode: "widthFix" }, null, 8, _hoisted_22)])) : createCommentVNode("", true)], 40, _hoisted_9)], 6)) : createCommentVNode("", true)], 2); } const uniChooseLocationPage = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["styles", [_style_0]]]); var chooseLocation = /* @__PURE__ */ defineAsyncApi("chooseLocation", (options, _ref) => { var { resolve, reject } = _ref; registerSystemRoute("uni:chooseLocation", uniChooseLocationPage, { disableSwipeBack: false }); var uuid = Date.now() + "" + Math.floor(Math.random() * 1e7); var baseEventName = "uni_choose_location_".concat(uuid); var readyEventName = "".concat(baseEventName, "_ready"); var optionsEventName = "".concat(baseEventName, "_options"); var successEventName = "".concat(baseEventName, "_success"); var failEventName = "".concat(baseEventName, "_fail"); uni.$on(readyEventName, () => { uni.$emit(optionsEventName, JSON.parse(JSON.stringify(options))); }); uni.$on(successEventName, (result) => { resolve(result); }); uni.$on(failEventName, () => { reject("cancel", { errCode: 1 }); }); uni.openDialogPage({ url: "uni:chooseLocation?readyEventName=".concat(readyEventName, "&optionsEventName=").concat(optionsEventName, "&successEventName=").concat(successEventName, "&failEventName=").concat(failEventName), fail(err) { var _options$fail; (_options$fail = options.fail) === null || _options$fail === void 0 || _options$fail.call(options, { errMsg: "chooseLocation:fail ".concat(err.errMsg), errCode: 4 }); uni.$off(readyEventName); uni.$off(successEventName); uni.$off(failEventName); } }); }); var env = { USER_DATA_PATH: "unifile://usr/", CACHE_PATH: "unifile://cache/", SANDBOX_PATH: "unifile://sandbox/" }; var _PerformanceEntryStatus; var APP_LAUNCH = "appLaunch"; var PERFORMANCE_BUFFER_SIZE = 30; var ENTRY_TYPE_RENDER = "render"; var ENTRY_TYPE_NAVIGATION = "navigation"; var RENDER_TYPE_FIRST_LAYOUT = "firstLayout"; var RENDER_TYPE_FIRST_RENDER = "firstRender"; var AppStartDuration = 1; var PageFirstPageRenderDuration = 7; var PageFirstPageLayoutDuration = 8; class PerformanceEntryStatus { constructor(entryType, name) { this._state = PerformanceEntryStatus.STATE_EMPTY; this._entryData = { entryType, name, duration: 0, startTime: 0 }; } get state() { return this._state; } set state(state) { this._state = state; if (this._state == PerformanceEntryStatus.STATE_BEFORE) { this.executeBefore(); } else if (this._state == PerformanceEntryStatus.STATE_AFTER) { this.executeAfter(); } else if (this._state == PerformanceEntryStatus.STATE_READY) { this.executeReady(); } } get entryData() { return this._entryData; } executeBefore() { var _getCurrentPage; var page = (_getCurrentPage = getCurrentPage()) === null || _getCurrentPage === void 0 ? void 0 : _getCurrentPage.vm; if (page != null) { this._entryData.referrerPath = page.route; } } executeAfter() { var page = getCurrentPage().vm; if (page != null) { this._entryData.pageId = parseInt(page.$nativePage.pageId); this._entryData.path = page.route; } } executeReady() { } getCurrentInnerPage() { var currentPage = getCurrentPage().vm; if (currentPage == null) { return null; } return currentPage.$nativePage; } } _PerformanceEntryStatus = PerformanceEntryStatus; _PerformanceEntryStatus.STATE_EMPTY = 0; _PerformanceEntryStatus.STATE_BEFORE = 1; _PerformanceEntryStatus.STATE_AFTER = 2; _PerformanceEntryStatus.STATE_READY = 3; class PerformanceEntryStatusLayout extends PerformanceEntryStatus { constructor() { super(ENTRY_TYPE_RENDER, RENDER_TYPE_FIRST_LAYOUT); } executeAfter() { super.executeAfter(); this._entryData.startTime = Date.now(); } executeReady() { super.executeReady(); var innerPage = super.getCurrentInnerPage(); if (innerPage != null) { this._entryData.duration = nativePage.getDuration(innerPage.pageId, PageFirstPageLayoutDuration); } } } class PerformanceEntryStatusRender extends PerformanceEntryStatus { constructor() { super(ENTRY_TYPE_RENDER, RENDER_TYPE_FIRST_RENDER); } executeAfter() { super.executeAfter(); this._entryData.startTime = Date.now(); } executeReady() { super.executeReady(); var innerPage = super.getCurrentInnerPage(); if (innerPage != null) { this._entryData.duration = nativePage.getDuration(innerPage.pageId, PageFirstPageRenderDuration); } } } class PerformanceEntryStatusNavigation extends PerformanceEntryStatus { constructor(name, navigationType) { super(ENTRY_TYPE_NAVIGATION, name); this._entryData.navigationType = navigationType; } executeBefore() { super.executeBefore(); this._entryData.startTime = Date.now(); } executeReady() { var innerPage = super.getCurrentInnerPage(); if (innerPage != null) { this._entryData.duration = Date.now() - this._entryData.startTime; if (this._entryData.name == APP_LAUNCH) { this._entryData.duration += nativePage.getDuration(AppStartDuration); } } } } class PerformanceEntryQueue extends Array { constructor() { super(...arguments); this._queueSize = PERFORMANCE_BUFFER_SIZE; } get queueSize() { return this._queueSize; } set queueSize(value) { this._queueSize = value; if (this.length > value) { this.dequeue(this.length - value); } } push() { return this.enqueue(...arguments); } enqueue() { if (this.length > this._queueSize - 1) { this.shift(); } return super.push(...arguments); } dequeue() { var count = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 1; this.splice(0, count); } } class PerformanceObserverEntryListImpl { constructor() { this._queue = new PerformanceEntryQueue(); } push() { this._queue.push(...arguments); } getEntries() { return this._queue; } getEntriesByType(entryType) { return this._queue.filter((entry) => entry.entryType == entryType); } getEntriesByName(name, entryType) { return this._queue.filter((entry) => entry.entryType == entryType && entry.name == name); } clear() { this._queue.length = 0; } get bufferSize() { return this._queue.queueSize; } set bufferSize(size) { this._queue.queueSize = size; } } class PerformanceObserverImpl { constructor(performance, callback) { this._entryTypes = []; this._callback = null; this._entryList = new PerformanceObserverEntryListImpl(); this._owner = performance; this._callback = callback; } observe(options) { if ((options === null || options === void 0 ? void 0 : options.entryTypes) != null) { this._entryTypes.length = 0; this._entryTypes.push(...options.entryTypes); } if (this._entryTypes.length > 0) { this._owner.connect(this); } else { this.disconnect(); } } disconnect() { this._entryList.clear(); this._owner.disconnect(this); } dispatchCallback() { var _this$_callback; (_this$_callback = this._callback) === null || _this$_callback === void 0 || _this$_callback.call(this, this._entryList); } get entryTypes() { return this._entryTypes; } get entryList() { return this._entryList; } } class PerformanceProvider { constructor() { this._entryStatus = []; } get entryStatus() { return this._entryStatus; } onBefore(type) { if (type == APP_LAUNCH || type == API_SWITCH_TAB || type == API_NAVIGATE_TO || type == API_REDIRECT_TO || type == API_NAVIGATE_BACK) { this._pushEntryStatus(ENTRY_TYPE_NAVIGATION, this._navigationToName(type), type); } if (type == APP_LAUNCH || type == API_NAVIGATE_TO || type == API_REDIRECT_TO) { this._pushEntryStatus(ENTRY_TYPE_RENDER, RENDER_TYPE_FIRST_LAYOUT, type); this._pushEntryStatus(ENTRY_TYPE_RENDER, RENDER_TYPE_FIRST_RENDER, type); } this._forwardState(); } onAfter(type) { this._forwardState(); } onReady() { this._forwardState(); } removeAllStatus() { this._entryStatus.length = 0; } _pushEntryStatus(entryType, name, navigationType) { var entry = null; if (entryType == ENTRY_TYPE_NAVIGATION) { entry = new PerformanceEntryStatusNavigation(name, navigationType); } else if (entryType == ENTRY_TYPE_RENDER) { if (name == RENDER_TYPE_FIRST_LAYOUT) { entry = new PerformanceEntryStatusLayout(); } else if (name == RENDER_TYPE_FIRST_RENDER) { entry = new PerformanceEntryStatusRender(); } } if (entry != null) { this._entryStatus.push(entry); } } _forwardState() { this._entryStatus.forEach((entry) => { entry.state += 1; }); } _navigationToName(type) { if (type == APP_LAUNCH) { return APP_LAUNCH; } return "route"; } } class PerformanceAllocate { constructor(allEntryList, observerList) { this._allEntryList = allEntryList; this._observerList = observerList; } pushEntryStatus(status) { this.pushAllEntryData(status); this.pushObserverList(status); } pushAllEntryData(status) { status.forEach((entryStatus) => { this._allEntryList.push(entryStatus.entryData); }); } pushObserverList(status) { this._observerList.forEach((observer) => { var entryList = observer.entryList; entryList.clear(); status.forEach((entryStatus) => { var entryData = entryStatus.entryData; if (observer.entryTypes.includes(entryData.entryType)) { entryList.push(entryData); } }); observer.dispatchCallback(); }); } } class PerformanceImpl { constructor() { this._allEntryList = new PerformanceObserverEntryListImpl(); this._observerList = []; this._provider = new PerformanceProvider(); this._allocate = new PerformanceAllocate(this._allEntryList, this._observerList); onBeforeRoute((type) => { this._provider.onBefore(type); }); onAfterRoute((type) => { this._provider.onAfter(type); if (type == API_NAVIGATE_BACK) { this.dispatchObserver(); } }); onPageReady((page) => { this.dispatchObserver(); }); } dispatchObserver() { this._provider.onReady(); this._allocate.pushEntryStatus(this._provider.entryStatus); this._provider.removeAllStatus(); } createObserver(callback) { return new PerformanceObserverImpl(this, callback); } connect(observer) { var index2 = this._observerList.indexOf(observer); if (index2 < 0) { this._observerList.push(observer); } } disconnect(observer) { var index2 = this._observerList.indexOf(observer); if (index2 >= 0) { this._observerList.splice(index2, 1); } } getEntries() { return this._allEntryList.getEntries(); } getEntriesByType(entryType) { return this._allEntryList.getEntriesByType(entryType); } getEntriesByName(name, entryType) { return this._allEntryList.getEntriesByName(name, entryType); } setBufferSize(size) { this._allEntryList.bufferSize = size; } } var getPerformance = function() { return new PerformanceImpl(); }; var callbackId = 1; var proxy; var keepAliveCallbacks = {}; function isUniElement(obj) { return obj && typeof obj.getNodeId === "function" && obj.pageId; } function isComponentPublicInstance(instance) { return instance && instance.$ && instance.$.proxy === instance; } function parseElement(obj) { if (isUniElement(obj)) { return obj; } } function parseComponentPublicInstance(obj) { if (isComponentPublicInstance(obj)) { return obj.$el; } } function serialize(el, type) { var nodeId = ""; var pageId = ""; if (el && el.getNodeId) { pageId = el.pageId; nodeId = el.getNodeId(); } return { pageId, nodeId, __type__: type }; } function toRaw(observed) { var raw = observed && observed.__v_raw; return raw ? toRaw(raw) : observed; } function normalizeArg(arg, callbacks, keepAlive) { arg = toRaw(arg); if (typeof arg === "function") { var id2; if (keepAlive) { var oldId = Object.keys(callbacks).find((id22) => callbacks[id22] === arg); id2 = oldId ? parseInt(oldId) : callbackId++; callbacks[id2] = arg; } else { id2 = callbackId++; callbacks[id2] = arg; } return id2; } else if (isPlainObject(arg) || isUniElement(arg)) { var uniElement = parseElement(arg); var componentPublicInstanceUniElement = !uniElement ? parseComponentPublicInstance(arg) : void 0; var el = uniElement || componentPublicInstanceUniElement; if (el) { return serialize(el, uniElement ? "UniElement" : "ComponentPublicInstance"); } else { var newArg = {}; Object.keys(arg).forEach((name) => { newArg[name] = normalizeArg(arg[name], callbacks, keepAlive); }); return newArg; } } return arg; } function initUTSInstanceMethod(async, opts, instanceId, proxy2) { return initProxyFunction("method", async, opts, instanceId, proxy2); } function getProxy() { if (!proxy) { { proxy = { invokeSync(args, callback) { return nativeChannel.invokeSync("APP-SERVICE", args, callback); }, invokeAsync(args, callback) { return nativeChannel.invokeAsync("APP-SERVICE", args, callback); } }; } } return proxy; } function resolveSyncResult(args, res, returnOptions, instanceId, proxy2) { if (!res) { throw new Error("返回值为:" + JSON.stringify(res) + ";请求参数为:" + JSON.stringify(args)); } if (isString(res)) { try { res = JSON.parse(res); } catch (e) { throw new Error("JSON.parse(".concat(res, "): ") + e); } } if (res.errMsg) { throw new Error(res.errMsg); } if (returnOptions) { if (returnOptions.type === "interface" && typeof res.params === "number") { if (!res.params) { return null; } if (res.params === instanceId && proxy2) { return proxy2; } if (interfaceDefines[returnOptions.options]) { var ProxyClass = initUTSProxyClass(extend({ instanceId: res.params }, interfaceDefines[returnOptions.options])); return new ProxyClass(); } } } return res.params; } function invokePropGetter(args) { if (args.errMsg) { throw new Error(args.errMsg); } delete args.errMsg; return resolveSyncResult(args, getProxy().invokeSync(args, () => { })); } function initProxyFunction(type, async, _ref, instanceId, proxy2) { var { moduleName, moduleType, package: pkg, class: cls, name: methodName, method, companion, keepAlive, params: methodParams, return: returnOptions, errMsg } = _ref; if (!keepAlive) { keepAlive = methodName.indexOf("on") === 0 && methodParams.length === 1 && methodParams[0].type === "UTSCallback"; } var baseArgs = instanceId ? { moduleName, moduleType, id: instanceId, type, name: methodName, method: methodParams, keepAlive } : { moduleName, moduleType, package: pkg, class: cls, name: method || methodName, type, companion, method: methodParams, keepAlive }; return function() { if (errMsg) { throw new Error(errMsg); } var callbacks = keepAlive ? keepAliveCallbacks : {}; var invokeCallback2 = (_ref2) => { var { id: id2, name, params } = _ref2; var callback = callbacks[id2]; if (callback) { callback(...params); if (!keepAlive) { delete callbacks[id2]; } } else { console.error("uts插件[".concat(moduleName, "] ").concat(pkg).concat(cls, ".").concat(methodName.replace("ByJs", ""), " ").concat(name, "回调函数已释放,不能再次执行,参考文档:https://doc.dcloud.net.cn/uni-app-x/plugin/uts-plugin.html#keepalive")); } }; for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } var invokeArgs = extend({}, baseArgs, { params: args.map((arg) => normalizeArg(arg, callbacks, keepAlive)) }); if (async) { return new Promise((resolve, reject) => { getProxy().invokeAsync(invokeArgs, (res) => { if (res.type !== "return") { invokeCallback2(res); } else { if (res.errMsg) { reject(res.errMsg); } else { resolve(res.params); } } }); }); } return resolveSyncResult(invokeArgs, getProxy().invokeSync(invokeArgs, invokeCallback2), returnOptions, instanceId, proxy2); }; } function initUTSStaticMethod(async, opts) { if (opts.main && !opts.method) { if (isUTSiOS()) { opts.method = "s_" + opts.name; } } return initProxyFunction("method", async, opts, 0); } var initUTSProxyFunction = initUTSStaticMethod; function parseClassMethodName(name, methods) { if (typeof name === "string" && hasOwn(methods, name + "ByJs")) { return name + "ByJs"; } return name; } function isUndefined(value) { return typeof value === "undefined"; } function isProxyInterfaceOptions(options) { return !isUndefined(options.instanceId); } function parseClassPropertySetter(name) { return "__$set" + capitalize(name); } function initUTSProxyClass(options) { var { moduleName, moduleType, package: pkg, class: cls, methods, props, setters, errMsg } = options; var baseOptions = { moduleName, moduleType, package: pkg, class: cls, errMsg }; var instanceId; var constructorParams = []; var staticMethods = {}; var staticProps = []; var staticSetters = {}; var isProxyInterface = false; if (isProxyInterfaceOptions(options)) { isProxyInterface = true; instanceId = options.instanceId; } else { constructorParams = options.constructor.params; staticMethods = options.staticMethods; staticProps = options.staticProps; staticSetters = options.staticSetters; } if (isUTSiOS()) { if (constructorParams.find((p) => p.type === "UTSCallback" || p.type.indexOf("JSONObject") > 0)) { constructorParams.push({ name: "_byJs", type: "boolean" }); } } var ProxyClass = class UTSClass { constructor() { this.__instanceId = 0; if (errMsg) { throw new Error(errMsg); } var target = {}; if (!isProxyInterface) { for (var _len2 = arguments.length, params = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { params[_key2] = arguments[_key2]; } this.__instanceId = initProxyFunction("constructor", false, extend({ name: "constructor", keepAlive: false, params: constructorParams }, baseOptions), 0).apply(null, params); } else if (typeof instanceId === "number") { this.__instanceId = instanceId; } if (!this.__instanceId) { throw new Error("new ".concat(cls, " is failed")); } var instance = this; var proxy2 = new Proxy(instance, { get(_, name) { if (name === "__v_skip") { return true; } if (!target[name]) { name = parseClassMethodName(name, methods); if (hasOwn(methods, name)) { var { async, keepAlive, params: params2, return: returnOptions } = methods[name]; target[name] = initUTSInstanceMethod(!!async, extend({ name, keepAlive, params: params2, return: returnOptions }, baseOptions), instance.__instanceId, proxy2); } else if (props.includes(name)) { return invokePropGetter({ moduleName, moduleType, id: instance.__instanceId, type: "getter", keepAlive: false, name, errMsg }); } } return target[name]; }, set(_, name, newValue) { if (props.includes(name)) { var setter = parseClassPropertySetter(name); if (!target[setter]) { var param = setters[name]; if (param) { target[setter] = initProxyFunction("setter", false, extend({ name, keepAlive: false, params: [param] }, baseOptions), instance.__instanceId, proxy2); } } target[parseClassPropertySetter(name)](newValue); return true; } return false; } }); return proxy2; } }; var staticPropSetterCache = {}; var staticMethodCache = {}; return new Proxy(ProxyClass, { get(target, name, receiver) { name = parseClassMethodName(name, staticMethods); if (hasOwn(staticMethods, name)) { if (!staticMethodCache[name]) { var { async, keepAlive, params, return: returnOptions } = staticMethods[name]; staticMethodCache[name] = initUTSStaticMethod(!!async, extend({ name, companion: true, keepAlive, params, return: returnOptions }, baseOptions)); } return staticMethodCache[name]; } if (staticProps.includes(name)) { return invokePropGetter(extend({ name, companion: true, type: "getter" }, baseOptions)); } return Reflect.get(target, name, receiver); }, set(_, name, newValue) { if (staticProps.includes(name)) { var setter = parseClassPropertySetter(name); if (!staticPropSetterCache[setter]) { var param = staticSetters[name]; if (param) { staticPropSetterCache[setter] = initProxyFunction("setter", false, extend({ name, keepAlive: false, params: [param] }, baseOptions), 0); } } staticPropSetterCache[parseClassPropertySetter(name)](newValue); return true; } return false; } }); } function isUTSAndroid() { { return false; } } function isUTSiOS() { return !isUTSAndroid(); } function initUTSPackageName(name, is_uni_modules) { if (isUTSAndroid()) { return "uts.sdk." + (is_uni_modules ? "modules." : "") + name; } return ""; } function initUTSIndexClassName(moduleName, is_uni_modules) { return initUTSClassName(moduleName, isUTSAndroid() ? "IndexKt" : "IndexSwift", is_uni_modules); } function initUTSClassName(moduleName, className, is_uni_modules) { if (isUTSAndroid()) { return className; } return "UTSSDK" + (is_uni_modules ? "Modules" : "") + capitalize(moduleName) + capitalize(className); } var interfaceDefines = {}; function registerUTSInterface(name, define) { interfaceDefines[name] = define; } var pluginDefines = {}; function registerUTSPlugin(name, define) { pluginDefines[name] = define; } function requireUTSPlugin(name) { var define = pluginDefines[name]; if (!define) { console.error("".concat(name, " is not found")); } return define; } function __log__(type, filename) { for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { args[_key - 2] = arguments[_key]; } var res = normalizeLog(type, filename, args); res && console[type](res); } function isDebugMode() { return typeof __channelId__ === "string" && __channelId__; } function jsonStringifyReplacer(k, p) { switch (toRawType(p)) { case "Function": return "function() { [native code] }"; default: return p; } } function normalizeLog(type, filename, args) { if (isDebugMode()) { args.push(filename.replace("at ", "uni-app:///")); return console[type].apply(console, args); } var msgs = args.map(function(v) { var type2 = toTypeString(v).toLowerCase(); if (["[object object]", "[object array]", "[object module]"].indexOf(type2) !== -1) { try { v = "---BEGIN:JSON---" + JSON.stringify(v, jsonStringifyReplacer) + "---END:JSON---"; } catch (e) { v = type2; } } else { if (v === null) { v = "---NULL---"; } else if (v === void 0) { v = "---UNDEFINED---"; } else { var vType = toRawType(v).toUpperCase(); if (vType === "NUMBER" || vType === "BOOLEAN") { v = "---BEGIN:" + vType + "---" + v + "---END:" + vType + "---"; } else { v = String(v); } } } return v; }); return msgs.join("---COMMA---") + " " + filename; } const uni$1 = /* @__PURE__ */ Object.defineProperty({ __proto__: null, $emit, $off, $on, $once, __log__, addInterceptor, chooseLocation, closeDialogPage, closeNativeDialogPage, createCanvasContextAsync, createSelectorQuery, env, getElementById, getEnterOptionsSync, getLaunchOptionsSync, getPerformance, hideTabBar, hideTabBarRedDot, initUTSClassName, initUTSIndexClassName, initUTSPackageName, initUTSProxyClass, initUTSProxyFunction, loadFontFace, navigateBack, navigateTo, onTabBarMidButtonTap, openDialogPage, pageScrollTo, reLaunch, redirectTo, registerUTSInterface, registerUTSPlugin, removeInterceptor, removeTabBarBadge, requireUTSPlugin, setNavigationBarColor, setNavigationBarTitle, setTabBarBadge, setTabBarItem, setTabBarStyle, showTabBar, showTabBarRedDot, startPullDownRefresh, stopPullDownRefresh, switchTab }, Symbol.toStringTag, { value: "Module" }); function converPx(value) { if (/^-?\d+[ur]px$/i.test(value)) { return value.replace(/(^-?\d+)[ur]px$/i, (text, num) => { return "".concat(uni.upx2px(parseFloat(num)), "px"); }); } else if (/^-?[\d\.]+$/.test(value)) { return "".concat(value, "px"); } return value || ""; } function converType(type) { return type.replace(/[A-Z]/g, (text) => { return "-".concat(text.toLowerCase()); }).replace("webkit", "-webkit"); } function getStyle(action) { var animateTypes1 = ["matrix", "matrix3d", "scale", "scale3d", "rotate3d", "skew", "translate", "translate3d"]; var animateTypes2 = ["scaleX", "scaleY", "scaleZ", "rotate", "rotateX", "rotateY", "rotateZ", "skewX", "skewY", "translateX", "translateY", "translateZ"]; var animateTypes3 = ["opacity", "background-color"]; var animateTypes4 = ["width", "height", "left", "right", "top", "bottom"]; var animates = action.animates; var option = action.option; var transition = option.transition; var style = {}; var transform = []; animates.forEach((animate) => { var type = animate.type; var args = [...animate.args]; if (animateTypes1.concat(animateTypes2).includes(type)) { if (type.startsWith("rotate") || type.startsWith("skew")) { args = args.map((value2) => parseFloat(value2) + "deg"); } else if (type.startsWith("translate")) { args = args.map(converPx); } if (animateTypes2.indexOf(type) >= 0) { args.length = 1; } transform.push("".concat(type, "(").concat(args.join(","), ")")); } else if (animateTypes3.concat(animateTypes4).includes(args[0])) { type = args[0]; var value = args[1]; style[type] = animateTypes4.includes(type) ? converPx(value) : value; } }); style.transform = style.webkitTransform = transform.join(" "); style.transition = style.webkitTransition = Object.keys(style).map((type) => "".concat(converType(type), " ").concat(transition.duration, "ms ").concat(transition.timingFunction, " ").concat(transition.delay, "ms")).join(","); style.transformOrigin = style.webkitTransformOrigin = option.transformOrigin; return style; } function startAnimation(context) { var animation2 = context.animation; if (!animation2 || !animation2.actions || !animation2.actions.length) { return; } var index2 = 0; var actions = animation2.actions; var length = animation2.actions.length; function animate() { var action = actions[index2]; var transition = action.option.transition; var style = getStyle(action); Object.keys(style).forEach((key) => { context.$el.style[key] = style[key]; }); index2 += 1; if (index2 < length) { setTimeout(animate, transition.duration + transition.delay); } } setTimeout(() => { animate(); }, 0); } const animation = { props: ["animation"], watch: { animation: { deep: true, handler() { startAnimation(this); } } }, mounted() { startAnimation(this); } }; var defineBuiltInComponent = (options) => { options.__reserved = true; var { props, mixins } = options; if (!props || !props.animation) { (mixins || (options.mixins = [])).push(animation); } { var rootElement = options.rootElement; if (rootElement) { customElements.define(rootElement.name, rootElement.class, rootElement.options); } } return defineSystemComponent(options); }; var defineSystemComponent = (options) => { options.__reserved = true; options.compatConfig = { MODE: 3 // 标记为vue3 }; return defineComponent(options); }; function $dispatch(context, componentName, eventName) { var _parent; var parent = context.$parent; var name = (_parent = parent) === null || _parent === void 0 || (_parent = _parent.$options) === null || _parent === void 0 ? void 0 : _parent.name; while (parent != null && (name == null || componentName != name)) { parent = parent.$parent; if (parent != null) { var _parent2; name = (_parent2 = parent) === null || _parent2 === void 0 || (_parent2 = _parent2.$options) === null || _parent2 === void 0 ? void 0 : _parent2.name; } } if (parent != null) { if (typeof parent[eventName] === "function") { for (var _len = arguments.length, do_not_transform_spread = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) { do_not_transform_spread[_key - 3] = arguments[_key]; } parent[eventName](...do_not_transform_spread); } else { warn("dispatch: ".concat(componentName, " has no method ").concat(eventName)); } } } function $dispatchParent(context, componentName, eventName) { var _parent$$options; var parent = context.$parent; var name = parent === null || parent === void 0 || (_parent$$options = parent.$options) === null || _parent$$options === void 0 ? void 0 : _parent$$options.name; if (parent !== null && (name === null || componentName === name)) { if (typeof parent[eventName] === "function") { for (var _len2 = arguments.length, do_not_transform_spread = new Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) { do_not_transform_spread[_key2 - 3] = arguments[_key2]; } return parent[eventName](...do_not_transform_spread); } else { warn("dispatchParent: ".concat(componentName, " has no method ").concat(eventName)); } } } function initUniCustomEvent(element, e) { e.target = element; e.currentTarget = element; return e; } var CHECKBOX_NAME = "Checkbox"; var CHECKBOX_ROOT_ELEMENT = "uni-checkbox-element"; class UniCheckboxElement extends UniElementImpl { constructor(data, pageNode) { super(data, pageNode); this.tagName = "CHECKBOX"; this.nodeName = this.tagName; this._getAttribute = (key) => { return null; }; } getAnyAttribute(key) { var value = this._getAttribute(key); if (value != null) { return value; } return super.getAnyAttribute(key); } } var checkboxProps = { checked: { type: Boolean, default: false }, disabled: { type: Boolean, default: false }, value: { type: [Object, String], default: "" }, // 图标颜色 color: { type: String, default: "#007aff" }, // 默认的背景颜色 backgroundColor: { type: String, default: "#ffffff" }, // 默认的边框颜色 borderColor: { type: String, default: "#d1d1d1" }, // 选中时的背景颜色 activeBackgroundColor: { type: String, default: "#ffffff" }, // 选中时的边框颜色 activeBorderColor: { type: String, default: "#d1d1d1" }, // 图标颜色,同color,优先级大于color iconColor: { type: String, default: "" }, // 图标颜色,同color,优先级大于iconColor foreColor: { type: String, default: "" } }; var styles = { ["uni-checkbox"]: { "flex-direction": "row", "align-items": "center" }, ["uni-checkbox-input"]: { "justify-content": "center", "align-items": "center", position: "relative", "border-top-width": "1px", "border-right-width": "1px", "border-bottom-width": "1px", "border-left-width": "1px", "border-top-style": "solid", "border-right-style": "solid", "border-bottom-style": "solid", "border-left-style": "solid", "border-top-left-radius": "3px", "border-top-right-radius": "3px", "border-bottom-right-radius": "3px", "border-bottom-left-radius": "3px", width: "22px", height: "22px", "margin-right": "5px", "box-sizing": "content-box" }, ["uni-icon"]: { "font-family": "uni-icon", "font-size": "16px", width: "16px", height: "16px" } }; var createHook = (lifecycle) => function(hook) { var target = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : getCurrentInstance(); !isInSSRComponentSetup && injectHook(lifecycle, hook, target); }; var onUnload = /* @__PURE__ */ createHook(ON_UNLOAD); const checkbox = /* @__PURE__ */ defineBuiltInComponent({ name: CHECKBOX_NAME, rootElement: { name: CHECKBOX_ROOT_ELEMENT, // @ts-expect-error not web element class: UniCheckboxElement }, props: checkboxProps, emits: ["click"], setup(props, _ref) { var { emit, slots } = _ref; var icon = ""; var instance = getCurrentInstance(); var elementRef = ref(); var checkboxChecked = ref(props.checked); var checkboxValue = ref(""); var setCheckboxChecked = (checked) => { checkboxChecked.value = checked; }; watchEffect(() => { checkboxChecked.value = props.checked; }); watch(() => checkboxChecked.value, (val) => { var ctx = instance === null || instance === void 0 ? void 0 : instance.proxy; if (!ctx) return; $dispatch(ctx, "CheckboxGroup", "_changeHandler", { name: checkboxValue.value, checked: checkboxChecked.value, setCheckboxChecked }); }); watchEffect(() => { checkboxValue.value = props.value.toString(); }); var iconStyle = computed(() => { if (props.disabled) { return Object.assign({}, styles["uni-icon"]); } var color = ""; if (props.foreColor.length > 0) { color = props.foreColor; } else if (props.iconColor.length > 0) { color = props.iconColor; } else { color = props.color; } return Object.assign({}, styles["uni-icon"], { color }); }); var checkInputStyle = computed(() => { var style = checkboxChecked.value ? checkedStyle.value : uncheckedStyle.value; return Object.assign({}, styles["uni-checkbox-input"], style); }); var checkedStyle = computed(() => { if (props.disabled) { return { backgroundColor: "#e1e1e1", borderColor: "#d1d1d1" }; } return { backgroundColor: props.activeBackgroundColor, borderColor: props.activeBorderColor }; }); var uncheckedStyle = computed(() => { if (props.disabled) { return { backgroundColor: "#e1e1e1", borderColor: "#d1d1d1" }; } return { backgroundColor: props.backgroundColor, borderColor: props.borderColor }; }); onMounted(() => { var ctx = instance === null || instance === void 0 ? void 0 : instance.proxy; $dispatch(ctx, "CheckboxGroup", "_checkboxGroupUpdateHandler", { setCheckboxChecked, name: checkboxValue.value, checked: checkboxChecked.value }, "add"); instance === null || instance === void 0 || instance.$waitNativeRender(() => { var _instance$proxy; if (!instance) return; elementRef.value = (_instance$proxy = instance.proxy) === null || _instance$proxy === void 0 ? void 0 : _instance$proxy.$el; elementRef.value._getAttribute = (key) => { var _props$keyString$toSt, _props$keyString; var keyString = camelize(key); return props[keyString] !== null ? (_props$keyString$toSt = (_props$keyString = props[keyString]) === null || _props$keyString === void 0 ? void 0 : _props$keyString.toString()) !== null && _props$keyString$toSt !== void 0 ? _props$keyString$toSt : null : null; }; }); }); onUnload(() => { var ctx = instance === null || instance === void 0 ? void 0 : instance.proxy; $dispatch(ctx, "CheckboxGroup", "_checkboxGroupUpdateHandler", { setCheckboxChecked, name: checkboxValue.value, checked: checkboxChecked.value }, "remove"); }); var _onClick = ($event) => { if (props.disabled) return; emit("click", $event); checkboxChecked.value = !checkboxChecked.value; }; return () => { var _slots$default; return createVNode("uni-checkbox-element", { "dataUncType": "uni-checkbox", "onClick": _onClick, "class": "uni-checkbox", "style": styles["uni-checkbox"] }, [createVNode("view", { "class": "uni-checkbox-input", "style": checkInputStyle.value }, [createVNode("text", { "class": "uni-icon", "style": iconStyle.value }, [checkboxChecked.value ? icon : ""], 4)], 4), (_slots$default = slots.default) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots)], 12, ["onClick"]); }; } }); const checkbox$1 = /* @__PURE__ */ Object.defineProperty({ __proto__: null, UniCheckboxElement, default: checkbox }, Symbol.toStringTag, { value: "Module" }); var CHECKBOX_GROUP_NAME = "CheckboxGroup"; var CHECKBOX_GROUP_ROOT_ELEMENT = "uni-checkbox-group-element"; var checkboxGroupProps = { name: { type: String, default: "" } }; class UniCheckboxGroupElement extends UniFormControlElement { constructor(data, pageNode) { super(data, pageNode); this._initialValue = []; this.tagName = "CHECKBOX-GROUP"; this.nodeName = this.tagName; this._getAttribute = (key) => { return null; }; this._getValue = () => { return this._initialValue; }; this._setValue = (value) => { }; } get value() { return this._getValue(); } set value(value) { this._setValue(value); } getAnyAttribute(key) { var value = this._getAttribute(key); if (value != null) { return value; } return super.getAnyAttribute(key); } reset() { this.value = this._initialValue.slice(0); } } class UniCheckboxGroupChangeEventDetail { constructor(value) { this.value = value; } } class UniCheckboxGroupChangeEvent extends UniCustomEvent { constructor(value) { super("change", { detail: new UniCheckboxGroupChangeEventDetail(value) }); } } const checkboxGroup = /* @__PURE__ */ defineBuiltInComponent({ name: CHECKBOX_GROUP_NAME, rootElement: { name: CHECKBOX_GROUP_ROOT_ELEMENT, // @ts-expect-error not web element class: UniCheckboxGroupElement }, props: checkboxGroupProps, emits: ["change"], setup(props, _ref) { var { emit, expose, slots } = _ref; var $checkboxList = ref([]); var uniCheckboxGroupElementRef = ref(); var instance = getCurrentInstance(); var _checkboxGroupUpdateHandler = (info, type) => { if (type == "add") { $checkboxList.value.push(info); } else { var index2 = $checkboxList.value.findIndex((i) => i.name === info.name); if (index2 !== -1) { $checkboxList.value.splice(index2, 1); } } }; var _changeHandler = (info) => { $checkboxList.value.forEach((i) => { if (i.name === info.name) { i.checked = info.checked; } }); emit("change", initUniCustomEvent(uniCheckboxGroupElementRef.value, new UniCheckboxGroupChangeEvent(_getValue()))); }; var _getValue = () => { var valueArray = []; $checkboxList.value.forEach((info) => { if (info.checked) { valueArray.push(info.name); } }); return valueArray; }; var _setValue = (valueArray) => { $checkboxList.value.forEach((info) => { info.setCheckboxChecked(valueArray.includes(info.name)); }); }; onMounted(() => { instance === null || instance === void 0 || instance.$waitNativeRender(() => { if (!instance) return; if (!uniCheckboxGroupElementRef.value) return; uniCheckboxGroupElementRef.value._getValue = _getValue; uniCheckboxGroupElementRef.value._setValue = _setValue; uniCheckboxGroupElementRef.value._initialValue = _getValue(); uniCheckboxGroupElementRef.value._getAttribute = (key) => { var _props$keyString$toSt, _props$keyString; var keyString = camelize(key); return props[keyString] !== null ? (_props$keyString$toSt = (_props$keyString = props[keyString]) === null || _props$keyString === void 0 ? void 0 : _props$keyString.toString()) !== null && _props$keyString$toSt !== void 0 ? _props$keyString$toSt : null : null; }; }); }); expose({ _checkboxGroupUpdateHandler, _changeHandler, _getValue, _setValue }); return () => { var _slots$default; return createVNode("uni-checkbox-group-element", { "ref": uniCheckboxGroupElementRef }, [(_slots$default = slots.default) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots)], 512); }; } }); const checkboxGroup$1 = /* @__PURE__ */ Object.defineProperty({ __proto__: null, UniCheckboxGroupChangeEvent, UniCheckboxGroupElement, default: checkboxGroup }, Symbol.toStringTag, { value: "Module" }); var RADIO_NAME = "Radio"; var RADIO_ROOT_ELEMENT = "uni-radio-element"; class UniRadioElement extends UniElementImpl { constructor(data, pageNode) { super(data, pageNode); this.tagName = "RADIO"; this.nodeName = this.tagName; this._getAttribute = (key) => { return null; }; } getAnyAttribute(key) { var value = this._getAttribute(key); if (value != null) { return value; } return super.getAnyAttribute(key); } } var radioProps = { checked: { type: Boolean, default: false }, disabled: { type: Boolean, default: false }, value: { type: [Object, String], default: "" }, // 选中时的背景颜色 color: { type: String, default: "#007AFF" }, // 默认的背景颜色 backgroundColor: { type: String, default: "#ffffff" }, // 默认的边框颜色 borderColor: { type: String, default: "#d1d1d1" }, // 选中时的背景颜色,同color,优先级大于color activeBackgroundColor: { type: String, default: "" }, // 选中时的边框颜色,默认为选中时的背景颜色 activeBorderColor: { type: String, default: "" }, // 图标颜色 iconColor: { type: String, default: "#ffffff" }, // 高于 iconColor 和 color foreColor: { type: String, default: "" } }; var _style_0$1 = { "uni-radio": { "": { flexDirection: "row", alignItems: "center" } }, "uni-radio-input": { "": { position: "relative", alignItems: "center", justifyContent: "center", marginRight: "5px", borderStyle: "solid", borderWidth: "1px", borderRadius: "50px", width: "22px", height: "22px", boxSizing: "content-box" } }, "uni-radio-input-icon": { "": { fontFamily: "uni-icon", fontSize: "14px", width: "14px", height: "14px" } } }; var styleList = _style_0$1; const radio = /* @__PURE__ */ defineBuiltInComponent({ name: RADIO_NAME, rootElement: { name: RADIO_ROOT_ELEMENT, // @ts-expect-error not web element class: UniRadioElement }, props: radioProps, setup(props, _ref) { var { slots, expose } = _ref; var uniRadioElementRef = ref(); var styleUniRadio = computed(() => styleList["uni-radio"][""]); var styleUniRadioInput = computed(() => { return Object.assign({}, styleList["uni-radio-input"][""], radioChecked.value ? checkedStyle.value : uncheckedStyle.value); }); var styleUniRadioInputIcon = computed(() => { return Object.assign({}, styleList["uni-radio-input-icon"][""], iconStyle.value); }); var checkedStyle = computed(() => { if (props.disabled) { return { backgroundColor: "#e1e1e1", borderColor: "#d1d1d1" }; } var backgroundColor = props.activeBackgroundColor.length > 0 ? props.activeBackgroundColor : props.color; var borderColor = props.activeBorderColor.length > 0 ? props.activeBorderColor : backgroundColor; return { backgroundColor, borderColor }; }); var uncheckedStyle = computed(() => { if (props.disabled) { return { backgroundColor: "#e1e1e1", borderColor: "#d1d1d1" }; } return { backgroundColor: props.backgroundColor, borderColor: props.borderColor }; }); var iconStyle = computed(() => { var color = ""; if (props.foreColor.length > 0) { color = props.foreColor; } else if (props.iconColor.length > 0) { color = props.iconColor; } return { color: props.disabled ? "#adadad" : color }; }); var icon = ""; var radioChecked = ref(props.checked); var radioValue = ref(props.value.toString()); watchEffect(() => { radioChecked.value = props.checked; }); var setRadioChecked = (value) => { radioChecked.value = value; }; watchEffect(() => { radioValue.value = props.value.toString(); }); watch(() => radioChecked.value, (val) => { var ctx = instance === null || instance === void 0 ? void 0 : instance.proxy; if (!ctx) return; if (val) { $dispatch(ctx, "RadioGroup", "_changeHandler", { name: radioValue.value, checked: radioChecked.value, setRadioChecked }); } }); expose({ radioValue }); var instance = getCurrentInstance(); onMounted(() => { instance === null || instance === void 0 || instance.$waitNativeRender(() => { if (instance === null) return; uniRadioElementRef.value._getAttribute = (key) => { var _props$keyString$toSt, _props$keyString; var keyString = camelize(key); return props[keyString] !== null ? (_props$keyString$toSt = (_props$keyString = props[keyString]) === null || _props$keyString === void 0 ? void 0 : _props$keyString.toString()) !== null && _props$keyString$toSt !== void 0 ? _props$keyString$toSt : null : null; }; }); var ctx = instance === null || instance === void 0 ? void 0 : instance.proxy; $dispatch(ctx, "RadioGroup", "_radioGroupUpdateHandler", { name: radioValue.value, checked: radioChecked.value, setRadioChecked }, "add"); }); onUnmounted(() => { var ctx = instance === null || instance === void 0 ? void 0 : instance.proxy; $dispatch(ctx, "RadioGroup", "_radioGroupUpdateHandler", { name: radioValue.value, checked: radioChecked.value, setRadioChecked }, "remove"); }); var _onClick = () => { if (props.disabled || radioChecked.value) return; radioChecked.value = !radioChecked.value; }; return () => { var _slots$default; return createVNode("uni-radio-element", { "dataUncType": "uni-radio", "class": "uni-radio", "style": styleUniRadio.value, "ref": uniRadioElementRef, "onClick": _onClick }, [createVNode("view", { "class": "uni-radio-input", "style": styleUniRadioInput.value }, [createVNode("text", { "class": "uni-radio-input-icon", "style": styleUniRadioInputIcon.value }, [radioChecked.value ? icon : ""], 4)], 4), (_slots$default = slots.default) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots)], 12, ["onClick"]); }; } }); const radio$1 = /* @__PURE__ */ Object.defineProperty({ __proto__: null, UniRadioElement, default: radio }, Symbol.toStringTag, { value: "Module" }); var RADIOGROUP_NAME = "RadioGroup"; var RADIOGROUP_ROOT_ELEMENT = "uni-radio-group-element"; var RadioProps = { name: { type: String, default: "" } }; class UniRadioGroupElement extends UniFormControlElement { constructor(data, pageNode) { super(data, pageNode); this._initialValue = ""; this.tagName = "RADIO-GROUP"; this.nodeName = this.tagName; this._getAttribute = (key) => { return null; }; this._getValue = () => { return this._initialValue; }; this._setValue = (value) => { }; } getAnyAttribute(key) { var value = this._getAttribute(key); if (value != null) { return value; } return super.getAnyAttribute(key); } get value() { return this._getValue(); } set value(value) { this._setValue(value); } reset() { this.value = this._initialValue; } } class UniRadioGroupChangeEventDetail { constructor(value) { this.value = value; } } class UniRadioGroupChangeEvent extends UniCustomEvent { constructor(value) { super("change", { detail: new UniRadioGroupChangeEventDetail(value) }); } } const radioGroup = /* @__PURE__ */ defineBuiltInComponent({ name: RADIOGROUP_NAME, rootElement: { name: RADIOGROUP_ROOT_ELEMENT, // @ts-expect-error not web element class: UniRadioGroupElement }, props: RadioProps, emits: ["change"], setup(props, _ref) { var { emit, slots, expose } = _ref; var $radioList = ref([]); var uniRadioGroupElementRef = ref(); var instance = getCurrentInstance(); var _radioGroupUpdateHandler = (info, type) => { if (type == "add") { $radioList.value.push(info); } else { var index2 = $radioList.value.findIndex((i) => i.name == info.name); if (index2 !== -1) { $radioList.value.splice(index2, 1); } } }; var _changeHandler = (data) => { _setValue(data.name); emit("change", initUniCustomEvent(uniRadioGroupElementRef.value, new UniRadioGroupChangeEvent(data.name))); }; var _getValue = () => { var value = ""; $radioList.value.forEach((info) => { if (info.checked) { value = info.name; } }); return value; }; var _setValue = (name) => { $radioList.value.forEach((info) => { if (info.name == name) { info.checked = true; info.setRadioChecked(true); } else { info.checked = false; info.setRadioChecked(false); } }); }; onMounted(() => { instance === null || instance === void 0 || instance.$waitNativeRender(() => { if (!instance) return; if (!uniRadioGroupElementRef.value) return; uniRadioGroupElementRef.value._getValue = _getValue; uniRadioGroupElementRef.value._setValue = _setValue; uniRadioGroupElementRef.value._initialValue = _getValue(); uniRadioGroupElementRef.value._getAttribute = (key) => { var _props$keyString$toSt, _props$keyString; var keyString = camelize(key); return props[keyString] !== null ? (_props$keyString$toSt = (_props$keyString = props[keyString]) === null || _props$keyString === void 0 ? void 0 : _props$keyString.toString()) !== null && _props$keyString$toSt !== void 0 ? _props$keyString$toSt : null : null; }; }); }); expose({ _radioGroupUpdateHandler, _getValue, _setValue, _changeHandler }); return () => { var _slots$default; return createVNode("uni-radio-group-element", { "ref": uniRadioGroupElementRef }, [(_slots$default = slots.default) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots)], 512); }; } }); const radioGroup$1 = /* @__PURE__ */ Object.defineProperty({ __proto__: null, UniRadioGroupChangeEvent, UniRadioGroupElement, default: radioGroup }, Symbol.toStringTag, { value: "Module" }); class UniNavigatorElement extends UniElementImpl { constructor(data, pageNode) { super(data, pageNode); this.tagName = "NAVIGATOR"; this.nodeName = this.tagName; this._getAttribute = (key) => { return null; }; } getAnyAttribute(key) { var value = this._getAttribute(key); if (value != null) { return value; } return super.getAnyAttribute(key); } } var navigatorProps = { url: { type: String, default: "" }, openType: { type: String, default: "navigate" }, delta: { type: Number, default: 1 }, animationType: { type: String, default: "" }, animationDuration: { type: Number, default: 300 }, hoverClass: { type: String, default: "navigator-hover" }, hoverStopPropagation: { type: Boolean, default: false }, hoverStartTime: { type: Number, default: 50 }, hoverStayTime: { type: Number, default: 600 } }; const navigator = /* @__PURE__ */ defineBuiltInComponent({ name: "Navigator", rootElement: { name: "uni-navigator-element", // @ts-expect-error not web element class: UniNavigatorElement }, props: navigatorProps, emits: ["click"], setup(props, _ref) { var { emit, slots } = _ref; var $uniNavigatorElement = ref(); var instance = getCurrentInstance(); onMounted(() => { instance === null || instance === void 0 || instance.$waitNativeRender(() => { if (!instance) return; $uniNavigatorElement.value._getAttribute = (key) => { var _props$keyString$toSt, _props$keyString; var keyString = camelize(key); return props[keyString] !== null ? (_props$keyString$toSt = (_props$keyString = props[keyString]) === null || _props$keyString === void 0 ? void 0 : _props$keyString.toString()) !== null && _props$keyString$toSt !== void 0 ? _props$keyString$toSt : null : null; }; }); }); var _onClick = ($event) => { var url = props.url; emit("click", $event); var animationDuration = props.animationDuration; switch (props.openType) { case "navigate": uni.navigateTo({ url, animationType: props.animationType.length > 0 ? props.animationType : "pop-in", animationDuration }); break; case "redirect": uni.redirectTo({ url }); break; case "switchTab": uni.switchTab({ url }); break; case "reLaunch": uni.reLaunch({ url }); break; case "navigateBack": uni.navigateBack({ delta: props.delta, animationType: props.animationType.length > 0 ? props.animationType : "pop-out", animationDuration }); break; default: console.log(" openType attribute invalid"); break; } }; return () => { var _slots$default; return createVNode("uni-navigator-element", { "ref": $uniNavigatorElement, "onClick": _onClick, "hoverClass": props.hoverClass, "hoverStopPropagation": props.hoverStopPropagation, "hoverStartTime": props.hoverStartTime, "hoverStayTime": props.hoverStayTime }, [(_slots$default = slots.default) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots)], 8, ["onClick", "hoverClass", "hoverStopPropagation", "hoverStartTime", "hoverStayTime"]); }; } }); const navigator$1 = /* @__PURE__ */ Object.defineProperty({ __proto__: null, UniNavigatorElement, default: navigator }, Symbol.toStringTag, { value: "Module" }); var BACKGROUND_COLOR = "#EBEBEB"; var PRIMARY_COLOR = "#007AFF"; var ANIMATE_INTERVAL_DEFAULT = 30; var FONT_SIZE = 16; var STROKE_WIDTH = 6; class UniProgressActiveendEventDetail { constructor(value) { this.curPercent = value; } } class UniProgressActiveendEvent extends UniCustomEvent { constructor(value) { super("activeend", { detail: new UniProgressActiveendEventDetail(value) }); } } class UniProgressElement extends UniElementImpl { constructor(data, pageNode) { super(data, pageNode); this.tagName = "PROGRESS"; this.nodeName = this.tagName; this._getAttribute = (key) => { return null; }; } getAnyAttribute(key) { var value = this._getAttribute(key); if (value != null) { return value; } return super.getAnyAttribute(key); } } var progressProps = { percent: { type: Number, default: 0 }, showInfo: { type: Boolean, default: false }, borderRadius: { type: Number, default: 0 }, fontSize: { type: Number, default: FONT_SIZE }, strokeWidth: { type: Number, default: STROKE_WIDTH }, active: { type: Boolean, default: false }, activeColor: { type: String, default: PRIMARY_COLOR }, activeMode: { type: String, default: "backwards" }, backgroundColor: { type: String, default: BACKGROUND_COLOR }, duration: { type: Number, default: ANIMATE_INTERVAL_DEFAULT } }; var _style = { "uni-progress": { "": { flexDirection: "row", alignItems: "center" } }, "uni-progress-bar": { "": { flex: "1", overflow: "hidden" } }, "uni-progress-info": { "": { marginLeft: "15px" } } }; const progress = /* @__PURE__ */ defineBuiltInComponent({ name: "Progress", rootElement: { name: "uni-progress-element", // @ts-expect-error not web element class: UniProgressElement }, emit: ["activeend"], props: progressProps, setup(props, _ref) { var { emit } = _ref; var data = reactive({ $uniProgressElement: null, curPercent: 0, _timerId: 0, _lastPercent: 0 }); var textStr = computed(() => { return "".concat(data.curPercent, "%"); }); var instance = getCurrentInstance(); var styleUniProgress = computed(() => _style["uni-progress"][""]); var styleUniProgressBar = computed(() => _style["uni-progress-bar"][""]); var barStyle = computed(() => { var style = { height: "".concat(props.strokeWidth, "px"), borderRadius: "".concat(props.borderRadius, "px"), backgroundColor: props.backgroundColor }; return Object.assign({}, styleUniProgressBar.value, style); }); var innerBarStyle = computed(() => { var style = { width: "".concat(data.curPercent, "%"), height: "".concat(props.strokeWidth, "px"), backgroundColor: "".concat(props.activeColor) }; return Object.assign({}, style); }); var textStyle = computed(() => { var fontSize = props.fontSize; var style = { fontSize: "".concat(fontSize, "px"), minWidth: "".concat(fontSize * 2, "px") }; return Object.assign({}, _style["uni-progress-info"][""], style); }); var finalPercent = computed(() => { var percent = props.percent; if (percent > 100) percent = 100; if (percent < 0) percent = 0; return percent; }); watch(() => finalPercent.value, (_, oldVal) => { data._lastPercent = oldVal; clearTimer(); _animate(); }); var _animate = () => { var percent = finalPercent.value; if (!props.active) { data.curPercent = percent; return; } data.curPercent = props.activeMode === "forwards" ? data._lastPercent : 0; data._timerId = setInterval(() => { if (percent <= data.curPercent + 1) { clearTimer(); data.curPercent = percent; emit("activeend", initUniCustomEvent(data.$uniProgressElement, new UniProgressActiveendEvent(percent))); } else { ++data.curPercent; } }, props.duration); }; var clearTimer = () => { clearInterval(data._timerId); }; onMounted(() => { instance === null || instance === void 0 || instance.$waitNativeRender(() => { var _instance$proxy; if (!instance) return; data.$uniProgressElement = (_instance$proxy = instance.proxy) === null || _instance$proxy === void 0 ? void 0 : _instance$proxy.$el; data.$uniProgressElement._getAttribute = (key) => { var _props$keyString$toSt, _props$keyString; var keyString = camelize(key); return props[keyString] !== null ? (_props$keyString$toSt = (_props$keyString = props[keyString]) === null || _props$keyString === void 0 ? void 0 : _props$keyString.toString()) !== null && _props$keyString$toSt !== void 0 ? _props$keyString$toSt : null : null; }; _animate(); }); }); onUnmounted(() => { clearTimer(); }); return () => { return createVNode("uni-progress-element", { "class": "uni-progress", "style": styleUniProgress.value }, [createVNode("view", { "class": "uni-progress-bar", "style": barStyle.value }, [createVNode("view", { "class": "uni-progress-inner-bar", "style": innerBarStyle.value }, null, 4)], 4), props.showInfo ? createVNode("view", { "class": "uni-progress-info", "style": textStyle.value }, [textStr.value], 4) : null], 4); }; } }); const progress$1 = /* @__PURE__ */ Object.defineProperty({ __proto__: null, UniProgressActiveendEvent, UniProgressElement, default: progress }, Symbol.toStringTag, { value: "Module" }); var _style_picker_view = { "uni-picker-view": { "": { position: "relative" } }, "uni-picker-view-wrapper": { "": { display: "flex", flexDirection: "row", position: "absolute", top: "0", left: "0", right: "0", bottom: "0", overflow: "hidden" } } }; var _style_picker_column = { "uni-picker-view-column": { "": { flex: "1", position: "relative", alignItems: "stretch", overflow: "hidden" } }, "uni-picker-view-mask": { "": { position: "absolute", top: "0", left: "0", right: "0", bottom: "0", pointerEvents: "none" } }, "uni-picker-view-mask-top": { "": { bottom: "0", backgroundImage: "linear-gradient(to bottom,rgba(255, 255, 255, 0.95),rgba(255, 255, 255, 0.6))" } }, "uni-picker-view-mask-bottom": { "": { top: "0", backgroundImage: "linear-gradient(to top,rgba(255, 255, 255, 0.95),rgba(255, 255, 255, 0.6))" } }, "uni-picker-view-group": { "": { flexDirection: "column", position: "absolute", top: "0", left: "0", right: "0", bottom: "0" } }, "uni-picker-view-content": { "": { flexDirection: "column", paddingTop: "0", paddingRight: "0", paddingBottom: "0", paddingLeft: "0" } }, "uni-picker-view-indicator": { "": { position: "absolute", left: "0", right: "0", top: "0", height: "34px", borderColor: "#e5e5e5", borderTopWidth: "1px", borderBottomWidth: "1px", pointerEvents: "none" } } }; class UniPickerViewColumnElement extends UniElementImpl { constructor(data, pageNode) { super(data, pageNode); this.tagName = "PICKER-VIEW-COLUMN"; this.nodeName = this.tagName; this._getAttribute = (key) => { return null; }; } getAnyAttribute(key) { var value = this._getAttribute(key); if (value != null) { return value; } return super.getAnyAttribute(key); } } class UniPickerViewChangeEventDetail { constructor(value) { this.value = value; } } class UniPickerViewChangeEvent extends UniCustomEvent { constructor(value) { super("change", { detail: new UniPickerViewChangeEventDetail(value) }); } } class UniPickerViewElement extends UniElementImpl { constructor(data, pageNode) { super(data, pageNode); this.tagName = "PICKER-VIEW"; this.nodeName = this.tagName; this._getAttribute = (key) => { return null; }; } getAnyAttribute(key) { var value = this._getAttribute(key); if (value != null) { return value; } return super.getAnyAttribute(key); } } const pickerView = /* @__PURE__ */ defineBuiltInComponent({ name: "PickerView", rootElement: { name: "uni-picker-view-element", // @ts-expect-error not web element class: UniPickerViewElement }, props: { value: { type: Array, default: [] }, indicatorStyle: { type: String, default: "" }, maskTopStyle: { type: String, default: "" }, maskBottomStyle: { type: String, default: "" } }, emits: ["change"], setup(props, _ref) { var { emit, expose, slots } = _ref; var data = reactive({ $uniPickerViewElement: null, $items: [], valueSync: [] }); watch(() => props.value, (val) => { val.forEach((_val, index2) => { if (data.$items.length > index2) { var _data$$items$index$$$; var fn = (_data$$items$index$$$ = data.$items[index2].$.exposed) === null || _data$$items$index$$$ === void 0 ? void 0 : _data$$items$index$$$.setCurrent; fn(_val); } }); data.valueSync = [...val]; }, { immediate: true }); provide("pickerViewProps", props); var pickerViewElementRef = ref(); var instance = getCurrentInstance(); var _pickerViewUpdateHandler = (vm, type) => { if (type == "add") { data.$items.push(vm); if (data.$items.length > data.valueSync.length) { data.valueSync.push(0); } } else { var index2 = data.$items.indexOf(vm); if (index2 != -1) { data.$items.splice(index2, 1); data.valueSync.splice(index2, 1); } } }; var getItemValue = (vm) => { var index2 = data.$items.indexOf(vm); if (index2 != -1) { if (props.value.length > index2) { return props.value[index2]; } } return 0; }; var setItemValue = (vm, val) => { var index2 = data.$items.indexOf(vm); if (index2 != -1) { if (data.valueSync.length > index2) { data.valueSync[index2] = val; } emit("change", initUniCustomEvent(pickerViewElementRef.value, new UniPickerViewChangeEvent([...data.valueSync]))); } }; expose({ _pickerViewUpdateHandler, getItemValue, setItemValue }); onMounted(() => { instance === null || instance === void 0 || instance.$waitNativeRender(() => { if (!instance || !pickerViewElementRef.value) return; pickerViewElementRef.value._getAttribute = (key) => { var _props$keyString$toSt, _props$keyString; var keyString = camelize(key); return props[keyString] !== null ? (_props$keyString$toSt = (_props$keyString = props[keyString]) === null || _props$keyString === void 0 ? void 0 : _props$keyString.toString()) !== null && _props$keyString$toSt !== void 0 ? _props$keyString$toSt : null : null; }; }); }); var styleUniPickerView = _style_picker_view["uni-picker-view"][""]; var styleUniPickerViewWrapper = _style_picker_view["uni-picker-view-wrapper"][""]; return () => { var _slots$default; return createVNode("uni-picker-view-element", { "ref": pickerViewElementRef, "class": "uni-picker-view", "style": styleUniPickerView }, [createVNode("view", { "class": "uni-picker-view-wrapper", "style": styleUniPickerViewWrapper }, [(_slots$default = slots.default) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots)], 4)], 4); }; } }); const pickerView$1 = /* @__PURE__ */ Object.defineProperty({ __proto__: null, UniPickerViewChangeEvent, UniPickerViewElement, default: pickerView }, Symbol.toStringTag, { value: "Module" }); const pickerViewColumn = /* @__PURE__ */ defineBuiltInComponent({ name: "PickerViewColumn", rootElement: { name: "uni-picker-view-column-element", // @ts-expect-error class: UniPickerViewColumnElement }, setup(_props, _ref) { var { slots, expose } = _ref; var instance = getCurrentInstance(); var pickerColumnRef = ref(); var indicator = ref(); var scrollViewRef = ref(); var contentRef = ref(); var pickerViewProps = inject("pickerViewProps"); var data = reactive({ height: 0, indicatorHeight: 0, current: 0, scrollToElementTime: 0, maskTopStyle: "", maskBottomStyle: "", indicatorStyle: "", contentStyle: "", _isMounted: false }); var formatUserStyle = (styleStr) => { var formatUserStyle2 = parseStringStyle(styleStr); if (isString(formatUserStyle2["background-color"]) || isString(formatUserStyle2["background"])) { formatUserStyle2 = Object.assign({}, formatUserStyle2, { backgroundImage: "", background: formatUserStyle2["background-color"] || formatUserStyle2["background"] }); } return formatUserStyle2; }; var contentStyle = computed(() => { return Object.assign({}, _style_picker_column["uni-picker-view-content"][""], parseStringStyle(data.contentStyle)); }); var maskTopStyle = computed(() => { var userStyle = formatUserStyle(pickerViewProps.maskTopStyle); var style = Object.assign({}, _style_picker_column["uni-picker-view-mask"][""], _style_picker_column["uni-picker-view-mask-top"][""], parseStringStyle(data.maskTopStyle), userStyle); return style; }); var maskBottomStyle = computed(() => { var userStyle = formatUserStyle(pickerViewProps.maskBottomStyle); return Object.assign({}, _style_picker_column["uni-picker-view-mask"][""], _style_picker_column["uni-picker-view-mask-bottom"][""], parseStringStyle(data.maskBottomStyle), userStyle); }); var indicatorStyle = computed(() => { var val = Object.assign({}, _style_picker_column["uni-picker-view-indicator"][""], parseStringStyle(pickerViewProps.indicatorStyle), parseStringStyle(data.indicatorStyle)); return val; }); var styleUniPickerViewColumn = computed(() => { return Object.assign({}, _style_picker_column["uni-picker-view-column"][""]); }); var styleUniPickerViewGroup = computed(() => { return Object.assign({}, _style_picker_column["uni-picker-view-group"][""]); }); var styleViewMask = computed(() => { return Object.assign({}, _style_picker_column["uni-picker-view-mask"][""]); }); var init2 = () => { data.height = pickerColumnRef.value.offsetHeight; data.indicatorHeight = indicator.value.offsetHeight; var padding = (data.height - data.indicatorHeight) / 2; var maskPosition = "".concat(data.height - padding, "px"); data.maskTopStyle += ";bottom:".concat(maskPosition); data.maskBottomStyle += ";top:".concat(maskPosition); data.indicatorStyle = ";top:".concat(padding, "px"); data.contentStyle = "padding-top:".concat(padding, "px;padding-bottom:").concat(padding, "px"); nextTick(() => { if (data.current != 0) { setCurrent(data.current); } }); }; var onScrollend = (e) => { if (Date.now() - data.scrollToElementTime < 200) { return; } var y = e.detail.scrollTop; var current = Math.round(y / data.indicatorHeight); if (y % data.indicatorHeight != 0) { setCurrent(current); } else { data.current = current; } }; var setCurrent = (current) => { var scrollTop = current * data.indicatorHeight; scrollViewRef.value.setAnyAttribute("scroll-top", scrollTop); data.current = current; data.scrollToElementTime = Date.now(); }; var uniResizeObserver = new UniResizeObserver((entries) => { init2(); }); var created = () => { var _instance$parent; var $parent = (instance === null || instance === void 0 || (_instance$parent = instance.parent) === null || _instance$parent === void 0 ? void 0 : _instance$parent.type.name) === "PickerView" ? instance === null || instance === void 0 ? void 0 : instance.parent : null; if ($parent !== null) { $dispatchParent(instance === null || instance === void 0 ? void 0 : instance.proxy, "PickerView", "_pickerViewUpdateHandler", instance === null || instance === void 0 ? void 0 : instance.proxy, "add"); data.current = $dispatchParent(instance === null || instance === void 0 ? void 0 : instance.proxy, "PickerView", "getItemValue", instance === null || instance === void 0 ? void 0 : instance.proxy); } }; created(); expose({ setCurrent }); onMounted(() => { instance === null || instance === void 0 || instance.$waitNativeRender(() => { if (!instance || !pickerColumnRef.value) return; init2(); setTimeout(() => { data._isMounted = true; }, 1e3); uniResizeObserver.observe(pickerColumnRef.value); }); }); onUnmounted(() => { var ctx = instance === null || instance === void 0 ? void 0 : instance.proxy; uniResizeObserver.disconnect(); $dispatch(ctx, "PickerView", "_pickerViewUpdateHandler", ctx, "remove"); }); watch(() => data.current, (val, oldVal) => { if (data._isMounted && val != oldVal) { var ctx = instance === null || instance === void 0 ? void 0 : instance.proxy; $dispatch(ctx, "PickerView", "setItemValue", ctx, val); } }); return () => { var _slots$default; return createVNode("uni-picker-view-column-element", { "class": "uni-picker-view-column", "style": styleUniPickerViewColumn.value, "ref": pickerColumnRef }, [createVNode("scroll-view", { "deceleration-rate": 0.3, "onScrollend": onScrollend, "class": "uni-picker-view-group", "style": styleUniPickerViewGroup.value, "scroll-with-animation": data._isMounted, "direction": "vertical", "show-scrollbar": false, "ref": scrollViewRef }, [createVNode("view", { "class": "uni-picker-view-content", "style": contentStyle.value, "ref": contentRef }, [(_slots$default = slots.default) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots)], 4)], 44, ["onScrollend", "scroll-with-animation"]), createVNode("view", { "userInteractionEnabled": false, "class": "uni-picker-view-mask", "style": styleViewMask.value }, [createVNode("view", { "class": "uni-picker-view-mask uni-picker-view-mask-top", "style": maskTopStyle.value }, null, 4), createVNode("view", { "class": "uni-picker-view-mask uni-picker-view-mask-bottom", "style": maskBottomStyle.value }, null, 4)], 4), createVNode("view", { "ref": indicator, "userInteractionEnabled": false, "class": "uni-picker-view-indicator", "style": indicatorStyle.value }, null, 4)], 4); }; } }); const pickerViewColumn$1 = /* @__PURE__ */ Object.defineProperty({ __proto__: null, UniPickerViewColumnElement, default: pickerViewColumn }, Symbol.toStringTag, { value: "Module" }); const components = /* @__PURE__ */ Object.defineProperty({ __proto__: null, Checkbox: checkbox$1, CheckboxGroup: checkboxGroup$1, Navigator: navigator$1, PickerView: pickerView$1, PickerViewColumn: pickerViewColumn$1, Progress: progress$1, Radio: radio$1, RadioGroup: radioGroup$1 }, Symbol.toStringTag, { value: "Module" }); const index = { uni: uni$1, getApp: getApp$1, getCurrentPages: getCurrentPages$1, __definePage: definePage, __registerApp: registerApp, initApp, components }; export { index as default };