UNPKG

484 kBSource Map (JSON)View Raw
1{"version":3,"file":"index.esm.js","sources":["../src/utils/handler.ts","../src/utils/animation.ts","../src/utils/helper.ts","../src/utils/valid.ts","../src/utils/index.ts","../src/api/ad/index.ts","../src/api/ai/facial.ts","../src/api/ai/inference.ts","../src/api/ai/visual.ts","../src/api/alipay/index.ts","../src/api/base/crypto.ts","../src/api/base/debug.ts","../src/api/base/performance.ts","../src/api/base/system.ts","../src/api/base/update.ts","../src/api/base/weapp/app-event.ts","../src/api/base/weapp/life-cycle.ts","../src/api/base/index.ts","../src/api/canvas/CanvasContext.ts","../src/api/canvas/createCanvasContext.ts","../src/api/canvas/canvasToTempFilePath.ts","../src/api/canvas/canvasPutImageData.ts","../src/api/canvas/canvasGetImageData.ts","../src/api/canvas/index.ts","../src/api/cloud/index.ts","../src/api/data-analysis/index.ts","../src/api/device/accelerometer.ts","../src/api/device/accessibility.ts","../src/api/device/battery.ts","../src/api/device/bluetooth.ts","../src/api/device/bluetooth-ble.ts","../src/api/device/bluetooth-peripheral.ts","../src/api/device/calendar.ts","../src/api/storage/background-fetch.ts","../src/api/storage/cache-manager.ts","../src/api/storage/index.ts","../src/api/ui/interaction/actionSheet.ts","../src/api/ui/interaction/modal.ts","../src/api/ui/interaction/toast.ts","../src/api/ui/interaction/index.ts","../src/api/device/clipboard.ts","../src/api/device/compass.ts","../src/api/device/contact.ts","../src/api/device/crypto.ts","../src/api/device/gyroscope.ts","../src/api/device/iBeacon.ts","../src/api/device/keyboard.ts","../src/api/device/memory.ts","../src/api/device/motion.ts","../src/api/device/network.ts","../src/api/device/nfc.ts","../src/api/device/phone.ts","../src/api/device/scan.ts","../src/api/device/screen.ts","../src/api/device/sms.ts","../src/api/device/vibrate.ts","../src/api/device/wifi.ts","../src/api/ext/index.ts","../src/api/files/index.ts","../src/api/framework/index.ts","../src/api/location/utils.ts","../src/api/location/getLocation.ts","../src/api/location/chooseLocation.ts","../src/api/location/locationChange.ts","../src/api/location/index.ts","../src/api/media/audio/InnerAudioContext.ts","../src/api/media/audio/index.ts","../src/api/media/background-audio/BackgroundAudioManager.ts","../src/api/media/background-audio/index.ts","../src/api/media/camera.ts","../src/api/media/image/saveImageToPhotosAlbum.ts","../src/api/media/image/getImageInfo.ts","../src/api/media/image/previewImage.ts","../src/api/ui/animation/index.ts","../src/api/ui/background.ts","../src/api/ui/custom-component.ts","../src/api/ui/fonts.ts","../src/api/ui/menu.ts","../src/api/ui/navigation-bar/index.ts","../src/api/ui/pull-down-refresh.ts","../src/api/ui/scroll/index.ts","../src/api/ui/sticky.ts","../src/api/ui/tab-bar.ts","../src/api/ui/window.ts","../src/api/media/video/chooseMedia.ts","../src/api/media/image/chooseImage.ts","../src/api/media/image/index.ts","../src/api/media/live.ts","../src/api/media/map.ts","../src/api/media/media-recorder.ts","../src/api/media/recorder.ts","../src/api/media/video/saveVideoToPhotosAlbum.ts","../src/api/media/video/getVideoInfo.ts","../src/api/media/video/chooseVideo.ts","../src/api/media/video/index.ts","../src/api/media/video-decoder.ts","../src/api/media/video-processing.ts","../src/api/media/voip.ts","../src/api/navigate/index.ts","../src/api/network/utils.ts","../src/api/network/download.ts","../src/api/network/mdns.ts","../src/api/network/request/index.ts","../src/api/network/tcp.ts","../src/api/network/udp.ts","../src/api/network/upload.ts","../src/api/network/websocket/socketTask.ts","../src/api/network/websocket/index.ts","../src/api/open-api/account.ts","../src/api/open-api/address.ts","../src/api/open-api/authorize.ts","../src/api/open-api/card.ts","../src/api/open-api/channels-live.ts","../src/api/open-api/customer-service.ts","../src/api/open-api/device-voip.ts","../src/api/open-api/facial.ts","../src/api/open-api/favorites.ts","../src/api/open-api/group.ts","../src/api/open-api/invoice.ts","../src/api/open-api/license-plate.ts","../src/api/open-api/login.ts","../src/api/open-api/my-miniprogram.ts","../src/api/open-api/privacy.ts","../src/api/open-api/red-package.ts","../src/api/open-api/settings.ts","../src/api/open-api/soter.ts","../src/api/open-api/subscribe-message.ts","../src/api/open-api/user-info.ts","../src/api/open-api/werun.ts","../src/api/payment/index.ts","../src/api/qq/index.ts","../src/api/route/index.ts","../src/api/share/index.ts","../src/api/swan/index.ts","../src/api/worker/index.ts","../src/api/wxml/IntersectionObserver.ts","../src/api/wxml/MediaQueryObserver.ts","../src/api/wxml/nodesRef.ts","../src/api/wxml/selectorQuery.ts","../src/api/wxml/index.ts","../src/api/taro.ts"],"sourcesContent":["import { isFunction } from '@tarojs/shared'\n\ntype TCallback<T = Partial<TaroGeneral.CallbackResult>> = (res: T) => Promise<void> | void\ninterface IMethodParam<T = Partial<TaroGeneral.CallbackResult>> {\n name: string\n success?: TCallback<T & TaroGeneral.CallbackResult>\n fail?: TCallback\n complete?: TCallback\n}\ninterface IMockPromise {\n resolve?: typeof Promise.resolve | TFunc\n reject?: typeof Promise.reject | TFunc\n}\n\nexport class MethodHandler<T = Partial<TaroGeneral.CallbackResult>> {\n methodName: string\n\n protected __success?: TCallback<T>\n protected __fail?: TCallback\n protected __complete?: TCallback\n\n protected isHandlerError = false\n\n constructor ({ name, success, fail, complete }: IMethodParam<T>) {\n this.methodName = name\n this.__success = success\n this.__fail = fail\n this.__complete = complete\n\n this.isHandlerError = isFunction(this.__complete) || isFunction(this.__fail)\n }\n\n success<U = Record<string, unknown>> (res: Partial<T> & Partial<TaroGeneral.CallbackResult> = {}, promise: IMockPromise = {}): Promise<T & U & TaroGeneral.CallbackResult> {\n if (!res.errMsg) {\n res.errMsg = `${this.methodName}:ok`\n }\n isFunction(this.__success) && this.__success(res as T)\n isFunction(this.__complete) && this.__complete(res)\n\n const { resolve = Promise.resolve.bind(Promise) } = promise\n return resolve(res as Required<T & U & TaroGeneral.CallbackResult>)\n }\n\n fail<U = Record<string, unknown>> (res: Partial<T> & Partial<TaroGeneral.CallbackResult> = {}, promise: IMockPromise = {}): Promise<T & U & TaroGeneral.CallbackResult> {\n if (!res.errMsg) {\n res.errMsg = `${this.methodName}:fail`\n } else {\n res.errMsg = `${this.methodName}:fail ${res.errMsg}`\n }\n isFunction(this.__fail) && this.__fail(res)\n isFunction(this.__complete) && this.__complete(res)\n\n const {\n resolve = Promise.resolve.bind(Promise),\n reject = Promise.reject.bind(Promise)\n } = promise\n return this.isHandlerError\n ? resolve(res as Required<T & U & TaroGeneral.CallbackResult>)\n : reject(res)\n }\n}\n\ntype TCallbackManagerFunc<T extends unknown[] = unknown[]> = (...arr: T) => void\ninterface ICallbackManagerOption<T extends unknown[] = unknown[]> {\n callback?: TCallbackManagerFunc<T>\n ctx?: any\n [key: string]: unknown\n}\ntype TCallbackManagerUnit<T extends unknown[] = unknown[]> = (TCallbackManagerFunc<T> | ICallbackManagerOption<T>)\n\nexport class CallbackManager<T extends unknown[] = unknown[]> {\n callbacks: TCallbackManagerUnit<T>[] = []\n\n /** 添加回调 */\n add = (opt?: TCallbackManagerUnit<T>) => {\n if (opt) this.callbacks.push(opt)\n }\n\n /** 移除回调 */\n remove = (opt?: TCallbackManagerUnit<T>) => {\n if (opt) {\n let pos = -1\n this.callbacks.forEach((callback, k) => {\n if (callback === opt) {\n pos = k\n }\n })\n if (pos > -1) {\n this.callbacks.splice(pos, 1)\n }\n } else {\n // Note: 参数为空,则取消所有的事件监听\n this.callbacks = []\n }\n }\n\n /** 获取回调函数数量 */\n count = () => {\n return this.callbacks.length\n }\n\n /** 触发回调 */\n trigger = (...args: T) => {\n this.callbacks.forEach(opt => {\n if (isFunction(opt)) {\n opt(...args)\n } else {\n const { callback, ctx } = opt\n isFunction(callback) && callback.call(ctx, ...args)\n }\n })\n }\n\n /** 清空所有回调 */\n clear = () => {\n this.callbacks = []\n }\n}\n","/**\n * ease-in-out的函数\n * @param t 0-1的数字\n */\nexport const easeInOut = (t: number) => (t < 0.5 ? 4 * t * t * t : (t - 1) * (2 * t - 2) * (2 * t - 2) + 1)\n\nexport const getTimingFunc = (easeFunc, frameCnt) => {\n return x => {\n if (frameCnt <= 1) {\n return easeFunc(1)\n }\n const t = x / (frameCnt - 1)\n return easeFunc(t)\n }\n}\n","export function createDownload (url = '', download = '') {\n const link = document.createElement('a')\n link.style.display = 'none'\n link.href = url\n link.download = download\n\n // Note: 需要注意,该方案不能监听用户取消或禁止下载等操作,亦不能获取下载成功或失败状态\n link.click()\n}\n","const VALID_COLOR_REG = /^#[0-9a-fA-F]{6}$/\nexport const isValidColor = (color: string) => {\n return VALID_COLOR_REG.test(color)\n}\n","/* eslint-disable prefer-promise-reject-errors */\nimport Taro from '@tarojs/api'\nimport { Current, getCurrentPage, getHomePage, hooks } from '@tarojs/runtime'\nimport { isFunction } from '@tarojs/shared'\n\nimport { MethodHandler } from './handler'\n\nimport type { TaroElement } from '@tarojs/runtime'\n\nexport function shouldBeObject (target: unknown) {\n if (target && typeof target === 'object') return { flag: true }\n return {\n flag: false,\n msg: getParameterError({\n correct: 'Object',\n wrong: target\n })\n }\n}\n\nexport function findDOM (inst?): TaroElement | HTMLElement | undefined {\n if (inst && hooks.isExist('getDOMNode')) {\n return hooks.call('getDOMNode', inst)\n }\n\n const page = Current.page\n const path = page?.path\n const msg = '没有找到已经加载了的页面,请在页面加载完成后时候此 API。'\n if (path == null) {\n throw new Error(msg)\n }\n\n const el = document.getElementById(path)\n if (el == null) {\n throw new Error('在已加载页面中没有找到对应的容器元素。')\n }\n\n return el\n}\n\ninterface IParameterErrorParam {\n name?: string\n para?: string\n correct?: string\n wrong?: unknown\n level?: 'warn' | 'error' | 'log' | 'info' | 'debug'\n}\nexport function getParameterError ({ name = '', para, correct, wrong, level = 'error' }: IParameterErrorParam) {\n const parameter = para ? `parameter.${para}` : 'parameter'\n const errorType = upperCaseFirstLetter(wrong === null ? 'Null' : typeof wrong)\n return `${name ? `${name}:fail ` : ''}parameter ${level}: ${parameter} should be ${correct} instead of ${errorType}`\n}\n\nexport function upperCaseFirstLetter (string) {\n if (typeof string !== 'string') return string\n string = string.replace(/^./, match => match.toUpperCase())\n return string\n}\n\nexport function inlineStyle (style) {\n let res = ''\n for (const attr in style) res += `${attr}: ${style[attr]};`\n if (res.indexOf('display: flex;') >= 0) res += 'display: -webkit-box;display: -webkit-flex;'\n res = res.replace(/transform:(.+?);/g, (s, $1) => `${s}-webkit-transform:${$1};`)\n res = res.replace(/flex-direction:(.+?);/g, (s, $1) => `${s}-webkit-flex-direction:${$1};`)\n return res\n}\n\nexport function setTransform (el, val) {\n el.style.webkitTransform = val\n el.style.transform = val\n}\n\nexport function serializeParams (params) {\n if (!params) {\n return ''\n }\n return Object.keys(params)\n .map(key => (\n `${encodeURIComponent(key)}=${typeof (params[key]) === 'object'\n ? encodeURIComponent(JSON.stringify(params[key]))\n : encodeURIComponent(params[key])}`))\n .join('&')\n}\n\nexport function temporarilyNotSupport (name = '') {\n return (option = {}, ...args) => {\n const { success, fail, complete } = option as any\n const handle = new MethodHandler({ name, success, fail, complete })\n const errMsg = '暂时不支持 API'\n Taro.eventCenter.trigger('__taroNotSupport', {\n name,\n args: [option, ...args],\n type: 'method',\n category: 'temporarily',\n })\n if (process.env.NODE_ENV === 'production') {\n console.warn(errMsg)\n return handle.success({ errMsg })\n } else {\n return handle.fail({ errMsg })\n }\n }\n}\n\nexport function weixinCorpSupport (name: string) {\n return (option = {}, ...args) => {\n const { success, fail, complete } = option as any\n const handle = new MethodHandler({ name, success, fail, complete })\n const errMsg = 'h5 端当前仅在微信公众号 JS-SDK 环境下支持此 API'\n Taro.eventCenter.trigger('__taroNotSupport', {\n name,\n args: [option, ...args],\n type: 'method',\n category: 'weixin_corp',\n })\n if (process.env.NODE_ENV === 'production') {\n console.warn(errMsg)\n return handle.success({ errMsg })\n } else {\n return handle.fail({ errMsg })\n }\n }\n}\n\nexport function permanentlyNotSupport (name = '') {\n return (option = {}, ...args: any[]) => {\n const { success, fail, complete } = option as any\n const handle = new MethodHandler({ name, success, fail, complete })\n const errMsg = '不支持 API'\n Taro.eventCenter.trigger('__taroNotSupport', {\n name,\n args: [option, ...args],\n type: 'method',\n category: 'permanently',\n })\n if (process.env.NODE_ENV === 'production') {\n console.warn(errMsg)\n return handle.success({ errMsg })\n } else {\n return handle.fail({ errMsg })\n }\n }\n}\n\ninterface IProcessOpenApi<TOptions = Record<string, unknown>, TResult extends TaroGeneral.CallbackResult = any> {\n name: string\n defaultOptions?: TOptions\n standardMethod?: (opts: TOptions) => Promise<TResult>\n formatOptions?: (opts: TOptions) => TOptions\n formatResult?: (res: TResult) => TResult\n}\n\nexport function processOpenApi<TOptions = Record<string, unknown>, TResult extends TaroGeneral.CallbackResult = any> ({\n name,\n defaultOptions,\n standardMethod,\n formatOptions = options => options,\n formatResult = res => res\n}: IProcessOpenApi<TOptions, TResult>) {\n const notSupported = weixinCorpSupport(name)\n return (options: Partial<TOptions> = {}, ...args: any[]): Promise<TResult> => {\n // @ts-ignore\n const targetApi = window?.wx?.[name]\n const opts = formatOptions(Object.assign({}, defaultOptions, options))\n if (isFunction(targetApi)) {\n return new Promise<TResult>((resolve, reject) => {\n ['fail', 'success', 'complete'].forEach(k => {\n opts[k] = preRef => {\n const res = formatResult(preRef)\n options[k] && options[k](res)\n if (k === 'success') {\n resolve(res)\n } else if (k === 'fail') {\n reject(res)\n }\n }\n return targetApi(opts)\n })\n })\n } else if (isFunction(standardMethod)) {\n return standardMethod(opts)\n } else {\n return notSupported(options, ...args) as Promise<TResult>\n }\n }\n}\n\n/**\n * 获取当前页面路径\n * @returns\n */\nexport function getCurrentPath (): string {\n const appConfig = (window as any).__taroAppConfig || {}\n const routePath = getCurrentPage(appConfig.router?.mode, appConfig.router?.basename)\n const homePath = getHomePage(appConfig.routes?.[0]?.path, appConfig.router?.basename, appConfig.router?.customRoutes, appConfig.entryPagePath)\n\n /**\n * createPageConfig 时根据 stack 的长度来设置 stamp 以保证页面 path 的唯一,此函数是在 createPageConfig 之前调用,预先设置 stamp=1\n * url 上没有指定应用的启动页面时使用 homePath\n */\n return `${routePath === '/' ? homePath : routePath}?stamp=1`\n}\n\nexport * from './animation'\nexport * from './helper'\nexport * from './valid'\n","import { temporarilyNotSupport } from '../../utils'\n\n// 广告\nexport const createRewardedVideoAd = /* @__PURE__ */ temporarilyNotSupport('createRewardedVideoAd')\nexport const createInterstitialAd = /* @__PURE__ */ temporarilyNotSupport('createInterstitialAd')\n","import { temporarilyNotSupport } from '../../utils'\n\n// 人脸识别\nexport const stopFaceDetect = /* @__PURE__ */ temporarilyNotSupport('stopFaceDetect')\nexport const initFaceDetect = /* @__PURE__ */ temporarilyNotSupport('initFaceDetect')\nexport const faceDetect = /* @__PURE__ */ temporarilyNotSupport('faceDetect')\n","import { temporarilyNotSupport } from '../../utils'\n\n// AI推理\nexport const getInferenceEnvInfo = /* @__PURE__ */ temporarilyNotSupport('getInferenceEnvInfo')\nexport const createInferenceSession = /* @__PURE__ */ temporarilyNotSupport('createInferenceSession')\n","import { temporarilyNotSupport } from '../../utils'\n\n// 判断支持版本\nexport const isVKSupport = /* @__PURE__ */ temporarilyNotSupport('isVKSupport')\n\n// 视觉算法\nexport const createVKSession = /* @__PURE__ */ temporarilyNotSupport('createVKSession')\n","import { temporarilyNotSupport } from '../../utils'\n\n// AliPay\nexport const getOpenUserInfo = /* @__PURE__ */ temporarilyNotSupport('getOpenUserInfo')\nexport const tradePay = /* @__PURE__ */ temporarilyNotSupport('tradePay')\n","import { temporarilyNotSupport } from '../../utils'\n\n// 加密\nexport const getUserCryptoManager = /* @__PURE__ */ temporarilyNotSupport('getUserCryptoManager')\n","import { temporarilyNotSupport } from '../../utils'\n\nexport const setEnableDebug = /* @__PURE__ */ temporarilyNotSupport('setEnableDebug')\nexport const getRealtimeLogManager = /* @__PURE__ */ temporarilyNotSupport('getRealtimeLogManager')\nexport const getLogManager = /* @__PURE__ */ temporarilyNotSupport('getLogManager')\n","import { temporarilyNotSupport } from '../../utils'\n\n// 性能\nexport const reportPerformance = /* @__PURE__ */ temporarilyNotSupport('reportPerformance')\nexport const getPerformance = /* @__PURE__ */ temporarilyNotSupport('getPerformance')\nexport const preloadWebview = /* @__PURE__ */ temporarilyNotSupport('preloadWebview')\nexport const preloadSkylineView = /* @__PURE__ */ temporarilyNotSupport('preloadSkylineView')\nexport const preloadAssets = /* @__PURE__ */ temporarilyNotSupport('preloadAssets')\n","import Taro from '@tarojs/api'\nimport platform from 'platform'\n\nimport { temporarilyNotSupport } from '../../utils'\nimport { MethodHandler } from '../../utils/handler'\n\n/** 跳转系统蓝牙设置页 */\nexport const openSystemBluetoothSetting = /* @__PURE__ */ temporarilyNotSupport('openSystemBluetoothSetting')\n\n/** 跳转系统微信授权管理页 */\nexport const openAppAuthorizeSetting = /* @__PURE__ */ temporarilyNotSupport('openAppAuthorizeSetting')\n\n/** 获取窗口信息 */\nexport const getWindowInfo: typeof Taro.getWindowInfo = () => {\n const info: ReturnType<typeof Taro.getWindowInfo> = {\n /** 设备像素比 */\n pixelRatio: window.devicePixelRatio,\n /** 屏幕宽度,单位px */\n screenWidth: window.screen.width,\n /** 屏幕高度,单位px */\n screenHeight: window.screen.height,\n /** 可使用窗口宽度,单位px */\n windowWidth: document.documentElement.clientWidth,\n /** 可使用窗口高度,单位px */\n windowHeight: document.documentElement.clientHeight,\n /** 状态栏的高度,单位px */\n statusBarHeight: NaN,\n /** 在竖屏正方向下的安全区域 */\n safeArea: {\n bottom: 0,\n height: 0,\n left: 0,\n right: 0,\n top: 0,\n width: 0\n }\n }\n\n return info\n}\n\n/** 获取设备设置 */\nexport const getSystemSetting: typeof Taro.getSystemSetting = () => {\n const isLandscape = window.screen.width >= window.screen.height\n const info: ReturnType<typeof Taro.getSystemSetting> = {\n /** 蓝牙的系统开关 */\n bluetoothEnabled: false,\n /** 地理位置的系统开关 */\n locationEnabled: false,\n /** Wi-Fi 的系统开关 */\n wifiEnabled: false,\n /** 设备方向 */\n deviceOrientation: isLandscape ? 'landscape' : 'portrait'\n }\n\n return info\n}\n\n/** 获取设备设置 */\nexport const getDeviceInfo: typeof Taro.getDeviceInfo = () => {\n const info: ReturnType<typeof Taro.getDeviceInfo> = {\n /** 应用二进制接口类型(仅 Android 支持) */\n abi: '',\n /** 设备二进制接口类型(仅 Android 支持) */\n deviceAbi: '',\n /** 设备性能等级(仅Android小游戏)。取值为:-2 或 0(该设备无法运行小游戏),-1(性能未知),>=1(设备性能值,该值越高,设备性能越好,目前最高不到50) */\n benchmarkLevel: -1,\n /** 设备品牌 */\n brand: platform.manufacturer || 'unknown',\n /** 设备型号 */\n model: platform.product || 'unknown',\n /** 操作系统及版本 */\n system: platform.os?.toString() || 'unknown',\n /** 客户端平台 */\n platform: platform.os?.family || 'unknown',\n /** 设备二进制接口类型(仅 Android 支持) */\n CPUType: '',\n }\n\n return info\n}\n\n/** 获取微信APP基础信息 */\nexport const getAppBaseInfo: typeof Taro.getAppBaseInfo = () => {\n let isDarkMode = false\n if (window.matchMedia?.('(prefers-color-scheme: dark)').matches) {\n isDarkMode = true\n }\n\n const info: ReturnType<typeof Taro.getAppBaseInfo> = {\n /** 客户端基础库版本 */\n SDKVersion: '',\n /** 是否已打开调试。可通过右上角菜单或 [Taro.setEnableDebug](/docs/apis/base/debug/setEnableDebug) 打开调试。 */\n enableDebug: process.env.NODE_ENV !== 'production',\n /** 当前小程序运行的宿主环境 */\n // host: { appId: '' },\n /** 微信设置的语言 */\n language: navigator.language,\n /** 微信版本号 */\n version: '',\n /** 系统当前主题,取值为light或dark,全局配置\"darkmode\":true时才能获取,否则为 undefined (不支持小游戏) */\n theme: isDarkMode ? 'dark' : 'light'\n }\n\n return info\n}\n\n/** 获取微信APP授权设置 */\nexport const getAppAuthorizeSetting: typeof Taro.getAppAuthorizeSetting = () => {\n const info: ReturnType<typeof Taro.getAppAuthorizeSetting> = {\n /** 允许微信使用相册的开关(仅 iOS 有效) */\n albumAuthorized: 'not determined',\n /** 允许微信使用蓝牙的开关(仅 iOS 有效) */\n bluetoothAuthorized: 'not determined',\n /** 允许微信使用摄像头的开关 */\n cameraAuthorized: 'not determined',\n /** 允许微信使用定位的开关 */\n locationAuthorized: 'not determined',\n /** 定位准确度。true 表示模糊定位,false 表示精确定位(仅 iOS 有效) */\n locationReducedAccuracy: false,\n /** 允许微信使用麦克风的开关 */\n microphoneAuthorized: 'not determined',\n /** 允许微信通知的开关 */\n notificationAuthorized: 'not determined',\n /** 允许微信通知带有提醒的开关(仅 iOS 有效) */\n notificationAlertAuthorized: 'not determined',\n /** 允许微信通知带有标记的开关(仅 iOS 有效) */\n notificationBadgeAuthorized: 'not determined',\n /** 允许微信通知带有声音的开关(仅 iOS 有效) */\n notificationSoundAuthorized: 'not determined',\n /** 允许微信使用日历的开关 */\n phoneCalendarAuthorized: 'not determined'\n }\n\n return info\n}\n\n/** 获取设备设置 */\nexport const getSystemInfoSync: typeof Taro.getSystemInfoSync = () => {\n const windowInfo = getWindowInfo()\n const systemSetting = getSystemSetting()\n const deviceInfo: Taro.getDeviceInfo.Result = getDeviceInfo()\n const appBaseInfo = getAppBaseInfo()\n const appAuthorizeSetting = getAppAuthorizeSetting()\n delete deviceInfo.abi\n\n const info: ReturnType<typeof Taro.getSystemInfoSync> = {\n ...windowInfo,\n ...systemSetting,\n ...deviceInfo,\n ...appBaseInfo,\n /** 用户字体大小(单位px)。以微信客户端「我-设置-通用-字体大小」中的设置为准 */\n fontSizeSetting: NaN,\n /** 允许微信使用相册的开关(仅 iOS 有效) */\n albumAuthorized: appAuthorizeSetting.albumAuthorized === 'authorized',\n /** 允许微信使用摄像头的开关 */\n cameraAuthorized: appAuthorizeSetting.cameraAuthorized === 'authorized',\n /** 允许微信使用定位的开关 */\n locationAuthorized: appAuthorizeSetting.locationAuthorized === 'authorized',\n /** 允许微信使用麦克风的开关 */\n microphoneAuthorized: appAuthorizeSetting.microphoneAuthorized === 'authorized',\n /** 允许微信通知的开关 */\n notificationAuthorized: appAuthorizeSetting.notificationAuthorized === 'authorized',\n /** 允许微信通知带有提醒的开关(仅 iOS 有效) */\n notificationAlertAuthorized: appAuthorizeSetting.notificationAlertAuthorized === 'authorized',\n /** 允许微信通知带有标记的开关(仅 iOS 有效) */\n notificationBadgeAuthorized: appAuthorizeSetting.notificationBadgeAuthorized === 'authorized',\n /** 允许微信通知带有声音的开关(仅 iOS 有效) */\n notificationSoundAuthorized: appAuthorizeSetting.notificationSoundAuthorized === 'authorized',\n /** 允许微信使用日历的开关 */\n phoneCalendarAuthorized: appAuthorizeSetting.phoneCalendarAuthorized === 'authorized',\n /** `true` 表示模糊定位,`false` 表示精确定位,仅 iOS 支持 */\n locationReducedAccuracy: appAuthorizeSetting.locationReducedAccuracy,\n /** 小程序当前运行环境 */\n environment: ''\n }\n\n return info\n}\n\n/** 获取系统信息 */\nexport const getSystemInfoAsync: typeof Taro.getSystemInfoAsync = async (options = {}) => {\n const { success, fail, complete } = options\n const handle = new MethodHandler({ name: 'getSystemInfoAsync', success, fail, complete })\n\n try {\n const info = await getSystemInfoSync()\n return handle.success(info)\n } catch (error) {\n return handle.fail({\n errMsg: error\n })\n }\n}\n\n/** 获取系统信息 */\nexport const getSystemInfo: typeof Taro.getSystemInfo = async (options = {}) => {\n const { success, fail, complete } = options\n const handle = new MethodHandler({ name: 'getSystemInfo', success, fail, complete })\n\n try {\n const info = await getSystemInfoSync()\n return handle.success(info)\n } catch (error) {\n return handle.fail({\n errMsg: error\n })\n }\n}\n\nexport const getSkylineInfoSync = /* @__PURE__ */ temporarilyNotSupport('getSkylineInfoSync')\n\nexport const getSkylineInfo = /* @__PURE__ */ temporarilyNotSupport('getSkylineInfo')\n\nexport const getRendererUserAgent = /* @__PURE__ */ temporarilyNotSupport('getRendererUserAgent')\n","import { temporarilyNotSupport } from '../../utils'\n\n// 更新\nexport const updateWeChatApp = /* @__PURE__ */ temporarilyNotSupport('updateWeChatApp')\nexport const getUpdateManager = /* @__PURE__ */ temporarilyNotSupport('getUpdateManager')\n","import Taro from '@tarojs/api'\nimport isNil from 'lodash-es/isNil'\nimport { parse } from 'query-string'\n\nimport { temporarilyNotSupport } from '../../../utils'\nimport { CallbackManager } from '../../../utils/handler'\n\nconst unhandledRejectionCallbackManager = new CallbackManager<[Taro.onUnhandledRejection.Result]>()\nconst themeChangeCallbackManager = new CallbackManager<[Taro.onThemeChange.Result]>()\nconst pageNotFoundCallbackManager = new CallbackManager<[Taro.onPageNotFound.Result]>()\nconst errorCallbackManager = new CallbackManager<Parameters<Taro.onError.Callback>>()\nconst appShowCallbackManager = new CallbackManager<[Taro.onAppShow.CallbackResult]>()\nconst appHideCallbackManager = new CallbackManager<[Taro.onAppShow.CallbackResult]>()\n\nconst unhandledRejectionListener = (res: PromiseRejectionEvent) => {\n unhandledRejectionCallbackManager.trigger(res)\n}\n\nlet themeMatchMedia: MediaQueryList | null = null\nconst themeChangeListener = (res: MediaQueryListEvent) => {\n themeChangeCallbackManager.trigger({\n theme: res.matches ? 'dark' : 'light'\n })\n}\n\nconst pageNotFoundListener = (res: Taro.onPageNotFound.Result) => {\n pageNotFoundCallbackManager.trigger(res)\n}\n\nconst errorListener = (res: ErrorEvent) => {\n // @ts-ignore\n errorCallbackManager.trigger(res.stack || res.message || res)\n}\n\nconst getApp = () => {\n const path = Taro.Current.page?.path\n return {\n /** 小程序切前台的路径 */\n path: path?.substring(0, path.indexOf('?')) || '',\n /** 小程序切前台的 query 参数 */\n query: parse(location.search),\n /** 来源信息。 */\n referrerInfo: {},\n /** 小程序切前台的[场景值](https://developers.weixin.qq.com/miniprogram/dev/framework/app-service/scene.html) */\n scene: 0,\n /** shareTicket,详见[获取更多转发信息](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html) */\n shareTicket: ''\n }\n}\n\nconst appShowListener = () => {\n if (document.visibilityState !== 'hidden') {\n appShowCallbackManager.trigger(getApp())\n }\n}\n\nconst appHideListener = () => {\n if (document.visibilityState === 'hidden') {\n appHideCallbackManager.trigger(getApp())\n }\n}\n\n// 应用级事件\nexport const onUnhandledRejection: typeof Taro.onUnhandledRejection = callback => {\n unhandledRejectionCallbackManager.add(callback)\n if (unhandledRejectionCallbackManager.count() === 1) {\n window.addEventListener('unhandledrejection', unhandledRejectionListener)\n }\n}\n\nexport const onThemeChange: typeof Taro.onThemeChange = callback => {\n themeChangeCallbackManager.add(callback)\n if (themeChangeCallbackManager.count() === 1) {\n if (isNil(themeMatchMedia)) {\n themeMatchMedia = window.matchMedia('(prefers-color-scheme: light)')\n }\n themeMatchMedia.addEventListener('change', themeChangeListener)\n }\n}\n\nexport const onPageNotFound: typeof Taro.onPageNotFound = callback => {\n pageNotFoundCallbackManager.add(callback)\n if (pageNotFoundCallbackManager.count() === 1) {\n Taro.eventCenter.on('__taroRouterNotFound', pageNotFoundListener)\n }\n}\n\nexport const onLazyLoadError = /* @__PURE__ */ temporarilyNotSupport('onLazyLoadError')\n\nexport const onError: typeof Taro.onError = callback => {\n errorCallbackManager.add(callback)\n if (errorCallbackManager.count() === 1) {\n window.addEventListener('error', errorListener)\n }\n}\n\nexport const onAudioInterruptionEnd = /* @__PURE__ */ temporarilyNotSupport('onAudioInterruptionEnd')\nexport const onAudioInterruptionBegin = /* @__PURE__ */ temporarilyNotSupport('onAudioInterruptionBegin')\n\nexport const onAppShow: typeof Taro.onAppShow = callback => {\n appShowCallbackManager.add(callback)\n if (appShowCallbackManager.count() === 1) {\n window.addEventListener('visibilitychange', appShowListener)\n }\n}\n\nexport const onAppHide: typeof Taro.onAppHide = callback => {\n appHideCallbackManager.add(callback)\n if (appHideCallbackManager.count() === 1) {\n window.addEventListener('visibilitychange', appHideListener)\n }\n}\n\nexport const offUnhandledRejection: typeof Taro.offUnhandledRejection = callback => {\n unhandledRejectionCallbackManager.remove(callback)\n if (unhandledRejectionCallbackManager.count() === 0) {\n window.removeEventListener('unhandledrejection', unhandledRejectionListener)\n }\n}\n\nexport const offThemeChange: typeof Taro.offThemeChange = callback => {\n themeChangeCallbackManager.remove(callback)\n if (themeChangeCallbackManager.count() === 0) {\n if (isNil(themeMatchMedia)) {\n themeMatchMedia = window.matchMedia('(prefers-color-scheme: light)')\n }\n themeMatchMedia.removeEventListener('change', themeChangeListener)\n themeMatchMedia = null\n }\n}\n\nexport const offPageNotFound: typeof Taro.offPageNotFound = callback => {\n pageNotFoundCallbackManager.remove(callback)\n if (pageNotFoundCallbackManager.count() === 0) {\n Taro.eventCenter.off('__taroRouterNotFound', pageNotFoundListener)\n }\n}\n\nexport const offLazyLoadError = /* @__PURE__ */ temporarilyNotSupport('offLazyLoadError')\n\nexport const offError: typeof Taro.offError = callback => {\n errorCallbackManager.remove(callback)\n if (errorCallbackManager.count() === 0) {\n window.removeEventListener('error', errorListener)\n }\n}\n\nexport const offAudioInterruptionEnd = /* @__PURE__ */ temporarilyNotSupport('offAudioInterruptionEnd')\nexport const offAudioInterruptionBegin = /* @__PURE__ */ temporarilyNotSupport('offAudioInterruptionBegin')\n\nexport const offAppShow: typeof Taro.offAppShow = callback => {\n appShowCallbackManager.remove(callback)\n if (appShowCallbackManager.count() === 0) {\n window.removeEventListener('visibilitychange', appShowListener)\n }\n}\n\nexport const offAppHide: typeof Taro.offAppHide = callback => {\n appHideCallbackManager.remove(callback)\n if (appHideCallbackManager.count() === 0) {\n window.removeEventListener('visibilitychange', appHideListener)\n }\n}\n","import Taro from '@tarojs/api'\n\nconst launchOptions: Taro.getLaunchOptionsSync.LaunchOptions = {\n path: '',\n query: {},\n scene: 0,\n shareTicket: '',\n referrerInfo: {}\n}\n\nfunction initLaunchOptions (options = {}) {\n Object.assign(launchOptions, options)\n}\n\nTaro.eventCenter.once('__taroRouterLaunch', initLaunchOptions)\n\n// 生命周期\nexport const getLaunchOptionsSync: typeof Taro.getLaunchOptionsSync = () => launchOptions\nexport const getEnterOptionsSync: typeof Taro.getEnterOptionsSync = () => launchOptions\n","import { fromByteArray, toByteArray } from 'base64-js'\n\nexport const env = {\n FRAMEWORK: process.env.FRAMEWORK,\n TARO_ENV: process.env.TARO_ENV,\n TARO_PLATFORM: process.env.TARO_PLATFORM,\n TARO_VERSION: process.env.TARO_VERSION,\n}\n\n// Note: 该方法由 taro-plugin-platform-h5 实现\n// export const canIUse = /* @__PURE__ */ temporarilyNotSupport('canIUse')\n\nexport function arrayBufferToBase64 (arrayBuffer: ArrayBuffer) {\n return fromByteArray(arrayBuffer as Uint8Array)\n}\n\nexport function base64ToArrayBuffer (base64: string) {\n return toByteArray(base64).buffer\n}\n\nexport * from './crypto'\nexport * from './debug'\nexport * from './performance'\nexport * from './system'\nexport * from './update'\nexport * from './weapp/app-event'\nexport * from './weapp/life-cycle'\n","import Taro, { CanvasGradient } from '@tarojs/api'\n\ninterface IAction {\n func: (...arr: any[]) => void\n args: any[]\n}\n\nconst TextBaseLineMap: Record<keyof Taro.CanvasContext.TextBaseline, CanvasTextBaseline> = {\n top: 'top',\n bottom: 'bottom',\n middle: 'middle',\n normal: 'alphabetic',\n hanging: 'hanging',\n alphabetic: 'alphabetic',\n ideographic: 'ideographic'\n}\n\nexport class CanvasContext implements Taro.CanvasContext {\n __raw__: CanvasRenderingContext2D\n actions: IAction[] = []\n\n constructor (canvas, ctx) {\n this.canvas = canvas\n this.ctx = ctx\n }\n\n set ctx (e: CanvasRenderingContext2D) {\n this.__raw__ = e\n }\n\n get ctx () {\n return this.__raw__ || {}\n }\n\n canvas: HTMLCanvasElement\n\n protected emptyActions () {\n this.actions.length = 0\n }\n\n protected enqueueActions (func: IAction['func'], ...args) {\n this.actions.push({\n func,\n args\n })\n }\n\n set fillStyle (e) { this.enqueueActions(() => { this.ctx.fillStyle = e }) }\n get fillStyle () { return this.ctx.fillStyle as string }\n set font (e) { this.ctx.font = e }\n get font () { return this.ctx.font }\n set globalAlpha (e) { this.enqueueActions(() => { this.ctx.globalAlpha = e }) }\n get globalAlpha () { return this.ctx.globalAlpha }\n set globalCompositeOperation (e) { this.enqueueActions(() => { this.ctx.globalCompositeOperation = e }) }\n get globalCompositeOperation () { return this.ctx.globalCompositeOperation }\n set lineCap (e) { this.enqueueActions(() => { this.ctx.lineCap = e }) }\n get lineCap () { return this.ctx.lineCap }\n set lineDashOffset (e) { this.enqueueActions(() => { this.ctx.lineDashOffset = e }) }\n get lineDashOffset () { return this.ctx.lineDashOffset }\n set lineJoin (e) { this.enqueueActions(() => { this.ctx.lineJoin = e }) }\n get lineJoin () { return this.ctx.lineJoin }\n set lineWidth (e) { this.enqueueActions(() => { this.ctx.lineWidth = e }) }\n get lineWidth () { return this.ctx.lineWidth }\n set miterLimit (e) { this.enqueueActions(() => { this.ctx.miterLimit = e }) }\n get miterLimit () { return this.ctx.miterLimit }\n set shadowBlur (e) { this.enqueueActions(() => { this.ctx.shadowBlur = e }) }\n get shadowBlur () { return this.ctx.shadowBlur }\n set shadowColor (e) { this.enqueueActions(() => { this.ctx.shadowColor = e }) }\n get shadowColor () { return this.ctx.shadowColor }\n set shadowOffsetX (e) { this.enqueueActions(() => { this.ctx.shadowOffsetX = e }) }\n get shadowOffsetX () { return this.ctx.shadowOffsetX }\n set shadowOffsetY (e) { this.enqueueActions(() => { this.ctx.shadowOffsetY = e }) }\n get shadowOffsetY () { return this.ctx.shadowOffsetY }\n set strokeStyle (e) { this.enqueueActions(() => { this.ctx.strokeStyle = e }) }\n get strokeStyle () { return this.ctx.strokeStyle as string }\n /** 小程序文档中不包括 ↓↓↓ */\n set textAlign (e) { this.ctx.textAlign = e }\n get textAlign () { return this.ctx.textAlign }\n set textBaseline (e) { this.ctx.textBaseline = e }\n get textBaseline () { return this.ctx.textBaseline }\n set direction (e) { this.ctx.direction = e }\n get direction () { return this.ctx.direction }\n set imageSmoothingEnabled (e) { this.enqueueActions(() => { this.ctx.imageSmoothingEnabled = e }) }\n get imageSmoothingEnabled () { return this.ctx.imageSmoothingEnabled }\n set imageSmoothingQuality (e) { this.enqueueActions(() => { this.ctx.imageSmoothingQuality = e }) }\n get imageSmoothingQuality () { return this.ctx.imageSmoothingQuality }\n set filter (e) { this.enqueueActions(() => { this.ctx.filter = e }) }\n get filter () { return this.ctx.filter }\n /** 小程序文档中不包括 ↑↑↑ */\n\n arc (...args) { return this.enqueueActions(this.ctx.arc, ...args) }\n arcTo (...args) { return this.enqueueActions(this.ctx.arcTo, ...args) }\n beginPath (...args) { return this.enqueueActions(this.ctx.beginPath, ...args) }\n bezierCurveTo (...args) { return this.enqueueActions(this.ctx.bezierCurveTo, ...args) }\n clearRect (...args) { return this.enqueueActions(this.ctx.clearRect, ...args) }\n clip (...args) { return this.enqueueActions(this.ctx.clip, ...args) }\n closePath (...args) { return this.enqueueActions(this.ctx.closePath, ...args) }\n\n createPattern (imageResource: string, repetition: keyof Taro.CanvasContext.Repetition): CanvasPattern | null | Promise<CanvasPattern | null> {\n // 需要转换为 Image\n if (typeof imageResource === 'string') {\n const img = new Image()\n img.src = imageResource\n return new Promise<CanvasPattern | null>((resolve, reject) => {\n img.onload = () => {\n resolve(this.ctx.createPattern(img, repetition))\n }\n img.onerror = reject\n })\n }\n\n return this.ctx.createPattern(imageResource, repetition)\n }\n\n /**\n * 将之前在绘图上下文中的描述(路径、变形、样式)画到 canvas 中。\n * @todo 每次 draw 都会读取 width 和 height\n */\n async draw (reserve?: boolean, callback?: (...args: any[]) => any): Promise<void> {\n try {\n if (!reserve) {\n this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height)\n }\n\n // 部分 action 是异步的\n for (const { func, args } of this.actions) {\n await func.apply(this.ctx, args)\n }\n\n this.emptyActions()\n callback && callback()\n } catch (e) {\n /* eslint-disable no-throw-literal */\n throw {\n errMsg: e.message\n }\n }\n }\n\n drawImage (imageResource: string, ...extra: any[]): void {\n type TExtra = [number, number]\n this.enqueueActions(() => {\n // 需要转换为 Image\n if (typeof imageResource === 'string') {\n const img = new Image()\n img.src = imageResource\n return new Promise<void>((resolve, reject) => {\n img.onload = () => {\n this.ctx.drawImage(img, ...extra as TExtra)\n resolve()\n }\n img.onerror = reject\n })\n }\n\n this.ctx.drawImage(imageResource, ...extra as TExtra)\n })\n }\n\n fill (...args) { return this.enqueueActions(this.ctx.fill, ...args) }\n fillRect (...args) { return this.enqueueActions(this.ctx.fillRect, ...args) }\n fillText (...args) { return this.enqueueActions(this.ctx.fillText, ...args) }\n lineTo (...args) { return this.enqueueActions(this.ctx.lineTo, ...args) }\n moveTo (...args) { return this.enqueueActions(this.ctx.moveTo, ...args) }\n quadraticCurveTo (...args) { return this.enqueueActions(this.ctx.quadraticCurveTo, ...args) }\n rect (...args) { return this.enqueueActions(this.ctx.rect, ...args) }\n // @ts-ignore\n reset () { return this.ctx.reset() }\n restore () { return this.ctx.restore() }\n rotate (...args) { return this.enqueueActions(this.ctx.rotate, ...args) }\n save () { return this.ctx.save() }\n scale (...args) { return this.enqueueActions(this.ctx.scale, ...args) }\n\n setFillStyle (color: string | CanvasGradient): void {\n this.enqueueActions(() => { this.ctx.fillStyle = color })\n }\n\n setFontSize (fontSize: number): void {\n const arr = this.font.split(/\\s/)\n const idx = arr.findIndex(e => /^\\d+px$/.test(e))\n if (idx !== -1) {\n arr[idx] = `${fontSize}px`\n this.font = arr.join(' ')\n }\n }\n\n setGlobalAlpha (alpha: number): void {\n this.globalAlpha = alpha\n }\n\n setLineCap (lineCap: keyof Taro.CanvasContext.LineCap): void {\n this.lineCap = lineCap\n }\n\n setLineDash (pattern: number[], offset: number): void {\n this.enqueueActions(() => {\n this.ctx.setLineDash(pattern)\n this.ctx.lineDashOffset = offset\n })\n }\n\n setLineJoin (lineJoin: keyof Taro.CanvasContext.LineJoin): void {\n this.lineJoin = lineJoin\n }\n\n setLineWidth (lineWidth: number): void {\n this.lineWidth = lineWidth\n }\n\n setMiterLimit (miterLimit: number): void {\n this.miterLimit = miterLimit\n }\n\n setShadow (offsetX: number, offsetY: number, blur: number, color: string): void {\n this.enqueueActions(() => {\n this.ctx.shadowOffsetX = offsetX\n this.ctx.shadowOffsetY = offsetY\n this.ctx.shadowColor = color\n this.ctx.shadowBlur = blur\n })\n }\n\n setStrokeStyle (color: string | CanvasGradient): void {\n this.enqueueActions(() => { this.ctx.strokeStyle = color })\n }\n\n setTextAlign (align: keyof Taro.CanvasContext.Align): void {\n this.textAlign = align\n }\n\n setTextBaseline (textBaseline: keyof Taro.CanvasContext.TextBaseline): void {\n this.textBaseline = TextBaseLineMap[textBaseline] || 'alphabetic'\n }\n\n setTransform (...args) { return this.enqueueActions(this.ctx.setTransform, ...args) }\n stroke (...args) { return this.enqueueActions(this.ctx.stroke, ...args) }\n strokeRect (...args) { return this.enqueueActions(this.ctx.strokeRect, ...args) }\n strokeText (...args) { return this.enqueueActions(this.ctx.strokeText, ...args) }\n transform (...args) { return this.enqueueActions(this.ctx.transform, ...args) }\n translate (...args) { return this.enqueueActions(this.ctx.translate, ...args) }\n\n measureText (text: string): TextMetrics {\n return this.ctx.measureText(text)\n }\n\n createCircularGradient (x: number, y: number, r: number): CanvasGradient {\n const radialGradient = this.ctx.createRadialGradient(x, y, 0, x, y, r)\n\n return radialGradient\n }\n\n createLinearGradient (x0: number, y0: number, x1: number, y1: number): CanvasGradient {\n return this.ctx.createLinearGradient(x0, y0, x1, y1)\n }\n}\n","import Taro from '@tarojs/api'\r\n\r\nimport { findDOM } from '../../utils'\r\nimport { CanvasContext } from './CanvasContext'\r\n\r\n/**\r\n * 创建 canvas 的绘图上下文 CanvasContext 对象\r\n */\r\nexport const createCanvasContext: typeof Taro.createCanvasContext = (canvasId, inst) => {\r\n const el = findDOM(inst) as HTMLElement\r\n const canvas = el?.querySelector(`canvas[canvas-id=\"${canvasId}\"]`) as HTMLCanvasElement\r\n const ctx = canvas?.getContext('2d') as CanvasRenderingContext2D\r\n const context = new CanvasContext(canvas, ctx)\r\n if (!ctx) return context\r\n context.canvas = canvas\r\n context.ctx = ctx\r\n\r\n return context\r\n}\r\n","import Taro from '@tarojs/api'\n\nimport { findDOM } from '../../utils'\nimport { MethodHandler } from '../../utils/handler'\n\n/**\n * 把当前画布指定区域的内容导出生成指定大小的图片。在 draw() 回调里调用该方法才能保证图片导出成功。\n * @todo 暂未支持尺寸相关功能\n */\nexport const canvasToTempFilePath: typeof Taro.canvasToTempFilePath = ({ canvasId, fileType, quality, success, fail, complete }, inst) => {\n const handle = new MethodHandler({ name: 'canvasToTempFilePath', success, fail, complete })\n const el = findDOM(inst) as HTMLElement\n const canvas = el?.querySelector(`canvas[canvas-id=\"${canvasId}\"]`) as HTMLCanvasElement\n\n try {\n const dataURL = canvas?.toDataURL(`image/${(fileType === 'jpg' ? 'jpeg' : fileType) || 'png'}`, quality)\n return handle.success({\n tempFilePath: dataURL\n })\n } catch (e) {\n return handle.fail({\n errMsg: e.message\n })\n }\n}\n","import Taro from '@tarojs/api'\r\n\r\nimport { findDOM } from '../../utils'\r\nimport { MethodHandler } from '../../utils/handler'\r\n\r\n/**\r\n * 将像素数据绘制到画布。在自定义组件下,第二个参数传入自定义组件实例 this,以操作组件内 <canvas> 组件\r\n * @todo 暂未支持尺寸相关功能\r\n */\r\nexport const canvasPutImageData: typeof Taro.canvasPutImageData = ({ canvasId, data, x, y, success, fail, complete }, inst) => {\r\n const handle = new MethodHandler({ name: 'canvasPutImageData', success, fail, complete })\r\n const el = findDOM(inst) as HTMLElement\r\n const canvas = el?.querySelector(`canvas[canvas-id=\"${canvasId}\"]`) as HTMLCanvasElement\r\n\r\n try {\r\n const ctx = canvas.getContext('2d')\r\n // TODO Uint8ClampedArray => ImageData\r\n ctx?.putImageData(data as unknown as ImageData, x, y)\r\n return handle.success()\r\n } catch (e) {\r\n return handle.fail({\r\n errMsg: e.message\r\n })\r\n }\r\n}\r\n","import Taro from '@tarojs/api'\r\n\r\nimport { findDOM } from '../../utils'\r\nimport { MethodHandler } from '../../utils/handler'\r\n\r\n/**\r\n * 获取 canvas 区域隐含的像素数据。\r\n */\r\nexport const canvasGetImageData: typeof Taro.canvasGetImageData = ({ canvasId, success, fail, complete, x, y, width, height }, inst) => {\r\n const handle = new MethodHandler({ name: 'canvasGetImageData', success, fail, complete })\r\n const el = findDOM(inst) as HTMLElement\r\n const canvas = el?.querySelector(`canvas[canvas-id=\"${canvasId}\"]`) as HTMLCanvasElement\r\n\r\n try {\r\n const ctx = canvas?.getContext('2d')\r\n // TODO ImageData => Uint8ClampedArray\r\n const data = ctx?.getImageData(x, y, width, height) as unknown as Uint8ClampedArray\r\n return handle.success({\r\n width,\r\n height,\r\n data\r\n })\r\n } catch (e) {\r\n return handle.fail({\r\n errMsg: e.message\r\n })\r\n }\r\n}\r\n","import { temporarilyNotSupport } from '../../utils'\r\n\r\n// 画布\r\n\r\n/** 创建离屏 canvas 实例 */\r\nexport const createOffscreenCanvas = /* @__PURE__ */ temporarilyNotSupport('createOffscreenCanvas')\r\n\r\n/** 创建 canvas 的绘图上下文 CanvasContext 对象 */\r\nexport * from './createCanvasContext'\r\n\r\n/** 把当前画布指定区域的内容导出生成指定大小的图片 */\r\nexport * from './canvasToTempFilePath'\r\n\r\n/** 将像素数据绘制到画布 */\r\nexport * from './canvasPutImageData'\r\n\r\n/** 获取 canvas 区域隐含的像素数据 */\r\nexport * from './canvasGetImageData'\r\n","import Taro from '@tarojs/api'\n\nimport { temporarilyNotSupport } from '../../utils'\n\nexport class cloud implements Taro.cloud {\n Cloud: new (options: Taro.cloud.IOptions) => Taro.Cloud\n\n init = temporarilyNotSupport('cloud.init')\n\n CloudID = temporarilyNotSupport('cloud.CloudID')\n\n // @ts-ignore\n callFunction = temporarilyNotSupport('cloud.callFunction')\n\n // @ts-ignore\n uploadFile = temporarilyNotSupport('cloud.uploadFile')\n\n // @ts-ignore\n downloadFile = temporarilyNotSupport('cloud.downloadFile')\n\n // @ts-ignore\n getTempFileURL = temporarilyNotSupport('cloud.getTempFileURL')\n\n // @ts-ignore\n deleteFile = temporarilyNotSupport('cloud.deleteFile')\n\n // @ts-ignore\n database = temporarilyNotSupport('cloud.database')\n\n // @ts-ignore\n callContainer = temporarilyNotSupport('cloud.callContainer')\n}\n","import { temporarilyNotSupport } from '../../utils'\n\nexport const reportMonitor = /* @__PURE__ */ temporarilyNotSupport('reportMonitor')\nexport const reportAnalytics = /* @__PURE__ */ temporarilyNotSupport('reportAnalytics')\nexport const reportEvent = /* @__PURE__ */ temporarilyNotSupport('reportEvent')\nexport const getExptInfoSync = /* @__PURE__ */ temporarilyNotSupport('getExptInfoSync')\n","import Taro from '@tarojs/api'\r\nimport throttle from 'lodash-es/throttle'\r\n\r\nimport { CallbackManager, MethodHandler } from '../../utils/handler'\r\n\r\nconst callbackManager = new CallbackManager()\r\nlet devicemotionListener\r\n\r\n/**\r\n * 停止监听加速度数据。\r\n */\r\nexport const stopAccelerometer: typeof Taro.stopAccelerometer = ({ success, fail, complete } = {}) => {\r\n const res: Partial<TaroGeneral.CallbackResult> = {}\r\n const handle = new MethodHandler({ name: 'stopAccelerometer', success, fail, complete })\r\n try {\r\n window.removeEventListener('devicemotion', devicemotionListener, true)\r\n return handle.success(res)\r\n } catch (e) {\r\n res.errMsg = e.message\r\n return handle.fail(res)\r\n }\r\n}\r\n\r\nconst INTERVAL_MAP = {\r\n game: {\r\n interval: 20,\r\n frequency: 50\r\n },\r\n ui: {\r\n interval: 60,\r\n frequency: 16.67\r\n },\r\n normal: {\r\n interval: 200,\r\n frequency: 5\r\n }\r\n}\r\n\r\n/**\r\n * 开始监听加速度数据。\r\n */\r\nexport const startAccelerometer: typeof Taro.startAccelerometer = ({ interval = 'normal', success, fail, complete } = {}) => {\r\n const handle = new MethodHandler({ name: 'startAccelerometer', success, fail, complete })\r\n try {\r\n if (window.DeviceMotionEvent) {\r\n const intervalObj = INTERVAL_MAP[interval]\r\n if (devicemotionListener) {\r\n stopAccelerometer()\r\n }\r\n devicemotionListener = throttle((evt: DeviceMotionEvent) => {\r\n callbackManager.trigger({\r\n x: evt.acceleration?.x || 0,\r\n y: evt.acceleration?.y || 0,\r\n z: evt.acceleration?.z || 0\r\n })\r\n }, intervalObj.interval)\r\n window.addEventListener('devicemotion', devicemotionListener, true)\r\n } else {\r\n throw new Error('accelerometer is not supported')\r\n }\r\n return handle.success()\r\n } catch (e) {\r\n return handle.fail({ errMsg: e.message })\r\n }\r\n}\r\n\r\n/**\r\n * 监听加速度数据事件。频率根据 Taro.startAccelerometer() 的 interval 参数。可使用 Taro.stopAccelerometer() 停止监听。\r\n */\r\nexport const onAccelerometerChange: typeof Taro.onAccelerometerChange = callback => {\r\n callbackManager.add(callback)\r\n}\r\n\r\n/**\r\n * 取消监听加速度数据事件,参数为空,则取消所有的事件监听\r\n */\r\nexport const offAccelerometerChange: typeof Taro.offAccelerometerChange = callback => {\r\n callbackManager.remove(callback)\r\n}\r\n","import { temporarilyNotSupport } from '../../utils'\n\n// 无障碍\nexport const checkIsOpenAccessibility = /* @__PURE__ */ temporarilyNotSupport('checkIsOpenAccessibility')\n","import Taro from '@tarojs/api'\n\nimport { permanentlyNotSupport } from '../../utils'\nimport { MethodHandler } from '../../utils/handler'\n\n// 电量\n\n// Note: 浏览器标准下不支持,其他实现方案不准确,不建议开发者使用\nexport const getBatteryInfoSync = /* @__PURE__ */ permanentlyNotSupport('getBatteryInfoSync')\n\nexport const getBatteryInfo: typeof Taro.getBatteryInfo = async ({ success, fail, complete } = {}) => {\n const handle = new MethodHandler({ name: 'getBatteryInfo', success, fail, complete })\n try {\n // @ts-ignore\n const battery = await navigator.getBattery?.()\n return handle.success({\n isCharging: battery.charging,\n level: Number(battery.level || 0) * 100\n })\n } catch (error) {\n return handle.fail({\n errMsg: error?.message || error\n })\n }\n}\n","import { temporarilyNotSupport } from '../../utils'\n\n// 蓝牙-通用\nexport const stopBluetoothDevicesDiscovery = /* @__PURE__ */ temporarilyNotSupport('stopBluetoothDevicesDiscovery')\nexport const startBluetoothDevicesDiscovery = /* @__PURE__ */ temporarilyNotSupport('startBluetoothDevicesDiscovery')\nexport const openBluetoothAdapter = /* @__PURE__ */ temporarilyNotSupport('openBluetoothAdapter')\nexport const onBluetoothDeviceFound = /* @__PURE__ */ temporarilyNotSupport('onBluetoothDeviceFound')\nexport const onBluetoothAdapterStateChange = /* @__PURE__ */ temporarilyNotSupport('onBluetoothAdapterStateChange')\nexport const offBluetoothDeviceFound = /* @__PURE__ */ temporarilyNotSupport('offBluetoothDeviceFound')\nexport const offBluetoothAdapterStateChange = /* @__PURE__ */ temporarilyNotSupport('offBluetoothAdapterStateChange')\nexport const makeBluetoothPair = /* @__PURE__ */ temporarilyNotSupport('makeBluetoothPair')\nexport const isBluetoothDevicePaired = /* @__PURE__ */ temporarilyNotSupport('isBluetoothDevicePaired')\nexport const getConnectedBluetoothDevices = /* @__PURE__ */ temporarilyNotSupport('getConnectedBluetoothDevices')\nexport const getBluetoothDevices = /* @__PURE__ */ temporarilyNotSupport('getBluetoothDevices')\nexport const getBluetoothAdapterState = /* @__PURE__ */ temporarilyNotSupport('getBluetoothAdapterState')\nexport const closeBluetoothAdapter = /* @__PURE__ */ temporarilyNotSupport('closeBluetoothAdapter')\n","import { temporarilyNotSupport } from '../../utils'\n\n// 蓝牙-低功耗中心设备\nexport const writeBLECharacteristicValue = /* @__PURE__ */ temporarilyNotSupport('writeBLECharacteristicValue')\nexport const setBLEMTU = /* @__PURE__ */ temporarilyNotSupport('setBLEMTU')\nexport const readBLECharacteristicValue = /* @__PURE__ */ temporarilyNotSupport('readBLECharacteristicValue')\nexport const onBLEMTUChange = /* @__PURE__ */ temporarilyNotSupport('onBLEMTUChange')\nexport const onBLEConnectionStateChange = /* @__PURE__ */ temporarilyNotSupport('onBLEConnectionStateChange')\nexport const onBLECharacteristicValueChange = /* @__PURE__ */ temporarilyNotSupport('onBLECharacteristicValueChange')\nexport const offBLEMTUChange = /* @__PURE__ */ temporarilyNotSupport('offBLEMTUChange')\nexport const offBLEConnectionStateChange = /* @__PURE__ */ temporarilyNotSupport('offBLEConnectionStateChange')\nexport const offBLECharacteristicValueChange = /* @__PURE__ */ temporarilyNotSupport('offBLECharacteristicValueChange')\nexport const notifyBLECharacteristicValueChange = /* @__PURE__ */ temporarilyNotSupport('notifyBLECharacteristicValueChange')\nexport const getBLEMTU = /* @__PURE__ */ temporarilyNotSupport('getBLEMTU')\nexport const getBLEDeviceServices = /* @__PURE__ */ temporarilyNotSupport('getBLEDeviceServices')\nexport const getBLEDeviceRSSI = /* @__PURE__ */ temporarilyNotSupport('getBLEDeviceRSSI')\nexport const getBLEDeviceCharacteristics = /* @__PURE__ */ temporarilyNotSupport('getBLEDeviceCharacteristics')\nexport const createBLEConnection = /* @__PURE__ */ temporarilyNotSupport('createBLEConnection')\nexport const closeBLEConnection = /* @__PURE__ */ temporarilyNotSupport('closeBLEConnection')\n","import { temporarilyNotSupport } from '../../utils'\n\n// 蓝牙-低功耗外围设备\nexport const onBLEPeripheralConnectionStateChanged = /* @__PURE__ */ temporarilyNotSupport('onBLEPeripheralConnectionStateChanged')\nexport const offBLEPeripheralConnectionStateChanged = /* @__PURE__ */ temporarilyNotSupport('offBLEPeripheralConnectionStateChanged')\nexport const createBLEPeripheralServer = /* @__PURE__ */ temporarilyNotSupport('createBLEPeripheralServer')\n","import Taro from '@tarojs/api'\nimport * as ics from 'ics'\n\nimport { createDownload, getParameterError, shouldBeObject } from '../../utils'\nimport { MethodHandler } from '../../utils/handler'\n\nimport type { DateArray } from 'ics'\n\n// 日历\nexport const addPhoneRepeatCalendar: typeof Taro.addPhoneRepeatCalendar = (options) => {\n const methodName = 'addPhoneRepeatCalendar'\n // options must be an Object\n const isObject = shouldBeObject(options)\n if (!isObject.flag) {\n const res = { errMsg: `${methodName}:fail ${isObject.msg}` }\n console.error(res.errMsg)\n return Promise.reject(res)\n }\n\n const {\n title,\n startTime = new Date().getTime(),\n allDay = false,\n description = '',\n location = '',\n endTime,\n alarm = true,\n alarmOffset = 0,\n repeatInterval = 'month',\n repeatEndTime,\n success,\n fail,\n complete,\n } = options\n const handle = new MethodHandler({ name: methodName, success, fail, complete })\n if (typeof title !== 'string') {\n return handle.fail({\n errMsg: getParameterError({\n para: 'title',\n correct: 'String',\n wrong: title\n })\n })\n }\n\n const start = new Date(startTime)\n const end = new Date(endTime || startTime)\n if (!endTime && allDay) {\n end.setDate(end.getDate() + 1)\n }\n\n const interval = 1000 * 60 * 60 * 24\n let days = 1\n let repeat = 1\n if (repeatEndTime) {\n const repeatEnd = new Date(repeatEndTime)\n if (repeatEnd < start) {\n return handle.fail({\n errMsg: 'repeatEndTime must be greater than startTime'\n })\n }\n switch (repeatInterval) {\n case 'week':\n days = 7\n break\n case 'month':\n days = 30\n break\n case 'year':\n days = 365\n break\n default:\n }\n repeat = Math.ceil((repeatEnd.getTime() - start.getTime()) / (interval * days))\n }\n const { error, value } = ics.createEvent({\n title,\n start: parseTime2Array(start, allDay),\n description,\n location,\n end: parseTime2Array(end, allDay),\n alarms: alarm ? [{\n action: 'display',\n description,\n trigger: {\n before: true,\n seconds: alarmOffset,\n },\n duration: {\n days,\n },\n repeat,\n }] : [],\n })\n if (error || !value) {\n return handle.fail({\n errMsg: error?.message\n })\n }\n const url = URL.createObjectURL(new Blob([value]))\n createDownload(url, `${title}.ics`)\n return handle.success()\n}\n\nexport const addPhoneCalendar: typeof Taro.addPhoneCalendar = (options) => {\n const methodName = 'addPhoneCalendar'\n // options must be an Object\n const isObject = shouldBeObject(options)\n if (!isObject.flag) {\n const res = { errMsg: `${methodName}:fail ${isObject.msg}` }\n console.error(res.errMsg)\n return Promise.reject(res)\n }\n\n const {\n title,\n startTime = new Date().getTime(),\n allDay = false,\n description = '',\n location = '',\n endTime,\n alarm = true,\n alarmOffset = 0,\n success,\n fail,\n complete,\n } = options\n const handle = new MethodHandler({ name: methodName, success, fail, complete })\n if (typeof title !== 'string') {\n return handle.fail({\n errMsg: getParameterError({\n para: 'title',\n correct: 'String',\n wrong: title\n })\n })\n }\n\n const start = new Date(startTime)\n const end = new Date(endTime || startTime)\n if (!endTime && allDay) {\n end.setDate(end.getDate() + 1)\n }\n const { error, value } = ics.createEvent({\n title,\n start: parseTime2Array(start, allDay),\n description,\n location,\n end: parseTime2Array(end, allDay),\n alarms: alarm ? [{\n action: 'display',\n description,\n trigger: {\n before: true,\n seconds: alarmOffset,\n },\n }] : [],\n })\n if (error || !value) {\n return handle.fail({\n errMsg: error?.message\n })\n }\n const url = URL.createObjectURL(new Blob([value]))\n createDownload(url, `${title}.ics`)\n return handle.success()\n}\n\nfunction parseTime2Array (time: Date, allDay = false): DateArray {\n const t = new Date(time)\n const timeArr: DateArray = [\n t.getFullYear(),\n t.getMonth() + 1,\n t.getDate(),\n ]\n if (!allDay) {\n timeArr.push(t.getHours(), t.getMinutes())\n }\n return timeArr\n}\n","import { temporarilyNotSupport } from '../../utils'\n\n// 周期性更新\nexport const setBackgroundFetchToken = /* @__PURE__ */ temporarilyNotSupport('setBackgroundFetchToken')\nexport const onBackgroundFetchData = /* @__PURE__ */ temporarilyNotSupport('onBackgroundFetchData')\nexport const getBackgroundFetchToken = /* @__PURE__ */ temporarilyNotSupport('getBackgroundFetchToken')\nexport const getBackgroundFetchData = /* @__PURE__ */ temporarilyNotSupport('getBackgroundFetchData')\n","import { temporarilyNotSupport } from '../../utils'\n\n// 周期性更新\nexport const createCacheManager = /* @__PURE__ */ temporarilyNotSupport('createCacheManager')\n","import Taro from '@tarojs/api'\n\nimport { getParameterError, shouldBeObject, temporarilyNotSupport } from '../../utils'\nimport { MethodHandler } from '../../utils/handler'\n\nfunction getItem (key) {\n let item\n try {\n item = JSON.parse(localStorage.getItem(key) || '')\n } catch (e) {} // eslint-disable-line no-empty\n\n // 只返回使用 Taro.setStorage API 存储的数据\n if (item && typeof item === 'object' && item.hasOwnProperty('data')) {\n return { result: true, data: item.data }\n } else {\n return { result: false }\n }\n}\n\n// 数据缓存\nexport const setStorageSync: typeof Taro.setStorageSync = (key, data = '') => {\n if (typeof key !== 'string') {\n console.error(getParameterError({\n name: 'setStorage',\n correct: 'String',\n wrong: key\n }))\n return\n }\n\n const type = typeof data\n let obj = {}\n\n if (type === 'symbol') {\n obj = { data: '' }\n } else {\n obj = { data }\n }\n localStorage.setItem(key, JSON.stringify(obj))\n}\n\nexport const setStorage: typeof Taro.setStorage = (options) => {\n // options must be an Object\n const isObject = shouldBeObject(options)\n if (!isObject.flag) {\n const res = { errMsg: `setStorage:fail ${isObject.msg}` }\n console.error(res.errMsg)\n return Promise.reject(res)\n }\n\n const { key, data, success, fail, complete } = options\n const handle = new MethodHandler({ name: 'setStorage', success, fail, complete })\n\n if (typeof key !== 'string') {\n return handle.fail({\n errMsg: getParameterError({\n para: 'key',\n correct: 'String',\n wrong: key\n })\n })\n }\n\n setStorageSync(key, data)\n return handle.success()\n}\n\nexport const revokeBufferURL = /* @__PURE__ */ temporarilyNotSupport('revokeBufferURL')\n\nexport const removeStorageSync: typeof Taro.removeStorageSync = (key: string) => {\n if (typeof key !== 'string') {\n console.error(getParameterError({\n name: 'removeStorage',\n correct: 'String',\n wrong: key\n }))\n return\n }\n\n localStorage.removeItem(key)\n}\n\nexport const removeStorage: typeof Taro.removeStorage = (options: Taro.removeStorage.Option) => {\n // options must be an Object\n const isObject = shouldBeObject(options)\n if (!isObject.flag) {\n const res = { errMsg: `removeStorage:fail ${isObject.msg}` }\n console.error(res.errMsg)\n return Promise.reject(res)\n }\n const { key, success, fail, complete } = options\n const handle = new MethodHandler({ name: 'removeStorage', success, fail, complete })\n\n if (typeof key !== 'string') {\n return handle.fail({\n errMsg: getParameterError({\n para: 'key',\n correct: 'String',\n wrong: key\n })\n })\n }\n\n removeStorageSync(key)\n return handle.success()\n}\n\nexport const getStorageSync: typeof Taro.getStorageSync = (key) => {\n if (typeof key !== 'string') {\n console.error(getParameterError({\n name: 'getStorageSync',\n correct: 'String',\n wrong: key\n }))\n return\n }\n\n const res = getItem(key)\n if (res.result) return res.data\n\n return ''\n}\n\nexport const getStorageInfoSync: typeof Taro.getStorageInfoSync = () => {\n const res: Taro.getStorageInfoSync.Option = {\n keys: Object.keys(localStorage),\n limitSize: NaN,\n currentSize: NaN\n }\n return res\n}\n\nexport const getStorageInfo: typeof Taro.getStorageInfo = ({ success, fail, complete } = {}) => {\n const handle = new MethodHandler<Taro.getStorageInfo.SuccessCallbackOption>({ name: 'getStorageInfo', success, fail, complete })\n return handle.success(getStorageInfoSync())\n}\n\nexport const getStorage: typeof Taro.getStorage = <T>(options) => {\n // options must be an Object\n const isObject = shouldBeObject(options)\n if (!isObject.flag) {\n const res = { errMsg: `getStorage:fail ${isObject.msg}` }\n console.error(res.errMsg)\n return Promise.reject(res)\n }\n\n const { key, success, fail, complete } = options\n const handle = new MethodHandler<Taro.getStorage.SuccessCallbackResult<T>>({ name: 'getStorage', success, fail, complete })\n\n if (typeof key !== 'string') {\n return handle.fail({\n errMsg: getParameterError({\n para: 'key',\n correct: 'String',\n wrong: key\n })\n })\n }\n\n const { result, data } = getItem(key)\n if (result) {\n return handle.success({ data })\n } else {\n return handle.fail({\n errMsg: 'data not found'\n })\n }\n}\n\nexport const createBufferURL = /* @__PURE__ */ temporarilyNotSupport('createBufferURL')\n\nexport const clearStorageSync: typeof Taro.clearStorageSync = () => {\n localStorage.clear()\n}\n\nexport const clearStorage: typeof Taro.clearStorage = ({ success, fail, complete } = {}) => {\n const handle = new MethodHandler({ name: 'clearStorage', success, fail, complete })\n clearStorageSync()\n return handle.success()\n}\n\nexport const batchSetStorageSync = /* @__PURE__ */ temporarilyNotSupport('batchSetStorageSync')\nexport const batchSetStorage = /* @__PURE__ */ temporarilyNotSupport('batchSetStorage')\nexport const batchGetStorageSync = /* @__PURE__ */ temporarilyNotSupport('batchGetStorageSync')\nexport const batchGetStorage = /* @__PURE__ */ temporarilyNotSupport('batchGetStorage')\n\nexport * from './background-fetch'\nexport * from './cache-manager'","import { inlineStyle, setTransform } from '../../../utils'\n\nconst noop = function () {}\n\nexport default class ActionSheet {\n options = {\n alertText: '',\n itemList: [],\n itemColor: '#000000',\n success: noop,\n fail: noop,\n complete: noop,\n }\n\n style = {\n maskStyle: {\n position: 'fixed',\n 'z-index': '1000',\n top: '0',\n right: '0',\n left: '0',\n bottom: '0',\n background: 'rgba(0,0,0,0.6)',\n },\n actionSheetStyle: {\n 'z-index': '4999',\n position: 'fixed',\n left: '0',\n bottom: '0',\n '-webkit-transform': 'translate(0, 100%)',\n transform: 'translate(0, 100%)',\n width: '100%',\n 'line-height': '1.6',\n background: '#EFEFF4',\n '-webkit-transition': '-webkit-transform .3s',\n transition: 'transform .3s',\n 'border-radius': '15px 15px 0 0',\n },\n menuStyle: {\n 'background-color': '#FCFCFD',\n 'border-radius': '15px 15px 0 0',\n },\n cellStyle: {\n position: 'relative',\n padding: '10px 0',\n 'text-align': 'center',\n 'font-size': '18px',\n },\n titleStyle: {\n position: 'relative',\n padding: '10px 0',\n 'text-align': 'center',\n 'font-size': '16px',\n color: 'rgba(0,0,0,0.8)',\n display: 'none',\n },\n cancelStyle: {\n 'margin-top': '6px',\n padding: '10px 0',\n 'text-align': 'center',\n 'font-size': '18px',\n color: '#000000',\n 'background-color': '#FCFCFD',\n },\n }\n\n lastConfig = {}\n el: HTMLDivElement\n mask: HTMLDivElement\n actionSheet: HTMLDivElement\n menu: HTMLDivElement\n cells: HTMLDivElement[]\n title: HTMLDivElement\n cancel: HTMLDivElement\n hideOpacityTimer: ReturnType<typeof setTimeout>\n hideDisplayTimer: ReturnType<typeof setTimeout>\n\n create (options = {}) {\n return new Promise<string | number>((resolve) => {\n // style\n const { maskStyle, actionSheetStyle, menuStyle, cellStyle, titleStyle, cancelStyle } = this.style\n\n // configuration\n const config = {\n ...this.options,\n ...options,\n }\n\n this.lastConfig = config\n\n // wrapper\n this.el = document.createElement('div')\n this.el.className = 'taro__actionSheet'\n this.el.style.opacity = '0'\n this.el.style.transition = 'opacity 0.2s linear'\n\n // mask\n this.mask = document.createElement('div')\n this.mask.setAttribute('style', inlineStyle(maskStyle))\n\n // actionSheet\n this.actionSheet = document.createElement('div')\n this.actionSheet.setAttribute('style', inlineStyle(actionSheetStyle))\n\n // menu\n this.menu = document.createElement('div')\n this.menu.setAttribute(\n 'style',\n inlineStyle({\n ...menuStyle,\n color: config.itemColor,\n })\n )\n\n // cells\n this.cells = config.itemList.map((item, index) => {\n const cell: HTMLDivElement = document.createElement('div')\n cell.className = 'taro-actionsheet__cell'\n cell.setAttribute('style', inlineStyle(cellStyle))\n cell.textContent = item\n cell.dataset.tapIndex = `${index}`\n cell.onclick = (e) => {\n this.hide()\n const target = e.currentTarget as HTMLDivElement\n const index = Number(target?.dataset.tapIndex) || 0\n resolve(index)\n }\n return cell\n })\n\n // title\n this.title = document.createElement('div')\n this.title.setAttribute('style', inlineStyle(titleStyle))\n this.title.className = 'taro-actionsheet__cell'\n this.title.textContent = config.alertText\n this.title.style.display = config.alertText ? 'block' : 'none'\n\n // cancel\n this.cancel = document.createElement('div')\n this.cancel.setAttribute('style', inlineStyle(cancelStyle))\n this.cancel.textContent = '取消'\n\n // result\n this.menu.appendChild(this.title)\n this.cells.forEach((item) => this.menu.appendChild(item))\n this.actionSheet.appendChild(this.menu)\n this.actionSheet.appendChild(this.cancel)\n this.el.appendChild(this.mask)\n this.el.appendChild(this.actionSheet)\n\n // callbacks\n const cb = () => {\n this.hide()\n resolve('cancel')\n }\n this.mask.onclick = cb\n this.cancel.onclick = cb\n\n // show immediately\n document.body.appendChild(this.el)\n setTimeout(() => {\n this.el.style.opacity = '1'\n setTransform(this.actionSheet, 'translate(0, 0)')\n }, 0)\n })\n }\n\n show (options = {}) {\n return new Promise<string | number>((resolve) => {\n const config = {\n ...this.options,\n ...options,\n }\n\n this.lastConfig = config\n\n if (this.hideOpacityTimer) clearTimeout(this.hideOpacityTimer)\n if (this.hideDisplayTimer) clearTimeout(this.hideDisplayTimer)\n\n // itemColor\n if (config.itemColor) this.menu.style.color = config.itemColor\n\n // cells\n const { cellStyle } = this.style\n\n config.itemList.forEach((item, index) => {\n let cell: HTMLDivElement\n if (this.cells[index]) {\n // assign new content\n cell = this.cells[index]\n } else {\n // create new cell\n cell = document.createElement('div')\n cell.className = 'taro-actionsheet__cell'\n cell.setAttribute('style', inlineStyle(cellStyle))\n cell.dataset.tapIndex = `${index}`\n this.cells.push(cell)\n this.menu.appendChild(cell)\n }\n cell.textContent = item\n cell.onclick = (e) => {\n this.hide()\n const target = e.currentTarget as HTMLDivElement\n const index = Number(target?.dataset.tapIndex) || 0\n resolve(index)\n }\n })\n const cellsLen = this.cells.length\n const itemListLen = config.itemList.length\n if (cellsLen > itemListLen) {\n for (let i = itemListLen; i < cellsLen; i++) {\n this.menu.removeChild(this.cells[i])\n }\n this.cells.splice(itemListLen)\n }\n this.title.textContent = config.alertText\n this.title.style.display = config.alertText ? 'block' : 'none'\n\n // callbacks\n const cb = () => {\n this.hide()\n resolve('cancel')\n }\n this.mask.onclick = cb\n this.cancel.onclick = cb\n\n // show\n this.el.style.display = 'block'\n setTimeout(() => {\n this.el.style.opacity = '1'\n setTransform(this.actionSheet, 'translate(0, 0)')\n }, 0)\n })\n }\n\n hide () {\n if (this.hideOpacityTimer) clearTimeout(this.hideOpacityTimer)\n if (this.hideDisplayTimer) clearTimeout(this.hideDisplayTimer)\n\n this.hideOpacityTimer = setTimeout(() => {\n this.el.style.opacity = '0'\n setTransform(this.actionSheet, 'translate(0, 100%)')\n this.hideDisplayTimer = setTimeout(() => {\n this.el.style.display = 'none'\n }, 200)\n }, 0)\n }\n}\n","import { Current } from '@tarojs/runtime'\n\nimport { getCurrentPath, inlineStyle } from '../../../utils'\n\nexport default class Modal {\n options = {\n title: '',\n content: '',\n showCancel: true,\n cancelText: '取消',\n cancelColor: '#000000',\n confirmText: '确定',\n confirmColor: '#3CC51F'\n }\n\n style = {\n maskStyle: {\n position: 'fixed',\n 'z-index': '1000',\n top: '0',\n right: '0',\n left: '0',\n bottom: '0',\n background: 'rgba(0,0,0,0.6)'\n },\n modalStyle: {\n 'z-index': '4999',\n position: 'fixed',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n width: '80%',\n 'max-width': '300px',\n 'border-radius': '3px',\n 'text-align': 'center',\n 'line-height': '1.6',\n overflow: 'hidden',\n background: '#FFFFFF'\n },\n titleStyle: {\n padding: '20px 24px 9px',\n 'font-size': '18px'\n },\n textStyle: {\n padding: '0 24px 12px',\n 'min-height': '40px',\n 'font-size': '15px',\n 'line-height': '1.3',\n color: '#808080',\n 'word-wrap': 'break-word',\n 'word-break': 'break-all',\n },\n footStyle: {\n position: 'relative',\n 'line-height': '48px',\n 'font-size': '18px',\n display: 'flex'\n },\n btnStyle: {\n position: 'relative',\n '-webkit-box-flex': '1',\n '-webkit-flex': '1',\n flex: '1'\n }\n }\n\n currentPath: string | null\n el: HTMLDivElement\n title: HTMLDivElement\n text: HTMLDivElement\n cancel: HTMLDivElement\n confirm: HTMLDivElement\n hideOpacityTimer: ReturnType<typeof setTimeout>\n hideDisplayTimer: ReturnType<typeof setTimeout>\n\n create (options = {}) {\n return new Promise<string>((resolve) => {\n // style\n const { maskStyle, modalStyle, titleStyle, textStyle, footStyle, btnStyle } = this.style\n\n // configuration\n const config = {\n ...this.options,\n ...options\n }\n\n // wrapper\n this.el = document.createElement('div')\n this.el.className = 'taro__modal'\n this.el.style.opacity = '0'\n this.el.style.transition = 'opacity 0.2s linear'\n\n const eventHandler = (e) => {\n e.stopPropagation()\n e.preventDefault()\n }\n // mask\n const mask = document.createElement('div')\n mask.className = 'taro-modal__mask'\n mask.setAttribute('style', inlineStyle(maskStyle))\n mask.ontouchmove = eventHandler\n // modal\n const modal = document.createElement('div')\n modal.className = 'taro-modal__content'\n modal.setAttribute('style', inlineStyle(modalStyle))\n modal.ontouchmove = eventHandler\n\n // title\n const titleCSS = config.title ? titleStyle : {\n ...titleStyle,\n display: 'none'\n }\n this.title = document.createElement('div')\n\n this.title.className = 'taro-modal__title'\n this.title.setAttribute('style', inlineStyle(titleCSS))\n this.title.textContent = config.title\n\n // text\n const textCSS = config.title ? textStyle : {\n ...textStyle,\n padding: '40px 20px 26px',\n color: '#353535'\n }\n this.text = document.createElement('div')\n this.text.className = 'taro-modal__text'\n this.text.setAttribute('style', inlineStyle(textCSS))\n this.text.textContent = config.content\n\n // foot\n const foot = document.createElement('div')\n foot.className = 'taro-modal__foot'\n foot.setAttribute('style', inlineStyle(footStyle))\n\n // cancel button\n const cancelCSS = {\n ...btnStyle,\n color: config.cancelColor,\n display: config.showCancel ? 'block' : 'none'\n }\n this.cancel = document.createElement('div')\n this.cancel.className = 'taro-model__btn taro-model__cancel'\n this.cancel.setAttribute('style', inlineStyle(cancelCSS))\n this.cancel.textContent = config.cancelText\n this.cancel.onclick = () => {\n this.hide()\n resolve('cancel')\n }\n\n // confirm button\n this.confirm = document.createElement('div')\n this.confirm.className = 'taro-model__btn taro-model__confirm'\n this.confirm.setAttribute('style', inlineStyle(btnStyle))\n this.confirm.style.color = config.confirmColor\n this.confirm.textContent = config.confirmText\n this.confirm.onclick = () => {\n this.hide()\n resolve('confirm')\n }\n\n // result\n foot.appendChild(this.cancel)\n foot.appendChild(this.confirm)\n modal.appendChild(this.title)\n modal.appendChild(this.text)\n modal.appendChild(foot)\n this.el.appendChild(mask)\n this.el.appendChild(modal)\n\n // show immediately\n document.body.appendChild(this.el)\n setTimeout(() => { this.el.style.opacity = '1' }, 0)\n\n // Current.page不存在时说明路由还未挂载,此时需根据url来分配将要渲染的页面path\n this.currentPath = Current.page?.path ?? getCurrentPath()\n })\n }\n\n show (options = {}) {\n return new Promise<string>((resolve) => {\n const config = {\n ...this.options,\n ...options\n }\n\n if (this.hideOpacityTimer) clearTimeout(this.hideOpacityTimer)\n if (this.hideDisplayTimer) clearTimeout(this.hideDisplayTimer)\n\n // title & text\n const { textStyle } = this.style\n\n if (config.title) {\n this.title.textContent = config.title\n // none => block\n this.title.style.display = 'block'\n this.text.setAttribute('style', inlineStyle(textStyle))\n } else {\n this.title.textContent = ''\n // block => none\n this.title.style.display = 'none'\n const textCSS = {\n ...textStyle,\n padding: '40px 20px 26px',\n color: '#353535'\n }\n this.text.setAttribute('style', inlineStyle(textCSS))\n }\n\n this.text.textContent = config.content || ''\n\n // showCancel\n this.cancel.style.display = config.showCancel ? 'block' : 'none'\n\n // cancelText\n this.cancel.textContent = config.cancelText || ''\n\n // cancelColor\n this.cancel.style.color = config.cancelColor || ''\n\n // confirmText\n this.confirm.textContent = config.confirmText || ''\n\n // confirmColor\n this.confirm.style.color = config.confirmColor || ''\n\n // cbs\n this.cancel.onclick = () => {\n this.hide()\n resolve('cancel')\n }\n this.confirm.onclick = () => {\n this.hide()\n resolve('confirm')\n }\n\n // show\n this.el.style.display = 'block'\n setTimeout(() => { this.el.style.opacity = '1' }, 0)\n\n // Current.page不存在时说明路由还未挂载,此时需根据url来分配将要渲染的页面path\n this.currentPath = Current.page?.path ?? getCurrentPath()\n })\n }\n\n hide () {\n if (this.hideOpacityTimer) clearTimeout(this.hideOpacityTimer)\n if (this.hideDisplayTimer) clearTimeout(this.hideDisplayTimer)\n\n this.currentPath = null\n\n this.hideOpacityTimer = setTimeout(() => {\n this.el.style.opacity = '0'\n this.hideDisplayTimer = setTimeout(() => { this.el.style.display = 'none' }, 200)\n }, 0)\n }\n}\n","import { Current } from '@tarojs/runtime'\n\nimport { getCurrentPath, inlineStyle } from '../../../utils'\n\nexport default class Toast {\n options = {\n title: '',\n icon: 'none',\n image: '',\n duration: 1500,\n mask: false\n }\n\n style = {\n maskStyle: {\n position: 'fixed',\n 'z-index': '1000',\n top: '0',\n right: '0',\n left: '0',\n bottom: '0'\n },\n toastStyle: {\n 'z-index': '5000',\n 'box-sizing': 'border-box',\n display: 'flex',\n 'flex-direction': 'column',\n 'justify-content': 'center',\n '-webkit-justify-content': 'center',\n position: 'fixed',\n top: '50%',\n left: '50%',\n 'min-width': '120px',\n 'max-width': '200px',\n 'min-height': '120px',\n padding: '15px',\n transform: 'translate(-50%, -50%)',\n 'border-radius': '5px',\n 'text-align': 'center',\n 'line-height': '1.6',\n color: '#FFFFFF',\n background: 'rgba(17, 17, 17, 0.7)'\n },\n successStyle: {\n margin: '6px auto',\n width: '38px',\n height: '38px',\n background: 'transparent url(data:image/svg+xml;base64,PHN2ZyB0PSIxNjM5NTQ4OTYzMjA0IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjQzNDgiIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj48cGF0aCBkPSJNMjE5Ljk1MiA1MTIuNTc2bDIxMC40MzIgMjEwLjQzMi00NS4yNDggNDUuMjU2LTIxMC40MzItMjEwLjQzMnoiIHAtaWQ9IjQzNDkiIGZpbGw9IiNmZmZmZmYiPjwvcGF0aD48cGF0aCBkPSJNNzk5LjY3MiAyNjIuMjY0bDQ1LjI1NiA0NS4yNTYtNDYwLjQ2NCA0NjAuNDY0LTQ1LjI1Ni00NS4yNTZ6IiBwLWlkPSI0MzUwIiBmaWxsPSIjZmZmZmZmIj48L3BhdGg+PC9zdmc+) no-repeat',\n 'background-size': '100%'\n },\n errrorStyle: {\n margin: '6px auto',\n width: '38px',\n height: '38px',\n background: 'transparent url(data:image/svg+xml;base64,PHN2ZyB0PSIxNjM5NTUxMDU1MTgzIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjE0MDc2IiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTUxMiA2NEMyNjQuNTggNjQgNjQgMjY0LjU4IDY0IDUxMnMyMDAuNTggNDQ4IDQ0OCA0NDggNDQ4LTIwMC41OCA0NDgtNDQ4Uzc1OS40MiA2NCA1MTIgNjR6IG0wIDc1MmEzNiAzNiAwIDEgMSAzNi0zNiAzNiAzNiAwIDAgMS0zNiAzNnogbTUxLjgzLTU1MS45NUw1NDggNjM2YTM2IDM2IDAgMCAxLTcyIDBsLTE1LjgzLTM3MS45NWMtMC4xLTEuMzMtMC4xNy0yLjY4LTAuMTctNC4wNWE1MiA1MiAwIDAgMSAxMDQgMGMwIDEuMzctMC4wNyAyLjcyLTAuMTcgNC4wNXoiIHAtaWQ9IjE0MDc3IiBmaWxsPSIjZmZmZmZmIj48L3BhdGg+PC9zdmc+) no-repeat',\n 'background-size': '100%'\n },\n loadingStyle: {\n margin: '6px auto',\n width: '38px',\n height: '38px',\n '-webkit-animation': 'taroLoading 1s steps(12, end) infinite',\n animation: 'taroLoading 1s steps(12, end) infinite',\n background: 'transparent url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgxMDB2MTAwSDB6Ii8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTlFOUU5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTMwKSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iIzk4OTY5NyIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgzMCAxMDUuOTggNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjOUI5OTlBIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDYwIDc1Ljk4IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0EzQTFBMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSg5MCA2NSA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNBQkE5QUEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoMTIwIDU4LjY2IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0IyQjJCMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgxNTAgNTQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjQkFCOEI5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDE4MCA1MCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDMkMwQzEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTE1MCA0NS45OCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDQkNCQ0IiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTEyMCA0MS4zNCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNEMkQyRDIiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDM1IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0RBREFEQSIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgtNjAgMjQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTJFMkUyIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKC0zMCAtNS45OCA2NSkiLz48L3N2Zz4=) no-repeat',\n 'background-size': '100%'\n },\n imageStyle: {\n margin: '6px auto',\n width: '40px',\n height: '40px',\n background: 'transparent no-repeat',\n 'background-size': '100%'\n },\n textStyle: {\n margin: '0',\n 'font-size': '16px'\n }\n }\n\n currentPath: string | null\n el: HTMLDivElement\n mask: HTMLDivElement\n icon: HTMLParagraphElement\n toast: HTMLDivElement\n title: HTMLParagraphElement\n type: any\n hideOpacityTimer: ReturnType<typeof setTimeout>\n hideDisplayTimer: ReturnType<typeof setTimeout>\n\n create (options = {}, _type: 'loading' | 'toast' = 'toast') {\n // style\n const { maskStyle, toastStyle, successStyle, errrorStyle, loadingStyle, imageStyle, textStyle } = this.style\n\n // configuration\n const config = {\n ...this.options,\n ...options,\n _type\n }\n\n // wrapper\n this.el = document.createElement('div')\n this.el.className = 'taro__toast'\n this.el.style.opacity = '0'\n this.el.style.transition = 'opacity 0.1s linear'\n this.el.ontouchmove = (e) => {\n e.stopPropagation()\n e.preventDefault()\n }\n\n // mask\n this.mask = document.createElement('div')\n this.mask.setAttribute('style', inlineStyle(maskStyle))\n this.mask.style.display = config.mask ? 'block' : 'none'\n\n // icon\n this.icon = document.createElement('p')\n if (config.image) {\n this.icon.setAttribute('style', inlineStyle({\n ...imageStyle,\n 'background-image': `url(${config.image})`\n }))\n } else {\n const iconStyle = config.icon === 'loading' ? loadingStyle : config.icon === 'error' ? errrorStyle : successStyle\n this.icon.setAttribute('style', inlineStyle({\n ...iconStyle,\n ...(config.icon === 'none' ? { display: 'none' } : {})\n }))\n }\n\n // toast\n this.toast = document.createElement('div')\n this.toast.setAttribute('style', inlineStyle({\n ...toastStyle,\n ...(config.icon === 'none' ? {\n 'min-height': '0',\n padding: '10px 15px'\n } : {})\n }))\n\n // title\n this.title = document.createElement('p')\n this.title.setAttribute('style', inlineStyle(textStyle))\n this.title.textContent = config.title\n\n // result\n this.toast.appendChild(this.icon)\n this.toast.appendChild(this.title)\n this.el.appendChild(this.mask)\n this.el.appendChild(this.toast)\n\n // show immediately\n document.body.appendChild(this.el)\n setTimeout(() => { this.el.style.opacity = '1' }, 0)\n this.type = config._type\n\n // disappear after duration\n config.duration >= 0 && this.hide(config.duration, this.type)\n\n // Current.page不存在时说明路由还未挂载,此时需根据url来分配将要渲染的页面path\n this.currentPath = Current.page?.path ?? getCurrentPath()\n\n return ''\n }\n\n show (options = {}, _type: 'loading' | 'toast' = 'toast') {\n const config = {\n ...this.options,\n ...options,\n _type\n }\n\n if (this.hideOpacityTimer) clearTimeout(this.hideOpacityTimer)\n if (this.hideDisplayTimer) clearTimeout(this.hideDisplayTimer)\n\n // title\n this.title.textContent = config.title || ''\n\n // mask\n this.mask.style.display = config.mask ? 'block' : 'none'\n\n // image\n const { toastStyle, successStyle, errrorStyle, loadingStyle, imageStyle } = this.style\n if (config.image) {\n this.icon.setAttribute('style', inlineStyle({\n ...imageStyle,\n 'background-image': `url(${config.image})`\n }))\n } else {\n if (!config.image && config.icon) {\n const iconStyle = config.icon === 'loading' ? loadingStyle : config.icon === 'error' ? errrorStyle : successStyle\n this.icon.setAttribute('style', inlineStyle({\n ...iconStyle,\n ...(config.icon === 'none' ? { display: 'none' } : {})\n }))\n }\n }\n\n // toast\n this.toast.setAttribute('style', inlineStyle({\n ...toastStyle,\n ...(config.icon === 'none' ? {\n 'min-height': '0',\n padding: '10px 15px'\n } : {})\n }))\n\n // show\n this.el.style.display = 'block'\n setTimeout(() => { this.el.style.opacity = '1' }, 0)\n this.type = config._type\n\n // disappear after duration\n config.duration >= 0 && this.hide(config.duration, this.type)\n\n // Current.page不存在时说明路由还未挂载,此时需根据url来分配将要渲染的页面path\n this.currentPath = Current.page?.path ?? getCurrentPath()\n\n return ''\n }\n\n hide (duration = 0, type = '') {\n if (type && type !== this.type) return\n\n if (this.hideOpacityTimer) clearTimeout(this.hideOpacityTimer)\n if (this.hideDisplayTimer) clearTimeout(this.hideDisplayTimer)\n\n this.currentPath = null\n\n this.hideOpacityTimer = setTimeout(() => {\n this.el.style.opacity = '0'\n this.hideDisplayTimer = setTimeout(() => { this.el.style.display = 'none' }, 100)\n }, duration)\n }\n}\n","import Taro from '@tarojs/api'\nimport { Current } from '@tarojs/runtime'\n\nimport { getParameterError, temporarilyNotSupport } from '../../../utils'\nimport { MethodHandler } from '../../../utils/handler'\nimport ActionSheet from './actionSheet'\nimport Modal from './modal'\nimport Toast from './toast'\n\n// 交互\n\nlet status = 'default'\n\n// inject necessary style\nfunction init (doc) {\n if (status === 'ready') return\n\n const taroStyle = doc.createElement('style')\n taroStyle.textContent =\n '@font-face{font-weight:normal;font-style:normal;font-family:\"taro\";src:url(\"data:application/x-font-ttf;charset=utf-8;base64, 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\") format(\"truetype\");}@-webkit-keyframes taroLoading{0%{-webkit-transform:rotate3d(0, 0, 1, 0deg);}100%{-webkit-transform:rotate3d(0, 0, 1, 360deg);transform:rotate3d(0, 0, 1, 360deg);}}@keyframes taroLoading{0%{-webkit-transform:rotate3d(0, 0, 1, 0deg);}100%{-webkit-transform:rotate3d(0, 0, 1, 360deg);transform:rotate3d(0, 0, 1, 360deg);}}.taro-modal__foot:after {content: \"\";position: absolute;left: 0;top: 0;right: 0;height: 1px;border-top: 1px solid #D5D5D6;color: #D5D5D6;-webkit-transform-origin: 0 0;transform-origin: 0 0;-webkit-transform: scaleY(0.5);transform: scaleY(0.5);} .taro-model__btn:active {background-color: #EEEEEE}.taro-model__btn:not(:first-child):after {content: \"\";position: absolute;left: 0;top: 0;width: 1px;bottom: 0;border-left: 1px solid #D5D5D6;color: #D5D5D6;-webkit-transform-origin: 0 0;transform-origin: 0 0;-webkit-transform: scaleX(0.5);transform: scaleX(0.5);}.taro-actionsheet__cell:not(:last-child):after {content: \"\";position: absolute;left: 0;bottom: 0;right: 0;height: 1px;border-top: 1px solid #e5e5e5;color: #e5e5e5;-webkit-transform-origin: 0 0;transform-origin: 0 0;-webkit-transform: scaleY(0.5);transform: scaleY(0.5);}'\n doc.querySelector('head').appendChild(taroStyle)\n\n status = 'ready'\n}\n\nconst toast = new Toast()\nconst modal = new Modal()\nconst actionSheet = new ActionSheet()\n\nconst showToast: typeof Taro.showToast = (options = { title: '' }) => {\n init(document)\n options = Object.assign({\n title: '',\n icon: 'success',\n image: '',\n duration: 1500,\n mask: false\n }, options)\n const { success, fail, complete } = options\n const handle = new MethodHandler({ name: 'showToast', success, fail, complete })\n\n if (typeof options.title !== 'string') {\n return handle.fail({\n errMsg: getParameterError({\n para: 'title',\n correct: 'String',\n wrong: options.title\n })\n })\n }\n\n if (typeof options.duration !== 'number') {\n return handle.fail({\n errMsg: getParameterError({\n para: 'duration',\n correct: 'Number',\n wrong: options.duration\n })\n })\n }\n\n if (options.image && typeof options.image !== 'string') options.image = ''\n\n options.mask = !!options.mask\n\n let errMsg = ''\n if (!toast.el) {\n errMsg = toast.create(options, 'toast')\n } else {\n errMsg = toast.show(options, 'toast')\n }\n return handle.success({ errMsg })\n}\n\nconst hideToast: typeof Taro.hideToast = ({ noConflict = false, success, fail, complete } = {}) => {\n const handle = new MethodHandler({ name: 'hideToast', success, fail, complete })\n if (!toast.el) return handle.success()\n toast.hide(0, noConflict ? 'toast' : '')\n return handle.success()\n}\n\nconst showLoading: typeof Taro.showLoading = (options = { title: '' }) => {\n init(document)\n options = Object.assign({\n title: '',\n mask: false\n }, options)\n const { success, fail, complete } = options\n const handle = new MethodHandler({ name: 'showLoading', success, fail, complete })\n\n const config = {\n icon: 'loading',\n image: '',\n duration: -1\n }\n\n options = Object.assign({}, options, config)\n\n if (typeof options.title !== 'string') {\n return handle.fail({\n errMsg: getParameterError({\n para: 'title',\n correct: 'String',\n wrong: options.title\n })\n })\n }\n\n options.mask = !!options.mask\n\n let errMsg = ''\n if (!toast.el) {\n errMsg = toast.create(options, 'loading')\n } else {\n errMsg = toast.show(options, 'loading')\n }\n return handle.success({ errMsg })\n}\n\nconst hideLoading: typeof Taro.hideLoading = ({ noConflict = false, success, fail, complete } = {}) => {\n const handle = new MethodHandler({ name: 'hideLoading', success, fail, complete })\n if (!toast.el) return handle.success()\n toast.hide(0, noConflict ? 'loading' : '')\n return handle.success()\n}\n\nconst showModal: typeof Taro.showModal = async (options = {}) => {\n init(document)\n options = Object.assign({\n title: '',\n content: '',\n showCancel: true,\n cancelText: '取消',\n cancelColor: '#000000',\n confirmText: '确定',\n confirmColor: '#3CC51F'\n }, options)\n const { success, fail, complete } = options\n const handle = new MethodHandler({ name: 'showModal', success, fail, complete })\n\n if (typeof options.title !== 'string') {\n return handle.fail({\n errMsg: getParameterError({\n para: 'title',\n correct: 'String',\n wrong: options.title\n })\n })\n }\n\n if (typeof options.content !== 'string') {\n return handle.fail({\n errMsg: getParameterError({\n para: 'content',\n correct: 'String',\n wrong: options.content\n })\n })\n }\n\n if (typeof options.cancelText !== 'string') {\n return handle.fail({\n errMsg: getParameterError({\n para: 'cancelText',\n correct: 'String',\n wrong: options.cancelText\n })\n })\n }\n\n if (options.cancelText.replace(/[\\u0391-\\uFFE5]/g, 'aa').length > 8) {\n return handle.fail({\n errMsg: 'cancelText length should not larger then 4 Chinese characters'\n })\n }\n\n if (typeof options.confirmText !== 'string') {\n return handle.fail({\n errMsg: getParameterError({\n para: 'confirmText',\n correct: 'String',\n wrong: options.confirmText\n })\n })\n }\n\n if (options.confirmText.replace(/[\\u0391-\\uFFE5]/g, 'aa').length > 8) {\n return handle.fail({\n errMsg: 'confirmText length should not larger then 4 Chinese characters'\n })\n }\n\n if (typeof options.cancelColor !== 'string') {\n return handle.fail({\n errMsg: getParameterError({\n para: 'cancelColor',\n correct: 'String',\n wrong: options.cancelColor\n })\n })\n }\n\n if (typeof options.confirmColor !== 'string') {\n return handle.fail({\n errMsg: getParameterError({\n para: 'confirmColor',\n correct: 'String',\n wrong: options.confirmColor\n })\n })\n }\n\n options.showCancel = !!options.showCancel\n\n let result = ''\n if (!modal.el) {\n result = await modal.create(options)\n } else {\n result = await modal.show(options)\n }\n const res = { cancel: !1, confirm: !1 }\n res[result] = !0\n return handle.success(res)\n}\n\nfunction hideModal () {\n if (!modal.el) return\n modal.hide()\n}\n\nconst showActionSheet = async (\n options: Taro.showActionSheet.Option = { itemList: [] },\n methodName = 'showActionSheet'\n): Promise<Taro.showActionSheet.SuccessCallbackResult> => {\n init(document)\n options = Object.assign({\n itemColor: '#000000',\n itemList: []\n }, options)\n const { success, fail, complete } = options\n const handle = new MethodHandler<Taro.showActionSheet.SuccessCallbackResult>({ name: methodName, success, fail, complete })\n\n // list item String\n if (!Array.isArray(options.itemList)) {\n return handle.fail({\n errMsg: getParameterError({\n para: 'itemList',\n correct: 'Array',\n wrong: options.itemList\n })\n })\n }\n\n if (options.itemList.length < 1) {\n return handle.fail({ errMsg: 'parameter error: parameter.itemList should have at least 1 item' })\n }\n\n if (options.itemList.length > 6) {\n return handle.fail({ errMsg: 'parameter error: parameter.itemList should not be large than 6' })\n }\n\n for (let i = 0; i < options.itemList.length; i++) {\n if (typeof options.itemList[i] !== 'string') {\n return handle.fail({\n errMsg: getParameterError({\n para: `itemList[${i}]`,\n correct: 'String',\n wrong: options.itemList[i]\n })\n })\n }\n }\n\n if (typeof options.itemColor !== 'string') {\n return handle.fail({\n errMsg: getParameterError({\n para: 'itemColor',\n correct: 'String',\n wrong: options.itemColor\n })\n })\n }\n\n let result: number | string = ''\n if (!actionSheet.el) {\n result = await actionSheet.create(options)\n } else {\n result = await actionSheet.show(options)\n }\n\n if (typeof result === 'string') {\n return handle.fail(({ errMsg: result }))\n } else {\n return handle.success(({ tapIndex: result }))\n }\n}\n\nTaro.eventCenter.on('__afterTaroRouterChange', () => {\n if (toast.currentPath && toast.currentPath !== Current.page?.path) {\n hideToast()\n hideLoading()\n }\n\n if (modal.currentPath && modal.currentPath !== Current.page?.path) {\n hideModal()\n }\n})\n\nconst enableAlertBeforeUnload = /* @__PURE__ */ temporarilyNotSupport('enableAlertBeforeUnload')\nconst disableAlertBeforeUnload = /* @__PURE__ */ temporarilyNotSupport('disableAlertBeforeUnload')\n\nexport { disableAlertBeforeUnload, enableAlertBeforeUnload, hideLoading, hideToast, showActionSheet, showLoading, showModal, showToast }\n","/**\r\n * 剪贴板部分的api参考了Chameleon项目的实现:\r\n *\r\n * setClipboardData: https://github.com/chameleon-team/chameleon-api/tree/master/src/interfaces/setClipBoardData\r\n * getClipboardData: https://github.com/chameleon-team/chameleon-api/tree/master/src/interfaces/getClipBoardData\r\n */\r\n\r\nimport Taro from '@tarojs/api'\r\nimport { isFunction } from '@tarojs/shared'\r\n\r\nimport { MethodHandler } from '../../utils/handler'\r\nimport { getStorageSync, setStorage, setStorageSync } from '../storage/index'\r\nimport { showToast } from '../ui/interaction'\r\n\r\nconst CLIPBOARD_STORAGE_NAME = 'taro_clipboard'\r\n\r\ndocument.addEventListener('copy', () => {\r\n setStorage({\r\n key: CLIPBOARD_STORAGE_NAME,\r\n data: window.getSelection()?.toString()\r\n }).catch(e => {\r\n console.error(e)\r\n })\r\n})\r\n\r\n/**\r\n * 设置系统剪贴板的内容\r\n */\r\nexport const setClipboardData: typeof Taro.setClipboardData = async ({ data, success, fail, complete }) => {\r\n const handle = new MethodHandler({ name: 'setClipboardData', success, fail, complete })\r\n try {\r\n setStorageSync(CLIPBOARD_STORAGE_NAME, data)\r\n /**\r\n * 已于 iPhone 6s Plus iOS 13.1.3 上的 Safari 测试通过\r\n * iOS < 10 的系统可能无法使用编程方式访问剪贴板,参考:\r\n * https://stackoverflow.com/questions/34045777/copy-to-clipboard-using-javascript-in-ios/34046084\r\n */\r\n if (isFunction(document.execCommand)) {\r\n const textarea = document.createElement('textarea')\r\n textarea.readOnly = true\r\n textarea.value = data\r\n textarea.style.position = 'absolute'\r\n textarea.style.width = '100px'\r\n textarea.style.left = '-10000px'\r\n document.body.appendChild(textarea)\r\n textarea.select()\r\n textarea.setSelectionRange(0, textarea.value.length)\r\n document.execCommand('copy')\r\n document.body.removeChild(textarea)\r\n } else {\r\n throw new Error('Unsupported Function: \\'document.execCommand\\'.')\r\n }\r\n showToast({\r\n title: '内容已复制',\r\n icon: 'none',\r\n duration: 1500\r\n })\r\n return handle.success()\r\n } catch (e) {\r\n return handle.fail({ errMsg: e.message })\r\n }\r\n}\r\n\r\n/**\r\n * 获取系统剪贴板的内容\r\n */\r\nexport const getClipboardData: typeof Taro.getClipboardData = async ({ success, fail, complete } = {}) => {\r\n const handle = new MethodHandler<Taro.getClipboardData.SuccessCallbackOption>({ name: 'getClipboardData', success, fail, complete })\r\n try {\r\n const data: string = getStorageSync(CLIPBOARD_STORAGE_NAME)\r\n return handle.success({ data })\r\n } catch (e) {\r\n return handle.fail({ errMsg: e.message })\r\n }\r\n}\r\n","import Taro from '@tarojs/api'\r\nimport throttle from 'lodash-es/throttle'\r\n\r\nimport { CallbackManager, MethodHandler } from '../../utils/handler'\r\nimport { getDeviceInfo } from '../base/system'\r\n\r\nconst callbackManager = new CallbackManager()\r\nlet compassListener\r\n\r\n/**\r\n * Note: 按系统类型获取对应绝对 orientation 事件名,因为安卓系统中直接监听 deviceorientation 事件得到的不是绝对 orientation\r\n */\r\nconst deviceorientationEventName = ['absolutedeviceorientation', 'deviceorientationabsolute', 'deviceorientation'].find(item => {\r\n if ('on' + item in window) {\r\n return item\r\n }\r\n}) || ''\r\n\r\n/**\r\n * 停止监听罗盘数据\r\n */\r\nexport const stopCompass: typeof Taro.stopCompass = ({ success, fail, complete } = {}) => {\r\n const handle = new MethodHandler({ name: 'stopCompass', success, fail, complete })\r\n try {\r\n window.removeEventListener(deviceorientationEventName, compassListener, true)\r\n return handle.success()\r\n } catch (e) {\r\n return handle.fail({ errMsg: e.message })\r\n }\r\n}\r\n\r\nlet CompassChangeTrigger = false\r\n/**\r\n * 开始监听罗盘数据\r\n */\r\nexport const startCompass: typeof Taro.startCompass = ({ success, fail, complete } = {}) => {\r\n const handle = new MethodHandler({ name: 'startCompass', success, fail, complete })\r\n try {\r\n if (deviceorientationEventName !== '') {\r\n if (compassListener) {\r\n stopCompass()\r\n }\r\n compassListener = throttle((evt: DeviceOrientationEvent) => {\r\n const isAndroid = getDeviceInfo().system === 'AndroidOS'\r\n if (isAndroid && !evt.absolute && !CompassChangeTrigger) {\r\n CompassChangeTrigger = true\r\n console.warn('Warning: In \\'onCompassChange\\', your browser is not supported to get the orientation relative to the earth, the orientation data will be related to the initial orientation of the device .')\r\n }\r\n const alpha = evt.alpha || 0\r\n /**\r\n * 由于平台差异,accuracy 在 iOS/Android 的值不同。\r\n * - iOS:accuracy 是一个 number 类型的值,表示相对于磁北极的偏差。0 表示设备指向磁北,90 表示指向东,180 表示指向南,依此类推。\r\n * - Android:accuracy 是一个 string 类型的枚举值。\r\n */\r\n const accuracy = isAndroid ? evt.absolute ? 'high' : 'medium' : alpha\r\n callbackManager.trigger({\r\n direction: 360 - alpha,\r\n accuracy: accuracy\r\n } as unknown as Parameters<typeof Taro.onCompassChange>[number])\r\n }, 5000)\r\n window.addEventListener(deviceorientationEventName, compassListener, true)\r\n } else {\r\n throw new Error('compass is not supported')\r\n }\r\n return handle.success()\r\n } catch (e) {\r\n return handle.fail({ errMsg: e.message })\r\n }\r\n}\r\n\r\n/**\r\n * 监听罗盘数据变化事件。频率:5 次/秒,接口调用后会自动开始监听,可使用 wx.stopCompass 停止监听。\r\n */\r\nexport const onCompassChange: typeof Taro.onCompassChange = callback => {\r\n callbackManager.add(callback)\r\n}\r\n\r\n/**\r\n * 取消监听罗盘数据变化事件,参数为空,则取消所有的事件监听。\r\n */\r\nexport const offCompassChange: typeof Taro.offCompassChange = callback => {\r\n callbackManager.remove(callback)\r\n}\r\n","import { temporarilyNotSupport } from '../../utils'\n\n// 联系人\nexport const chooseContact = /* @__PURE__ */ temporarilyNotSupport('chooseContact')\nexport const addPhoneContact = /* @__PURE__ */ temporarilyNotSupport('addPhoneContact')\n","import { temporarilyNotSupport } from '../../utils'\n\n// 加密\nexport const getRandomValues = /* @__PURE__ */ temporarilyNotSupport('getRandomValues')\n","import { temporarilyNotSupport } from '../../utils'\n\n// 陀螺仪\nexport const stopGyroscope = /* @__PURE__ */ temporarilyNotSupport('stopGyroscope')\nexport const startGyroscope = /* @__PURE__ */ temporarilyNotSupport('startGyroscope')\nexport const onGyroscopeChange = /* @__PURE__ */ temporarilyNotSupport('onGyroscopeChange')\nexport const offGyroscopeChange = /* @__PURE__ */ temporarilyNotSupport('offGyroscopeChange')\n","import { temporarilyNotSupport } from '../../utils'\n\n// 蓝牙-信标(Beacon)\nexport const stopBeaconDiscovery = /* @__PURE__ */ temporarilyNotSupport('stopBeaconDiscovery')\nexport const startBeaconDiscovery = /* @__PURE__ */ temporarilyNotSupport('startBeaconDiscovery')\nexport const onBeaconUpdate = /* @__PURE__ */ temporarilyNotSupport('onBeaconUpdate')\nexport const onBeaconServiceChange = /* @__PURE__ */ temporarilyNotSupport('onBeaconServiceChange')\nexport const offBeaconUpdate = /* @__PURE__ */ temporarilyNotSupport('offBeaconUpdate')\nexport const offBeaconServiceChange = /* @__PURE__ */ temporarilyNotSupport('offBeaconServiceChange')\nexport const getBeacons = /* @__PURE__ */ temporarilyNotSupport('getBeacons')\n","import { temporarilyNotSupport } from '../../utils'\n\n// 键盘\nexport const onKeyboardHeightChange = /* @__PURE__ */ temporarilyNotSupport('onKeyboardHeightChange')\nexport const offKeyboardHeightChange = /* @__PURE__ */ temporarilyNotSupport('offKeyboardHeightChange')\nexport const hideKeyboard = /* @__PURE__ */ temporarilyNotSupport('hideKeyboard')\nexport const getSelectedTextRange = /* @__PURE__ */ temporarilyNotSupport('getSelectedTextRange')\n","import { temporarilyNotSupport } from '../../utils'\n\n// 内存\nexport const onMemoryWarning = /* @__PURE__ */ temporarilyNotSupport('onMemoryWarning')\nexport const offMemoryWarning = /* @__PURE__ */ temporarilyNotSupport('offMemoryWarning')\n","import Taro from '@tarojs/api'\r\nimport throttle from 'lodash-es/throttle'\r\n\r\nimport { CallbackManager, MethodHandler } from '../../utils/handler'\r\n\r\nconst callbackManager = new CallbackManager()\r\nlet deviceMotionListener\r\n\r\nconst INTERVAL_MAP = {\r\n game: {\r\n interval: 20,\r\n frequency: 50\r\n },\r\n ui: {\r\n interval: 60,\r\n frequency: 16.67\r\n },\r\n normal: {\r\n interval: 200,\r\n frequency: 5\r\n }\r\n}\r\n\r\n/**\r\n * 停止监听设备方向的变化。\r\n */\r\nexport const stopDeviceMotionListening: typeof Taro.stopDeviceMotionListening = ({ success, fail, complete } = {}) => {\r\n const handle = new MethodHandler({ name: 'stopDeviceMotionListening', success, fail, complete })\r\n try {\r\n window.removeEventListener('deviceorientation', deviceMotionListener, true)\r\n return handle.success()\r\n } catch (e) {\r\n return handle.fail({ errMsg: e.message })\r\n }\r\n}\r\n\r\n/**\r\n * 开始监听设备方向的变化。\r\n */\r\nexport const startDeviceMotionListening: typeof Taro.startDeviceMotionListening = ({ interval = 'normal', success, fail, complete } = {}) => {\r\n const handle = new MethodHandler({ name: 'startDeviceMotionListening', success, fail, complete })\r\n try {\r\n const intervalObj = INTERVAL_MAP[interval]\r\n if (window.DeviceOrientationEvent) {\r\n if (deviceMotionListener) {\r\n stopDeviceMotionListening()\r\n }\r\n deviceMotionListener = throttle((evt: DeviceOrientationEvent) => {\r\n callbackManager.trigger({\r\n alpha: evt.alpha,\r\n beta: evt.beta,\r\n gamma: evt.gamma\r\n })\r\n }, intervalObj.interval)\r\n window.addEventListener('deviceorientation', deviceMotionListener, true)\r\n } else {\r\n throw new Error('deviceMotion is not supported')\r\n }\r\n return handle.success()\r\n } catch (e) {\r\n return handle.fail({ errMsg: e.message })\r\n }\r\n}\r\n\r\n/**\r\n * 监听设备方向变化事件。\r\n */\r\nexport const onDeviceMotionChange: typeof Taro.onDeviceMotionChange = callback => {\r\n callbackManager.add(callback)\r\n}\r\n\r\n/**\r\n * 取消监听设备方向变化事件,参数为空,则取消所有的事件监听。\r\n */\r\nexport const offDeviceMotionChange: typeof Taro.offDeviceMotionChange = callback => {\r\n callbackManager.remove(callback)\r\n}\r\n","import Taro from '@tarojs/api'\n\nimport { temporarilyNotSupport } from '../../utils'\nimport { CallbackManager, MethodHandler } from '../../utils/handler'\n\nfunction getConnection () {\n // @ts-ignore\n return navigator.connection || navigator.mozConnection || navigator.webkitConnection || navigator.msConnection\n}\n\nexport const getNetworkType: typeof Taro.getNetworkType = (options = {}) => {\n const connection = getConnection()\n const { success, fail, complete } = options\n const handle = new MethodHandler<Taro.getNetworkType.SuccessCallbackResult>({ name: 'getNetworkType', success, fail, complete })\n\n let networkType: keyof Taro.getNetworkType.NetworkType = 'unknown'\n // 浏览器不支持获取网络状态\n if (!connection) {\n return handle.success({ networkType })\n }\n\n // Supports only the navigator.connection.type value which doesn't match the latest spec.\n // https://www.davidbcalhoun.com/2010/using-navigator-connection-android/\n if (!isNaN(Number(connection.type))) {\n switch (connection.type) {\n // @ts-ignore\n case connection.WIFI:\n networkType = 'wifi'\n break\n // @ts-ignore\n case connection.CELL_3G:\n networkType = '3g'\n break\n // @ts-ignore\n case connection.CELL_2G:\n networkType = '2g'\n break\n default:\n // ETHERNET, UNKNOWN\n networkType = 'unknown'\n }\n } else if (connection.type) {\n // @ts-ignore\n networkType = connection.type // Only supports the type value.\n // @ts-ignore\n } else if (connection.effectiveType) {\n // @ts-ignore\n networkType = connection.effectiveType\n }\n\n return handle.success({ networkType })\n}\n\nconst networkStatusManager = new CallbackManager()\nconst networkStatusListener = async () => {\n const { networkType } = await getNetworkType()\n const isConnected = networkType !== 'none'\n const obj = { isConnected, networkType }\n networkStatusManager.trigger(obj)\n}\n\n/**\n * 在最近的八次网络请求中, 出现下列三个现象之一则判定弱网。\n * - 出现三次以上连接超时\n * - 出现三次 rtt 超过 400\n * - 出现三次以上的丢包\n * > 弱网事件通知规则是: 弱网状态变化时立即通知, 状态不变时 30s 内最多通知一次。\n */\nexport const onNetworkWeakChange = /* @__PURE__ */ temporarilyNotSupport('onNetworkWeakChange')\n\nexport const onNetworkStatusChange: typeof Taro.onNetworkStatusChange = callback => {\n networkStatusManager.add(callback)\n const connection = getConnection()\n if (connection && networkStatusManager.count() === 1) {\n connection.addEventListener('change', networkStatusListener)\n }\n}\n\nexport const offNetworkWeakChange = /* @__PURE__ */ temporarilyNotSupport('offNetworkWeakChange')\n\nexport const offNetworkStatusChange: typeof Taro.offNetworkStatusChange = callback => {\n networkStatusManager.remove(callback)\n\n const connection = getConnection()\n if (connection && networkStatusManager.count() === 0) {\n connection.removeEventListener('change', networkStatusListener)\n }\n}\n\nexport const getLocalIPAddress = /* @__PURE__ */ temporarilyNotSupport('getLocalIPAddress')\n","import { temporarilyNotSupport } from '../../utils'\n\n// NFC\nexport const stopHCE = /* @__PURE__ */ temporarilyNotSupport('stopHCE')\nexport const startHCE = /* @__PURE__ */ temporarilyNotSupport('startHCE')\nexport const sendHCEMessage = /* @__PURE__ */ temporarilyNotSupport('sendHCEMessage')\nexport const onHCEMessage = /* @__PURE__ */ temporarilyNotSupport('onHCEMessage')\nexport const offHCEMessage = /* @__PURE__ */ temporarilyNotSupport('offHCEMessage')\nexport const getNFCAdapter = /* @__PURE__ */ temporarilyNotSupport('getNFCAdapter')\nexport const getHCEState = /* @__PURE__ */ temporarilyNotSupport('getHCEState')\n","import Taro from '@tarojs/api'\n\nimport { getParameterError, shouldBeObject } from '../../utils'\nimport { MethodHandler } from '../../utils/handler'\n\nexport const makePhoneCall: typeof Taro.makePhoneCall = (options) => {\n // options must be an Object\n const isObject = shouldBeObject(options)\n if (!isObject.flag) {\n const res = { errMsg: `makePhoneCall:fail ${isObject.msg}` }\n console.error(res.errMsg)\n return Promise.reject(res)\n }\n\n const { phoneNumber, success, fail, complete } = options\n const handle = new MethodHandler({ name: 'makePhoneCall', success, fail, complete })\n\n if (typeof phoneNumber !== 'string') {\n return handle.fail({\n errMsg: getParameterError({\n para: 'phoneNumber',\n correct: 'String',\n wrong: phoneNumber\n })\n })\n }\n\n window.location.href = `tel:${phoneNumber}`\n\n return handle.success()\n}\n","import { processOpenApi } from '../../utils'\n\n// 扫码\nexport const scanCode = /* @__PURE__ */ processOpenApi({\n name: 'scanQRCode',\n defaultOptions: { needResult: 1 },\n formatResult: res => ({\n errMsg: res.errMsg === 'scanQRCode:ok' ? 'scanCode:ok' : res.errMsg,\n result: res.resultStr\n })\n})\n","import { temporarilyNotSupport } from '../../utils'\n\n// 屏幕\nexport const setVisualEffectOnCapture = /* @__PURE__ */ temporarilyNotSupport('setVisualEffectOnCapture')\nexport const setScreenBrightness = /* @__PURE__ */ temporarilyNotSupport('setScreenBrightness')\nexport const setKeepScreenOn = /* @__PURE__ */ temporarilyNotSupport('setKeepScreenOn')\nexport const onUserCaptureScreen = /* @__PURE__ */ temporarilyNotSupport('onUserCaptureScreen')\nexport const offUserCaptureScreen = /* @__PURE__ */ temporarilyNotSupport('offUserCaptureScreen')\nexport const getScreenBrightness = /* @__PURE__ */ temporarilyNotSupport('getScreenBrightness')\nexport const onScreenRecordingStateChanged = /* @__PURE__ */ temporarilyNotSupport('onScreenRecordingStateChanged')\nexport const offScreenRecordingStateChanged = /* @__PURE__ */ temporarilyNotSupport('offScreenRecordingStateChanged')\nexport const getScreenRecordingState = /* @__PURE__ */ temporarilyNotSupport('getScreenRecordingState')\n","import { temporarilyNotSupport } from '../../utils'\n\n// 短信\nexport const sendSms = /* @__PURE__ */ temporarilyNotSupport('sendSms')","import Taro from '@tarojs/api'\r\n\r\nimport { MethodHandler } from '../../utils/handler'\r\n\r\nconst vibrator = function vibrator (mm: number | number[]) {\r\n try {\r\n return window.navigator.vibrate(mm)\r\n } catch (e) {\r\n console.warn('当前浏览器不支持 vibrate。')\r\n }\r\n}\r\n\r\n/**\r\n * 使手机发生较短时间的振动(15 ms)。仅在 iPhone 7 / 7 Plus 以上及 Android 机型生效\r\n */\r\nexport const vibrateShort: typeof Taro.vibrateShort = ({ success, fail, complete } = {}) => {\r\n const handle = new MethodHandler({ name: 'vibrateShort', success, fail, complete })\r\n if (vibrator(15)) {\r\n return handle.success()\r\n } else {\r\n return handle.fail({ errMsg: 'style is not support' })\r\n }\r\n}\r\n\r\n/**\r\n * 使手机发生较长时间的振动(400 ms)\r\n */\r\nexport const vibrateLong: typeof Taro.vibrateLong = ({ success, fail, complete } = {}) => {\r\n const handle = new MethodHandler({ name: 'vibrateLong', success, fail, complete })\r\n if (vibrator(400)) {\r\n return handle.success()\r\n } else {\r\n return handle.fail({ errMsg: 'style is not support' })\r\n }\r\n}\r\n","import { temporarilyNotSupport } from '../../utils'\n\n// Wi-Fi\nexport const stopWifi = /* @__PURE__ */ temporarilyNotSupport('stopWifi')\nexport const startWifi = /* @__PURE__ */ temporarilyNotSupport('startWifi')\nexport const setWifiList = /* @__PURE__ */ temporarilyNotSupport('setWifiList')\nexport const onWifiConnectedWithPartialInfo = /* @__PURE__ */ temporarilyNotSupport('onWifiConnectedWithPartialInfo')\nexport const onWifiConnected = /* @__PURE__ */ temporarilyNotSupport('onWifiConnected')\nexport const onGetWifiList = /* @__PURE__ */ temporarilyNotSupport('onGetWifiList')\nexport const offWifiConnectedWithPartialInfo = /* @__PURE__ */ temporarilyNotSupport('offWifiConnectedWithPartialInfo')\nexport const offWifiConnected = /* @__PURE__ */ temporarilyNotSupport('offWifiConnected')\nexport const offGetWifiList = /* @__PURE__ */ temporarilyNotSupport('offGetWifiList')\nexport const getWifiList = /* @__PURE__ */ temporarilyNotSupport('getWifiList')\nexport const getConnectedWifi = /* @__PURE__ */ temporarilyNotSupport('getConnectedWifi')\nexport const connectWifi = /* @__PURE__ */ temporarilyNotSupport('connectWifi')\n","import { temporarilyNotSupport } from '../../utils'\n\n// 第三方平台\nexport const getExtConfigSync = /* @__PURE__ */ temporarilyNotSupport('getExtConfigSync')\nexport const getExtConfig = /* @__PURE__ */ temporarilyNotSupport('getExtConfig')\n","import { temporarilyNotSupport } from '../../utils'\r\n\r\n// 文件\r\nexport const saveFileToDisk = /* @__PURE__ */ temporarilyNotSupport('saveFileToDisk')\r\nexport const saveFile = /* @__PURE__ */ temporarilyNotSupport('saveFile')\r\nexport const removeSavedFile = /* @__PURE__ */ temporarilyNotSupport('removeSavedFile')\r\nexport const openDocument = /* @__PURE__ */ temporarilyNotSupport('openDocument')\r\nexport const getSavedFileList = /* @__PURE__ */ temporarilyNotSupport('getSavedFileList')\r\nexport const getSavedFileInfo = /* @__PURE__ */ temporarilyNotSupport('getSavedFileInfo')\r\nexport const getFileSystemManager = /* @__PURE__ */ temporarilyNotSupport('getFileSystemManager')\r\nexport const getFileInfo = /* @__PURE__ */ temporarilyNotSupport('getFileInfo')\r\n","import Taro from '@tarojs/api'\n\nexport const getApp: typeof Taro.getApp = function <T extends Taro.App = TaroGeneral.IAnyObject> () {\n return Taro.getCurrentInstance().app as unknown as T\n}\n\nexport { getCurrentPages } from '@tarojs/router'\n\n// 自定义组件\nexport const getCurrentInstance = Taro.getCurrentInstance\n","export const isGeolocationSupported = (): boolean => !!navigator.geolocation\n","import Taro from '@tarojs/api'\n\nimport { processOpenApi, shouldBeObject } from '../../utils'\nimport { MethodHandler } from '../../utils/handler'\nimport { isGeolocationSupported } from './utils'\n\nconst getLocationByW3CApi: (options: Taro.getLocation.Option) => Promise<Taro.getLocation.SuccessCallbackResult> = (options: Taro.getLocation.Option): Promise<Taro.getLocation.SuccessCallbackResult> => {\n // 断言 options 必须是 Object\n const isObject = shouldBeObject(options)\n if (!isObject.flag) {\n const res = { errMsg: `getLocation:fail ${isObject.msg}` }\n console.error(res.errMsg)\n return Promise.reject(res)\n }\n\n // 解构回调函数\n const { success, fail, complete } = options\n\n const handle = new MethodHandler({ name: 'getLocation', success, fail, complete })\n\n // const defaultMaximumAge = 5 * 1000\n\n const positionOptions: PositionOptions = {\n enableHighAccuracy: options.isHighAccuracy || (options.altitude != null), // 海拔定位需要高精度\n // maximumAge: defaultMaximumAge, // 允许取多久以内的缓存位置\n timeout: options.highAccuracyExpireTime // 高精度定位超时时间\n }\n\n // Web端API实现暂时仅支持GPS坐标系\n if (options.type?.toUpperCase() !== 'WGS84') {\n return handle.fail({\n errMsg: 'This coordinate system type is not temporarily supported'\n })\n }\n\n // 判断当前浏览器是否支持位置API\n if (!isGeolocationSupported()) {\n return handle.fail({\n errMsg: 'The current browser does not support this feature'\n })\n }\n\n // 开始获取位置\n return new Promise<Taro.getLocation.SuccessCallbackResult>(\n (resolve, reject) => {\n navigator.geolocation.getCurrentPosition(\n (position) => {\n const result: Taro.getLocation.SuccessCallbackResult = {\n /** 位置的精确度 */\n accuracy: position.coords.accuracy,\n /** 高度,单位 m */\n altitude: position.coords.altitude!,\n /** 水平精度,单位 m */\n horizontalAccuracy: position.coords.accuracy,\n /** 纬度,范围为 -90~90,负数表示南纬 */\n latitude: position.coords.latitude,\n /** 经度,范围为 -180~180,负数表示西经 */\n longitude: position.coords.longitude,\n /** 速度,单位 m/s */\n speed: position.coords.speed!,\n /** 垂直精度,单位 m(Android 无法获取,返回 0) */\n verticalAccuracy: position.coords.altitudeAccuracy || 0,\n /** 调用结果,自动补充 */\n errMsg: ''\n }\n handle.success(result, { resolve, reject })\n },\n (error) => {\n handle.fail({ errMsg: error.message }, { resolve, reject })\n },\n positionOptions\n )\n }\n )\n}\n\nexport const getLocation = /* @__PURE__ */ processOpenApi({\n name: 'getLocation',\n standardMethod: getLocationByW3CApi\n})\n","import './style.scss'\r\n\r\nimport Taro from '@tarojs/api'\r\nimport { stringify } from 'query-string'\r\n\r\nimport { MethodHandler } from '../../utils/handler'\r\n\r\nlet container: HTMLDivElement | null = null\r\nfunction createLocationChooser (handler, key = LOCATION_APIKEY, mapOpt: Taro.chooseLocation.Option['mapOpts'] = {}) {\r\n const { latitude, longitude, ...opts } = mapOpt\r\n const query = {\r\n key,\r\n type: 1,\r\n coord: mapOpt.coord ?? [latitude, longitude].every(e => Number(e) >= 0) ? `${latitude},${longitude}` : undefined,\r\n referer: 'myapp',\r\n ...opts\r\n }\r\n if (!container) {\r\n const html = `\r\n<div class='taro_choose_location'>\r\n <div class='taro_choose_location_bar'>\r\n <div class='taro_choose_location_back'></div>\r\n <p class='taro_choose_location_title'>位置</p>\r\n <button class='taro_choose_location_submit'>完成</button>\r\n </div>\r\n <iframe class='taro_choose_location_frame' frameborder='0' src=\"https://apis.map.qq.com/tools/locpicker?${stringify(query, { arrayFormat: 'comma', skipNull: true })}\" />\r\n</div>\r\n`\r\n container = document.createElement('div')\r\n container.innerHTML = html\r\n }\r\n const main: HTMLDivElement = container.querySelector('.taro_choose_location') as HTMLDivElement\r\n\r\n function show () {\r\n setTimeout(() => {\r\n main.style.top = '0'\r\n })\r\n }\r\n\r\n function hide () {\r\n main.style.top = '100%'\r\n }\r\n\r\n function back () {\r\n hide()\r\n handler({ errMsg: 'cancel' })\r\n }\r\n\r\n function submit () {\r\n hide()\r\n handler()\r\n }\r\n\r\n function remove () {\r\n container?.remove()\r\n container = null\r\n window.removeEventListener('popstate', back)\r\n }\r\n\r\n container.querySelector('.taro_choose_location_back')?.addEventListener('click', back)\r\n container.querySelector('.taro_choose_location_submit')?.addEventListener('click', submit)\r\n\r\n window.addEventListener('popstate', back)\r\n\r\n return {\r\n show,\r\n remove,\r\n container,\r\n }\r\n}\r\n\r\n/**\r\n * 打开地图选择位置。\r\n */\r\nexport const chooseLocation: typeof Taro.chooseLocation = ({ success, fail, complete, mapOpts } = {}) => {\r\n const handle = new MethodHandler({ name: 'chooseLocation', success, fail, complete })\r\n return new Promise((resolve, reject) => {\r\n const chooseLocation: Partial<Taro.chooseLocation.SuccessCallbackResult> = {}\r\n if (typeof LOCATION_APIKEY === 'undefined') {\r\n console.warn('chooseLocation api 依赖腾讯地图定位api,需要在 defineConstants 中配置 LOCATION_APIKEY')\r\n return handle.fail({\r\n errMsg: 'LOCATION_APIKEY needed'\r\n }, { resolve, reject })\r\n }\r\n \r\n const key = LOCATION_APIKEY\r\n\r\n const onMessage = event => {\r\n // 接收位置信息,用户选择确认位置点后选点组件会触发该事件,回传用户的位置信息\r\n const loc = event.data\r\n\r\n // 防止其他应用也会向该页面 post 信息,需判断 module 是否为'locationPicker'\r\n if (!loc || loc.module !== 'locationPicker') return\r\n\r\n chooseLocation.name = loc.poiname\r\n chooseLocation.address = loc.poiaddress\r\n chooseLocation.latitude = loc.latlng.lat\r\n chooseLocation.longitude = loc.latlng.lng\r\n }\r\n\r\n const chooser = createLocationChooser(res => {\r\n window.removeEventListener('message', onMessage, false)\r\n setTimeout(() => {\r\n chooser.remove()\r\n }, 300)\r\n if (res) {\r\n return handle.fail(res, { resolve, reject })\r\n } else {\r\n if (chooseLocation.latitude && chooseLocation.longitude) {\r\n return handle.success(chooseLocation, { resolve, reject })\r\n } else {\r\n return handle.fail({}, { resolve, reject })\r\n }\r\n }\r\n }, key, mapOpts)\r\n\r\n document.body.appendChild(chooser.container)\r\n\r\n window.addEventListener('message', onMessage, false)\r\n chooser.show()\r\n })\r\n}\r\n","import { processOpenApi,shouldBeObject } from '../../utils'\nimport { CallbackManager, MethodHandler } from '../../utils/handler'\nimport { isGeolocationSupported } from './utils'\n\nconst _successCbManager = new CallbackManager()\nconst _errorCbManager = new CallbackManager()\nlet _watchID = -1\n\nexport function onLocationChange (callback: Taro.onLocationChange.Callback): void {\n _successCbManager.add(callback)\n}\n\nexport function offLocationChange (callback: Taro.onLocationChange.Callback): void {\n if (callback && typeof callback === 'function') {\n _successCbManager.remove(callback)\n } else if (callback === undefined) {\n _successCbManager.clear()\n } else {\n console.warn('offLocationChange failed')\n }\n}\n\nexport function onLocationChangeError (callback: Taro.onLocationChange.Callback): void {\n _errorCbManager.add(callback)\n}\n \nexport function offLocationChangeError (callback: Taro.onLocationChange.Callback): void {\n if (callback && typeof callback === 'function') {\n _errorCbManager.remove(callback)\n } else if (callback === undefined) {\n _errorCbManager.clear()\n } else {\n console.warn('offLocationChangeError failed')\n }\n}\n\n/**\n * 开始监听位置信息\n * @param opts \n * @returns \n */\nfunction startLocationUpdateByW3CApi (opts: Taro.startLocationUpdate.Option): Promise<TaroGeneral.CallbackResult> {\n// 断言 options 必须是 Object\n const isObject = shouldBeObject(opts)\n if (!isObject.flag) {\n const res = { errMsg: `startLocationUpdate:fail ${isObject.msg}` }\n console.error(res.errMsg)\n return Promise.reject(res)\n }\n\n const { success, fail, complete } = opts\n const handle = new MethodHandler({ name: 'startLocationUpdate', success, fail, complete })\n\n // 判断当前浏览器是否支持位置API\n if (!isGeolocationSupported()) {\n return handle.fail({\n errMsg: 'The current browser does not support this feature'\n })\n }\n\n try {\n if (_watchID > -1) {\n console.error('startLocationUpdate:fail')\n return handle.fail()\n } else {\n _watchID = navigator.geolocation.watchPosition(({ coords }) => {\n const { latitude, longitude, altitude, accuracy, speed } = coords\n _successCbManager.trigger({\n accuracy,\n altitude,\n horizontalAccuracy: 0,\n verticalAccuracy: 0,\n latitude,\n longitude,\n speed,\n })\n }, err => {\n _errorCbManager.trigger({\n errMsg: 'Watch Position error',\n err\n })\n }, {\n timeout: 10,\n maximumAge: 0,\n enableHighAccuracy: true,\n })\n return handle.success()\n }\n } catch (error) {\n return handle.fail()\n }\n}\n\n/**\n * 停止监听位置信息\n * @param opts \n * @returns \n */\nfunction stopLocationUpdateByW3CApi (opts: Taro.stopLocationUpdate.Option): Promise<TaroGeneral.CallbackResult> {\n const isObject = shouldBeObject(opts)\n if (!isObject.flag) {\n const res = { errMsg: `stopLocationUpdate:fail ${isObject.msg}` }\n console.error(res.errMsg)\n return Promise.reject(res)\n }\n \n const { success, fail, complete } = opts\n const handle = new MethodHandler({ name: 'stopLocationUpdate', success, fail, complete })\n\n // 判断当前浏览器是否支持位置API\n if (!isGeolocationSupported()) {\n return handle.fail({\n errMsg: 'The current browser does not support this feature'\n })\n }\n\n try {\n navigator.geolocation.clearWatch(_watchID)\n _watchID = -1\n return handle.success()\n } catch (error) {\n return handle.fail()\n }\n}\n\nexport const stopLocationUpdate = /* @__PURE__ */ processOpenApi({\n name: 'stopLocationUpdate',\n standardMethod: stopLocationUpdateByW3CApi\n})\n\nexport const startLocationUpdate = /* @__PURE__ */ processOpenApi({\n name: 'startLocationUpdate',\n standardMethod: startLocationUpdateByW3CApi\n})\n","import { processOpenApi, temporarilyNotSupport } from '../../utils/index'\r\n\r\nexport const startLocationUpdateBackground = /* @__PURE__ */ temporarilyNotSupport('startLocationUpdateBackground')\r\n\r\nexport const openLocation = /* @__PURE__ */ processOpenApi({\r\n name: 'openLocation',\r\n defaultOptions: { scale: 18 }\r\n})\r\n\r\nexport { getLocation } from './getLocation'\r\n\r\nexport const choosePoi = /* @__PURE__ */ temporarilyNotSupport('choosePoi')\r\nexport const getFuzzyLocation = /* @__PURE__ */ temporarilyNotSupport('getFuzzyLocation')\r\n\r\nexport { chooseLocation } from './chooseLocation'\r\nexport { offLocationChange, offLocationChangeError, onLocationChange, onLocationChangeError, startLocationUpdate, stopLocationUpdate } from './locationChange'\r\n","import Taro from '@tarojs/api'\n\nimport { permanentlyNotSupport } from '../../../utils'\nimport { CallbackManager } from '../../../utils/handler'\n\nexport class InnerAudioContext implements Taro.InnerAudioContext {\n Instance?: HTMLAudioElement\n errorStack: CallbackManager\n stopStack: CallbackManager\n __startTime = 0\n __isFirstPlay = true\n\n constructor () {\n this.Instance = new Audio()\n this.errorStack = new CallbackManager()\n this.stopStack = new CallbackManager()\n this.Instance.onerror = this.errorStack.trigger\n\n Taro.eventCenter.on('__taroRouterChange', () => { this.stop() })\n this.onPlay(() => {\n if (this.__isFirstPlay) {\n this.__isFirstPlay = false\n this.seek(this.startTime)\n }\n })\n }\n\n set autoplay (e) { this.setProperty('autoplay', e) }\n get autoplay () { return this.Instance?.autoplay || false }\n get buffered () {\n const { currentTime = 0, buffered: timeRange } = this.Instance || {}\n if (timeRange) {\n for (let i = 0; i < timeRange.length; i++) {\n if(timeRange.start(i) <= currentTime && timeRange.end(i) >= currentTime) {\n return timeRange.end(i)\n }\n }\n }\n return 0\n }\n\n get currentTime () { return this.Instance?.currentTime || 0 }\n set currentTime (e) { this.seek(e) }\n get duration () { return this.Instance?.duration || 0 }\n set loop (e) { this.setProperty('loop', e) }\n get loop () { return this.Instance?.loop || false }\n get paused () { return this.Instance?.paused ?? true }\n set src (e) { this.setProperty('src', e) }\n get src () { return this.Instance?.src || '' }\n set volume (e) { this.setProperty('volume', e) }\n get volume () { return this.Instance?.volume || 0 }\n set playbackRate (e) { this.setProperty('playbackRate', e) }\n get playbackRate () { return this.Instance?.playbackRate || 0 }\n set obeyMuteSwitch (_e) { permanentlyNotSupport('InnerAudioContext.obeyMuteSwitch')() }\n get obeyMuteSwitch () { return true }\n set startTime (e) { this.__startTime = e }\n get startTime () { return this.__startTime || 0 }\n set referrerPolicy (e) { this.Instance?.setAttribute('referrerpolicy', e) }\n get referrerPolicy () { return this.Instance?.getAttribute('referrerpolicy') || 'origin' }\n\n private setProperty (key: string, value: unknown) {\n if (this.Instance) {\n this.Instance[key] = value\n }\n }\n\n play = () => this.Instance?.play()\n\n pause = () => this.Instance?.pause()\n\n stop = () => {\n this.pause()\n this.seek(0)\n this.stopStack.trigger()\n }\n\n seek = (position: number) => {\n if (this.Instance) {\n this.Instance.currentTime = position\n }\n }\n\n /**\n * @TODO destroy得并不干净\n */\n destroy = () => {\n this.stop()\n if (this.Instance) {\n this.Instance = undefined\n }\n }\n\n onCanplay = (callback: Taro.InnerAudioContext.OnCanplayCallback = () => {}) => this.Instance?.addEventListener('canplay', callback as any)\n onPlay = (callback: Taro.InnerAudioContext.OnPlayCallback = () => {}) => this.Instance?.addEventListener('play', callback as any)\n onPause = (callback: Taro.InnerAudioContext.OnPauseCallback = () => {}) => this.Instance?.addEventListener('pause', callback as any)\n onStop = (callback: Taro.InnerAudioContext.OnStopCallback = () => {}) => this.stopStack.add(callback)\n onEnded = (callback: Taro.InnerAudioContext.OnEndedCallback = () => {}) => this.Instance?.addEventListener('ended', callback as any)\n onTimeUpdate = (callback: Taro.InnerAudioContext.OnTimeUpdateCallback = () => {}) => this.Instance?.addEventListener('timeupdate', callback as any)\n onError = (callback: Taro.InnerAudioContext.OnErrorCallback) => this.errorStack.add(callback)\n onWaiting = (callback: Taro.InnerAudioContext.OnWaitingCallback = () => {}) => this.Instance?.addEventListener('waiting', callback as any)\n onSeeking = (callback: Taro.InnerAudioContext.OnSeekingCallback = () => {}) => this.Instance?.addEventListener('seeking', callback as any)\n onSeeked = (callback: Taro.InnerAudioContext.OnSeekedCallback = () => {}) => this.Instance?.addEventListener('seeked', callback as any)\n offCanplay = (callback: Taro.InnerAudioContext.OnCanplayCallback = () => {}) => this.Instance?.removeEventListener('canplay', callback as any)\n offPlay = (callback: Taro.InnerAudioContext.OnPlayCallback = () => {}) => this.Instance?.removeEventListener('play', callback as any)\n offPause = (callback: Taro.InnerAudioContext.OnPauseCallback = () => {}) => this.Instance?.removeEventListener('pause', callback as any)\n offStop = (callback: Taro.InnerAudioContext.OnStopCallback = () => {}) => this.stopStack.remove(callback)\n offEnded = (callback: Taro.InnerAudioContext.OnEndedCallback = () => {}) => this.Instance?.removeEventListener('ended', callback as any)\n offTimeUpdate = (callback: Taro.InnerAudioContext.OnTimeUpdateCallback = () => {}) => this.Instance?.removeEventListener('timeupdate', callback as any)\n offError = (callback: Taro.InnerAudioContext.OnErrorCallback = () => {}) => this.errorStack.remove(callback)\n offWaiting = (callback: Taro.InnerAudioContext.OnWaitingCallback = () => {}) => this.Instance?.removeEventListener('waiting', callback as any)\n offSeeking = (callback: Taro.InnerAudioContext.OnSeekingCallback = () => {}) => this.Instance?.removeEventListener('seeking', callback as any)\n offSeeked = (callback: Taro.InnerAudioContext.OnSeekedCallback = () => {}) => this.Instance?.removeEventListener('seeked', callback as any)\n}\n","import Taro from '@tarojs/api'\r\n\r\nimport { temporarilyNotSupport } from '../../../utils'\r\nimport { InnerAudioContext } from './InnerAudioContext'\r\n\r\n// 音频\r\n\r\nexport const stopVoice = /* @__PURE__ */ temporarilyNotSupport('stopVoice')\r\nexport const setInnerAudioOption = /* @__PURE__ */ temporarilyNotSupport('setInnerAudioOption')\r\nexport const playVoice = /* @__PURE__ */ temporarilyNotSupport('playVoice')\r\nexport const pauseVoice = /* @__PURE__ */ temporarilyNotSupport('pauseVoice')\r\nexport const getAvailableAudioSources = /* @__PURE__ */ temporarilyNotSupport('getAvailableAudioSources')\r\nexport const createWebAudioContext = /* @__PURE__ */ temporarilyNotSupport('createWebAudioContext')\r\nexport const createMediaAudioPlayer = /* @__PURE__ */ temporarilyNotSupport('createMediaAudioPlayer')\r\n\r\n/**\r\n * 创建内部 audio 上下文 InnerAudioContext 对象。\r\n */\r\nexport const createInnerAudioContext: typeof Taro.createInnerAudioContext = () => new InnerAudioContext()\r\n\r\nexport const createAudioContext = /* @__PURE__ */ temporarilyNotSupport('createAudioContext')\r\n","import Taro from '@tarojs/api'\n\nimport { permanentlyNotSupport } from '../../../utils'\nimport { CallbackManager } from '../../../utils/handler'\n\nexport class BackgroundAudioManager implements Taro.BackgroundAudioManager {\n Instance?: HTMLAudioElement\n errorStack: CallbackManager\n stopStack: CallbackManager\n __startTime = 0\n\n constructor () {\n this.Instance = new Audio()\n this.errorStack = new CallbackManager()\n this.stopStack = new CallbackManager()\n this.Instance.onerror = this.errorStack.trigger\n this.Instance.autoplay = true\n this.onPlay(() => {\n if (this.currentTime !== this.startTime) {\n this.seek(this.startTime)\n }\n })\n }\n\n set src (e) { this.setProperty('src', e) }\n get src () { return this.Instance?.src || '' }\n set startTime (e) { this.__startTime = e }\n get startTime () { return this.__startTime || 0 }\n set title (e) { this.dataset('title', e) }\n get title () { return this.Instance?.dataset.title || '' }\n set epname (e) { this.dataset('epname', e) }\n get epname () { return this.Instance?.dataset.epname || '' }\n set singer (e) { this.dataset('singer', e) }\n get singer () { return this.Instance?.dataset.singer || '' }\n set coverImgUrl (e) { this.dataset('coverImgUrl', e) }\n get coverImgUrl () { return this.Instance?.dataset.coverImgUrl || '' }\n set webUrl (e) { this.dataset('webUrl', e) }\n get webUrl () { return this.Instance?.dataset.webUrl || '' }\n set protocol (e) { this.dataset('protocol', e) }\n get protocol () { return this.Instance?.dataset.protocol || '' }\n set playbackRate (e) { this.setProperty('playbackRate', e) }\n get playbackRate () { return this.Instance?.playbackRate || 0 }\n get duration () { return this.Instance?.duration || 0 }\n get currentTime () { return this.Instance?.currentTime || 0 }\n get paused () { return this.Instance?.paused || false }\n get buffered () {\n const { currentTime = 0, buffered: timeRange } = this.Instance || {}\n if (timeRange) {\n for (let i = 0; i < timeRange.length; i++) {\n if(timeRange.start(i) <= currentTime && timeRange.end(i) >= currentTime) {\n return timeRange.end(i)\n }\n }\n }\n return 0\n }\n\n set referrerPolicy (e) { this.Instance?.setAttribute('referrerpolicy', e) }\n get referrerPolicy () { return this.Instance?.getAttribute('referrerpolicy') || 'origin' }\n\n private setProperty (key: string, value: unknown) {\n if (this.Instance) {\n this.Instance[key] = value\n }\n }\n\n private dataset (key: string, value: string) {\n if (this.Instance) {\n this.Instance.dataset[key] = value\n }\n }\n\n play = () => this.Instance?.play()\n\n pause = () => this.Instance?.pause()\n\n seek = (position: number) => {\n if (this.Instance) {\n this.Instance.currentTime = position\n }\n }\n\n stop = () => {\n this.pause()\n this.seek(0)\n this.stopStack.trigger()\n }\n\n onCanplay = (callback = () => {}) => this.Instance?.addEventListener('canplay', callback)\n onWaiting = (callback = () => {}) => this.Instance?.addEventListener('waiting', callback)\n onError = (callback?: ((res: Taro.InnerAudioContext.onErrorDetail) => void)) => this.errorStack.add(callback)\n onPlay = (callback = () => {}) => this.Instance?.addEventListener('play', callback)\n onPause = (callback = () => {}) => this.Instance?.addEventListener('pause', callback)\n onSeeking = (callback = () => {}) => this.Instance?.addEventListener('seeking', callback)\n onSeeked = (callback = () => {}) => this.Instance?.addEventListener('seeked', callback)\n\n onEnded = (callback = () => {}) => this.Instance?.addEventListener('ended', callback)\n onStop = (callback = () => {}) => this.stopStack.add(callback)\n onTimeUpdate = (callback = () => {}) => this.Instance?.addEventListener('timeupdate', callback)\n onPrev = permanentlyNotSupport('BackgroundAudioManager.onPrev')\n onNext = permanentlyNotSupport('BackgroundAudioManager.onNext')\n\n offCanplay = (callback = () => {}) => this.Instance?.removeEventListener('canplay', callback)\n offWaiting = (callback = () => {}) => this.Instance?.removeEventListener('waiting', callback)\n offError = (callback = () => {}) => this.errorStack.remove(callback)\n offPlay = (callback = () => {}) => this.Instance?.removeEventListener('play', callback)\n offPause = (callback = () => {}) => this.Instance?.removeEventListener('pause', callback)\n offSeeking = (callback = () => {}) => this.Instance?.removeEventListener('seeking', callback)\n offSeeked = (callback = () => {}) => this.Instance?.removeEventListener('seeked', callback)\n\n offEnded = (callback = () => {}) => this.Instance?.removeEventListener('ended', callback)\n offStop = (callback = () => {}) => this.stopStack.remove(callback)\n offTimeUpdate = (callback = () => {}) => this.Instance?.removeEventListener('timeupdate', callback)\n offPrev = permanentlyNotSupport('BackgroundAudioManager.offPrev')\n offNext = permanentlyNotSupport('BackgroundAudioManager.offNext')\n}\n","import { temporarilyNotSupport } from '../../../utils'\nimport { BackgroundAudioManager } from './BackgroundAudioManager'\n\n// 背景音频\nexport const stopBackgroundAudio = /* @__PURE__ */ temporarilyNotSupport('stopBackgroundAudio')\nexport const seekBackgroundAudio = /* @__PURE__ */ temporarilyNotSupport('seekBackgroundAudio')\nexport const playBackgroundAudio = /* @__PURE__ */ temporarilyNotSupport('playBackgroundAudio')\nexport const pauseBackgroundAudio = /* @__PURE__ */ temporarilyNotSupport('pauseBackgroundAudio')\nexport const onBackgroundAudioStop = /* @__PURE__ */ temporarilyNotSupport('onBackgroundAudioStop')\nexport const onBackgroundAudioPlay = /* @__PURE__ */ temporarilyNotSupport('onBackgroundAudioPlay')\nexport const onBackgroundAudioPause = /* @__PURE__ */ temporarilyNotSupport('onBackgroundAudioPause')\nexport const getBackgroundAudioPlayerState = /* @__PURE__ */ temporarilyNotSupport('getBackgroundAudioPlayerState')\n\n/**\n * 获取全局唯一的背景音频管理器\n */\nexport const getBackgroundAudioManager = () => new BackgroundAudioManager()\n","import { temporarilyNotSupport } from '../../utils'\n\n// 相机\nexport const createCameraContext = /* @__PURE__ */ temporarilyNotSupport('createCameraContext')\n","import Taro from '@tarojs/api'\n\nimport { createDownload, getParameterError, shouldBeObject } from '../../../utils'\nimport { MethodHandler } from '../../../utils/handler'\n\nexport const saveImageToPhotosAlbum: typeof Taro.saveImageToPhotosAlbum = (options) => {\n const methodName = 'saveImageToPhotosAlbum'\n // options must be an Object\n const isObject = shouldBeObject(options)\n if (!isObject.flag) {\n const res = { errMsg: `${methodName}:fail ${isObject.msg}` }\n console.error(res.errMsg)\n return Promise.reject(res)\n }\n\n const {\n filePath,\n success,\n fail,\n complete,\n } = options\n const handle = new MethodHandler({ name: methodName, success, fail, complete })\n if (typeof filePath !== 'string') {\n return handle.fail({\n errMsg: getParameterError({\n para: 'filePath',\n correct: 'String',\n wrong: filePath\n })\n })\n }\n\n createDownload(filePath)\n return handle.success()\n}\n","import Taro from '@tarojs/api'\r\n\r\nimport { shouldBeObject } from '../../../utils'\r\nimport { MethodHandler } from '../../../utils/handler'\r\n\r\n/**\r\n * 获取图片信息。网络图片需先配置download域名才能生效。\r\n */\r\nexport const getImageInfo: typeof Taro.getImageInfo = (options) => {\r\n // options must be an Object\r\n const isObject = shouldBeObject(options)\r\n if (!isObject.flag) {\r\n const res = { errMsg: `getImageInfo:fail ${isObject.msg}` }\r\n console.error(res.errMsg)\r\n return Promise.reject(res)\r\n }\r\n\r\n const getBase64Image = (image: HTMLImageElement) => {\r\n try {\r\n const canvas = document.createElement('canvas')\r\n canvas.width = image.width\r\n canvas.height = image.height\r\n const ctx = canvas.getContext('2d')\r\n ctx?.drawImage(image, 0, 0, image.width, image.height)\r\n return canvas.toDataURL('image/png')\r\n } catch (e) {\r\n console.error('getImageInfo:get base64 fail', e)\r\n }\r\n }\r\n\r\n const { src, success, fail, complete } = options\r\n const handle = new MethodHandler({ name: 'getImageInfo', success, fail, complete })\r\n return new Promise((resolve, reject) => {\r\n const image = new Image()\r\n image.crossOrigin = ''\r\n image.onload = () => {\r\n handle.success({\r\n width: image.naturalWidth,\r\n height: image.naturalHeight,\r\n path: getBase64Image(image) || src\r\n }, { resolve, reject })\r\n }\r\n image.onerror = (e: any) => {\r\n handle.fail({\r\n errMsg: e.message\r\n }, { resolve, reject })\r\n }\r\n image.src = src\r\n })\r\n}\r\n","import Taro from '@tarojs/api'\nimport { SwiperProps } from '@tarojs/components'\nimport {\n defineCustomElementTaroSwiperCore,\n defineCustomElementTaroSwiperItemCore,\n} from '@tarojs/components/dist/components'\nimport { eventCenter } from '@tarojs/runtime'\nimport { isFunction } from '@tarojs/shared'\n\nimport { shouldBeObject } from '../../../utils'\nimport { MethodHandler } from '../../../utils/handler'\n\n/**\n * previewImage api基于开源的React组件[react-wx-images-viewer](https://github.com/react-ld/react-wx-images-viewer)开发,感谢!\n */\n\n/**\n * 在新页面中全屏预览图片。预览的过程中用户可以进行保存图片、发送给朋友等操作。\n */\nexport const previewImage: typeof Taro.previewImage = async (options) => {\n // TODO 改为通过 window.__taroAppConfig 获取配置的 Swiper 插件创建节点\n defineCustomElementTaroSwiperCore()\n defineCustomElementTaroSwiperItemCore()\n\n function loadImage (url: string, loadFail: typeof fail): Promise<Node> {\n return new Promise((resolve) => {\n const item = document.createElement('taro-swiper-item-core')\n item.style.cssText = 'display:flex;align-items:start;justify-content:center;overflow-y:scroll;'\n const image = new Image()\n image.style.maxWidth = '100%'\n image.src = url\n const div = document.createElement('div')\n div.classList.add('swiper-zoom-container')\n div.style.cssText = 'display:flex;align-items:center;justify-content:center;max-width:100%;min-height:100%;'\n div.appendChild(image)\n item.appendChild(div)\n // Note: 等待图片加载完后返回,会导致轮播被卡住\n resolve(item)\n if (isFunction(loadFail)) {\n image.addEventListener('error', (err) => {\n loadFail({ errMsg: err.message })\n })\n }\n })\n }\n\n // options must be an Object\n const isObject = shouldBeObject(options)\n if (!isObject.flag) {\n const res = { errMsg: `previewImage:fail ${isObject.msg}` }\n console.error(res.errMsg)\n return Promise.reject(res)\n }\n\n const { urls = [], current = '', success, fail, complete } = options\n const handle = new MethodHandler({ name: 'previewImage', success, fail, complete })\n const container = document.createElement('div')\n const removeHandler = () => {\n eventCenter.off('__taroRouterChange', removeHandler)\n container.remove()\n }\n // 路由改变后应该关闭预览框\n eventCenter.on('__taroRouterChange', removeHandler)\n\n container.classList.add('preview-image')\n container.style.cssText =\n 'position:fixed;top:0;left:0;z-index:1050;width:100%;height:100%;overflow:hidden;outline:0;background-color:#111;'\n container.addEventListener('click', removeHandler)\n\n const swiper: HTMLElement & Omit<SwiperProps, 'style' | 'children'> = document.createElement('taro-swiper-core')\n // @ts-ignore\n swiper.full = true\n // @ts-ignore\n swiper.zoom = true\n\n let children: Node[] = []\n try {\n children = await Promise.all(urls.map((e) => loadImage(e, fail)))\n } catch (error) {\n return handle.fail({\n errMsg: error,\n })\n }\n\n for (let i = 0; i < children.length; i++) {\n const child = children[i]\n swiper.appendChild(child)\n }\n\n const currentIndex = typeof current === 'number' ? current : urls.indexOf(current)\n\n swiper.current = currentIndex\n\n container.appendChild(swiper)\n document.body.appendChild(container)\n\n return handle.success()\n}\n","import Taro from '@tarojs/api'\n\n/**\n * H5 下的 styleSheet 操作\n * @author leeenx\n */\nclass StyleSheet {\n constructor () {\n this.$style = document.createElement('style')\n }\n\n $style?: HTMLStyleElement | null = null\n sheet?: CSSStyleSheet | null = null\n\n appendStyleSheet = () => {\n if (this.$style) {\n const head = document.getElementsByTagName('head')[0]\n this.$style.setAttribute('type', 'text/css')\n this.$style.setAttribute('data-type', 'Taro')\n head.appendChild(this.$style)\n this.sheet = this.$style.sheet\n }\n if (this.sheet && !('insertRule' in this.sheet)) {\n console.warn('当前浏览器不支持 stylesheet.insertRule 接口')\n }\n }\n\n // 添加样式命令\n add = (cssText, index = 0) => {\n if (this.sheet === null) {\n // $style 未插入到 DOM\n this.appendStyleSheet()\n }\n this.sheet?.insertRule(cssText, index)\n }\n}\n\nconst styleSheet = new StyleSheet()\n\n// 监听事件\nlet TRANSITION_END = 'transitionend'\nlet TRANSFORM = 'transform'\n\nconst $detect = document.createElement('div')\n$detect.style.cssText = '-webkit-animation-name:webkit;-moz-animation-name:moz;-ms-animation-name:ms;animation-name:standard;'\nif ($detect.style['animation-name'] === 'standard') {\n // 支持标准写法\n TRANSITION_END = 'transitionend'\n TRANSFORM = 'transform'\n} else if ($detect.style['-webkit-animation-name'] === 'webkit') {\n // webkit 前缀\n TRANSITION_END = 'webkitTransitionEnd'\n TRANSFORM = '-webkit-transform'\n} else if ($detect.style['-moz-animation-name'] === 'moz') {\n // moz 前缀\n TRANSITION_END = 'mozTransitionEnd'\n TRANSFORM = '-moz-transform'\n} else if ($detect.style['-ms-animation-name'] === 'ms') {\n // ms 前缀\n TRANSITION_END = 'msTransitionEnd'\n TRANSFORM = '-ms-transform'\n}\n\nlet animId = 0\n\ninterface IAnimationAttr {\n duration: number\n delay: number\n timingFunction: string\n transformOrigin: string\n}\n\ninterface IRule {\n key: string\n rule: string\n}\n\ninterface ITransform {\n key: string\n transform: string\n}\n\nclass Animation implements Taro.Animation {\n unit: string\n id: number\n DEFAULT: IAnimationAttr\n\n constructor (\n {\n duration = 400,\n delay = 0,\n timingFunction = 'linear',\n transformOrigin = '50% 50% 0',\n unit = 'px'\n }: Taro.createAnimation.Option = {}\n ) {\n // 默认值\n this.setDefault(duration, delay, timingFunction, transformOrigin)\n this.unit = unit\n // atom 环境下,animation 属性不会显示,所以要改成 data-animation\n let animAttr = 'animation'\n // 动画 id\n this.id = ++animId\n // 监听事件\n document.body.addEventListener(TRANSITION_END, (e: TransitionEvent) => {\n const target = e.target as HTMLElement\n if (target.getAttribute(animAttr) === null) {\n animAttr = 'data-animation'\n }\n const animData = target.getAttribute(animAttr)\n // 没有动画存在\n if (animData === null) return\n const [animName, animPath] = animData.split('__')\n if (animName === `taro-h5-poly-fill/${this.id}/create-animation`) {\n const [animIndex, __stepIndex = 0] = animPath.split('--')\n const stepIndex = Number(__stepIndex)\n // 动画总的关键帧\n const animStepsCount = this.animationMap[`${animName}__${animIndex}`]\n const animStepsMaxIndex = animStepsCount - 1\n if (stepIndex < animStepsMaxIndex) {\n // 播放下一个关键帧(因为 nerv 和 react 有差异所以 animation & data-animation 都需要写)\n target.setAttribute(animAttr, `${animName}__${animIndex}--${stepIndex + 1}`)\n if (animAttr === 'data-animation') {\n // Nerv 环境,animation & data-animation 双重保险\n target.setAttribute('animation', `${animName}__${animIndex}--${stepIndex + 1}`)\n }\n }\n }\n })\n }\n\n transformUnit (...args) {\n const ret: string[] = []\n args.forEach(each => {\n ret.push(isNaN(each) ? each : `${each}${this.unit}`)\n })\n return ret\n }\n\n // 设置默认值\n setDefault (duration, delay, timingFunction, transformOrigin) {\n this.DEFAULT = { duration, delay, timingFunction, transformOrigin }\n }\n\n // 属性组合\n rules: IRule[] = []\n // transform 对象\n transform: ITransform[] = []\n // 组合动画\n steps: string[] = []\n // 动画 map ----- 永久保留\n animationMap = {}\n // animationMap 的长度\n animationMapCount = 0\n // 历史动画\n historyAnimations: ITransform[] = []\n // 历史规则\n historyRules: IRule[] = []\n\n matrix (a: number, b: number, c: number, d: number, tx: number, ty: number) {\n this.transform.push({ key: 'matrix', transform: `matrix(${a}, ${b}, ${c}, ${d}, ${tx}, ${ty})` })\n return this\n }\n\n matrix3d (a1: number, b1: number, c1: number, d1: number, a2: number, b2: number, c2: number, d2: number, a3: number, b3: number, c3: number, d3: number, a4: number, b4: number, c4: number, d4: number) {\n this.transform.push({\n key: 'matrix3d',\n transform: `matrix3d(${a1}, ${b1}, ${c1}, ${d1}, ${a2}, ${b2}, ${c2}, ${d2}, ${a3}, ${b3}, ${c3}, ${d3}, ${a4}, ${b4}, ${c4}, ${d4})`,\n })\n return this\n }\n\n rotate (angle: number) {\n this.transform.push({ key: 'rotate', transform: `rotate(${angle}deg)` })\n return this\n }\n\n rotate3d (x: number, y?: number, z?: number, angle?: number) {\n if (typeof y !== 'number') {\n this.transform.push({ key: 'rotate3d', transform: `rotate3d(${x})` })\n } else {\n this.transform.push({ key: 'rotate3d', transform: `rotate3d(${x}, ${y || 0}, ${z || 0}, ${angle || 0}deg)` })\n }\n return this\n }\n\n rotateX (angle) {\n this.transform.push({ key: 'rotateX', transform: `rotateX(${angle}deg)` })\n return this\n }\n\n rotateY (angle) {\n this.transform.push({ key: 'rotateY', transform: `rotateY(${angle}deg)` })\n return this\n }\n\n rotateZ (angle) {\n this.transform.push({ key: 'rotateZ', transform: `rotateZ(${angle}deg)` })\n return this\n }\n\n scale (x: number, y?: number) {\n const scaleY = (typeof y !== 'undefined' && y !== null) ? y : x\n this.transform.push({ key: 'scale', transform: `scale(${x}, ${scaleY})` })\n return this\n }\n\n scale3d (x, y, z) {\n this.transform.push({ key: 'scale3d', transform: `scale3d(${x}, ${y}, ${z})` })\n return this\n }\n\n scaleX (scale) {\n this.transform.push({ key: 'scaleX', transform: `scaleX(${scale})` })\n return this\n }\n\n scaleY (scale) {\n this.transform.push({ key: 'scaleY', transform: `scaleY(${scale})` })\n return this\n }\n\n scaleZ (scale) {\n this.transform.push({ key: 'scaleZ', transform: `scaleZ(${scale})` })\n return this\n }\n\n skew (x, y) {\n this.transform.push({ key: 'skew', transform: `skew(${x}deg, ${y}deg)` })\n return this\n }\n\n skewX (angle) {\n this.transform.push({ key: 'skewX', transform: `skewX(${angle}deg)` })\n return this\n }\n\n skewY (angle) {\n this.transform.push({ key: 'skewY', transform: `skewY(${angle}deg)` })\n return this\n }\n\n translate (x, y) {\n [x, y] = this.transformUnit(x, y)\n this.transform.push({ key: 'translate', transform: `translate(${x}, ${y})` })\n return this\n }\n\n translate3d (x, y, z) {\n [x, y, z] = this.transformUnit(x, y, z)\n this.transform.push({ key: 'translate3d', transform: `translate3d(${x}, ${y}, ${z})` })\n return this\n }\n\n translateX (translate) {\n [translate] = this.transformUnit(translate)\n this.transform.push({ key: 'translateX', transform: `translateX(${translate})` })\n return this\n }\n\n translateY (translate) {\n [translate] = this.transformUnit(translate)\n this.transform.push({ key: 'translateY', transform: `translateY(${translate})` })\n return this\n }\n\n translateZ (translate) {\n [translate] = this.transformUnit(translate)\n this.transform.push({ key: 'translateZ', transform: `translateZ(${translate})` })\n return this\n }\n\n opacity (value) {\n this.rules.push({ key: 'opacity', rule: `opacity: ${value}` })\n return this\n }\n\n backgroundColor (value) {\n this.rules.push({ key: 'backgroundColor', rule: `background-color: ${value}` })\n return this\n }\n\n width (value) {\n [value] = this.transformUnit(value)\n this.rules.push({ key: 'width', rule: `width: ${value}` })\n return this\n }\n\n height (value) {\n [value] = this.transformUnit(value)\n this.rules.push({ key: 'height', rule: `height: ${value}` })\n return this\n }\n\n top (value) {\n [value] = this.transformUnit(value)\n this.rules.push({ key: 'top', rule: `top: ${value}` })\n return this\n }\n\n right (value) {\n [value] = this.transformUnit(value)\n this.rules.push({ key: 'right', rule: `right: ${value}` })\n return this\n }\n\n bottom (value) {\n [value] = this.transformUnit(value)\n this.rules.push({ key: 'bottom', rule: `bottom: ${value}` })\n return this\n }\n\n left (value) {\n [value] = this.transformUnit(value)\n this.rules.push({ key: 'left', rule: `left: ${value}` })\n return this\n }\n\n // 关键帧载入\n step (arg: Partial<IAnimationAttr> = {}) {\n const { DEFAULT } = this\n const {\n duration = DEFAULT.duration,\n delay = DEFAULT.delay,\n timingFunction = DEFAULT.timingFunction,\n transformOrigin = DEFAULT.transformOrigin,\n } = arg\n // 生成一条 transition 动画\n\n this.transform.map((t0) => {\n const index = this.historyAnimations.findIndex((t1) => t1.key === t0.key)\n if (index === -1) {\n this.historyAnimations.push(t0)\n } else {\n this.historyAnimations[index] = t0\n }\n })\n const transforms = this.historyAnimations.map((t) => t.transform)\n const transformSequence = transforms.length > 0 ? `${TRANSFORM}:${transforms.join(' ')}!important` : ''\n\n this.rules.map((r0) => {\n const index = this.historyRules.findIndex((r1) => r1.key === r0.key)\n if (index === -1) {\n this.historyRules.push(r0)\n } else {\n this.historyRules[index] = r0\n }\n })\n const rules = this.historyRules.map((t) => t.rule)\n const ruleSequence = rules.length > 0 ? rules.map((rule) => `${rule}!important`).join(';') : ''\n\n this.steps.push(\n [\n ruleSequence,\n transformSequence,\n `${TRANSFORM}-origin: ${transformOrigin}`,\n `transition: all ${duration}ms ${timingFunction} ${delay}ms`,\n ]\n .filter((item) => item !== '')\n .join(';')\n )\n // 清空 rules 和 transform\n this.rules = []\n this.transform = []\n return this as Taro.Animation\n }\n\n // 创建底层数据\n createAnimationData () {\n const animIndex = `taro-h5-poly-fill/${this.id}/create-animation__${this.animationMapCount++}`\n // 记录动画分几个 step\n this.animationMap[animIndex] = this.steps.length\n // 吐出 step\n this.steps.forEach((step, index) => {\n const selector =\n index === 0\n ? `[animation=\"${animIndex}\"], [data-animation=\"${animIndex}\"]`\n : `[animation=\"${animIndex}--${index}\"], [data-animation=\"${animIndex}--${index}\"]`\n styleSheet.add(`${selector} { ${step} }`)\n })\n\n // 清空 steps\n this.steps = []\n return animIndex\n }\n\n // 动画数据产出\n export () {\n return this.createAnimationData() as unknown as ReturnType<Taro.Animation['export']>\n }\n}\n\n// h5 的 createAnimation\nexport const createAnimation: typeof Taro.createAnimation = (option) => {\n return new Animation(option)\n}\n","import { temporarilyNotSupport } from '../../utils'\n\n// 背景\nexport const setBackgroundTextStyle = /* @__PURE__ */ temporarilyNotSupport('setBackgroundTextStyle')\nexport const setBackgroundColor = /* @__PURE__ */ temporarilyNotSupport('setBackgroundColor')\n","import Taro from '@tarojs/api'\n\n// 自定义组件\nexport const nextTick = Taro.nextTick\n","import Taro from '@tarojs/api'\n\nimport { MethodHandler } from '../../utils/handler'\n\n// 字体\nexport const loadFontFace: typeof Taro.loadFontFace = async options => {\n options = Object.assign({ global: false }, options)\n const { success, fail, complete, family, source, desc = {} } = options\n const handle = new MethodHandler({ name: 'loadFontFace', success, fail, complete })\n // @ts-ignore\n const fonts = document.fonts\n if (fonts) {\n // @ts-ignore\n const fontFace = new FontFace(family, source, desc)\n try {\n await fontFace.load()\n fonts.add(fontFace)\n return handle.success({ status: 'loaded' })\n } catch (error) {\n return handle.fail({\n status: 'error',\n errMsg: error.message || error,\n })\n }\n } else {\n const style = document.createElement('style')\n let innerText = `font-family:\"${\n family\n }\";src:${\n source\n };font-style:${\n desc.style || 'normal'\n };font-weight:${\n desc.weight || 'normal'\n };font-variant:${\n desc.variant || 'normal'\n };`\n\n if (desc.ascentOverride) {\n innerText += `ascent-override:${desc.ascentOverride};`\n }\n if (desc.descentOverride) {\n innerText += `descent-override:${desc.descentOverride};`\n }\n if (desc.featureSettings) {\n innerText += `font-feature-settings:${desc.featureSettings};`\n }\n if (desc.lineGapOverride) {\n innerText += `line-gap-override:${desc.lineGapOverride};`\n }\n if (desc.stretch) {\n innerText += `font-stretch:${desc.stretch};`\n }\n if (desc.unicodeRange) {\n innerText += `unicode-range:${desc.unicodeRange};`\n }\n if (desc.variationSettings) {\n innerText += `font-variation-settings:${desc.variationSettings};`\n }\n\n style.innerText = `@font-face{${innerText}}`\n document.head.appendChild(style)\n return handle.success({ status: 'loaded' })\n }\n}\n","import { temporarilyNotSupport } from '../../utils'\n\n// 菜单\nexport const getMenuButtonBoundingClientRect = /* @__PURE__ */ temporarilyNotSupport('getMenuButtonBoundingClientRect')\n","import Taro from '@tarojs/api'\nimport { setNavigationBarLoading, setNavigationBarStyle, setTitle } from '@tarojs/router'\n\nimport { getParameterError, shouldBeObject, temporarilyNotSupport } from '../../../utils'\nimport { MethodHandler } from '../../../utils/handler'\n\n// 导航栏\n/**\n * 展示导航栏 loading 状态\n*/\nexport function showNavigationBarLoading (options: Taro.showNavigationBarLoading.Option = {}) {\n const { success, fail, complete } = options\n const handle = new MethodHandler({ name: 'showNavigationBarLoading', success, fail, complete })\n setNavigationBarLoading(true)\n return handle.success()\n}\n\nexport function setNavigationBarTitle (options?: Taro.setNavigationBarTitle.Option) {\n // options must be an Object\n const isObject = shouldBeObject(options)\n if (!isObject.flag) {\n const res = { errMsg: `setNavigationBarTitle:fail ${isObject.msg}` }\n console.error(res.errMsg)\n return Promise.reject(res)\n }\n\n const { title, success, fail, complete } = options as Exclude<typeof options, undefined>\n const handle = new MethodHandler({ name: 'setNavigationBarTitle', success, fail, complete })\n\n if (!title || typeof title !== 'string') {\n return handle.fail({\n errMsg: getParameterError({\n para: 'title',\n correct: 'String',\n wrong: title\n })\n })\n }\n\n setTitle(title)\n\n return handle.success()\n}\n\n/**\n * 设置页面导航条颜色\n */\nexport const setNavigationBarColor: typeof Taro.setNavigationBarColor = (options) => {\n const { backgroundColor, frontColor, success, fail, complete } = options\n const handle = new MethodHandler({ name: 'setNavigationBarColor', success, fail, complete })\n const meta = document.createElement('meta')\n meta.setAttribute('name', 'theme-color')\n meta.setAttribute('content', backgroundColor)\n document.head.appendChild(meta)\n setNavigationBarStyle({ frontColor, backgroundColor })\n return handle.success()\n}\n\n/**\n * 隐藏导航栏 loading 状态\n*/\nexport function hideNavigationBarLoading (options: Taro.hideNavigationBarLoading.Option = {}) {\n const { success, fail, complete } = options\n const handle = new MethodHandler({ name: 'hideNavigationBarLoading', success, fail, complete })\n setNavigationBarLoading(false)\n return handle.success()\n}\n\nexport const hideHomeButton = /* @__PURE__ */ temporarilyNotSupport('hideHomeButton')\n","import Taro from '@tarojs/api'\r\n\r\nimport { MethodHandler } from '../../utils/handler'\r\n/**\r\n * 开始下拉刷新。调用后触发下拉刷新动画,效果与用户手动下拉刷新一致。\r\n */\r\nexport const startPullDownRefresh: typeof Taro.startPullDownRefresh = function ({ success, fail, complete } = {}) {\r\n const handle = new MethodHandler({ name: 'startPullDownRefresh', success, fail, complete })\r\n return new Promise((resolve, reject) => {\r\n Taro.eventCenter.trigger('__taroStartPullDownRefresh', {\r\n successHandler: (res = {}) => handle.success(res, { resolve, reject }),\r\n errorHandler: (res = {}) => handle.fail(res, { resolve, reject })\r\n })\r\n })\r\n}\r\n\r\n/**\r\n * 停止当前页面下拉刷新。\r\n */\r\nexport const stopPullDownRefresh: typeof Taro.stopPullDownRefresh = function ({ success, fail, complete } = {}) {\r\n const handle = new MethodHandler({ name: 'stopPullDownRefresh', success, fail, complete })\r\n return new Promise((resolve, reject) => {\r\n Taro.eventCenter.trigger('__taroStopPullDownRefresh', {\r\n successHandler: (res = {}) => handle.success(res, { resolve, reject }),\r\n errorHandler: (res = {}) => handle.fail(res, { resolve, reject })\r\n })\r\n })\r\n}\r\n","import Taro from '@tarojs/api'\r\nimport { Current } from '@tarojs/runtime'\r\n\r\nimport { easeInOut, getTimingFunc } from '../../../utils'\r\nimport { MethodHandler } from '../../../utils/handler'\r\n\r\nlet timer: ReturnType<typeof setTimeout>\r\nconst FRAME_DURATION = 17\r\n\r\n/**\r\n * 将页面滚动到目标位置\r\n */\r\nexport const pageScrollTo: typeof Taro.pageScrollTo = ({ scrollTop, selector = '', offsetTop = 0, duration = 300, success, fail, complete }) => {\r\n let scrollFunc\r\n const handle = new MethodHandler({ name: 'pageScrollTo', success, fail, complete })\r\n return new Promise((resolve, reject) => {\r\n try {\r\n if (scrollTop === undefined && !selector) {\r\n return handle.fail({\r\n errMsg: 'scrollTop\" 或 \"selector\" 需要其之一'\r\n }, { resolve, reject })\r\n }\r\n\r\n const usingWindowScroll = (window as any).__taroAppConfig?.usingWindowScroll\r\n const id = Current.page?.path?.replace(/([^a-z0-9\\u00a0-\\uffff_-])/ig, '\\\\$1')\r\n const el: HTMLDivElement | null = (id\r\n ? document.querySelector(`.taro_page#${id}`)\r\n : document.querySelector('.taro_page') ||\r\n document.querySelector('.taro_router')) as HTMLDivElement\r\n\r\n if (!scrollFunc) {\r\n if (usingWindowScroll) {\r\n scrollFunc = pos => {\r\n if (pos === undefined) {\r\n return window.pageYOffset\r\n } else {\r\n window.scrollTo(0, pos)\r\n }\r\n }\r\n } else {\r\n scrollFunc = pos => {\r\n if (pos === undefined) {\r\n return el.scrollTop\r\n } else {\r\n el.scrollTop = pos\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (scrollTop && selector) {\r\n console.warn('\"scrollTop\" 或 \"selector\" 建议只设一个值,全部设置会忽略selector')\r\n }\r\n const from = scrollFunc()\r\n let to: number\r\n if (selector) {\r\n const el = document.querySelector(selector) as HTMLElement\r\n to = (el?.offsetTop || 0) + offsetTop\r\n } else {\r\n to = typeof scrollTop === 'number' ? scrollTop : 0\r\n }\r\n const delta = to - from\r\n\r\n const frameCnt = duration / FRAME_DURATION\r\n const easeFunc = getTimingFunc(easeInOut, frameCnt)\r\n\r\n const scroll = (frame = 0) => {\r\n const dest = from + delta * easeFunc(frame)\r\n scrollFunc(dest)\r\n if (frame < frameCnt) {\r\n timer && clearTimeout(timer)\r\n timer = setTimeout(() => {\r\n scroll(frame + 1)\r\n }, FRAME_DURATION)\r\n } else {\r\n return handle.success({}, { resolve, reject })\r\n }\r\n }\r\n scroll()\r\n } catch (e) {\r\n return handle.fail({\r\n errMsg: e.message\r\n }, { resolve, reject })\r\n }\r\n })\r\n}\r\n","import { temporarilyNotSupport } from '../../utils'\n\n// 置顶\nexport const setTopBarText = /* @__PURE__ */ temporarilyNotSupport('setTopBarText')\n","import Taro, { AppConfig } from '@tarojs/api'\n\nimport { getParameterError, isValidColor, shouldBeObject } from '../../utils'\nimport { MethodHandler } from '../../utils/handler'\n\nlet tabConf\n\nexport function initTabBarApis (config: AppConfig = {}) {\n tabConf = config.tabBar\n}\n\n/**\n * 显示 tabBar 某一项的右上角的红点\n */\nexport const showTabBarRedDot: typeof Taro.showTabBarRedDot = (options) => {\n // options must be an Object\n const isObject = shouldBeObject(options)\n if (!isObject.flag) {\n const res = { errMsg: `showTabBarRedDot:fail ${isObject.msg}` }\n console.error(res.errMsg)\n return Promise.reject(res)\n }\n\n const {\n index,\n success,\n fail,\n complete\n } = options\n const handle = new MethodHandler({ name: 'showTabBarRedDot', success, fail, complete })\n\n if (typeof index !== 'number') {\n return handle.fail({\n errMsg: getParameterError({\n para: 'index',\n correct: 'Number',\n wrong: index\n })\n })\n }\n\n return new Promise((resolve, reject) => {\n Taro.eventCenter.trigger('__taroShowTabBarRedDotHandler', {\n index,\n successHandler: (res = {}) => handle.success(res, { resolve, reject }),\n errorHandler: (res = {}) => handle.fail(res, { resolve, reject })\n })\n })\n}\n\n/**\n * 显示 tabBar\n */\nexport const showTabBar: typeof Taro.showTabBar = (options = {}) => {\n // options must be an Object\n const isObject = shouldBeObject(options)\n if (!isObject.flag) {\n const res = { errMsg: `showTabBar:fail ${isObject.msg}` }\n console.error(res.errMsg)\n return Promise.reject(res)\n }\n\n const { animation, success, fail, complete } = options\n const handle = new MethodHandler({ name: 'showTabBar', success, fail, complete })\n\n if (options.hasOwnProperty('animation') && typeof animation !== 'boolean') {\n return handle.fail({\n errMsg: getParameterError({\n para: 'animation',\n correct: 'Boolean',\n wrong: animation\n })\n })\n }\n\n return new Promise((resolve, reject) => {\n Taro.eventCenter.trigger('__taroShowTabBar', {\n animation,\n successHandler: (res = {}) => handle.success(res, { resolve, reject }),\n errorHandler: (res = {}) => handle.fail(res, { resolve, reject })\n })\n })\n}\n\n/**\n * 动态设置 tabBar 的整体样式\n */\nexport const setTabBarStyle: typeof Taro.setTabBarStyle = (options = {}) => {\n // options must be an Object\n const isObject = shouldBeObject(options)\n if (!isObject.flag) {\n const res = { errMsg: `setTabBarStyle:fail ${isObject.msg}` }\n console.error(res.errMsg)\n return Promise.reject(res)\n }\n\n const { color, selectedColor, backgroundColor, borderStyle, success, fail, complete } = options\n const handle = new MethodHandler({ name: 'setTabBarStyle', success, fail, complete })\n\n let errMsg\n if (color && !isValidColor(color)) {\n errMsg = 'color'\n } else if (selectedColor && !isValidColor(selectedColor)) {\n errMsg = 'selectedColor'\n } else if (backgroundColor && !isValidColor(backgroundColor)) {\n errMsg = 'backgroundColor'\n } else if (borderStyle && !/^(black|white)$/.test(borderStyle)) {\n errMsg = 'borderStyle'\n }\n\n if (errMsg) {\n return handle.fail({ errMsg: `invalid ${errMsg}` })\n }\n\n if (!tabConf) {\n return handle.fail()\n }\n\n const obj: Taro.setTabBarStyle.Option = {}\n if (color) obj.color = color\n if (selectedColor) obj.selectedColor = selectedColor\n if (backgroundColor) obj.backgroundColor = backgroundColor\n if (borderStyle) obj.borderStyle = borderStyle\n\n return new Promise((resolve, reject) => {\n Taro.eventCenter.trigger('__taroSetTabBarStyle', {\n color,\n selectedColor,\n backgroundColor,\n borderStyle,\n successHandler: (res = {}) => handle.success(res, { resolve, reject }),\n errorHandler: (res = {}) => handle.fail(res, { resolve, reject })\n })\n })\n}\n\n/**\n * 动态设置 tabBar 某一项的内容\n */\nexport const setTabBarItem: typeof Taro.setTabBarItem = (options) => {\n // options must be an Object\n const isObject = shouldBeObject(options)\n if (!isObject.flag) {\n const res = { errMsg: `setTabBarItem:fail ${isObject.msg}` }\n console.error(res.errMsg)\n return Promise.reject(res)\n }\n\n const {\n index,\n text,\n iconPath,\n selectedIconPath,\n success,\n fail,\n complete\n } = options\n const handle = new MethodHandler({ name: 'setTabBarItem', success, fail, complete })\n\n if (typeof index !== 'number') {\n return handle.fail({\n errMsg: getParameterError({\n para: 'index',\n correct: 'Number',\n wrong: index\n })\n })\n }\n\n return new Promise((resolve, reject) => {\n Taro.eventCenter.trigger('__taroSetTabBarItem', {\n index,\n text,\n iconPath,\n selectedIconPath,\n successHandler: (res = {}) => handle.success(res, { resolve, reject }),\n errorHandler: (res = {}) => handle.fail(res, { resolve, reject })\n })\n })\n}\n\n/**\n * 为 tabBar 某一项的右上角添加文本\n */\nexport const setTabBarBadge: typeof Taro.setTabBarBadge = (options) => {\n // options must be an Object\n const isObject = shouldBeObject(options)\n if (!isObject.flag) {\n const res = { errMsg: `setTabBarBadge:fail ${isObject.msg}` }\n console.error(res.errMsg)\n return Promise.reject(res)\n }\n\n const { index, text, success, fail, complete } = options\n const handle = new MethodHandler({ name: 'setTabBarBadge', success, fail, complete })\n\n if (typeof index !== 'number') {\n return handle.fail({\n errMsg: getParameterError({\n para: 'index',\n correct: 'Number',\n wrong: index\n })\n })\n }\n\n if (typeof text !== 'string') {\n return handle.fail({\n errMsg: getParameterError({\n para: 'text',\n correct: 'String',\n wrong: text\n })\n })\n }\n\n return new Promise((resolve, reject) => {\n Taro.eventCenter.trigger('__taroSetTabBarBadge', {\n index,\n text: text.replace(/[\\u0391-\\uFFE5]/g, 'aa').length > 4 ? '...' : text,\n successHandler: (res = {}) => handle.success(res, { resolve, reject }),\n errorHandler: (res = {}) => handle.fail(res, { resolve, reject })\n })\n })\n}\n\n/**\n * 移除 tabBar 某一项右上角的文本\n */\nexport const removeTabBarBadge: typeof Taro.removeTabBarBadge = (options) => {\n // options must be an Object\n const isObject = shouldBeObject(options)\n if (!isObject.flag) {\n const res = { errMsg: `removeTabBarBadge:fail ${isObject.msg}` }\n console.error(res.errMsg)\n return Promise.reject(res)\n }\n\n const { index, success, fail, complete } = options\n const handle = new MethodHandler({ name: 'removeTabBarBadge', success, fail, complete })\n\n if (typeof index !== 'number') {\n return handle.fail({\n errMsg: getParameterError({\n para: 'index',\n correct: 'Number',\n wrong: index\n })\n })\n }\n\n return new Promise((resolve, reject) => {\n Taro.eventCenter.trigger('__taroRemoveTabBarBadge', {\n index,\n successHandler: (res = {}) => handle.success(res, { resolve, reject }),\n errorHandler: (res = {}) => handle.fail(res, { resolve, reject })\n })\n })\n}\n\n/**\n * 隐藏 tabBar 某一项的右上角的红点\n */\nexport const hideTabBarRedDot: typeof Taro.hideTabBarRedDot = (options) => {\n // options must be an Object\n const isObject = shouldBeObject(options)\n if (!isObject.flag) {\n const res = { errMsg: `hideTabBarRedDot:fail ${isObject.msg}` }\n console.error(res.errMsg)\n return Promise.reject(res)\n }\n\n const { index, success, fail, complete } = options\n const handle = new MethodHandler({ name: 'hideTabBarRedDot', success, fail, complete })\n\n if (typeof index !== 'number') {\n return handle.fail({\n errMsg: getParameterError({\n para: 'index',\n correct: 'Number',\n wrong: index\n })\n })\n }\n\n return new Promise((resolve, reject) => {\n Taro.eventCenter.trigger('__taroHideTabBarRedDotHandler', {\n index,\n successHandler: (res = {}) => handle.success(res, { resolve, reject }),\n errorHandler: (res = {}) => handle.fail(res, { resolve, reject })\n })\n })\n}\n\n/**\n * 隐藏 tabBar\n */\nexport const hideTabBar: typeof Taro.hideTabBar = (options = {}) => {\n // options must be an Object\n const isObject = shouldBeObject(options)\n if (!isObject.flag) {\n const res = { errMsg: `hideTabBar:fail ${isObject.msg}` }\n console.error(res.errMsg)\n return Promise.reject(res)\n }\n\n const { animation, success, fail, complete } = options\n const handle = new MethodHandler({ name: 'hideTabBar', success, fail, complete })\n\n if (options.hasOwnProperty('animation') && typeof animation !== 'boolean') {\n return handle.fail({\n errMsg: getParameterError({\n para: 'animation',\n correct: 'Boolean',\n wrong: animation\n })\n })\n }\n\n return new Promise((resolve, reject) => {\n Taro.eventCenter.trigger('__taroHideTabBar', {\n animation,\n successHandler: (res = {}) => handle.success(res, { resolve, reject }),\n errorHandler: (res = {}) => handle.fail(res, { resolve, reject })\n })\n })\n}\n","import Taro from '@tarojs/api'\r\n\r\nimport { temporarilyNotSupport } from '../../utils'\r\nimport { CallbackManager } from '../../utils/handler'\r\n\r\nconst callbackManager = new CallbackManager()\r\n\r\nconst resizeListener = () => {\r\n callbackManager.trigger({\r\n windowWidth: window.screen.width,\r\n windowHeight: window.screen.height\r\n })\r\n}\r\n\r\n/**\r\n * 设置窗口大小,该接口仅适用于 PC 平台,使用细则请参见指南\r\n */\r\nexport const setWindowSize = /* @__PURE__ */ temporarilyNotSupport('setWindowSize')\r\n\r\n/**\r\n * 监听窗口尺寸变化事件\r\n */\r\nexport const onWindowResize: typeof Taro.onWindowResize = callback => {\r\n callbackManager.add(callback)\r\n if (callbackManager.count() === 1) {\r\n window.addEventListener('resize', resizeListener)\r\n }\r\n}\r\n\r\n/**\r\n * 取消监听窗口尺寸变化事件\r\n */\r\nexport const offWindowResize: typeof Taro.offWindowResize = callback => {\r\n callbackManager.remove(callback)\r\n if (callbackManager.count() === 0) {\r\n window.removeEventListener('resize', resizeListener)\r\n }\r\n}\r\n\r\nexport const checkIsPictureInPictureActive = /* @__PURE__ */ temporarilyNotSupport('checkIsPictureInPictureActive')\r\n","import Taro from '@tarojs/api'\nimport { isMobile } from 'is-mobile'\n\nimport { showActionSheet } from '../../../api/ui'\nimport { getParameterError, shouldBeObject } from '../../../utils'\nimport { MethodHandler } from '../../../utils/handler'\n\n/**\n * 拍摄或从手机相册中选择图片或视频。\n */\nexport const chooseMedia = async function (\n options: Taro.chooseMedia.Option,\n methodName = 'chooseMedia',\n): Promise<Taro.chooseMedia.SuccessCallbackResult> {\n // options must be an Object\n const isObject = shouldBeObject(options)\n if (!isObject.flag) {\n const res = { errMsg: `${methodName}:fail ${isObject.msg}` }\n console.error(res.errMsg)\n return Promise.reject(res)\n }\n\n const {\n count = 9,\n mediaId = 'taroChooseMedia',\n mediaType = ['image', 'video'],\n sourceType = ['album', 'camera'],\n // sizeType = ['original', 'compressed'], // TODO 考虑通过 ffmpeg 支持压缩\n // maxDuration = 10, // TODO 考虑通过 ffmpeg 剪裁视频\n camera = 'back',\n success,\n fail,\n complete,\n } = options\n const handle = new MethodHandler({ name: methodName, success, fail, complete })\n const withImage = mediaType.length < 1 || mediaType.indexOf('image') > -1\n const withVideo = mediaType.length < 1 || mediaType.indexOf('video') > -1\n const res: Partial<Taro.chooseMedia.SuccessCallbackResult> = {\n tempFiles: [],\n type: withImage && withVideo ? 'mix' : withImage ? 'image' : 'video',\n }\n\n if (count && typeof count !== 'number') {\n res.errMsg = getParameterError({\n para: 'count',\n correct: 'Number',\n wrong: count\n })\n return handle.fail(res)\n }\n\n let el = document.getElementById(mediaId)\n if (!el) {\n el = document.createElement('input')\n el.setAttribute('type', 'file')\n el.setAttribute('id', mediaId)\n el.setAttribute('style', 'position: fixed; top: -4000px; left: -3000px; z-index: -300;')\n }\n\n if (count > 1) {\n el.setAttribute('multiple', 'multiple')\n } else {\n el.removeAttribute('multiple')\n }\n\n // Note: Input 仅在移动端支持 capture 属性,可以使用 getUserMedia 替代(暂不考虑)\n if (isMobile()) {\n if (sourceType.length > 1 || sourceType.length < 1) {\n try {\n const { tapIndex } = await showActionSheet({\n itemList: ['拍摄', '从相册选择'],\n }, methodName)\n sourceType.splice(0, sourceType.length, tapIndex === 0 ? 'camera' : 'album')\n } catch (e) {\n return handle.fail({\n errMsg: e.errMsg?.replace('^.*:fail ', '')\n })\n }\n }\n }\n if (sourceType.includes('camera')) {\n el.setAttribute('capture', camera === 'front' ? 'user' : 'environment')\n } else {\n el.removeAttribute('capture')\n }\n\n if (res.type === 'image') {\n el.setAttribute('accept', 'image/*')\n } else if (res.type === 'video') {\n el.setAttribute('accept', 'video/*')\n } else {\n el.setAttribute('accept', 'image/*, video/*')\n }\n return new Promise<Taro.chooseMedia.SuccessCallbackResult>((resolve, reject) => {\n if (!el) return\n document.body.appendChild(el)\n el.onchange = async function (e) {\n const target = e.target as HTMLInputElement\n if (target) {\n const files = target.files || []\n const arr = [...files]\n await Promise.all(\n arr.map(async item => {\n try {\n res.tempFiles?.push(await loadMedia(item))\n } catch (error) {\n console.error(error)\n }\n })\n )\n }\n handle.success(res, { resolve, reject })\n target.value = ''\n }\n el.onabort = () => handle.fail({ errMsg: 'abort' }, { resolve, reject })\n el.oncancel = () => handle.fail({ errMsg: 'cancel' }, { resolve, reject })\n el.onerror = e => handle.fail({ errMsg: e.toString() }, { resolve, reject })\n el.click()\n }).finally(() => {\n if (!el) return\n document.body.removeChild(el)\n })\n\n function loadMedia (file: File): Promise<Taro.chooseMedia.ChooseMedia> {\n const dataUrl = URL.createObjectURL(file)\n const res = {\n tempFilePath: dataUrl,\n size: file.size,\n duration: 0,\n height: 0,\n width: 0,\n thumbTempFilePath: '',\n fileType: file.type,\n originalFileObj: file\n }\n\n if (/^video\\//.test(res.fileType)) {\n // Video\n const video = document.createElement('video')\n const reader = new FileReader()\n video.crossOrigin = 'Anonymous'\n video.preload = 'metadata'\n video.src = res.tempFilePath\n\n return new Promise((resolve, reject) => {\n // 对齐旧版本实现\n reader.onload = (event) => {\n res.tempFilePath = event.target?.result as string\n }\n reader.onerror = e => reject(e)\n reader.readAsDataURL(res.originalFileObj)\n\n video.onloadedmetadata = () => {\n res.duration = video.duration\n res.height = video.videoHeight\n res.width = video.videoWidth\n }\n video.oncanplay = () => {\n res.thumbTempFilePath = getThumbTempFilePath(video, res.height, res.width, 0.8)\n resolve(res)\n }\n video.onerror = e => reject(e)\n })\n } else {\n // Image\n const img = new Image()\n /** 允许图片和 canvas 跨源使用\n * https://developer.mozilla.org/zh-CN/docs/Web/HTML/CORS_enabled_image\n */\n img.crossOrigin = 'Anonymous'\n img.src = res.tempFilePath\n\n return new Promise((resolve, reject) => {\n if (img.complete) {\n res.height = img.height\n res.width = img.width\n res.thumbTempFilePath = getThumbTempFilePath(img, res.height, res.width, 0.8)\n resolve(res)\n } else {\n img.onload = () => {\n res.height = img.height\n res.width = img.width\n res.thumbTempFilePath = getThumbTempFilePath(img, res.height, res.width, 0.8)\n resolve(res)\n }\n img.onerror = e => reject(e)\n }\n })\n }\n }\n\n function getThumbTempFilePath (el: CanvasImageSource, height = 0, width = height, quality = 0.8) {\n const max = 256\n const canvas = document.createElement('canvas')\n if (height > max || width > max) {\n const radio = height / width\n if (radio > 1) {\n height = max\n width = height / radio\n } else {\n width = max\n height = width * radio\n }\n }\n canvas.height = height\n canvas.width = width\n\n const ctx = canvas.getContext('2d')\n ctx?.drawImage(el, 0, 0, canvas.width, canvas.height)\n return canvas.toDataURL('image/jpeg', quality)\n }\n}\n","import Taro from '@tarojs/api'\n\nimport { shouldBeObject } from '../../../utils'\nimport { chooseMedia } from '../video/chooseMedia'\n\n/**\n * 从本地相册选择图片或使用相机拍照。\n * @deprecated 请使用 chooseMedia 接口\n */\nexport const chooseImage: typeof Taro.chooseImage = function (options) {\n // options must be an Object\n const isObject = shouldBeObject(options)\n if (!isObject.flag) {\n const res = { errMsg: `chooseImage:fail ${isObject.msg}` }\n console.error(res.errMsg)\n return Promise.reject(res)\n }\n\n let camera = 'back'\n const {\n sourceType = ['album', 'camera'],\n success,\n complete,\n fail,\n ...args\n } = options\n if (sourceType.includes('camera') && sourceType.indexOf('user') > -1) {\n camera = 'front'\n }\n\n function parseRes (res: Taro.chooseMedia.SuccessCallbackResult): Taro.chooseImage.SuccessCallbackResult {\n const { tempFiles = [], errMsg } = res\n return {\n tempFilePaths: tempFiles.map(item => item.tempFilePath),\n tempFiles: tempFiles.map(item => ({\n path: item.tempFilePath,\n size: item.size,\n type: item.fileType,\n originalFileObj: item.originalFileObj,\n })),\n errMsg,\n }\n }\n\n return chooseMedia({\n mediaId: 'taroChooseImage',\n ...args,\n sourceType: sourceType as Taro.chooseMedia.Option['sourceType'],\n mediaType: ['image'],\n camera,\n success: (res) => {\n const param = parseRes(res)\n success?.(param)\n complete?.(param)\n },\n fail: (err) => {\n fail?.(err)\n complete?.(err)\n },\n }, 'chooseImage').then(parseRes)\n}\n","import Taro from '@tarojs/api'\r\n\r\nimport { permanentlyNotSupport, temporarilyNotSupport } from '../../../utils'\r\n\r\n// 图片\r\nexport * from './saveImageToPhotosAlbum'\r\nexport const previewMedia: typeof Taro.previewMedia = /* @__PURE__ */ temporarilyNotSupport('previewMedia')\r\n\r\nexport * from './getImageInfo'\r\nexport * from './previewImage'\r\n\r\nexport const compressImage = /* @__PURE__ */ temporarilyNotSupport('compressImage')\r\nexport const chooseMessageFile = /* @__PURE__ */ permanentlyNotSupport('chooseMessageFile')\r\n\r\nexport * from './chooseImage'\r\n\r\nexport const editImage = /* @__PURE__ */ temporarilyNotSupport('editImage')\r\nexport const cropImage = /* @__PURE__ */ temporarilyNotSupport('cropImage')\r\n","import { temporarilyNotSupport } from '../../utils'\n\n// 实时音视频\nexport const createLivePusherContext = /* @__PURE__ */ temporarilyNotSupport('createLivePusherContext')\nexport const createLivePlayerContext = /* @__PURE__ */ temporarilyNotSupport('createLivePlayerContext')\n","import { temporarilyNotSupport } from '../../utils'\n\n// 地图\nexport const createMapContext = /* @__PURE__ */ temporarilyNotSupport('createMapContext')\n","import { temporarilyNotSupport } from '../../utils'\n\n// 画面录制器\nexport const createMediaRecorder = /* @__PURE__ */ temporarilyNotSupport('createMediaRecorder')\n","import { temporarilyNotSupport } from '../../utils'\n\n// 录音\nexport const stopRecord = /* @__PURE__ */ temporarilyNotSupport('stopRecord')\nexport const startRecord = /* @__PURE__ */ temporarilyNotSupport('startRecord')\nexport const getRecorderManager = /* @__PURE__ */ temporarilyNotSupport('getRecorderManager')\n","import Taro from '@tarojs/api'\n\nimport { createDownload, getParameterError, shouldBeObject } from '../../../utils'\nimport { MethodHandler } from '../../../utils/handler'\n\nexport const saveVideoToPhotosAlbum: typeof Taro.saveVideoToPhotosAlbum = (options) => {\n const methodName = 'saveVideoToPhotosAlbum'\n // options must be an Object\n const isObject = shouldBeObject(options)\n if (!isObject.flag) {\n const res = { errMsg: `${methodName}:fail ${isObject.msg}` }\n console.error(res.errMsg)\n return Promise.reject(res)\n }\n\n const {\n filePath,\n success,\n fail,\n complete,\n } = options\n const handle = new MethodHandler({ name: methodName, success, fail, complete })\n if (typeof filePath !== 'string') {\n return handle.fail({\n errMsg: getParameterError({\n para: 'filePath',\n correct: 'String',\n wrong: filePath\n })\n })\n }\n\n createDownload(filePath)\n return handle.success()\n}\n","import 'whatwg-fetch'\n\nimport Taro from '@tarojs/api'\n\nimport { getParameterError, shouldBeObject } from '../../../utils'\nimport { MethodHandler } from '../../../utils/handler'\n\nexport const getVideoInfo: typeof Taro.getVideoInfo = async function (options) {\n // options must be an Object\n const isObject = shouldBeObject(options)\n if (!isObject.flag) {\n const res = { errMsg: `getVideoInfo:fail ${isObject.msg}` }\n console.error(res.errMsg)\n return Promise.reject(res)\n }\n const res: Partial<Taro.getVideoInfo.SuccessCallbackResult> = {\n orientation: 'up',\n type: '',\n duration: 0,\n size: 0,\n height: 0,\n width: 0,\n fps: 30,\n bitrate: 0,\n }\n const {\n src,\n success,\n fail,\n complete,\n } = options\n const handle = new MethodHandler({ name: 'getVideoInfo', success, fail, complete })\n\n if (typeof src !== 'string') {\n res.errMsg = getParameterError({\n para: 'src',\n correct: 'String',\n wrong: src\n })\n return handle.fail(res)\n }\n\n const video = document.createElement('video')\n video.crossOrigin = 'Anonymous'\n video.preload = 'metadata'\n video.src = src\n\n return new Promise((resolve, reject) => {\n video.onloadedmetadata = () => {\n res.duration = video.duration\n res.height = video.videoHeight\n res.width = video.videoWidth\n\n fetch(src)\n .then(async e => {\n const blob = await e.blob()\n res.type = blob.type\n res.size = blob.size\n res.bitrate = blob.size / video.duration\n\n handle.success(res, { resolve, reject })\n })\n .catch(e => {\n handle.fail({\n errMsg: e.toString()\n }, { resolve, reject })\n })\n }\n })\n}\n","import Taro from '@tarojs/api'\n\nimport { shouldBeObject } from '../../../utils'\nimport { chooseMedia } from './chooseMedia'\n\n/**\n * 拍摄视频或从手机相册中选视频。\n * @deprecated 请使用 chooseMedia 接口\n */\nexport const chooseVideo: typeof Taro.chooseVideo = (options) => {\n // options must be an Object\n const isObject = shouldBeObject(options)\n if (!isObject.flag) {\n const res = { errMsg: `chooseVideo:fail ${isObject.msg}` }\n console.error(res.errMsg)\n return Promise.reject(res)\n }\n\n const {\n sourceType = ['album', 'camera'],\n // TODO 考虑通过 ffmpeg 支持压缩\n // compressed = true,\n maxDuration = 60,\n camera = 'back',\n success,\n fail,\n complete,\n } = options\n\n function parseRes (res: Taro.chooseMedia.SuccessCallbackResult): Taro.chooseVideo.SuccessCallbackResult {\n const { tempFiles = [], errMsg } = res\n const [video] = tempFiles\n return { ...video, errMsg }\n }\n\n return chooseMedia({\n mediaId: 'taroChooseVideo',\n sourceType,\n mediaType: ['video'],\n maxDuration,\n camera,\n success: (res) => {\n const param = parseRes(res)\n success?.(param)\n complete?.(param)\n },\n fail: (err) => {\n fail?.(err)\n complete?.(err)\n },\n }, 'chooseVideo').then(parseRes)\n}\n","import Taro from '@tarojs/api'\n\nimport { findDOM, temporarilyNotSupport } from '../../../utils'\n\n// 视频\nexport * from './saveVideoToPhotosAlbum'\n\nexport const openVideoEditor = /* @__PURE__ */ temporarilyNotSupport('openVideoEditor')\n\nexport * from './getVideoInfo'\n\n/**\n * 创建 video 上下文 VideoContext 对象。\n */\nexport const createVideoContext: typeof Taro.createVideoContext = (id, inst) => {\n const el = findDOM(inst) as HTMLVideoElement\n // TODO HTMLVideoElement to VideoContext\n return el?.querySelector(`taro-video-core[id=${id}]`) as unknown as Taro.VideoContext\n}\n\nexport const compressVideo = /* @__PURE__ */ temporarilyNotSupport('compressVideo')\n\nexport * from './chooseMedia'\nexport * from './chooseVideo'\n","import { temporarilyNotSupport } from '../../utils'\n\n// 视频解码器\nexport const createVideoDecoder = /* @__PURE__ */ temporarilyNotSupport('createVideoDecoder')\n","import { temporarilyNotSupport } from '../../utils'\n\n// 音视频合成\nexport const createMediaContainer = /* @__PURE__ */ temporarilyNotSupport('createMediaContainer')\n","import { temporarilyNotSupport } from '../../utils'\n\n// 实时语音\nexport const updateVoIPChatMuteConfig = /* @__PURE__ */ temporarilyNotSupport('updateVoIPChatMuteConfig')\nexport const subscribeVoIPVideoMembers = /* @__PURE__ */ temporarilyNotSupport('subscribeVoIPVideoMembers')\nexport const setEnable1v1Chat = /* @__PURE__ */ temporarilyNotSupport('setEnable1v1Chat')\nexport const onVoIPVideoMembersChanged = /* @__PURE__ */ temporarilyNotSupport('onVoIPVideoMembersChanged')\nexport const onVoIPChatStateChanged = /* @__PURE__ */ temporarilyNotSupport('onVoIPChatStateChanged')\nexport const onVoIPChatSpeakersChanged = /* @__PURE__ */ temporarilyNotSupport('onVoIPChatSpeakersChanged')\nexport const onVoIPChatMembersChanged = /* @__PURE__ */ temporarilyNotSupport('onVoIPChatMembersChanged')\nexport const onVoIPChatInterrupted = /* @__PURE__ */ temporarilyNotSupport('onVoIPChatInterrupted')\nexport const offVoIPChatSpeakersChanged = /* @__PURE__ */ temporarilyNotSupport('offVoIPChatSpeakersChanged')\nexport const offVoIPVideoMembersChanged = /* @__PURE__ */ temporarilyNotSupport('offVoIPVideoMembersChanged')\nexport const offVoIPChatStateChanged = /* @__PURE__ */ temporarilyNotSupport('offVoIPChatStateChanged')\nexport const offVoIPChatMembersChanged = /* @__PURE__ */ temporarilyNotSupport('offVoIPChatMembersChanged')\nexport const offVoIPChatInterrupted = /* @__PURE__ */ temporarilyNotSupport('offVoIPChatInterrupted')\nexport const joinVoIPChat = /* @__PURE__ */ temporarilyNotSupport('joinVoIPChat')\nexport const join1v1Chat = /* @__PURE__ */ temporarilyNotSupport('join1v1Chat')\nexport const exitVoIPChat = /* @__PURE__ */ temporarilyNotSupport('exitVoIPChat')\n","import { temporarilyNotSupport } from '../../utils'\n\n// 跳转\nexport const openEmbeddedMiniProgram = /* @__PURE__ */ temporarilyNotSupport('openEmbeddedMiniProgram')\nexport const navigateToMiniProgram = /* @__PURE__ */ temporarilyNotSupport('navigateToMiniProgram')\nexport const navigateBackMiniProgram = /* @__PURE__ */ temporarilyNotSupport('navigateBackMiniProgram')\nexport const exitMiniProgram = /* @__PURE__ */ temporarilyNotSupport('exitMiniProgram')\nexport const openBusinessView = /* @__PURE__ */ temporarilyNotSupport('openBusinessView')\n","/**\r\n * HTTP Response Header 事件回调函数的参数\r\n * @typedef {Object} HeadersReceivedParam\r\n * @property {Object} header 开发者服务器返回的 HTTP Response Header\r\n */\r\n\r\n/**\r\n * HTTP Response Header 事件的回调函数\r\n * @callback HeadersReceivedCallback\r\n * @param {HeadersReceivedParam} res 参数\r\n */\r\n\r\n/**\r\n * 进度变化回调函数的参数\r\n * @typedef {Object} ProgressUpdateParam\r\n * @property {number} progress 进度百分比\r\n * @property {number} [totalBytesWritten] 已经下载的数据长度,单位 Bytes\r\n * @property {number} [totalBytesSent] 已经上传的数据长度,单位 Bytes\r\n * @property {number} [totalBytesExpectedToWrite] 预期需要下载的数据总长度,单位 Bytes\r\n * @property {number} [totalBytesExpectedToSend] 预期需要上传的数据总长度,单位 Bytes\r\n */\r\n\r\n/**\r\n * 进度变化事件的回调函数\r\n * @callback ProgressUpdateCallback\r\n * @param {ProgressUpdateParam} res 参数\r\n */\r\n\r\nexport const NETWORK_TIMEOUT = 60000\r\n\r\nexport const XHR_STATS = {\r\n UNSENT: 0, // Client has been created. open() not called yet.\r\n OPENED: 1, // open() has been called.\r\n HEADERS_RECEIVED: 2, // send() has been called, and headers and status are available.\r\n LOADING: 3, // Downloading; responseText holds partial data.\r\n DONE: 4 // The operation is complete.\r\n}\r\n\r\n/**\r\n * 设置xhr的header\r\n * @param {XMLHttpRequest} xhr\r\n * @param {Object} header\r\n */\r\nexport const setHeader = (xhr, header) => {\r\n let headerKey\r\n for (headerKey in header) {\r\n xhr.setRequestHeader(headerKey, header[headerKey])\r\n }\r\n}\r\n\r\n/**\r\n * 将 blob url 转化为文件\r\n * @param {string} url 要转换的 blob url\r\n * @returns {Promise<File>}\r\n */\r\nexport const convertObjectUrlToBlob = url => {\r\n return new Promise((resolve, reject) => {\r\n const xhr = new XMLHttpRequest()\r\n xhr.open('GET', url, true)\r\n xhr.responseType = 'blob'\r\n xhr.withCredentials = true\r\n xhr.onload = function () {\r\n if (this.status === 200) {\r\n resolve(this.response)\r\n } else {\r\n /* eslint-disable prefer-promise-reject-errors */\r\n reject({ status: this.status })\r\n }\r\n }\r\n xhr.send()\r\n })\r\n}\r\n","import Taro from '@tarojs/api'\r\n\r\nimport { CallbackManager } from '../../utils/handler'\r\nimport { NETWORK_TIMEOUT, setHeader, XHR_STATS } from './utils'\r\n\r\nconst createDownloadTask = ({ url, header, withCredentials = true, timeout, success, error }): Taro.DownloadTask => {\r\n let timeoutInter: ReturnType<typeof setTimeout>\r\n const apiName = 'downloadFile'\r\n const xhr = new XMLHttpRequest()\r\n const callbackManager = {\r\n headersReceived: new CallbackManager(),\r\n progressUpdate: new CallbackManager()\r\n }\r\n\r\n xhr.open('GET', url, true)\r\n xhr.withCredentials = !!withCredentials\r\n xhr.responseType = 'blob'\r\n setHeader(xhr, header)\r\n\r\n xhr.onprogress = e => {\r\n const { loaded, total } = e\r\n callbackManager.progressUpdate.trigger({\r\n progress: Math.round(loaded / total * 100),\r\n totalBytesWritten: loaded,\r\n totalBytesExpectedToWrite: total\r\n })\r\n }\r\n\r\n xhr.onreadystatechange = () => {\r\n if (xhr.readyState !== XHR_STATS.HEADERS_RECEIVED) return\r\n callbackManager.headersReceived.trigger({\r\n header: xhr.getAllResponseHeaders()\r\n })\r\n }\r\n\r\n xhr.onload = () => {\r\n const response = xhr.response\r\n const status = xhr.status\r\n success({\r\n errMsg: `${apiName}:ok`,\r\n statusCode: status,\r\n tempFilePath: window.URL.createObjectURL(response)\r\n })\r\n }\r\n\r\n xhr.onabort = () => {\r\n clearTimeout(timeoutInter)\r\n error({\r\n errMsg: `${apiName}:fail abort`\r\n })\r\n }\r\n\r\n xhr.onerror = (e: ProgressEvent<EventTarget> & { message?: string }) => {\r\n error({\r\n errMsg: `${apiName}:fail ${e.message}`\r\n })\r\n }\r\n\r\n /**\r\n * 中断任务\r\n */\r\n const abort = () => {\r\n xhr.abort()\r\n }\r\n\r\n const send = () => {\r\n xhr.send()\r\n timeoutInter = setTimeout(() => {\r\n xhr.onabort = null\r\n xhr.onload = null\r\n xhr.onprogress = null\r\n xhr.onreadystatechange = null\r\n xhr.onerror = null\r\n abort()\r\n error({\r\n errMsg: `${apiName}:fail timeout`\r\n })\r\n }, timeout || NETWORK_TIMEOUT)\r\n }\r\n\r\n send()\r\n\r\n /**\r\n * 监听 HTTP Response Header 事件。会比请求完成事件更早\r\n * @param {HeadersReceivedCallback} callback HTTP Response Header 事件的回调函数\r\n */\r\n const onHeadersReceived = callbackManager.headersReceived.add\r\n /**\r\n * 取消监听 HTTP Response Header 事件\r\n * @param {HeadersReceivedCallback} callback HTTP Response Header 事件的回调函数\r\n */\r\n const offHeadersReceived = callbackManager.headersReceived.remove\r\n\r\n /**\r\n * 监听进度变化事件\r\n * @param {ProgressUpdateCallback} callback HTTP Response Header 事件的回调函数\r\n */\r\n const onProgressUpdate = callbackManager.progressUpdate.add\r\n /**\r\n * 取消监听进度变化事件\r\n * @param {ProgressUpdateCallback} callback HTTP Response Header 事件的回调函数\r\n */\r\n const offProgressUpdate = callbackManager.progressUpdate.remove\r\n\r\n return {\r\n abort,\r\n onHeadersReceived,\r\n offHeadersReceived,\r\n onProgressUpdate,\r\n offProgressUpdate\r\n }\r\n}\r\n\r\n/**\r\n * 下载文件资源到本地。客户端直接发起一个 HTTPS GET 请求,返回文件的本地临时路径。使用前请注意阅读相关说明。\r\n * 注意:请在服务端响应的 header 中指定合理的 Content-Type 字段,以保证客户端正确处理文件类型。\r\n */\r\nexport const downloadFile: typeof Taro.downloadFile = ({ url, header, withCredentials, timeout, success, fail, complete }) => {\r\n let task!: Taro.DownloadTask\r\n const result: ReturnType<typeof Taro.downloadFile> = new Promise((resolve, reject) => {\r\n task = createDownloadTask({\r\n url,\r\n header,\r\n withCredentials,\r\n timeout,\r\n success: res => {\r\n success && success(res)\r\n complete && complete(res)\r\n resolve(res)\r\n },\r\n error: res => {\r\n fail && fail(res)\r\n complete && complete(res)\r\n reject(res)\r\n }\r\n })\r\n }) as any\r\n\r\n result.headersReceive = task.onHeadersReceived.bind(task)\r\n result.progress = task.onProgressUpdate.bind(task)\r\n\r\n const properties = {}\r\n Object.keys(task).forEach(key => {\r\n properties[key] = {\r\n get () {\r\n return typeof task[key] === 'function' ? task[key].bind(task) : task[key]\r\n }\r\n }\r\n })\r\n return Object.defineProperties(result, properties)\r\n}\r\n","import { temporarilyNotSupport } from '../../utils'\n\n// mDNS\nexport const stopLocalServiceDiscovery = /* @__PURE__ */ temporarilyNotSupport('stopLocalServiceDiscovery')\nexport const startLocalServiceDiscovery = /* @__PURE__ */ temporarilyNotSupport('startLocalServiceDiscovery')\nexport const onLocalServiceResolveFail = /* @__PURE__ */ temporarilyNotSupport('onLocalServiceResolveFail')\nexport const onLocalServiceLost = /* @__PURE__ */ temporarilyNotSupport('onLocalServiceLost')\nexport const onLocalServiceFound = /* @__PURE__ */ temporarilyNotSupport('onLocalServiceFound')\nexport const onLocalServiceDiscoveryStop = /* @__PURE__ */ temporarilyNotSupport('onLocalServiceDiscoveryStop')\nexport const offLocalServiceResolveFail = /* @__PURE__ */ temporarilyNotSupport('offLocalServiceResolveFail')\nexport const offLocalServiceLost = /* @__PURE__ */ temporarilyNotSupport('offLocalServiceLost')\nexport const offLocalServiceFound = /* @__PURE__ */ temporarilyNotSupport('offLocalServiceFound')\nexport const offLocalServiceDiscoveryStop = /* @__PURE__ */ temporarilyNotSupport('offLocalServiceDiscoveryStop')\n","import 'whatwg-fetch'\nimport 'abortcontroller-polyfill/dist/abortcontroller-polyfill-only'\n\nimport Taro from '@tarojs/api'\nimport { isFunction } from '@tarojs/shared'\nimport jsonpRetry from 'jsonp-retry'\n\nimport { serializeParams } from '../../../utils'\nimport { NETWORK_TIMEOUT } from '../utils'\n\ninterface RequestTask<T> extends Promise<T> {\n abort?: (cb?: any) => void\n}\n\n// @ts-ignore\nconst { Link } = Taro\n\nfunction generateRequestUrlWithParams (url = '', params?: unknown) {\n params = typeof params === 'string' ? params : serializeParams(params)\n if (params) {\n url += (~url.indexOf('?') ? '&' : '?') + params\n }\n url = url.replace('?&', '?')\n return url\n}\n\nfunction _request (options: Partial<Taro.request.Option> = {}) {\n const { success, complete, fail } = options\n const params: RequestInit = {}\n const res: any = {}\n let {\n cache = 'default',\n credentials,\n data, dataType,\n header = {},\n jsonp,\n method = 'GET',\n mode,\n responseType,\n signal,\n timeout,\n url = '',\n ...opts\n } = options\n if (typeof timeout !== 'number') {\n timeout = NETWORK_TIMEOUT\n }\n Object.assign(params, opts)\n if (jsonp) {\n // @ts-ignore\n params.params = data\n params.cache = opts.jsonpCache\n // @ts-ignore\n params.timeout = timeout\n if (typeof jsonp === 'string') {\n // @ts-ignore\n params.name = jsonp\n }\n // Note: https://github.com/luckyadam/jsonp-retry\n return jsonpRetry(url, params)\n .then(data => {\n res.statusCode = 200\n res.data = data\n isFunction(success) && success(res)\n isFunction(complete) && complete(res)\n return res\n })\n .catch(err => {\n isFunction(fail) && fail(err)\n isFunction(complete) && complete(res)\n return Promise.reject(err)\n })\n }\n params.method = method\n const methodUpper = params.method.toUpperCase()\n params.cache = cache\n if (methodUpper === 'GET' || methodUpper === 'HEAD') {\n url = generateRequestUrlWithParams(url, data)\n } else if (['[object Array]', '[object Object]'].indexOf(Object.prototype.toString.call(data)) >= 0) {\n const keyOfContentType = Object.keys(header).find(item => item.toLowerCase() === 'content-type')\n if (!keyOfContentType) {\n header['Content-Type'] = 'application/json'\n }\n const contentType = header[keyOfContentType || 'Content-Type']\n\n if (contentType.indexOf('application/json') >= 0) {\n params.body = JSON.stringify(data)\n } else if (contentType.indexOf('application/x-www-form-urlencoded') >= 0) {\n params.body = serializeParams(data)\n } else {\n params.body = data\n }\n } else {\n params.body = data\n }\n if (header) {\n params.headers = header\n }\n if (mode) {\n params.mode = mode\n }\n let timeoutTimer: ReturnType<typeof setTimeout> | null = null\n let controller: AbortController | null = null\n if (signal) {\n params.signal = signal\n } else {\n controller = new window.AbortController()\n params.signal = controller.signal\n timeoutTimer = setTimeout(function () {\n if (controller) controller.abort()\n }, timeout)\n }\n params.credentials = credentials\n const p: RequestTask<any> = fetch(url, params)\n .then(response => {\n if (timeoutTimer) {\n clearTimeout(timeoutTimer)\n timeoutTimer = null\n }\n if (controller) {\n controller = null\n }\n if (!response) {\n const errorResponse = { ok: false }\n throw errorResponse\n }\n res.statusCode = response.status\n res.header = {}\n for (const key of response.headers.keys()) {\n res.header[key] = response.headers.get(key)\n }\n if (responseType === 'arraybuffer') {\n return response.arrayBuffer()\n }\n if (res.statusCode !== 204) {\n if (dataType === 'json' || typeof dataType === 'undefined') {\n return response.json().catch(() => {\n return null\n })\n }\n }\n if (responseType === 'text' || dataType === 'text') {\n return response.text()\n }\n return Promise.resolve(null)\n })\n .then(data => {\n res.data = data\n isFunction(success) && success(res)\n isFunction(complete) && complete(res)\n return res\n })\n .catch(err => {\n if (timeoutTimer) {\n clearTimeout(timeoutTimer)\n timeoutTimer = null\n }\n if (controller) {\n controller = null\n }\n isFunction(fail) && fail(err)\n isFunction(complete) && complete(res)\n err.statusCode = res.statusCode\n err.errMsg = err.message\n return Promise.reject(err)\n })\n if (!p.abort && controller) {\n p.abort = cb => {\n if (controller) {\n cb && cb()\n controller.abort()\n if (timeoutTimer) {\n clearTimeout(timeoutTimer)\n timeoutTimer = null\n }\n }\n }\n }\n return p\n}\n\nfunction taroInterceptor (chain) {\n return _request(chain.requestParams)\n}\n\nconst link = new Link(taroInterceptor)\n\nexport const request = (<T extends Partial<Taro.request.Option> = TaroGeneral.IAnyObject>(...args: [string | T, T]) => {\n const [url = '', options = {} as T] = args\n if (typeof url === 'string') {\n options.url = url\n } else {\n Object.assign(options, url)\n }\n return link.request(options)\n}) as typeof Taro.request\nexport const addInterceptor = link.addInterceptor.bind(link)\nexport const cleanInterceptors = link.cleanInterceptors.bind(link)\n","import { temporarilyNotSupport } from '../../utils'\n\n// TCP 通信\nexport const createTCPSocket = /* @__PURE__ */ temporarilyNotSupport('createTCPSocket')\n","import { temporarilyNotSupport } from '../../utils'\n\n// UDP 通信\nexport const createUDPSocket = /* @__PURE__ */ temporarilyNotSupport('createUDPSocket')\n","import Taro from '@tarojs/api'\r\n\r\nimport { CallbackManager } from '../../utils/handler'\r\nimport {\r\n convertObjectUrlToBlob,\r\n NETWORK_TIMEOUT,\r\n setHeader,\r\n XHR_STATS\r\n} from './utils'\r\n\r\nconst createUploadTask = ({ url, filePath, formData = {}, name, header, timeout, fileName, withCredentials = true, success, error }): Taro.UploadTask => {\r\n let timeoutInter: ReturnType<typeof setTimeout>\r\n let formKey\r\n const apiName = 'uploadFile'\r\n const xhr = new XMLHttpRequest()\r\n const form = new FormData()\r\n const callbackManager = {\r\n headersReceived: new CallbackManager(),\r\n progressUpdate: new CallbackManager()\r\n }\r\n\r\n xhr.open('POST', url)\r\n xhr.withCredentials = !!withCredentials\r\n setHeader(xhr, header)\r\n\r\n for (formKey in formData) {\r\n form.append(formKey, formData[formKey])\r\n }\r\n\r\n xhr.upload.onprogress = e => {\r\n const { loaded, total } = e\r\n callbackManager.progressUpdate.trigger({\r\n progress: Math.round(loaded / total * 100),\r\n totalBytesSent: loaded,\r\n totalBytesExpectedToSend: total\r\n })\r\n }\r\n\r\n xhr.onreadystatechange = () => {\r\n if (xhr.readyState !== XHR_STATS.HEADERS_RECEIVED) return\r\n callbackManager.headersReceived.trigger({\r\n header: xhr.getAllResponseHeaders()\r\n })\r\n }\r\n\r\n xhr.onload = () => {\r\n const status = xhr.status\r\n clearTimeout(timeoutInter)\r\n success({\r\n errMsg: `${apiName}:ok`,\r\n statusCode: status,\r\n data: xhr.responseText || xhr.response\r\n })\r\n }\r\n\r\n xhr.onabort = () => {\r\n clearTimeout(timeoutInter)\r\n error({\r\n errMsg: `${apiName}:fail abort`\r\n })\r\n }\r\n\r\n xhr.onerror = (e: ProgressEvent<EventTarget> & { message?: string }) => {\r\n clearTimeout(timeoutInter)\r\n error({\r\n errMsg: `${apiName}:fail ${e.message}`\r\n })\r\n }\r\n\r\n /**\r\n * 中断任务\r\n */\r\n const abort = () => {\r\n clearTimeout(timeoutInter)\r\n xhr.abort()\r\n }\r\n\r\n const send = () => {\r\n xhr.send(form)\r\n timeoutInter = setTimeout(() => {\r\n xhr.onabort = null\r\n xhr.onload = null\r\n xhr.upload.onprogress = null\r\n xhr.onreadystatechange = null\r\n xhr.onerror = null\r\n abort()\r\n error({\r\n errMsg: `${apiName}:fail timeout`\r\n })\r\n }, timeout || NETWORK_TIMEOUT)\r\n }\r\n\r\n convertObjectUrlToBlob(filePath)\r\n .then((fileObj: string | (Blob & { name?: string })) => {\r\n if (!fileName) {\r\n fileName = typeof fileObj !== 'string' && fileObj.name\r\n }\r\n form.append(name, fileObj as Blob, fileName || `file-${Date.now()}`)\r\n send()\r\n })\r\n .catch(e => {\r\n error({\r\n errMsg: `${apiName}:fail ${e.message}`\r\n })\r\n })\r\n\r\n /**\r\n * 监听 HTTP Response Header 事件。会比请求完成事件更早\r\n * @param {HeadersReceivedCallback} callback HTTP Response Header 事件的回调函数\r\n */\r\n const onHeadersReceived = callbackManager.headersReceived.add\r\n /**\r\n * 取消监听 HTTP Response Header 事件\r\n * @param {HeadersReceivedCallback} callback HTTP Response Header 事件的回调函数\r\n */\r\n const offHeadersReceived = callbackManager.headersReceived.remove\r\n\r\n /**\r\n * 监听进度变化事件\r\n * @param {ProgressUpdateCallback} callback HTTP Response Header 事件的回调函数\r\n */\r\n const onProgressUpdate = callbackManager.progressUpdate.add\r\n /**\r\n * 取消监听进度变化事件\r\n * @param {ProgressUpdateCallback} callback HTTP Response Header 事件的回调函数\r\n */\r\n const offProgressUpdate = callbackManager.progressUpdate.remove\r\n\r\n return {\r\n abort,\r\n onHeadersReceived,\r\n offHeadersReceived,\r\n onProgressUpdate,\r\n offProgressUpdate\r\n }\r\n}\r\n\r\n/**\r\n * 将本地资源上传到服务器。客户端发起一个 HTTPS POST 请求,其中 content-type 为 multipart/form-data。使用前请注意阅读相关说明。\r\n */\r\nexport const uploadFile: typeof Taro.uploadFile = ({ url, filePath, name, header, formData, timeout, fileName,withCredentials, success, fail, complete }) => {\r\n let task!: Taro.UploadTask\r\n const result: ReturnType<typeof Taro.uploadFile> = new Promise((resolve, reject) => {\r\n task = createUploadTask({\r\n url,\r\n header,\r\n name,\r\n filePath,\r\n formData,\r\n timeout,\r\n fileName,\r\n withCredentials,\r\n success: res => {\r\n success && success(res)\r\n complete && complete(res)\r\n resolve(res)\r\n },\r\n error: res => {\r\n fail && fail(res)\r\n complete && complete(res)\r\n reject(res)\r\n }\r\n })\r\n }) as any\r\n\r\n result.headersReceive = task.onHeadersReceived.bind(task)\r\n result.progress = task.onProgressUpdate.bind(task)\r\n\r\n const properties = {}\r\n Object.keys(task).forEach(key => {\r\n properties[key] = {\r\n get () {\r\n return typeof task[key] === 'function' ? task[key].bind(task) : task[key]\r\n }\r\n }\r\n })\r\n return Object.defineProperties(result, properties)\r\n}\r\n","import Taro from '@tarojs/api'\nimport { isFunction } from '@tarojs/shared'\n\nexport class SocketTask {\n ws: WebSocket\n CONNECTING: number\n OPEN: number\n CLOSING: number\n CLOSED: number\n closeDetail: { code: any, reason: any }\n _destroyWhenClose?: () => void\n\n constructor (url, protocols) {\n if (protocols && protocols.length) {\n this.ws = new WebSocket(url, protocols)\n } else {\n this.ws = new WebSocket(url)\n }\n this.CONNECTING = 0\n this.OPEN = 1\n this.CLOSING = 2\n this.CLOSED = 3\n }\n\n get readyState () {\n return this.ws.readyState\n }\n\n send (opts: Partial<Taro.SocketTask.SendOption> = {}) {\n if (typeof opts !== 'object' || !opts) opts = {}\n\n const { data = '', success, fail, complete } = opts\n\n if (this.readyState !== 1) {\n const res = { errMsg: 'SocketTask.send:fail SocketTask.readState is not OPEN' }\n console.error(res.errMsg)\n isFunction(fail) && fail(res)\n isFunction(complete) && complete(res)\n return Promise.reject(res)\n }\n\n this.ws.send(data)\n\n const res = { errMsg: 'sendSocketMessage:ok' }\n isFunction(success) && success(res)\n isFunction(complete) && complete(res)\n return Promise.resolve(res)\n }\n\n close (opts: Partial<Taro.SocketTask.CloseOption> = {}) {\n if (typeof opts !== 'object' || !opts) opts = {}\n\n const {\n code = 1000,\n reason = 'server complete,close',\n success,\n complete\n } = opts\n\n this.closeDetail = { code, reason }\n // 主动断开时需要重置链接数\n this._destroyWhenClose && this._destroyWhenClose()\n this.ws.close()\n\n const res = { errMsg: 'closeSocket:ok' }\n isFunction(success) && success(res)\n isFunction(complete) && complete(res)\n return Promise.resolve(res)\n }\n\n onOpen (func) {\n this.ws.onopen = func\n }\n\n onMessage (func) {\n this.ws.onmessage = func\n }\n\n onClose (func) {\n this.ws.onclose = () => {\n // 若服务器方断掉也需要重置链接数\n this._destroyWhenClose && this._destroyWhenClose()\n func(this.closeDetail || { code: 1006, reason: 'abnormal closure' })\n }\n }\n\n onError (func) {\n this.ws.onerror = func\n }\n}\n","import { getParameterError, shouldBeObject } from '../../../utils'\nimport { MethodHandler } from '../../../utils/handler'\nimport { SocketTask } from './socketTask'\n\nlet socketTasks: SocketTask[] = []\nlet socketsCounter = 1\n\nexport function sendSocketMessage () {\n console.warn('Deprecated.Please use socketTask.send instead.')\n}\n\nexport function onSocketOpen () {\n console.warn('Deprecated.Please use socketTask.onOpen instead.')\n}\n\nexport function onSocketMessage () {\n console.warn('Deprecated.Please use socketTask.onMessage instead.')\n}\n\nexport function onSocketError () {\n console.warn('Deprecated.Please use socketTask.onError instead.')\n}\n\nexport function onSocketClose () {\n console.warn('Deprecated.Please use socketTask.onClose instead.')\n}\n\nexport function connectSocket (options?: Taro.connectSocket.Option) {\n const name = 'connectSocket'\n\n return new Promise((resolve, reject) => {\n // options must be an Object\n const isObject = shouldBeObject(options)\n if (!isObject.flag) {\n const res = { errMsg: `${name}:fail ${isObject.msg}` }\n console.error(res.errMsg)\n return reject(res)\n }\n const { url, protocols, success, fail, complete } = options as Exclude<typeof options, undefined>\n const handle = new MethodHandler<{\n socketTaskId?: number\n }>({ name, success, fail, complete })\n\n // options.url must be String\n if (typeof url !== 'string') {\n return handle.fail({\n errMsg: getParameterError({\n para: 'url',\n correct: 'String',\n wrong: url\n })\n }, { resolve, reject })\n }\n\n // options.url must be invalid\n if (!url.startsWith('ws://') && !url.startsWith('wss://')) {\n return handle.fail({\n errMsg: `request:fail invalid url \"${url}\"`\n }, { resolve, reject })\n }\n\n // protocols must be array\n const _protocols = Array.isArray(protocols) ? protocols : null\n\n // 2 connection at most\n if (socketTasks.length >= 5) {\n return handle.fail({\n errMsg: '同时最多发起 5 个 socket 请求,更多请参考文档。'\n }, { resolve, reject })\n }\n\n const task = new SocketTask(url, _protocols)\n task._destroyWhenClose = function () {\n socketTasks = socketTasks.filter(socketTask => socketTask !== this)\n }\n socketTasks.push(task)\n\n handle.success({\n socketTaskId: socketsCounter++\n })\n\n return resolve(task)\n })\n}\n\nexport function closeSocket () {\n console.warn('Deprecated.Please use socketTask.close instead.')\n}\n\nexport { SocketTask }\n","import { temporarilyNotSupport } from '../../utils'\n\n// 帐号信息\nexport const getAccountInfoSync = /* @__PURE__ */ temporarilyNotSupport('getAccountInfoSync')\n","import { temporarilyNotSupport } from '../../utils'\n\n// 收货地址\nexport const chooseAddress = /* @__PURE__ */ temporarilyNotSupport('chooseAddress')\n","import { temporarilyNotSupport } from '../../utils'\n\n// 授权\nexport const authorizeForMiniProgram = /* @__PURE__ */ temporarilyNotSupport('authorizeForMiniProgram')\nexport const authorize = /* @__PURE__ */ temporarilyNotSupport('authorize')\n","import { temporarilyNotSupport } from '../../utils'\n\n// 卡券\nexport const openCard = /* @__PURE__ */ temporarilyNotSupport('openCard')\nexport const addCard = /* @__PURE__ */ temporarilyNotSupport('addCard')\n","import { temporarilyNotSupport } from '../../utils'\n\n// 视频号\nexport const reserveChannelsLive = /* @__PURE__ */ temporarilyNotSupport('reserveChannelsLive')\nexport const openChannelsUserProfile = /* @__PURE__ */ temporarilyNotSupport('openChannelsUserProfile')\nexport const openChannelsLive = /* @__PURE__ */ temporarilyNotSupport('openChannelsLive')\nexport const openChannelsEvent = /* @__PURE__ */ temporarilyNotSupport('openChannelsEvent')\nexport const openChannelsActivity = /* @__PURE__ */ temporarilyNotSupport('openChannelsActivity')\nexport const getChannelsShareKey = /* @__PURE__ */ temporarilyNotSupport('getChannelsShareKey')\nexport const getChannelsLiveNoticeInfo = /* @__PURE__ */ temporarilyNotSupport('getChannelsLiveNoticeInfo')\nexport const getChannelsLiveInfo = /* @__PURE__ */ temporarilyNotSupport('getChannelsLiveInfo')\n","import { temporarilyNotSupport } from '../../utils'\n\n// 微信客服\nexport const openCustomerServiceChat = /* @__PURE__ */ temporarilyNotSupport('openCustomerServiceChat')\n","import { temporarilyNotSupport } from '../../utils'\n\n// 设备(组)音视频通话\nexport const requestDeviceVoIP = /* @__PURE__ */ temporarilyNotSupport('requestDeviceVoIP')\nexport const getDeviceVoIPList = /* @__PURE__ */ temporarilyNotSupport('getDeviceVoIPList')\n","import { temporarilyNotSupport } from '../../utils'\n\n// 过往接口\nexport const checkIsSupportFacialRecognition = /* @__PURE__ */ temporarilyNotSupport('checkIsSupportFacialRecognition')\nexport const startFacialRecognitionVerify = /* @__PURE__ */ temporarilyNotSupport('startFacialRecognitionVerify')\nexport const startFacialRecognitionVerifyAndUploadVideo = /* @__PURE__ */ temporarilyNotSupport('startFacialRecognitionVerifyAndUploadVideo')\nexport const faceVerifyForPay = /* @__PURE__ */ temporarilyNotSupport('faceVerifyForPay')\n","import { temporarilyNotSupport } from '../../utils'\n\n// 收藏\nexport const addVideoToFavorites = /* @__PURE__ */ temporarilyNotSupport('addVideoToFavorites')\nexport const addFileToFavorites = /* @__PURE__ */ temporarilyNotSupport('addFileToFavorites')\n","import { temporarilyNotSupport } from '../../utils'\n\n// 微信群\nexport const getGroupEnterInfo = /* @__PURE__ */ temporarilyNotSupport('getGroupEnterInfo')\n","import { temporarilyNotSupport } from '../../utils'\n\n// 发票\nexport const chooseInvoiceTitle = /* @__PURE__ */ temporarilyNotSupport('chooseInvoiceTitle')\nexport const chooseInvoice = /* @__PURE__ */ temporarilyNotSupport('chooseInvoice')\n","import { temporarilyNotSupport } from '../../utils'\n\n// 车牌\nexport const chooseLicensePlate = /* @__PURE__ */ temporarilyNotSupport('chooseLicensePlate')\n","import { temporarilyNotSupport } from '../../utils'\n\n// 帐号信息\nexport const pluginLogin = /* @__PURE__ */ temporarilyNotSupport('pluginLogin')\nexport const login = /* @__PURE__ */ temporarilyNotSupport('login')\nexport const checkSession = /* @__PURE__ */ temporarilyNotSupport('checkSession')\n","import { temporarilyNotSupport } from '../../utils'\n\n// 我的小程序\nexport const checkIsAddedToMyMiniProgram = /* @__PURE__ */ temporarilyNotSupport('checkIsAddedToMyMiniProgram')\n","import { temporarilyNotSupport } from '../../utils'\n\n// 隐私信息授权\nexport const requirePrivacyAuthorize = /* @__PURE__ */ temporarilyNotSupport('requirePrivacyAuthorize')\nexport const openPrivacyContract = /* @__PURE__ */ temporarilyNotSupport('openPrivacyContract')\nexport const onNeedPrivacyAuthorization = /* @__PURE__ */ temporarilyNotSupport('onNeedPrivacyAuthorization')\nexport const getPrivacySetting = /* @__PURE__ */ temporarilyNotSupport('getPrivacySetting')\n","import { temporarilyNotSupport } from '../../utils'\n\n// 微信红包\nexport const showRedPackage = /* @__PURE__ */ temporarilyNotSupport('showRedPackage')\n","import { temporarilyNotSupport } from '../../utils'\n\n// 设置\nexport const openSetting = /* @__PURE__ */ temporarilyNotSupport('openSetting')\nexport const getSetting = /* @__PURE__ */ temporarilyNotSupport('getSetting')\n","import { temporarilyNotSupport } from '../../utils'\n\n// 生物认证\nexport const startSoterAuthentication = /* @__PURE__ */ temporarilyNotSupport('startSoterAuthentication')\nexport const checkIsSupportSoterAuthentication = /* @__PURE__ */ temporarilyNotSupport('checkIsSupportSoterAuthentication')\nexport const checkIsSoterEnrolledInDevice = /* @__PURE__ */ temporarilyNotSupport('checkIsSoterEnrolledInDevice')\n","import { temporarilyNotSupport } from '../../utils'\n\n// 订阅消息\nexport const requestSubscribeMessage = /* @__PURE__ */ temporarilyNotSupport('requestSubscribeMessage')\n// 订阅设备消息\nexport const requestSubscribeDeviceMessage = /* @__PURE__ */ temporarilyNotSupport('requestSubscribeDeviceMessage')\n","import { temporarilyNotSupport } from '../../utils'\n\n// 用户信息\nexport const getUserProfile = /* @__PURE__ */ temporarilyNotSupport('getUserProfile')\nexport const getUserInfo = /* @__PURE__ */ temporarilyNotSupport('getUserInfo')\n","import { temporarilyNotSupport } from '../../utils'\n\n// 微信运动\nexport const shareToWeRun = /* @__PURE__ */ temporarilyNotSupport('shareToWeRun')\nexport const getWeRunData = /* @__PURE__ */ temporarilyNotSupport('getWeRunData')\n","import { temporarilyNotSupport } from '../../utils'\n\n// 支付\nexport const requestPayment = /* @__PURE__ */ temporarilyNotSupport('requestPayment')\nexport const requestPluginPayment = /* @__PURE__ */ temporarilyNotSupport('requestPluginPayment')\nexport const requestOrderPayment = /* @__PURE__ */ temporarilyNotSupport('requestOrderPayment')\n","import { temporarilyNotSupport } from '../../utils'\n\n// 打开手Q说说发表界面\nexport const openQzonePublish = /* @__PURE__ */ temporarilyNotSupport('openQzonePublish')\nexport const getQQRunData = /* @__PURE__ */ temporarilyNotSupport('getQQRunData')\nexport const setOfficialDress = /* @__PURE__ */ temporarilyNotSupport('setOfficialDress')\nexport const setCustomDress = /* @__PURE__ */ temporarilyNotSupport('setCustomDress')\nexport const updateQQApp = /* @__PURE__ */ temporarilyNotSupport('updateQQApp')\nexport const addRecentColorSign = /* @__PURE__ */ temporarilyNotSupport('addRecentColorSign')\nexport const getGuildInfo = /* @__PURE__ */ temporarilyNotSupport('getGuildInfo')\nexport const applyAddToMyApps = /* @__PURE__ */ temporarilyNotSupport('applyAddToMyApps')\nexport const isAddedToMyApps = /* @__PURE__ */ temporarilyNotSupport('isAddedToMyApps')\n","// 路由\nexport {\n navigateBack,\n navigateTo,\n redirectTo,\n reLaunch,\n switchTab\n} from '@tarojs/router'\n\n// FIXME 方法导出类型未对齐,后续修复\n","import { permanentlyNotSupport, temporarilyNotSupport } from '../../utils'\n\n// 转发\n\n/** 更新转发属性 */\nexport const updateShareMenu = /* @__PURE__ */ temporarilyNotSupport('updateShareMenu')\n\n/** 显示当前页面的转发按钮 */\nexport const showShareMenu = /* @__PURE__ */ temporarilyNotSupport('showShareMenu')\n\n/** 打开分享图片弹窗,可以将图片发送给朋友、收藏或下载 */\nexport const showShareImageMenu = /* @__PURE__ */ temporarilyNotSupport('showShareImageMenu')\n\n/** 转发视频到聊天 */\nexport const shareVideoMessage = /* @__PURE__ */ temporarilyNotSupport('shareVideoMessage')\n\n/** 转发文件到聊天 */\nexport const shareFileMessage = /* @__PURE__ */ temporarilyNotSupport('shareFileMessage')\n\n/** 监听用户点击右上角菜单的「复制链接」按钮时触发的事件 */\nexport const onCopyUrl = /* @__PURE__ */ temporarilyNotSupport('onCopyUrl')\n\n/** 移除用户点击右上角菜单的「复制链接」按钮时触发的事件的监听函数 */\nexport const offCopyUrl = /* @__PURE__ */ temporarilyNotSupport('offCopyUrl')\n\n/** 隐藏当前页面的转发按钮 */\nexport const hideShareMenu = /* @__PURE__ */ temporarilyNotSupport('hideShareMenu')\n\n/** 获取转发详细信息 */\nexport const getShareInfo = /* @__PURE__ */ temporarilyNotSupport('getShareInfo')\n\n/** 验证私密消息。 */\nexport const authPrivateMessage = /* @__PURE__ */ permanentlyNotSupport('authPrivateMessage')\n","import { temporarilyNotSupport } from '../../utils'\n\nexport const setPageInfo = /* @__PURE__ */ temporarilyNotSupport('setPageInfo')\n\n// 百度小程序 AI 相关\nexport const ocrIdCard = /* @__PURE__ */ temporarilyNotSupport('ocrIdCard')\nexport const ocrBankCard = /* @__PURE__ */ temporarilyNotSupport('ocrBankCard')\nexport const ocrDrivingLicense = /* @__PURE__ */ temporarilyNotSupport('ocrDrivingLicense')\nexport const ocrVehicleLicense = /* @__PURE__ */ temporarilyNotSupport('ocrVehicleLicense')\nexport const textReview = /* @__PURE__ */ temporarilyNotSupport('textReview')\nexport const textToAudio = /* @__PURE__ */ temporarilyNotSupport('textToAudio')\nexport const imageAudit = /* @__PURE__ */ temporarilyNotSupport('imageAudit')\nexport const advancedGeneralIdentify = /* @__PURE__ */ temporarilyNotSupport('advancedGeneralIdentify')\nexport const objectDetectIdentify = /* @__PURE__ */ temporarilyNotSupport('objectDetectIdentify')\nexport const carClassify = /* @__PURE__ */ temporarilyNotSupport('carClassify')\nexport const dishClassify = /* @__PURE__ */ temporarilyNotSupport('dishClassify')\nexport const logoClassify = /* @__PURE__ */ temporarilyNotSupport('logoClassify')\nexport const animalClassify = /* @__PURE__ */ temporarilyNotSupport('animalClassify')\nexport const plantClassify = /* @__PURE__ */ temporarilyNotSupport('plantClassify')\n\n// 用户信息\nexport const getSwanId = /* @__PURE__ */ temporarilyNotSupport('getSwanId')\n\n// 百度收银台支付\nexport const requestPolymerPayment = /* @__PURE__ */ temporarilyNotSupport('requestPolymerPayment')\n\n// 打开小程序\nexport const navigateToSmartGameProgram = /* @__PURE__ */ temporarilyNotSupport('navigateToSmartGameProgram')\nexport const navigateToSmartProgram = /* @__PURE__ */ temporarilyNotSupport('navigateToSmartProgram')\nexport const navigateBackSmartProgram = /* @__PURE__ */ temporarilyNotSupport('navigateBackSmartProgram')\nexport const preloadSubPackage = /* @__PURE__ */ temporarilyNotSupport('preloadSubPackage')\n","import { temporarilyNotSupport } from '../../utils'\n\n// Worker\nexport const createWorker = /* @__PURE__ */ temporarilyNotSupport('createWorker')\n","import Taro from '@tarojs/api'\n\nimport { findDOM } from '../../utils'\n\ntype TElement = Document | HTMLElement | Element\n\ntype TListener = {\n element: Element\n callback: Taro.IntersectionObserver.ObserveCallback\n}\n\nexport class TaroH5IntersectionObserver implements Taro.IntersectionObserver {\n\n // 自定义组件实例\n private _component: TaroGeneral.IAnyObject\n // 选项\n private _options = {\n thresholds: [0],\n initialRatio: 0,\n observeAll: false\n }\n\n // Observer实例\n private _observerInst: IntersectionObserver\n // 监控中的选择器\n private _listeners: TListener[] = []\n // 参照区域\n private _root: Element | null\n // 用来扩展(或收缩)参照节点布局区域的边界\n private _rootMargin: Taro.IntersectionObserver.RelativeToViewportMargins = {}\n // 是否已初始化\n private _isInited = false\n\n // selector 的容器节点\n protected get container () {\n const container: TElement = (\n this._component !== null\n ? (findDOM(this._component) as HTMLElement || document)\n : document\n )\n return container\n }\n\n constructor (component: TaroGeneral.IAnyObject, options: Taro.createIntersectionObserver.Option = {}) {\n this._component = component\n Object.assign(this._options, options)\n }\n\n private createInst () {\n // 去除原本的实例\n this.disconnect()\n\n const { left = 0, top = 0, bottom = 0, right = 0 } = this._rootMargin\n return new IntersectionObserver(entries => {\n entries.forEach(entry => {\n const _callback = this._getCallbackByElement(entry.target)\n const result = {\n boundingClientRect: entry.boundingClientRect,\n intersectionRatio: entry.intersectionRatio,\n intersectionRect: entry.intersectionRect,\n relativeRect: entry.rootBounds || { left: 0, right: 0, top: 0, bottom: 0 },\n // 使用时间戳而不是entry.time,跟微信小程序一致\n time: Date.now(),\n }\n // web端会默认首次触发\n if (!this._isInited && this._options.initialRatio <= Math.min.apply(Math, this._options.thresholds)) {\n // 初始的相交比例,如果调用时检测到的相交比例与这个值不相等且达到阈值,则会触发一次监听器的回调函数。\n return\n }\n _callback && _callback.call(this, result)\n })\n this._isInited = true\n }, {\n root: this._root,\n rootMargin: [`${top}px`, `${right}px`, `${bottom}px`, `${left}px`].join(' '),\n threshold: this._options.thresholds\n })\n }\n\n public disconnect (): void {\n if (this._observerInst) {\n let listener\n while ((listener = this._listeners.pop())) {\n this._observerInst.unobserve(listener.element)\n }\n this._observerInst.disconnect()\n }\n }\n\n public observe (targetSelector: string, callback: Taro.IntersectionObserver.ObserveCallback): void {\n // 同wx小程序效果一致,每个实例监听一个Selector\n if (this._listeners.length) return\n // 监听前没有设置关联的节点\n if (!this._observerInst) {\n console.warn('Intersection observer will be ignored because no relative nodes are found.')\n return\n }\n\n const nodeList = this._options.observeAll\n ? this.container.querySelectorAll(targetSelector)\n : [this.container.querySelector(targetSelector)]\n\n Taro.nextTick(() => {\n nodeList.forEach(element => {\n if (!element) return\n this._observerInst.observe(element)\n this._listeners.push({ element, callback })\n })\n })\n }\n\n public relativeTo (selector: string, margins?: Taro.IntersectionObserver.RelativeToMargins | undefined): Taro.IntersectionObserver {\n // 已设置observe监听后,重新关联节点\n if (this._listeners.length) {\n console.error('Relative nodes cannot be added after \"observe\" call in IntersectionObserver')\n return this\n }\n this._root = this.container.querySelector(selector) || null\n if (margins) {\n this._rootMargin = margins\n }\n this._observerInst = this.createInst()\n return this\n }\n\n public relativeToViewport (margins?: Taro.IntersectionObserver.RelativeToViewportMargins | undefined): Taro.IntersectionObserver {\n return this.relativeTo('.taro_page', margins)\n }\n\n private _getCallbackByElement (element: Element) {\n const listener = this._listeners.find(listener => listener.element === element)\n return listener ? listener.callback : null\n }\n\n}\n","\nimport Taro from '@tarojs/api'\nimport { isFunction, toKebabCase } from '@tarojs/shared'\n\nfunction generateMediaQueryStr (descriptor: Taro.MediaQueryObserver.descriptor) {\n const mediaQueryArr: string[] = []\n const descriptorMenu = ['width', 'minWidth', 'maxWidth', 'height', 'minHeight', 'maxHeight', 'orientation']\n for (const item of descriptorMenu) {\n if (\n item !== 'orientation' &&\n descriptor[item] &&\n Number(descriptor[item]) >= 0\n ) {\n mediaQueryArr.push(`(${(toKebabCase(item))}: ${Number(descriptor[item])}px)`)\n }\n if (item === 'orientation' && descriptor[item]) {\n mediaQueryArr.push(`(${toKebabCase(item)}: ${descriptor[item]})`)\n }\n }\n return mediaQueryArr.join(' and ')\n}\n\n\nexport class MediaQueryObserver implements Taro.MediaQueryObserver {\n private _mediaQueryObserver: MediaQueryList\n private _listener: (ev: MediaQueryListEvent) => void\n\n // 监听页面媒体查询变化情况\n public observe (descriptor: Taro.MediaQueryObserver.descriptor, callback: Taro.MediaQueryObserver.observeCallback): void {\n if (isFunction(callback)) {\n // 创建媒体查询对象\n this._mediaQueryObserver = window.matchMedia(generateMediaQueryStr(descriptor))\n // 监听器\n this._listener = (ev: MediaQueryListEvent) => {\n callback({ matches: ev.matches })\n }\n callback({ matches: this._mediaQueryObserver.matches })\n // 兼容旧浏览器中 MediaQueryList 尚未继承于 EventTarget 导致不存在 'addEventListener'\n if ('addEventListener' in this._mediaQueryObserver) {\n this._mediaQueryObserver.addEventListener('change', this._listener)\n } else {\n // @ts-ignore\n this._mediaQueryObserver.addListener(this._listener)\n }\n }\n }\n\n // 停止监听,销毁媒体查询对象\n public disconnect (): void {\n if (this._mediaQueryObserver && this._listener) {\n // 兼容旧浏览器中 MediaQueryList 尚未继承于 EventTarget 导致不存在 'removeEventListener'\n if ('removeEventListener' in this._mediaQueryObserver) {\n this._mediaQueryObserver.removeEventListener('change', this._listener)\n } else {\n // @ts-ignore\n this._mediaQueryObserver.removeListener(this._listener)\n }\n }\n }\n\n}\n","import Taro from '@tarojs/api'\n\nimport { SelectorQuery } from './selectorQuery'\n\nexport class NodesRef implements Taro.NodesRef {\n _component?: TaroGeneral.IAnyObject\n _selector: string\n _selectorQuery: SelectorQuery\n _single: boolean\n\n constructor (selector: string, querySelectorQuery: SelectorQuery, single: boolean) {\n this._component = querySelectorQuery._component\n this._selector = selector\n this._selectorQuery = querySelectorQuery\n this._single = single\n }\n\n context (cb) {\n const { _selector, _component, _single, _selectorQuery } = this\n _selectorQuery._push(_selector, _component, _single, { context: !0 }, cb)\n return _selectorQuery\n }\n\n node (cb) {\n const { _selector, _component, _single, _selectorQuery } = this\n _selectorQuery._push(_selector, _component, _single, { nodeCanvasType: !0, node: !0 }, cb)\n return _selectorQuery\n }\n\n boundingClientRect (cb) {\n const { _selector, _component, _single, _selectorQuery } = this\n _selectorQuery._push(_selector, _component, _single, { id: !0, dataset: !0, rect: !0, size: !0 }, cb)\n return _selectorQuery\n }\n\n scrollOffset (cb) {\n const { _selector, _component, _single, _selectorQuery } = this\n _selectorQuery._push(_selector, _component, _single, { id: !0, dataset: !0, scrollOffset: !0 }, cb)\n return _selectorQuery\n }\n\n fields (fields, cb) {\n const { _selector, _component, _single, _selectorQuery } = this\n const { id, dataset, rect, size, scrollOffset, context, node, properties = [], computedStyle = [] } = fields\n\n _selectorQuery._push(\n _selector,\n _component,\n _single,\n {\n id,\n dataset,\n rect,\n size,\n scrollOffset,\n context,\n node,\n nodeCanvasType: node,\n properties,\n computedStyle,\n },\n cb\n )\n\n return _selectorQuery\n }\n}\n","import Taro from '@tarojs/api'\nimport { isFunction } from '@tarojs/shared'\n\nimport { findDOM } from '../../utils'\nimport { CanvasContext } from '../canvas/CanvasContext'\nimport { NodesRef } from './nodesRef'\n\ntype TElement = Document | HTMLElement | Element\n\ninterface ISelectorQueryQueue {\n component: TaroGeneral.IAnyObject\n selector: string\n single: boolean\n fields\n}\n\ntype TSelectorQueryQueueCallback = (res: ISelectorQueryQueue) => void\n\nfunction filter (fields, dom?: HTMLElement, selector?: string) {\n if (!dom) return null\n\n const isViewport = selector === '.taro_page'\n const { id, dataset, rect, size, scrollOffset, properties = [], computedStyle = [], nodeCanvasType, node, context } = fields\n const res: any = {}\n\n if (nodeCanvasType && node) {\n const tagName = dom.tagName\n res.node = {\n id: dom.id,\n $taroElement: dom\n }\n if (/^taro-canvas-core/i.test(tagName)) {\n const type = (dom as any).type! || ''\n res.nodeCanvasType = type\n const canvas = dom.getElementsByTagName('canvas')[0]\n if (/^(2d|webgl)/i.test(type) && canvas) {\n res.node = canvas\n } else {\n res.node = null\n }\n } else if (/^taro-scroll-view-core/i.test(tagName)) {\n // Note https://developers.weixin.qq.com/miniprogram/dev/api/ui/scroll/ScrollViewContext.html\n res.nodeCanvasType = ''\n res.node = dom\n dom.scrollTo = (dom as any).mpScrollToMethod\n dom.scrollIntoView = (dom as any).mpScrollIntoViewMethod\n } else {\n res.nodeCanvasType = ''\n res.node = dom\n }\n return res\n }\n if (context) {\n const tagName = dom.tagName\n if (/^taro-video-core/i.test(tagName)) {\n // TODO HTMLVideoElement to VideoContext\n return { context: dom as unknown as Taro.VideoContext }\n } else if (/^taro-canvas-core/i.test(tagName)) {\n const type = (dom as any).type! || '2d'\n const canvas = dom?.querySelector('canvas') as HTMLCanvasElement\n const ctx = canvas?.getContext(type) as CanvasRenderingContext2D\n return { context: new CanvasContext(canvas, ctx) }\n } else if (/^taro-live-player-core/i.test(tagName)) {\n console.error('暂时不支持通过 NodesRef.context 获取 LivePlayerContext')\n } else if (/^taro-editor-core/i.test(tagName)) {\n console.error('暂时不支持通过 NodesRef.context 获取 EditorContext')\n } else if (/^taro-map-core/i.test(tagName)) {\n console.error('暂时不支持通过 NodesRef.context 获取 MapContext')\n }\n return\n }\n if (id) res.id = dom.id\n if (dataset) res.dataset = Object.assign({}, dom.dataset)\n if (rect || size) {\n const { left, right, top, bottom, width, height } = dom.getBoundingClientRect()\n if (rect) {\n if (!isViewport) {\n res.left = left\n res.right = right\n res.top = top\n res.bottom = bottom\n } else {\n res.left = 0\n res.right = 0\n res.top = 0\n res.bottom = 0\n }\n }\n if (size) {\n if (!isViewport) {\n res.width = width\n res.height = height\n } else {\n res.width = dom.clientWidth\n res.height = dom.clientHeight\n }\n }\n }\n if (scrollOffset) {\n res.scrollLeft = dom.scrollLeft\n res.scrollTop = dom.scrollTop\n }\n if (properties.length) {\n properties.forEach(prop => {\n const attr = dom.getAttribute(prop)\n if (attr) res[prop] = attr\n })\n }\n if (computedStyle.length) {\n const styles = window.getComputedStyle(dom)\n computedStyle.forEach(key => {\n const value = styles.getPropertyValue(key) || styles[key]\n if (value) res[key] = value\n })\n }\n\n return res\n}\n\n/**\n * WXML节点信息API\n * @return {Object} SelectorQuery 对象实例\n */\nfunction queryBat (queue: ISelectorQueryQueue[], cb: (...args: any[]) => any): void {\n const result: any[] = []\n\n queue.forEach(item => {\n const { selector, single, fields, component } = item\n // selector 的容器节点\n /* eslint-disable */\n const container: TElement = (\n component !== null ?\n (findDOM(component) as HTMLElement || document) :\n document\n )\n /* eslint-enable */\n\n // 特殊处理 ---- 选自己\n let selectSelf = false\n if (container !== document) {\n const $nodeList = container.parentNode?.querySelectorAll(selector)\n if ($nodeList) {\n for (let i = 0, len = $nodeList.length; i < len; ++i) {\n if (container === $nodeList[i]) {\n selectSelf = true\n break\n }\n }\n }\n }\n\n if (single) {\n const el = selectSelf === true ? container : container.querySelector(selector)\n result.push(filter(fields, el as HTMLElement, selector))\n } else {\n const $children = container.querySelectorAll(selector)\n const children: TElement[] = []\n selectSelf === true && children.push(container)\n for (let i = 0, len = $children.length; i < len; ++i) {\n children.push($children[i])\n }\n result.push(children.map(dom => filter(fields, dom as HTMLElement)))\n }\n })\n cb(result)\n}\n\nexport class SelectorQuery implements Taro.SelectorQuery {\n _defaultWebviewId: string | null\n _webviewId: string | null\n _queue: ISelectorQueryQueue[]\n _queueCb: (TSelectorQueryQueueCallback | null)[]\n _component?: TaroGeneral.IAnyObject\n\n constructor () {\n this._defaultWebviewId = null\n this._webviewId = null\n this._queue = []\n this._queueCb = []\n this._component\n }\n\n in (component: TaroGeneral.IAnyObject) {\n this._component = component\n return this\n }\n\n select (selector: string) {\n // 小程序里跨自定义组件的后代选择器 '>>>' 在 h5 替换为普通后代选择器 '>'\n if (typeof selector === 'string') selector = selector.replace('>>>', '>')\n return new NodesRef(selector, this, true)\n }\n\n selectAll (selector: string) {\n // 小程序里跨自定义组件的后代选择器 '>>>' 在 h5 替换为普通后代选择器 '>'\n if (typeof selector === 'string') selector = selector.replace('>>>', '>')\n return new NodesRef(selector, this, false)\n }\n\n selectViewport () {\n return new NodesRef('.taro_page', this, true)\n }\n\n exec (cb) {\n Taro.nextTick(() => {\n queryBat(this._queue, res => {\n const _queueCb = this._queueCb\n res.forEach((item, index) => {\n const cb = _queueCb[index]\n isFunction(cb) && cb.call(this, item)\n })\n isFunction(cb) && cb.call(this, res)\n })\n })\n return this as unknown as Taro.NodesRef\n }\n\n _push (selector: string, component, single, fields, callback: TSelectorQueryQueueCallback | null = null) {\n this._queue.push({\n component,\n selector,\n single,\n fields\n })\n this._queueCb.push(callback)\n }\n}\n","import Taro from '@tarojs/api'\n\nimport { TaroH5IntersectionObserver } from './IntersectionObserver'\nimport { MediaQueryObserver } from './MediaQueryObserver'\nimport { NodesRef } from './nodesRef'\nimport { SelectorQuery } from './selectorQuery'\n\nexport const createSelectorQuery: typeof Taro.createSelectorQuery = () => {\n return new SelectorQuery()\n}\n\nexport const createIntersectionObserver: typeof Taro.createIntersectionObserver = (component, options) => {\n return new TaroH5IntersectionObserver(component, options)\n}\n\nexport const createMediaQueryObserver: typeof Taro.createMediaQueryObserver = () => {\n return new MediaQueryObserver()\n}\n\nexport { NodesRef }\n","import Taro from '@tarojs/api'\nimport { history } from '@tarojs/router'\nimport { isFunction, PLATFORM_TYPE } from '@tarojs/shared'\n\nimport { getApp, getCurrentInstance, getCurrentPages, navigateBack, navigateTo, nextTick, redirectTo, reLaunch, switchTab } from '../api'\nimport { permanentlyNotSupport } from '../utils'\n\nconst {\n Behavior,\n getEnv,\n ENV_TYPE,\n Link,\n interceptors,\n interceptorify,\n Current,\n options,\n eventCenter,\n Events,\n preload\n} = Taro as any\n\nconst taro: typeof Taro = {\n // @ts-ignore\n Behavior,\n getEnv,\n ENV_TYPE,\n Link,\n interceptors,\n interceptorify,\n Current,\n getCurrentInstance,\n options,\n nextTick,\n eventCenter,\n Events,\n preload,\n history,\n navigateBack,\n navigateTo,\n reLaunch,\n redirectTo,\n getCurrentPages,\n switchTab\n}\n\nconst requirePlugin = /* @__PURE__ */ permanentlyNotSupport('requirePlugin')\n\nfunction getConfig (): Record<string, any> {\n if (this?.pxTransformConfig) return this.pxTransformConfig\n return ((taro as any).config ||= {})\n}\n\nconst defaultDesignWidth = 750\nconst defaultDesignRatio: TaroGeneral.TDeviceRatio = {\n 640: 2.34 / 2,\n 750: 1,\n 828: 1.81 / 2\n}\nconst defaultBaseFontSize = 20\nconst defaultUnitPrecision = 5\nconst defaultTargetUnit = 'rem'\n\nconst initPxTransform = function ({\n designWidth = defaultDesignWidth,\n deviceRatio = defaultDesignRatio,\n baseFontSize = defaultBaseFontSize,\n unitPrecision = defaultUnitPrecision,\n targetUnit = defaultTargetUnit\n}) {\n const config = getConfig.call(this)\n config.designWidth = designWidth\n config.deviceRatio = deviceRatio\n config.baseFontSize = baseFontSize\n config.targetUnit = targetUnit\n config.unitPrecision = unitPrecision\n}\n\nconst pxTransform = function (size = 0) {\n const config = getConfig.call(this)\n const baseFontSize = config.baseFontSize || defaultBaseFontSize\n const deviceRatio = config.deviceRatio || defaultDesignRatio\n const designWidth = (((input = 0) => isFunction(config.designWidth)\n ? config.designWidth(input)\n : config.designWidth))(size)\n if (!(designWidth in config.deviceRatio)) {\n throw new Error(`deviceRatio 配置中不存在 ${designWidth} 的设置!`)\n }\n const targetUnit = config.targetUnit || defaultTargetUnit\n const unitPrecision = config.unitPrecision || defaultUnitPrecision\n const formatSize = ~~size\n let rootValue = 1 / deviceRatio[designWidth]\n switch (targetUnit) {\n case 'vw':\n rootValue = designWidth / 100\n break\n case 'px':\n rootValue *= 2\n break\n default:\n // rem\n rootValue *= baseFontSize * 2\n }\n let val: number | string = formatSize / rootValue\n if (unitPrecision >= 0 && unitPrecision <= 100) {\n // Number(val): 0.50000 => 0.5\n val = Number(val.toFixed(unitPrecision))\n }\n return val + targetUnit\n}\n\nconst canIUseWebp = function () {\n const canvas = document.createElement('canvas')\n return canvas.toDataURL('image/webp').indexOf('data:image/webp') === 0\n}\n\nconst getAppInfo = function () {\n const config = getConfig.call(this)\n return {\n platform: process.env.TARO_PLATFORM || PLATFORM_TYPE.WEB,\n taroVersion: process.env.TARO_VERSION || 'unknown',\n designWidth: config.designWidth,\n }\n}\n\ntaro.requirePlugin = requirePlugin\ntaro.getApp = getApp\ntaro.pxTransform = pxTransform\ntaro.initPxTransform = initPxTransform\ntaro.canIUseWebp = canIUseWebp\n\nexport default taro\n\nexport {\n Behavior,\n canIUseWebp,\n Current,\n ENV_TYPE,\n eventCenter,\n Events,\n getAppInfo,\n getEnv,\n history,\n initPxTransform,\n interceptorify,\n interceptors,\n Link,\n options,\n preload,\n pxTransform,\n requirePlugin\n}\n"],"names":["Current","getApp","callbackManager","INTERVAL_MAP","eventCenter","Link"],"mappings":"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"}
\No newline at end of file