@tarojs/plugin-platform-harmony-ets 4.0.0-beta.2 → 4.0.0-beta.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/apis/base/system.ts +53 -20
- package/dist/apis/framework/index.ts +1 -5
- package/dist/apis/index.ts +3 -1
- package/dist/apis/network/request.ts +5 -5
- package/dist/apis/route/index.ts +15 -0
- package/dist/apis/storage/index.ts +124 -60
- package/dist/apis/wxml/IntersectionObserver.ts +5 -3
- package/dist/apis/wxml/index.ts +2 -0
- package/dist/components-harmony-ets/button.ets +41 -78
- package/dist/components-harmony-ets/checkbox.ets +19 -209
- package/dist/components-harmony-ets/form.ets +38 -160
- package/dist/components-harmony-ets/icon.ets +31 -83
- package/dist/components-harmony-ets/image.ets +22 -78
- package/dist/components-harmony-ets/innerHtml.ets +11 -6
- package/dist/components-harmony-ets/input.ets +10 -67
- package/dist/components-harmony-ets/label.ets +52 -173
- package/dist/components-harmony-ets/movableArea.ets +89 -0
- package/dist/components-harmony-ets/movableView.ets +67 -0
- package/dist/components-harmony-ets/picker.ets +32 -147
- package/dist/components-harmony-ets/progress.ets +47 -0
- package/dist/components-harmony-ets/pseudo.ets +80 -0
- package/dist/components-harmony-ets/radio.ets +19 -210
- package/dist/components-harmony-ets/richText.ets +22 -102
- package/dist/components-harmony-ets/scrollView.ets +66 -169
- package/dist/components-harmony-ets/slider.ets +10 -72
- package/dist/components-harmony-ets/style.ets +244 -0
- package/dist/components-harmony-ets/swiper.ets +30 -87
- package/dist/components-harmony-ets/switch.ets +9 -71
- package/dist/components-harmony-ets/text.ets +38 -89
- package/dist/components-harmony-ets/textArea.ets +10 -67
- package/dist/components-harmony-ets/utils/AttributeManager.ets +1 -1
- package/dist/components-harmony-ets/utils/DynamicCenter.ts +1 -1
- package/dist/components-harmony-ets/utils/flexManager.ets +8 -7
- package/dist/components-harmony-ets/utils/helper.ets +5 -4
- package/dist/components-harmony-ets/utils/htmlParser/HarmonyHTMLParser.ts +1 -2
- package/dist/components-harmony-ets/utils/index.ts +55 -2
- package/dist/components-harmony-ets/utils/styles.ets +45 -85
- package/dist/components-harmony-ets/video.ets +33 -88
- package/dist/components-harmony-ets/view.ets +47 -160
- package/dist/components-harmony-ets/webView.ets +44 -99
- package/dist/index.d.ts +151 -0
- package/dist/index.js +58 -29
- package/dist/index.js.map +1 -1
- package/dist/runtime-ets/bom/window.ts +4 -2
- package/dist/runtime-ets/current.ts +2 -0
- package/dist/runtime-ets/dom/bind.ts +0 -1
- package/dist/runtime-ets/dom/cssNesting.ts +311 -0
- package/dist/runtime-ets/dom/cssStyleDeclaration.ts +15 -40
- package/dist/runtime-ets/dom/document.ts +21 -8
- package/dist/runtime-ets/dom/element/element.ts +53 -9
- package/dist/runtime-ets/dom/element/form.ts +11 -4
- package/dist/runtime-ets/dom/element/index.ts +12 -1
- package/dist/runtime-ets/dom/element/movableArea.ts +12 -0
- package/dist/runtime-ets/dom/element/movableView.ts +193 -0
- package/dist/runtime-ets/dom/element/normal.ts +8 -3
- package/dist/runtime-ets/dom/element/progress.ts +13 -0
- package/dist/runtime-ets/dom/element/scrollView.ts +1 -0
- package/dist/runtime-ets/dom/element/text.ts +1 -0
- package/dist/runtime-ets/dom/element/video.ts +1 -0
- package/dist/runtime-ets/dom/element/webView.ts +8 -0
- package/dist/runtime-ets/dom/event.ts +0 -1
- package/dist/runtime-ets/dom/eventTarget.ts +0 -3
- package/dist/runtime-ets/dom/node.ts +18 -17
- package/dist/runtime-ets/dom/stylesheet/covertWeb2Hm.ts +184 -207
- package/dist/runtime-ets/dom/stylesheet/index.ts +28 -308
- package/dist/runtime-ets/dom/stylesheet/type.ts +18 -6
- package/dist/runtime-ets/dom/stylesheet/util.ts +19 -15
- package/dist/runtime-ets/index.ts +2 -2
- package/dist/runtime-ets/interface/event.ts +1 -1
- package/dist/runtime-ets/utils/index.ts +24 -9
- package/dist/runtime-framework/react/app.ts +5 -1
- package/dist/runtime-framework/react/hooks.ts +3 -3
- package/dist/runtime-framework/react/native-page.ts +14 -9
- package/dist/runtime-framework/react/page.ts +1 -0
- package/dist/runtime-framework/solid/hooks.ts +3 -3
- package/dist/runtime-framework/solid/reconciler/use.ts +0 -1
- package/dist/runtime-framework/solid/utils/index.ts +0 -2
- package/dist/runtime-utils.d.ts +825 -0
- package/dist/runtime-utils.js +185 -91
- package/dist/runtime-utils.js.map +1 -1
- package/dist/runtime.d.ts +1 -0
- package/dist/runtime.js +185 -91
- package/dist/runtime.js.map +1 -1
- package/index.js +3 -1
- package/package.json +10 -10
- package/types/index.d.ts +4 -0
- package/dist/runtime-ets/utils/bind.ts +0 -24
package/dist/runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sources":["../src/apis/utils/handler.ts","../src/apis/utils/validate.ts","../src/apis/utils/index.ts","../src/apis/base/crypto.ts","../src/apis/base/debug.ts","../src/apis/base/performance.ts","../src/apis/base/system.ts","../src/apis/base/update.ts","../src/apis/base/weapp/app-event.ts","../src/apis/base/weapp/life-cycle.ts","../src/apis/base/index.ts","../src/apis/canvas/index.ts","../src/apis/data-analysis/index.ts","../src/apis/device/accelerometer.ts","../src/apis/device/accessibility.ts","../src/apis/device/battery.ts","../src/apis/device/bluetooth.ts","../src/apis/device/bluetooth-ble.ts","../src/apis/device/bluetooth-peripheral.ts","../src/apis/device/calendar.ts","../src/apis/device/clipboard.ts","../src/apis/device/compass.ts","../src/apis/device/contact.ts","../src/apis/device/crypto.ts","../src/apis/device/gyroscope.ts","../src/apis/device/iBeacon.ts","../src/apis/device/keyboard.ts","../src/apis/device/memory.ts","../src/apis/device/motion.ts","../src/apis/device/network.ts","../src/apis/device/nfc.ts","../src/apis/device/phone.ts","../src/apis/device/scan.ts","../src/apis/device/screen.ts","../src/apis/device/sms.ts","../src/apis/device/vibrate.ts","../src/apis/device/wifi.ts","../src/apis/ext/index.ts","../src/apis/files/manager.ts","../src/apis/files/index.ts","../src/apis/framework/index.ts","../src/apis/location/index.ts","../src/apis/media/audio/index.ts","../src/apis/media/background-audio/index.ts","../src/apis/media/camera.ts","../src/apis/media/common.ts","../src/apis/media/image/index.ts","../src/apis/media/live.ts","../src/apis/media/map.ts","../src/apis/media/media-recorder.ts","../src/apis/media/recorder.ts","../src/apis/media/video/VideoContext.ts","../src/apis/media/video/index.ts","../src/apis/media/video-decoder.ts","../src/apis/media/video-processing.ts","../src/apis/media/voip.ts","../src/apis/navigate/index.ts","../src/apis/network/downloadFile.ts","../src/apis/network/mdns.ts","../src/apis/network/request.ts","../src/apis/network/tcp.ts","../src/apis/network/udp.ts","../src/apis/network/uploadFile.ts","../src/apis/network/webSocket.ts","../src/apis/open-api/account.ts","../src/apis/open-api/address.ts","../src/apis/open-api/authorize.ts","../src/apis/open-api/card.ts","../src/apis/open-api/channels-live.ts","../src/apis/open-api/customer-service.ts","../src/apis/open-api/device-voip.ts","../src/apis/open-api/facial.ts","../src/apis/open-api/favorites.ts","../src/apis/open-api/group.ts","../src/apis/open-api/invoice.ts","../src/apis/open-api/license-plate.ts","../src/apis/open-api/login.ts","../src/apis/open-api/my-miniprogram.ts","../src/apis/open-api/privacy.ts","../src/apis/open-api/red-package.ts","../src/apis/open-api/settings.ts","../src/apis/open-api/soter.ts","../src/apis/open-api/subscribe-message.ts","../src/apis/open-api/user-info.ts","../src/apis/open-api/werun.ts","../src/apis/payment/index.ts","../src/apis/route/index.ts","../src/apis/share/index.ts","../src/apis/storage/background-fetch.ts","../src/apis/storage/cache-manager.ts","../src/apis/storage/index.ts","../src/apis/ui/animation/animation.ts","../src/apis/ui/animation/index.ts","../src/apis/ui/background.ts","../src/apis/ui/custom-component.ts","../src/apis/ui/fonts.ts","../src/apis/ui/interaction/index.ts","../src/apis/ui/menu.ts","../src/apis/ui/navigation-bar/index.ts","../src/apis/ui/pull-down-refresh.ts","../src/apis/ui/scroll/index.ts","../src/apis/ui/sticky.ts","../src/apis/ui/tab-bar.ts","../src/apis/ui/window.ts","../src/apis/worker/index.ts","../src/apis/wxml/IntersectionObserver.ts","../src/apis/wxml/nodesRef.ts","../src/apis/wxml/selectorQuery.ts","../src/apis/wxml/index.ts","../src/apis/index.ts","../src/components/index.ts","../src/runtime-utils.ts","../src/runtime.ts"],"sourcesContent":["import { isFunction } from '@tarojs/shared'\n\nexport interface ICallbackResult {\n /** 错误信息 */\n errMsg: string\n}\ntype TFunc = (...args: any[]) => any\n\ntype TCallback<T = Partial<ICallbackResult>> = (res: T) => Promise<void> | void\ninterface IMethodParam<T = Partial<ICallbackResult>> {\n name: string\n success?: TCallback<T & ICallbackResult>\n fail?: TCallback\n complete?: TCallback<T | ICallbackResult>\n}\ninterface IMockPromise {\n resolve?: typeof Promise.resolve | TFunc\n reject?: typeof Promise.reject | TFunc\n}\n\nexport class MethodHandler<T = Partial<ICallbackResult>> {\n methodName: string\n\n protected __success?: TCallback<T>\n protected __fail?: TCallback\n protected __complete?: TCallback<T | ICallbackResult>\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<ICallbackResult> = {}, promise: IMockPromise = {}): Promise<T & U & ICallbackResult> {\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 as T)\n\n const { resolve = Promise.resolve.bind(Promise) } = promise\n return resolve(res as Required<T & U & ICallbackResult>)\n }\n\n fail<U = Record<string, unknown>> (res: Partial<T> & Partial<ICallbackResult> = {}, promise: IMockPromise = {}): Promise<T & U & ICallbackResult> {\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 as ICallbackResult)\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 & ICallbackResult>)\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 }\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","import { isArray, isNull, isObject, isString } from '@tarojs/shared'\n\ntype JSTypes = 'string' | 'number' | 'boolean' | 'undefined' | 'null' | 'bigint' | 'symbol' | 'array' | 'object' | 'function'\n\ntype NormalParamSchema = string[]\ntype ObjectParamSchema = Record<string, string>\n\ntype Schema = NormalParamSchema | ObjectParamSchema\n\ninterface ValidateParams {\n <T>(name: string, params: any, schema: Schema): asserts params is T\n}\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\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: string): string {\n if (!isString(string)) return string\n string = string.replace(/^./, match => match.toUpperCase())\n return string\n}\n\nfunction getType (param: string): JSTypes {\n if (isNull(param)) {\n return 'null'\n } else if (isArray(param)) {\n return 'array'\n } else {\n return typeof param\n }\n}\n\nexport function assertType (target: any, type: string, methodName: string, paramName?: string) {\n const correct = upperCaseFirstLetter(type)\n if (correct !== upperCaseFirstLetter(getType(target))) {\n const err = getParameterError({ name: methodName, para: paramName, correct, wrong: target })\n throw new Error(err)\n }\n}\n\n/**\n * 用于校验方法的参数类型\n * @param name 方法名称\n * @param params [array|object] 当前参数\n * @param schema [array|object] 参数类型规范\n * @example\n * ```js\n * // 例子一:\n * validateParams(methodA, [key], [string])\n * // 例子二:\n * validateParams(methodB, { key: 123 }, { key: number })\n * ```\n * @todo 校验可选参数\n */\nexport const validateParams: ValidateParams = function (name, params, schema) {\n if (isArray(schema) && isString(schema[0])) {\n schema.forEach((correctType, index) => assertType(params[index], correctType, name, `[${index}]`))\n } else if (isObject(schema)) {\n const optionsSchema = schema\n\n assertType(params, 'object', name)\n for (const key in optionsSchema) {\n assertType(params[key], optionsSchema[key], name, key)\n }\n }\n}\n","import { eventCenter } from '@tarojs/runtime/dist/runtime.esm'\n\nimport { ICallbackResult, MethodHandler } from './handler'\n\nimport type { FunctionType, IAsyncParams } from './types'\n\nexport * from './validate'\nexport { noop } from '@tarojs/shared'\n\nexport function object2String (obj) {\n let str = ''\n for (const item in obj) {\n str = str + item + ':' + obj[item] + ' \\n'\n }\n return str\n}\n\nexport function temporarilyNotSupport (name: string, recommended?: string) {\n return (option = {}, ...args) => {\n const { success, fail, complete } = option as any\n const handle = new MethodHandler({ name, success, fail, complete })\n let errMsg = '暂时不支持 API'\n if (recommended) {\n errMsg += `, 请使用 ${recommended}`\n }\n 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 permanentlyNotSupport (name = '') {\n return (option = {}, ...args: any[]) => {\n const { success, fail, complete } = option as any\n const handle = new MethodHandler<ICallbackResult>({ name, success, fail, complete })\n const errMsg = '不支持 API'\n 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\n/** @deprecated */\nexport function callCallbackSuccess<T extends FunctionType> (res, options?: IAsyncParams<T>) {\n options?.success?.(res)\n options?.complete?.(res)\n}\n\n/** @deprecated */\nexport function callCallbackFail<T extends FunctionType> (res, options?: IAsyncParams<T>) {\n options?.fail?.(res)\n options?.complete?.(res)\n}\n\n/** @deprecated */\nexport function callAsyncSuccess<T extends FunctionType> (resolve, res, options?: IAsyncParams<T>) {\n options?.success?.(res)\n options?.complete?.(res)\n resolve(res)\n}\n\n/** @deprecated */\nexport function callAsyncFail<T extends FunctionType> (reject, res, options?: IAsyncParams<T>) {\n options?.fail?.(res)\n options?.complete?.(res)\n reject(res)\n}\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","// 设备信息,从 API Version 6 开始支持\nimport deviceInfo from '@ohos.deviceInfo'\n// 显示设备属性,从 API Version 7 开始支持\nimport _display from '@ohos.display'\n// 从 API Version 7 开始支持\nimport i18n from '@ohos.i18n'\n// 设备信息 从API Version 6开始,该接口不再维护,推荐使用新接口'@ohos.deviceInfo'进行设备信息查询\nimport deviceMethod from '@system.device'\n\nimport { callAsyncFail, callAsyncSuccess } from '../utils'\n\nimport type Taro from '@tarojs/taro/types'\n\nconst display = _display.getDefaultDisplaySync()\n\nlet device\n\ndeviceMethod.getInfo({\n success: data => {\n device = data\n }\n})\n\n/* 同步版本 */\nexport const getSystemInfoSync: typeof Taro.getSystemInfoSync = function () {\n const res: any = {}\n res.SDKVersion = deviceInfo && deviceInfo.sdkApiVersion // 客户端基础库版本 string\n res.albumAuthorized = false // 允许使用相册的开关(仅 iOS 有效) boolean\n res.benchmarkLevel = null // 设备性能等级 number\n res.bluetoothEnabled = null // 蓝牙的系统开关 boolean\n res.brand = deviceInfo && deviceInfo.brand // 设备品牌 string\n res.cameraAuthorized = null // 允许使用摄像头的开关 boolean\n res.enableDebug = null // 是否已打开调试 boolean\n res.fontSizeSetting = null // 用户字体大小(单位px) number\n res.language = i18n && i18n.getSystemLanguage && i18n.getSystemLanguage() // string\n res.locationAuthorized = null // 定位的开关 boolean\n res.locationEnabled = null // 地理位置的系统开关 boolean\n res.microphoneAuthorized = null // 麦克风的开关 boolean\n res.model = deviceInfo && deviceInfo.deviceType // 设备型号 string\n res.notificationAuthorized = null // 通知的开关 boolean\n res.notificationAlertAuthorized = false // 通知带有提醒的开关(仅 iOS 有效) boolean\n res.notificationBadgeAuthorized = false // 通知带有标记的开关(仅 iOS 有效) boolean\n res.notificationSoundAuthorized = false // 通知带有声音的开关(仅 iOS 有效)boolean\n res.phoneCalendarAuthorized = null // 使用日历的开关 boolean\n res.wifiEnabled = false // Wi-Fi 的系统开关 boolean\n res.pixelRatio = null // 设备像素比,number\n res.platform = 'android' // 客户端平台 string\n res.safeArea = null // 在竖屏正方向下的安全区域 General.SafeAreaResult\n res.screenHeight = display && display.height // 屏幕高度,单位px number\n res.screenWidth = display && display.width // 屏幕宽度,单位px number\n res.statusBarHeight = null // 状态栏的高度,单位px number\n res.system = deviceInfo && deviceInfo.osFullName // 操作系统及版本 string\n res.theme = null // 系统当前主题,取值为light或dark 'light' | 'dark'\n res.windowWidth = device && device.windowWidth // 可使用窗口宽度,单位px number\n res.windowHeight = device && device.windowHeight // 可使用窗口高度,单位px number\n res.version = deviceInfo && deviceInfo.displayVersion // 版本号 string\n\n return res\n}\n/* 异步版本 */\nexport const getSystemInfo: typeof Taro.getSystemInfo = function (options) {\n let res = {}\n return new Promise((resolve, reject) => {\n try {\n res = getSystemInfoSync()\n callAsyncSuccess(resolve, res, options)\n } catch (error) {\n res = {\n errMsg: `getSystemInfo:fail ${error && error.toString && error.toString()}`,\n error: error\n }\n callAsyncFail(reject, res, options)\n }\n })\n}\n\nglobalThis.getSystemInfoSync = getSystemInfoSync\n","import { temporarilyNotSupport } from '../utils'\n\n// 更新\nexport const updateWeChatApp = /* @__PURE__ */ temporarilyNotSupport('updateWeChatApp')\nexport const getUpdateManager = /* @__PURE__ */ temporarilyNotSupport('getUpdateManager')\n","import errorManager from '@ohos.app.ability.errorManager'\n\nimport { temporarilyNotSupport } from '../../utils'\nimport { CallbackManager } from '../../utils/handler'\n\nimport type Taro from '@tarojs/taro/types'\n\nconst unhandledRejectionCallbackManager = new CallbackManager<[Taro.onUnhandledRejection.Result]>()\nconst errorCallbackManager = new CallbackManager<Parameters<Taro.onError.Callback>>()\n\nconst unhandledRejectionListener = (res: PromiseRejectionEvent) => {\n unhandledRejectionCallbackManager.trigger(res)\n}\n\nconst errorListener = (res: ErrorEvent) => {\n // @ts-ignore\n errorCallbackManager.trigger(res.stack || res.message || res)\n}\n\n// 应用级事件\nexport const onUnhandledRejection: typeof Taro.onUnhandledRejection = callback => {\n unhandledRejectionCallbackManager.add(callback)\n if (unhandledRejectionCallbackManager.count() === 1) {\n errorManager.on('error', {\n unhandledRejectionListener\n })\n }\n}\n\nexport const onThemeChange = /* @__PURE__ */ temporarilyNotSupport('onThemeChange')\nexport const onPageNotFound = /* @__PURE__ */ temporarilyNotSupport('onPageNotFound')\nexport const onLazyLoadError = /* @__PURE__ */ temporarilyNotSupport('onLazyLoadError')\n\nexport const onError: typeof Taro.onError = callback => {\n errorCallbackManager.add(callback)\n if (errorCallbackManager.count() === 1) {\n errorManager.on('error', {\n onException: errorListener\n })\n }\n}\n\nexport const onAudioInterruptionEnd = /* @__PURE__ */ temporarilyNotSupport('onAudioInterruptionEnd')\nexport const onAudioInterruptionBegin = /* @__PURE__ */ temporarilyNotSupport('onAudioInterruptionBegin')\n\nexport const onAppShow = /* @__PURE__ */ temporarilyNotSupport('onAppShow')\nexport const onAppHide = /* @__PURE__ */ temporarilyNotSupport('onAppHide')\n\nexport const offUnhandledRejection: typeof Taro.offUnhandledRejection = callback => {\n unhandledRejectionCallbackManager.remove(callback)\n if (unhandledRejectionCallbackManager.count() === 0) {\n errorManager.off('error', {\n unhandledRejectionListener\n })\n }\n}\n\nexport const offThemeChange = /* @__PURE__ */ temporarilyNotSupport('offThemeChange')\nexport const offPageNotFound = /* @__PURE__ */ temporarilyNotSupport('offPageNotFound')\nexport const offLazyLoadError = /* @__PURE__ */ temporarilyNotSupport('offLazyLoadError')\n\nexport const offError: typeof Taro.offError = callback => {\n errorCallbackManager.remove(callback)\n if (errorCallbackManager.count() === 0) {\n errorManager.off('error', {\n onException: errorListener\n })\n }\n}\n\nexport const offAudioInterruptionEnd = /* @__PURE__ */ temporarilyNotSupport('offAudioInterruptionEnd')\nexport const offAudioInterruptionBegin = /* @__PURE__ */ temporarilyNotSupport('offAudioInterruptionBegin')\n\nexport const offAppShow = /* @__PURE__ */ temporarilyNotSupport('offAppShow')\nexport const offAppHide = /* @__PURE__ */ temporarilyNotSupport('offAppHide')\n","import { eventCenter } from '@tarojs/runtime/dist/runtime.esm'\n\nimport type Taro from '@tarojs/taro/types'\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\neventCenter.once('__taroRouterLaunch', initLaunchOptions)\n\n// 生命周期\nexport const getLaunchOptionsSync: typeof Taro.getLaunchOptionsSync = () => launchOptions\nexport const getEnterOptionsSync: typeof Taro.getEnterOptionsSync = () => launchOptions\n","import { temporarilyNotSupport } from '../utils'\n\nexport const canIUse = /* @__PURE__ */ temporarilyNotSupport('canIUse')\nexport const arrayBufferToBase64 = /* @__PURE__ */ temporarilyNotSupport('arrayBufferToBase64')\nexport const base64ToArrayBuffer = /* @__PURE__ */ temporarilyNotSupport('base64ToArrayBuffer')\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 { temporarilyNotSupport } from '../utils'\n\n// 画布\n\n/** 创建离屏 canvas 实例 */\nexport const createOffscreenCanvas = /* @__PURE__ */ temporarilyNotSupport('createOffscreenCanvas')\n\n/** 创建 canvas 的绘图上下文 CanvasContext 对象 */\nexport const createCanvasContext = /* @__PURE__ */ temporarilyNotSupport('createOffscreenCanvas')\n\n/** 把当前画布指定区域的内容导出生成指定大小的图片 */\nexport const canvasToTempFilePath = /* @__PURE__ */ temporarilyNotSupport('createOffscreenCanvas')\n\n/** 将像素数据绘制到画布 */\nexport const canvasPutImageData = /* @__PURE__ */ temporarilyNotSupport('createOffscreenCanvas')\n\n/** 获取 canvas 区域隐含的像素数据 */\nexport const canvasGetImageData = /* @__PURE__ */ temporarilyNotSupport('createOffscreenCanvas')\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 sensor from '@ohos.sensor'\r\n\r\nimport { CallbackManager, MethodHandler } from '../utils/handler'\r\n\r\nimport type Taro from '@tarojs/taro/types'\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 sensor.off(sensor.SensorType.SENSOR_TYPE_ID_ACCELEROMETER, devicemotionListener)\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 * 1000 * 1000,\r\n frequency: 50\r\n },\r\n ui: {\r\n interval: 60 * 1000 * 1000,\r\n frequency: 16.67\r\n },\r\n normal: {\r\n interval: 200 * 1000 * 1000,\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 const intervalObj = INTERVAL_MAP[interval]\r\n if (devicemotionListener) {\r\n stopAccelerometer()\r\n }\r\n sensor.on(sensor.SensorType.SENSOR_TYPE_ID_ACCELEROMETER, (data) => {\r\n callbackManager.trigger({\r\n x: data?.x || 0,\r\n y: data?.y || 0,\r\n z: data?.z || 0\r\n })\r\n }, {\r\n interval: intervalObj.interval,\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 batteryInfo, { BatteryChargeState } from '@ohos.batteryInfo'\n\nimport { MethodHandler } from '../utils/handler'\n\nimport type Taro from '@tarojs/taro/types'\n\n// 电量\n\nexport const getBatteryInfoSync: typeof Taro.getBatteryInfoSync = () => ({\n // @ts-ignore\n isCharging: [BatteryChargeState.ENABLE, BatteryChargeState.FULL].includes(batteryInfo.chargingStatus),\n level: batteryInfo.batterySOC\n})\n\nexport const getBatteryInfo: typeof Taro.getBatteryInfo = async ({ success, fail, complete } = {}) => {\n const handle = new MethodHandler<Taro.getBatteryInfo.SuccessCallbackResult>({ name: 'getBatteryInfo', success, fail, complete })\n try {\n return handle.success(getBatteryInfoSync())\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 { temporarilyNotSupport } from '../utils'\n\n// 日历\nexport const addPhoneRepeatCalendar = temporarilyNotSupport('addPhoneRepeatCalendar')\nexport const addPhoneCalendar = temporarilyNotSupport('addPhoneCalendar')\n","// 从 API Version 6 开始支持\r\nimport pasteboard from '@ohos.pasteboard'\r\nimport { isString } from '@tarojs/shared'\r\n\r\nimport { callAsyncFail, getParameterError, object2String } from '../utils'\r\nimport { MethodHandler } from '../utils/handler'\r\n\r\nimport type Taro from '@tarojs/taro/types'\r\n\r\n/**\r\n * 设置系统剪贴板的内容\r\n */\r\nexport const setClipboardData: typeof Taro.setClipboardData = function (options) {\r\n const { data, success, fail, complete } = options\r\n const handle = new MethodHandler<{ data: string }>({ name: 'setClipboardData', success, fail, complete })\r\n let res = {}\r\n\r\n if (!isString(data)) {\r\n return handle.fail({\r\n errMsg: getParameterError({\r\n para: 'data',\r\n correct: 'String',\r\n wrong: data\r\n })\r\n })\r\n }\r\n\r\n return new Promise((resolve, reject) => {\r\n const systemPasteboard = pasteboard.getSystemPasteboard()\r\n const pasteData = pasteboard.createPlainTextData(data)\r\n\r\n systemPasteboard.setPasteData(pasteData, (error, data) => { // callback形式调用异步接口\r\n if (error) {\r\n console.error('Failed to set PasteData. Cause: ' + JSON.stringify(error))\r\n res = {\r\n errMsg: 'setClipboardData:fail,error: ' + object2String(error),\r\n error: error\r\n }\r\n callAsyncFail(reject, res, options)\r\n } else {\r\n return handle.success({\r\n data,\r\n }, { resolve, reject })\r\n }\r\n })\r\n })\r\n}\r\n\r\n/**\r\n * 获取系统剪贴板的内容\r\n */\r\nexport const getClipboardData: typeof Taro.getClipboardData = function (options) {\r\n const { success, fail, complete } = options || {}\r\n const handle = new MethodHandler({ name: 'getClipboardData', success, fail, complete })\r\n return new Promise((resolve, reject) => {\r\n const systemPasteboard = pasteboard.getSystemPasteboard()\r\n systemPasteboard.getPasteData((error, pasteData) => { // callback 形式调用异步接口\r\n if (error) {\r\n console.error('Failed to obtain PasteData. Cause: ' + JSON.stringify(error))\r\n return handle.fail({\r\n errMsg: object2String(error),\r\n }, { resolve, reject })\r\n } else {\r\n return handle.success({\r\n data: pasteData.getPrimaryText(),\r\n }, { resolve, reject })\r\n }\r\n })\r\n })\r\n}\r\n","import { temporarilyNotSupport } from '../utils'\r\n\r\n/**\r\n * 停止监听罗盘数据\r\n */\r\nexport const stopCompass = temporarilyNotSupport('stopCompass')\r\n\r\n/**\r\n * 开始监听罗盘数据\r\n */\r\nexport const startCompass = temporarilyNotSupport('startCompass')\r\n\r\n/**\r\n * 监听罗盘数据变化事件。频率:5 次/秒,接口调用后会自动开始监听,可使用 wx.stopCompass 停止监听。\r\n */\r\nexport const onCompassChange = temporarilyNotSupport('onCompassChange')\r\n\r\n/**\r\n * 取消监听罗盘数据变化事件,参数为空,则取消所有的事件监听。\r\n */\r\nexport const offCompassChange = temporarilyNotSupport('offCompassChange')\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 inputMethodEngine from '@ohos.inputMethodEngine'\nimport { Current, window } from '@tarojs/runtime'\n\nimport { temporarilyNotSupport } from '../utils'\nimport { CallbackManager, MethodHandler } from '../utils/handler'\n\nimport type Taro from '@tarojs/taro/types'\n\nconst callbackManager = new CallbackManager()\n\nconst resizeListener = (height) => {\n callbackManager.trigger({\n height,\n })\n}\n\nlet topWindow: ReturnType<typeof window.__ohos.getLastWindow>\n\nexport const onKeyboardHeightChange: typeof Taro.onKeyboardHeightChange = callback => {\n callbackManager.add(callback)\n if (callbackManager.count() === 1) {\n (Current as any).contextPromise\n .then(context => {\n const win = window.__ohos.getLastWindow(context)\n win.then(mainWindow => {\n topWindow = mainWindow\n topWindow.on('keyboardHeightChange', resizeListener)\n })\n })\n }\n}\n\nexport const offKeyboardHeightChange: typeof Taro.offKeyboardHeightChange = callback => {\n callbackManager.remove(callback)\n if (callbackManager.count() === 0) {\n topWindow?.off('keyboardHeightChange', resizeListener)\n }\n}\n\n// @ts-ignore\nlet keyboardController: inputMethodEngine.KeyboardController\ninputMethodEngine.getInputMethodAbility()\n // FIXME 当前事件无效,等待鸿蒙方面沟通\n .on('inputStart', (kbController) => {\n keyboardController = kbController\n })\n\nexport const hideKeyboard: typeof Taro.hideKeyboard = function (options) {\n const { success, fail, complete } = options || {}\n const handle = new MethodHandler({ name: 'hideKeyboard', success, fail, complete })\n return new Promise((resolve, reject) => {\n keyboardController?.hide((err) => {\n if (err) {\n return handle.fail({\n errMsg: err,\n }, { resolve, reject })\n }\n return handle.success({}, { resolve, reject })\n })\n })\n}\n\nexport const getSelectedTextRange = /* @__PURE__ */ temporarilyNotSupport('getSelectedTextRange')\n","import { hooks } from '@tarojs/runtime'\n\nexport const onMemoryWarning = (listener) => {\n hooks.tap('getMemoryLevel', (res) => {\n listener(res)\n })\n}\n\nexport const offMemoryWarning = (listener) => {\n hooks.off('getMemoryLevel', listener)\n}\n","import { temporarilyNotSupport } from '../utils'\r\n\r\nexport const stopDeviceMotionListening = temporarilyNotSupport('stopDeviceMotionListening')\r\nexport const startDeviceMotionListening = temporarilyNotSupport('startDeviceMotionListening')\r\nexport const onDeviceMotionChange = temporarilyNotSupport('onDeviceMotionChange')\r\nexport const offDeviceMotionChange = temporarilyNotSupport('offDeviceMotionChange')\r\n","// 网络状态,从API Version 7 开始,该接口不再维护,推荐使用新接口'@ohos.telephony.observer'\n// 但是新接口 @ohos.telephony.observer 没有network.getType。而且网络状态枚举值不清楚\nimport network from '@system.network'\n\nimport { temporarilyNotSupport } from '../utils'\nimport { CallbackManager, MethodHandler } from '../utils/handler'\n\nimport type Taro from '@tarojs/taro/types'\n\nexport const getNetworkType: typeof Taro.getNetworkType = (options = {}) => {\n const { success, fail, complete } = options\n const handle = new MethodHandler<Taro.getNetworkType.SuccessCallbackResult & { code: unknown, metered: boolean }>({ name: 'getNetworkType', success, fail, complete })\n\n return new Promise((resolve, reject) => {\n network.getType({\n success: function (data) {\n return handle.success({\n networkType: data.type || 'unknown',\n metered: data.metered\n }, { resolve, reject })\n },\n fail: function (data, code) {\n return handle.fail({\n errMsg: data || '',\n code\n }, { resolve, reject })\n },\n })\n })\n}\n\nconst networkStatusManager = new CallbackManager()\n\nconst networkStatusListener = async (data, code = 0) => {\n if (code > 0) {\n return networkStatusManager.trigger({ isConnected: false, networkType: 'none' })\n }\n const networkType = data.type || 'unknown'\n const isConnected = networkType !== 'none'\n const metered = !!data.metered\n const obj = { isConnected, networkType, metered }\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 const name = 'onNetworkStatusChange'\n const handle = new MethodHandler<Partial<Taro.onNetworkStatusChange.CallbackResult>>({ name, complete: callback })\n try {\n networkStatusManager.add(callback)\n if (networkStatusManager.count() === 1) {\n network.subscribe({\n success: networkStatusListener,\n fail: networkStatusListener,\n })\n }\n } catch (error) {\n handle.fail({\n errMsg: error\n })\n }\n}\n\nexport const offNetworkWeakChange = /* @__PURE__ */ temporarilyNotSupport('offNetworkWeakChange')\n\nexport const offNetworkStatusChange: typeof Taro.offNetworkStatusChange = callback => {\n const name = 'offNetworkStatusChange'\n const handle = new MethodHandler<Partial<Taro.onNetworkStatusChange.CallbackResult>>({ name, complete: callback })\n try {\n networkStatusManager.remove(callback)\n if (networkStatusManager.count() === 0) {\n network.unsubscribe()\n }\n } catch (error) {\n handle.fail({\n errMsg: error\n })\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","// 从 API Version 7 开始支持。\nimport call from '@ohos.telephony.call'\nimport { isString } from '@tarojs/shared'\n\nimport { getParameterError, object2String, shouldBeObject } from '../utils'\nimport { MethodHandler } from '../utils/handler'\n\nimport type Taro from '@tarojs/taro/types'\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 (!isString(phoneNumber)) {\n return handle.fail({\n errMsg: getParameterError({\n para: 'phoneNumber',\n correct: 'String',\n wrong: phoneNumber\n })\n })\n }\n\n return new Promise((resolve, reject) => {\n call.makeCall(phoneNumber, err => {\n if (err) {\n console.error('Failed to makePhoneCall. Cause: ' + JSON.stringify(err))\n return handle.fail({\n errMsg: object2String(err)\n }, { resolve, reject })\n } else {\n return handle.success({}, { resolve, reject })\n }\n })\n })\n}\n","import { temporarilyNotSupport } from '../utils'\n\n// 扫码\nexport const scanCode = /* @__PURE__ */ temporarilyNotSupport('scanCode')\n","// 从API Version 7 开始,该接口不再维护,推荐使用新接口'@ohos.brightness'\n// 但是 新接口 @ohos.brightness 没有 getValue\nimport brightness from '@system.brightness'\nimport { isNumber } from '@tarojs/shared'\n\nimport { getParameterError, shouldBeObject, temporarilyNotSupport } from '../utils'\nimport { MethodHandler } from '../utils/handler'\n\nimport type Taro from '@tarojs/taro/types'\n\n// 屏幕\nexport const setVisualEffectOnCapture = /* @__PURE__ */ temporarilyNotSupport('setVisualEffectOnCapture')\n\nexport const setScreenBrightness: typeof Taro.setScreenBrightness = function (options) {\n // options must be an Object\n const isObject = shouldBeObject(options)\n if (!isObject.flag) {\n const res = { errMsg: `setScreenBrightness:fail ${isObject.msg}` }\n console.error(res.errMsg)\n return Promise.reject(res)\n }\n\n const { value, success, fail, complete } = options\n const handle = new MethodHandler<{ code: unknown }>({ name: 'setScreenBrightness', success, fail, complete })\n\n if (!isNumber(value)) {\n return handle.fail({\n errMsg: getParameterError({\n para: 'value',\n correct: 'Number',\n wrong: value\n })\n })\n }\n\n return new Promise((resolve, reject) => {\n brightness.setValue({\n // FIXME 不生效\n value: value >= 0 && value <= 1 ? value * 255 : value,\n success: function () {\n return handle.success({}, { resolve, reject })\n },\n fail: function (data, code) {\n return handle.fail({\n errMsg: data || '',\n code\n }, { resolve, reject })\n }\n })\n })\n}\n\nexport const setKeepScreenOn = /* @__PURE__ */ temporarilyNotSupport('setKeepScreenOn')\nexport const onUserCaptureScreen = /* @__PURE__ */ temporarilyNotSupport('onUserCaptureScreen')\nexport const offUserCaptureScreen = /* @__PURE__ */ temporarilyNotSupport('offUserCaptureScreen')\n\nexport const getScreenBrightness: typeof Taro.getScreenBrightness = function (options) {\n const { success, fail, complete } = options || {}\n const handle = new MethodHandler<Taro.getScreenBrightness.SuccessCallbackOption & { code: unknown }>({ name: 'getScreenBrightness', success, fail, complete })\n\n return new Promise((resolve, reject) => {\n brightness.getValue({\n success: function (data) {\n return handle.success({\n value: data.value\n }, { resolve, reject })\n },\n fail: function (data, code) {\n return handle.fail({\n errMsg: data || '',\n code\n }, { resolve, reject })\n }\n })\n })\n}\n\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')\n","import vibrator from '@ohos.vibrator'\n\nimport { MethodHandler } from '../utils/handler'\n\nimport type Taro from '@tarojs/taro/types'\n\nconst VIBRATOR_LONG_TIME = 400\nconst VIBRATOR_SHORT_TIME = 15\n\nfunction vibrateBaseGenerator (duration: number, name = '') {\n return ({ success, fail, complete }: Taro.vibrateLong.Option = {}) => {\n const handle = new MethodHandler({ name, success, fail, complete })\n return new Promise((resolve, reject) => {\n vibrator.startVibration({\n type: 'time',\n duration,\n }, {\n usage: 'unknown'\n }, (error) => {\n if (error) {\n return handle.fail({\n errMsg: `vibrate fail, error.code: ${error.code}; error.message: ${error.message}`\n }, { resolve, reject })\n }\n return handle.success({}, { resolve, reject })\n })\n })\n }\n}\n\nexport const vibrateLong = vibrateBaseGenerator(VIBRATOR_LONG_TIME, 'vibrateLong')\nexport const vibrateShort = vibrateBaseGenerator(VIBRATOR_SHORT_TIME, 'vibrateShort')\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","/**\n * HarmonyOS 文档:\n * https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-fileio-0000001168366687\n *\n * WX 文档:\n * https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.html\n *\n * Taro.js 文档\n * https://taro-docs.jd.com/taro/docs/apis/files/FileSystemManager\n *\n * HarmonyOS 不支持接口:\n * readCompressedFile\n * readCompressedFileSync\n * readdirSync\n * readZipEntry\n *\n * HarmonyOS 差异性接口:\n * readFile:encoding 仅支持 utf-8\n * readFileSync:encoding 仅支持 utf-8\n * write:encoding 仅支持 utf-8\n * writeSync:encoding 仅支持 utf-8\n * rmdirSync:recursive 参数无效(即不支持递归删除)\n * statSync:recursive 参数无效(即不支持递归获取目录下的每个文件的 Stats 信息)\n * getSavedFileList:返回值 fileList 中的每一项不包含 createTime 属性\n */\n\nimport fileio from '@ohos.fileio'\nimport zlib from '@ohos.zlib'\nimport app from '@system.app'\nimport file from '@system.file'\nimport { isNumber, isString } from '@tarojs/shared'\n\nimport { callCallbackFail, callCallbackSuccess, temporarilyNotSupport, validateParams } from '../utils'\n\nimport type Taro from '@tarojs/taro/types'\n\nconst rootDataPath = `/data/data/${app.getInfo()?.appID || 'app'}`\nconst rootSavedFilePath = `${rootDataPath}/files`\n\nconst pathSchema = {\n path: 'String'\n}\n\nconst copyFileSchema = {\n srcPath: 'String',\n destPath: 'String'\n}\n\nconst filePathSchema = {\n filePath: 'String'\n}\n\nconst dirPathSchema = {\n dirPath: 'String'\n}\n\nconst readSchema = {\n fd: 'String',\n arrayBuffer: 'Object'\n}\n\nconst writeSchema = {\n fd: 'String',\n data: 'String'\n}\n\nconst renameSchema = {\n newPath: 'String',\n oldPath: 'String'\n}\n\nconst fdSchema = {\n fd: 'String'\n}\n\nconst saveFileSchema = {\n tempFilePath: 'String'\n}\n\nconst unzipSchema = {\n targetPath: 'String',\n zipFilePath: 'String'\n}\ninterface ReadOption {\n offset?: number\n length?: number\n position?: number\n}\n\ninterface WriteOption extends ReadOption {\n encoding: 'utf-8'\n}\n\ninterface ReadFileOption {\n position?: number\n length?: number\n encoding: 'utf-8'\n}\ninterface ReadResult {\n bytesRead: number\n arrayBuffer: ArrayBuffer\n}\n\ninterface WriteResult {\n bytesWritten: number\n}\n\ninterface StatWithFdResult {\n stats: Taro.Stats | null\n error: Taro.FileSystemManager.StatFailCallbackResult | null\n}\n\ninterface GetDirFilesResult {\n files: string[]\n dirs: string[]\n}\n\nfunction convertFilePathToUri (filePath: string): string {\n let uri = filePath.replace(/\\/+/g, '/').replace(rootDataPath, 'internal:').replace('internal:/files', 'internal:/app')\n uri = /\\/$/.test(uri) ? uri : `${uri}/`\n return uri.replace(/\\//g, '//')\n}\n\nfunction convertUriToFilePath (uri: string): string {\n return uri.replace(/\\/+/g, '/').replace('internal:/app', 'internal:/files').replace('internal:', rootDataPath)\n}\n\nfunction convertDataToString (data: string | ArrayBuffer): string {\n if (isString(data)) {\n return data\n }\n return String.fromCharCode.apply(null, new Uint8Array(data))\n}\n\nfunction convertReadOption (option: Taro.FileSystemManager.ReadOption | Taro.FileSystemManager.ReadSyncOption): ReadOption {\n const result: ReadOption = {}\n const { offset, length, position } = option\n if (isNumber(offset)) {\n result.offset = offset\n }\n if (isNumber(length)) {\n result.length = length\n }\n if (isNumber(position)) {\n result.position = position\n }\n return result\n}\n\nfunction convertWriteOption (option: Taro.FileSystemManager.WriteOption | Taro.FileSystemManager.WriteSyncOption): WriteOption {\n const result: WriteOption = {\n encoding: 'utf-8'\n }\n const { offset, length, position } = option\n if (isNumber(offset)) {\n result.offset = offset\n }\n if (isNumber(length)) {\n result.length = length\n }\n if (isNumber(position)) {\n result.position = position\n }\n return result\n}\n\nfunction convertReadFileOption (option: Taro.FileSystemManager.ReadFileOption): ReadFileOption {\n const result: ReadFileOption = {\n encoding: 'utf-8'\n }\n const { position, length } = option\n if (isNumber(position)) {\n result.position = position\n }\n if (isNumber(length)) {\n result.length = length\n }\n return result\n}\n\nfunction convertFd (fd: string): number {\n return parseInt(fd, 10)\n}\n\n/**\n * HarmonyOS flag 详情参见:\n * https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-fileio-0000001168366687#section1153565865716\n */\nfunction convertOpenFlag (flag?: keyof Taro.FileSystemManager.flag): number {\n if (typeof flag === 'string') {\n switch (flag) {\n case 'a':\n return 0o1 | 0o100 | 0o2000\n case 'ax':\n return 0o1 | 0o100 | 0o2000 | 0o200\n case 'a+':\n return 0o2 | 0o100 | 0o2000\n case 'ax+':\n return 0o2 | 0o100 | 0o2000 | 0o200\n case 'as':\n return 0o1 | 0o100 | 0o2000 | 0o4010000\n case 'as+':\n return 0o2 | 0o100 | 0o2000 | 0o4010000\n case 'r':\n return 0o0\n case 'r+':\n return 0o2\n case 'w':\n return 0o1 | 0o100 | 0o1000\n case 'wx':\n return 0o1 | 0o100 | 0o200\n case 'w+':\n return 0o2 | 0o100 | 0o1000\n case 'wx+':\n return 0o2 | 0o100 | 0o200\n default:\n return 0o0\n }\n } else {\n return 0o0\n }\n}\n\nexport function validateSavedFilePath (savedFilePath: string) {\n if (savedFilePath.indexOf(rootSavedFilePath) !== 0) {\n throw new Error(`The filePath should in ${rootSavedFilePath}`)\n }\n}\n\nfunction parseSavedFilePath (srcPath: string, savedFilePath: string | undefined) : string {\n if (isString(savedFilePath) && savedFilePath.length > 0) {\n validateSavedFilePath(savedFilePath)\n return savedFilePath\n }\n return `${rootSavedFilePath}/${srcPath.split('/').pop()}`\n}\n\nfunction isFileExist (filePath: string): boolean {\n try {\n accessSync(filePath)\n return true\n } catch (_) {\n return false\n }\n}\n\nfunction getDirFiles (dirPath: string): Promise<GetDirFilesResult> {\n return new Promise((resolve, reject) => {\n file.list({\n uri: convertFilePathToUri(dirPath),\n success: ({ fileList }) => {\n resolve({\n files: fileList.filter(({ type }) => type.toLowerCase() === 'file').map(({ uri }) => convertUriToFilePath(uri)),\n dirs: fileList.filter(({ type }) => type.toLowerCase() === 'dir').map(({ uri }) => convertUriToFilePath(uri))\n })\n },\n fail: (error) => {\n reject(new Error(error))\n }\n })\n })\n}\n\nconst readCompressedFile = temporarilyNotSupport('readCompressedFile')\n\nfunction readCompressedFileSync (_: Taro.FileSystemManager.readCompressedFileSync.Option): ArrayBuffer {\n temporarilyNotSupport('readCompressedFileSync')(_)\n return new ArrayBuffer(0)\n}\n\nfunction readdirSync (_: string): string[] {\n temporarilyNotSupport('readdirSync')(_)\n return []\n}\n\nconst readZipEntry = temporarilyNotSupport('readZipEntry')\n\nfunction access (option: Taro.FileSystemManager.AccessOption) {\n try {\n validateParams('access', option, pathSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callCallbackFail(res, option)\n }\n fileio.access(option.path, (error) => {\n if (error) {\n const res = { errMsg: error.message ? error.message : error }\n callCallbackFail(res, option)\n } else {\n callCallbackSuccess(undefined, option)\n }\n })\n}\n\nfunction accessSync (path: string) {\n fileio.accessSync(path)\n}\n\nfunction mkdir (option: Taro.FileSystemManager.MkdirOption) {\n try {\n validateParams('mkdir', option, dirPathSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callCallbackFail(res, option)\n }\n file.mkdir({\n uri: convertFilePathToUri(option.dirPath),\n recursive: option.recursive,\n success: () => callCallbackSuccess(undefined, option),\n fail: (error, code) => {\n const res = { errMsg: `mkdir invoke failed, code: ${code}, error: ${error}` }\n callCallbackFail(res, option)\n }\n })\n}\n\nfunction mkdirSync (dirPath: string, recursive?: boolean) {\n if (recursive === true) {\n const pathParts = dirPath.split('/')\n for (let index = 0; index < pathParts.length; index++) {\n const filePath = pathParts.slice(0, index + 1).join('/')\n if (filePath.length === 0 || isFileExist(filePath)) {\n continue\n }\n fileio.mkdirSync(filePath)\n }\n } else {\n fileio.mkdirSync(dirPath)\n }\n}\n\nfunction rmdir (option: Taro.FileSystemManager.RmdirOption) {\n try {\n validateParams('rmdir', option, dirPathSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callCallbackFail(res, option)\n }\n file.rmdir({\n uri: convertFilePathToUri(option.dirPath),\n recursive: option.recursive,\n success: () => callCallbackSuccess(undefined, option),\n fail: (error, code) => {\n const res = { errMsg: `rmdir invoke failed, code: ${code}, error: ${error}` }\n callCallbackFail(res, option)\n }\n })\n}\n\nfunction rmdirSync (dirPath: string, recursive?: boolean) {\n if (recursive === true) {\n temporarilyNotSupport('rmdirSync recursive')(dirPath)\n } else {\n fileio.rmdirSync(dirPath)\n }\n}\n\nfunction readdir (option: Taro.FileSystemManager.ReaddirOption) {\n try {\n validateParams('readdir', option, dirPathSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callCallbackFail(res, option)\n }\n\n getDirFiles(option.dirPath).then(({ files, dirs }) => {\n callCallbackSuccess({ files: [...files, ...dirs] }, option)\n }).catch((error) => {\n const res = { errMsg: error.message }\n callCallbackFail(res, option)\n })\n}\n\nfunction copyFile (option: Taro.FileSystemManager.CopyFileOption) {\n try {\n validateParams('copyFile', option, copyFileSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callCallbackFail(res, option)\n }\n fileio.copyFile(option.srcPath, option.destPath, 0, (error) => {\n if (error) {\n const res = { errMsg: error.message ? error.message : error }\n callCallbackFail(res, option)\n } else {\n callCallbackSuccess(undefined, option)\n }\n })\n}\n\nfunction copyFileSync (srcPath: string, destPath: string) {\n fileio.copyFileSync(srcPath, destPath, 0)\n}\n\nfunction open (option: Taro.FileSystemManager.OpenOption) {\n try {\n validateParams('open', option, filePathSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callCallbackFail(res, option)\n }\n // 由于 HarmonyOS 异步方法 fileio.open 在【文件不存在则创建】模式下依旧抛出 No such file or directory 异常,\n // 为保证接口的可用性,此处降级使用 fileio.openSync 方法。\n const openPromise = new Promise((resolve, reject) => {\n try {\n const fd = fileio.openSync(option.filePath, convertOpenFlag(option.flag), 0o666)\n resolve({ fd: fd.toString() })\n } catch (error) {\n reject(new Error(error.message ? error.message : error))\n }\n })\n openPromise.then((res) => callCallbackSuccess(res, option))\n .catch((error) => callCallbackFail({ errMsg: error.message }, option))\n}\n\nfunction openSync (option: Taro.FileSystemManager.OpenSyncOption): string {\n validateParams('openSync', option, filePathSchema)\n return fileio.openSync(option.filePath, convertOpenFlag(option.flag), 0o666).toString()\n}\n\nfunction read (option: Taro.FileSystemManager.ReadOption) {\n try {\n validateParams('read', option, readSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callCallbackFail(res, option)\n }\n\n fileio.read(convertFd(option.fd), option.arrayBuffer, convertReadOption(option), (error, readOut) => {\n if (error) {\n const res = { errMsg: error.message ? error.message : error }\n callCallbackFail(res, option)\n } else {\n callCallbackSuccess({ bytesRead: readOut.bytesRead, arrayBuffer: readOut.buffer }, option)\n }\n })\n}\n\nfunction readSync (option: Taro.FileSystemManager.ReadSyncOption): ReadResult {\n validateParams('readSync', option, readSchema)\n return {\n bytesRead: fileio.readSync(convertFd(option.fd), option.arrayBuffer, convertReadOption(option)),\n arrayBuffer: option.arrayBuffer\n }\n}\n\n/**\n * HarmonyOS encoding 目前仅支持 utf-8,详情参见:\n * https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-fileio-0000001168366687#section17477155374810\n */\nfunction readFile (option: Taro.FileSystemManager.ReadFileOption) {\n try {\n validateParams('readFile', option, filePathSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callCallbackFail(res, option)\n }\n\n fileio.readText(option.filePath, convertReadFileOption(option), (error, data) => {\n if (error) {\n const res = { errMsg: error.message ? error.message : error }\n callCallbackFail(res, option)\n } else {\n callCallbackSuccess({ data }, option)\n }\n })\n}\n\n/**\n * HarmonyOS encoding 目前仅支持 utf-8,详情参见:\n * https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-fileio-0000001168366687#section4147155065718\n */\nfunction readFileSync (filePath: string, encoding?: keyof Taro.FileSystemManager.Encoding, position?: number, length?: number): string | ArrayBuffer {\n return fileio.readTextSync(filePath, convertReadFileOption({ filePath, encoding, length, position }))\n}\n\n/**\n * HarmonyOS encoding 目前仅支持 utf-8,详情参见:\n * https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-fileio-0000001168366687#section140547195118\n */\nfunction write (option: Taro.FileSystemManager.WriteOption) {\n const data = convertDataToString(option.data)\n try {\n validateParams('write', { ...option, data }, writeSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callCallbackFail(res, option)\n }\n fileio.write(convertFd(option.fd), data, convertWriteOption(option), (error, bytesWritten) => {\n if (error) {\n const res = { errMsg: error.message ? error.message : error }\n callCallbackFail(res, option)\n } else {\n callCallbackSuccess({ bytesWritten }, option)\n }\n })\n}\n\n/**\n * HarmonyOS encoding 目前仅支持 utf-8,详情参见:\n * https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-fileio-0000001168366687#section144923345218\n */\nfunction writeSync (option: Taro.FileSystemManager.WriteSyncOption): WriteResult {\n const data = convertDataToString(option.data)\n validateParams('writeSync', { ...option, data }, writeSchema)\n return {\n bytesWritten: fileio.writeSync(convertFd(option.fd), data, convertWriteOption(option))\n }\n}\n\nfunction writeFileWithFlag (option: Taro.FileSystemManager.WriteFileOption, flag: keyof Taro.FileSystemManager.flag) {\n open({\n flag,\n filePath: option.filePath,\n success: ({ fd }) => {\n const writePromise = new Promise((resolve) => {\n write({\n fd,\n data: option.data,\n success: (res) => resolve({\n error: null,\n res\n }),\n fail: (res) => resolve({\n error: res,\n res: null\n })\n })\n })\n writePromise.then(({ error, res }) => {\n close({\n fd,\n success: () => {\n if (error === null) {\n callCallbackSuccess(res, option)\n } else {\n callCallbackFail(error, option)\n }\n },\n fail: (res) => callCallbackFail(res, option)\n })\n })\n },\n fail: (res) => callCallbackFail(res, option)\n })\n}\n\nfunction writeFile (option: Taro.FileSystemManager.WriteFileOption) {\n writeFileWithFlag(option, 'w')\n}\n\nfunction writeFileSyncWithFlag (filePath: string, data: string | ArrayBuffer, flag: keyof Taro.FileSystemManager.flag) {\n const fd = openSync({ filePath, flag })\n writeSync({ fd, data })\n closeSync({ fd })\n}\n\nfunction writeFileSync (filePath: string, data: string | ArrayBuffer) {\n writeFileSyncWithFlag(filePath, data, 'w')\n}\n\nfunction appendFile (option: Taro.FileSystemManager.AppendFileOption) {\n writeFileWithFlag(option, 'a')\n}\n\nfunction appendFileSync (filePath: string, data: string | ArrayBuffer) {\n writeFileSyncWithFlag(filePath, data, 'a')\n}\n\nfunction rename (option: Taro.FileSystemManager.RenameOption) {\n try {\n validateParams('rename', option, renameSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callCallbackFail(res, option)\n }\n fileio.rename(option.oldPath, option.newPath, (error) => {\n if (error) {\n const res = { errMsg: error.message ? error.message : error }\n callCallbackFail(res, option)\n } else {\n callCallbackSuccess(undefined, option)\n }\n })\n}\n\nfunction renameSync (oldPath: string, newPath: string) {\n fileio.renameSync(oldPath, newPath)\n}\n\nfunction unlink (option: Taro.FileSystemManager.UnlinkOption) {\n try {\n validateParams('unlink', option, filePathSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callCallbackFail(res, option)\n }\n\n fileio.unlink(option.filePath, (error) => {\n if (error) {\n const res = { errMsg: error.message ? error.message : error }\n callCallbackFail(res, option)\n } else {\n callCallbackSuccess(undefined, option)\n }\n })\n}\n\nfunction unlinkSync (filePath: string) {\n fileio.unlinkSync(filePath)\n}\n\nfunction fstat (option: Taro.FileSystemManager.FstatOption) {\n try {\n validateParams('fstat', option, fdSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callCallbackFail(res, option)\n }\n fileio.fstat(convertFd(option.fd), (error, stats) => {\n if (error) {\n const res = { errMsg: error.message ? error.message : error }\n callCallbackFail(res, option)\n } else {\n const res = {\n mode: stats.mode.toString(),\n size: stats.size,\n lastAccessedTime: stats.atime,\n lastModifiedTime: stats.mtime,\n isDirectory: () => stats.isDirectory(),\n isFile: () => stats.isFile()\n }\n callCallbackSuccess({ stats: res }, option)\n }\n })\n}\n\nfunction fstatSync (option: Taro.FileSystemManager.FstatSyncOption): Taro.Stats {\n validateParams('fstatSync', option, fdSchema)\n const stats = fileio.fstatSync(convertFd(option.fd))\n return {\n mode: stats.mode.toString(),\n size: stats.size,\n lastAccessedTime: stats.atime,\n lastModifiedTime: stats.mtime,\n isDirectory: () => stats.isDirectory(),\n isFile: () => stats.isFile()\n }\n}\n\nfunction statWithFd (fd: string): Promise<StatWithFdResult> {\n return new Promise((resolve) => {\n fstat({\n fd,\n success: ({ stats }) => resolve({\n stats,\n error: null\n }),\n fail: (error) => resolve({\n error,\n stats: null\n })\n })\n })\n}\n\nfunction statWithPath (path: string): Promise<Taro.Stats> {\n return new Promise((resolve, reject) => {\n open({\n filePath: path,\n flag: 'r',\n success: ({ fd }) => {\n statWithFd(fd).then(({ error, stats }) => {\n close({\n fd,\n success: () => {\n if (error === null) {\n resolve(stats!)\n } else {\n reject(error)\n }\n },\n fail: (error) => reject(error)\n })\n })\n },\n fail: (error) => reject(error)\n })\n })\n}\n\nasync function statWithRecursive (rootPath: string): Promise<Record<string, Taro.Stats>> {\n let result: Record<string, Taro.Stats> = {}\n const { files, dirs } = await getDirFiles(rootPath)\n for (const dir of dirs) {\n result[dir] = await statWithPath(dir)\n result = {\n ...result,\n ...(await statWithRecursive(dir))\n }\n }\n for (const file of files) {\n result[file] = await statWithPath(file)\n }\n return result\n}\n\nfunction stat (option: Taro.FileSystemManager.StatOption) {\n try {\n validateParams('fstat', option, pathSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callCallbackFail(res, option)\n }\n\n const statPromise = option.recursive === true ? statWithRecursive(option.path) : statWithPath(option.path)\n statPromise.then((stats) => {\n callCallbackSuccess({ stats }, option)\n }).catch((error) => {\n const res = { errMsg: error.message ? error.message : error }\n callCallbackFail(res, option)\n })\n}\n\nfunction statSync (path: string, recursive?: boolean): Taro.Stats | any {\n if (recursive === true) {\n return temporarilyNotSupport('statSync recursive')(path)\n }\n const fd = openSync({ filePath: path, flag: 'r' })\n const stats = fstatSync({ fd })\n closeSync({ fd })\n return stats\n}\n\nfunction getFileInfo (option: Taro.FileSystemManager.getFileInfoOption) {\n statWithPath(option.filePath).then((stats) => {\n callCallbackSuccess({ size: stats.size }, option)\n }).catch((error) => {\n const res = { errMsg: error.message ? error.message : error }\n callCallbackFail(res, option)\n })\n}\n\nfunction getSavedFileList (option: Taro.FileSystemManager.getSavedFileListOption) {\n statWithRecursive(rootSavedFilePath).then((stats) => {\n const fileList = Object.keys(stats).map((filePath) => {\n const file = stats[filePath]\n if (file.isFile()) {\n return {\n filePath,\n size: file.size\n }\n }\n return null\n }).filter((file) => file !== null)\n callCallbackSuccess({ fileList }, option)\n }).catch((error) => {\n const res = { errMsg: error.message ? error.message : error }\n callCallbackFail(res, option)\n })\n}\n\nfunction ftruncate (option: Taro.FileSystemManager.FtruncateOption) {\n try {\n validateParams('ftruncate', option, fdSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callCallbackFail(res, option)\n }\n\n fileio.ftruncate(convertFd(option.fd), option.length ?? 0, (error) => {\n if (error) {\n const res = { errMsg: error.message ? error.message : error }\n callCallbackFail(res, option)\n } else {\n callCallbackSuccess(undefined, option)\n }\n })\n}\n\nfunction ftruncateSync (option: Taro.FileSystemManager.FtruncateSyncOption) {\n validateParams('ftruncateSync', option, fdSchema)\n fileio.ftruncateSync(convertFd(option.fd), option.length ?? 0)\n}\n\nfunction truncate (option: Taro.FileSystemManager.TruncateOption) {\n try {\n validateParams('truncate', option, filePathSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callCallbackFail(res, option)\n }\n\n fileio.truncate(option.filePath, option.length ?? 0, (error) => {\n if (error) {\n const res = { errMsg: error.message ? error.message : error }\n callCallbackFail(res, option)\n } else {\n callCallbackSuccess(undefined, option)\n }\n })\n}\n\nfunction truncateSync (option: Taro.FileSystemManager.TruncateSyncOption) {\n validateParams('truncateSync', option, filePathSchema)\n fileio.truncateSync(option.filePath, option.length ?? 0)\n}\n\nfunction close (option: Taro.FileSystemManager.CloseOption) {\n try {\n validateParams('close', option, fdSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callCallbackFail(res, option)\n }\n fileio.close(convertFd(option.fd), (error) => {\n if (error) {\n const res = { errMsg: error.message ? error.message : error }\n callCallbackFail(res, option)\n } else {\n callCallbackSuccess(undefined, option)\n }\n })\n}\n\nfunction closeSync (option: Taro.FileSystemManager.CloseSyncOption) {\n validateParams('closeSync', option, fdSchema)\n fileio.closeSync(convertFd(option.fd))\n}\n\nfunction saveFile (option: Taro.FileSystemManager.SaveFileOption) {\n try {\n validateParams('saveFile', option, saveFileSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callCallbackFail(res, option)\n }\n\n try {\n const savedFilePath = parseSavedFilePath(option.tempFilePath, option.filePath)\n rename({\n oldPath: option.tempFilePath,\n newPath: savedFilePath,\n success: () => {\n callCallbackSuccess({ savedFilePath }, option)\n },\n fail: (res) => {\n callCallbackFail(res, option)\n }\n })\n } catch (error) {\n const res = { errMsg: error.message }\n return callCallbackFail(res, option)\n }\n}\n\nfunction saveFileSync (tempFilePath: string, filePath?: string): string {\n const savedFilePath = parseSavedFilePath(tempFilePath, filePath)\n renameSync(tempFilePath, savedFilePath)\n return savedFilePath\n}\n\nfunction removeSavedFile (option: Taro.FileSystemManager.RemoveSavedFileOption) {\n try {\n validateParams('removeSavedFile', option, filePathSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callCallbackFail(res, option)\n }\n try {\n validateSavedFilePath(option.filePath)\n } catch (error) {\n const res = { errMsg: error.message }\n return callCallbackFail(res, option)\n }\n unlink(option)\n}\n\nfunction unzip (option: Taro.FileSystemManager.UnzipOption) {\n try {\n validateParams('unzip', option, unzipSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callCallbackFail(res, option)\n }\n zlib.unzipFile(option.zipFilePath, option.targetPath).then(() => {\n callCallbackSuccess(undefined, option)\n }).catch(error => {\n const res = { errMsg: error.message ? error.message : error }\n callCallbackFail(res, option)\n })\n}\n\nexport function getFileSystemManager (): Taro.FileSystemManager {\n return {\n access,\n accessSync,\n appendFile,\n appendFileSync,\n close,\n closeSync,\n copyFile,\n copyFileSync,\n fstat,\n fstatSync,\n ftruncate,\n ftruncateSync,\n getFileInfo,\n getSavedFileList,\n mkdir,\n mkdirSync,\n open,\n openSync,\n read,\n readCompressedFile,\n readCompressedFileSync,\n readdir,\n readdirSync,\n readFile,\n readFileSync,\n readSync,\n readZipEntry,\n removeSavedFile,\n rename,\n renameSync,\n rmdir,\n rmdirSync,\n saveFile,\n saveFileSync,\n stat,\n statSync,\n truncate,\n truncateSync,\n unlink,\n unlinkSync,\n unzip,\n write,\n writeFile,\n writeFileSync,\n writeSync\n }\n}\n","/**\n * HarmonyOS 文档:\n * https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-fileio-0000001168366687\n *\n * WX 文档:\n * https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.saveFileToDisk.html\n *\n * Taro.js 文档\n * https://taro-docs.jd.com/taro/docs/apis/files/saveFileToDisk\n *\n * HarmonyOS 不支持接口:\n * saveFileToDisk\n *\n * HarmonyOS 差异性接口:\n * openDocument:showMenu、type 选项无效\n * getSavedFileList:返回值 fileList 中的每一项不包含 createTime 属性\n * getSavedFileInfo:返回值不包含 createTime 属性\n */\n\nimport document from '@ohos.document'\nimport fileio from '@ohos.fileio'\n\nimport { callAsyncFail, callAsyncSuccess, temporarilyNotSupport, validateParams } from '../utils'\nimport { getFileSystemManager, validateSavedFilePath } from './manager'\n\nimport type Taro from '@tarojs/taro/types'\n\nconst filePathSchema = {\n filePath: 'String'\n}\n\nexport const saveFileToDisk = temporarilyNotSupport('saveFileToDisk')\n\n/**\n * HarmonyOS 不支持 showMenu 选项,并且 type 目前仅支持 *,详情参见:\n * https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-document-0000001168936589#section9616125953711\n */\nexport function openDocument (option: Taro.openDocument.Option): Promise<any> {\n return new Promise((resolve, reject) => {\n try {\n validateParams('access', option, filePathSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callAsyncFail(reject, res, option)\n }\n document.show(option.filePath, '*', (error) => {\n if (error) {\n const res = { errMsg: error.message ? error.message : error }\n return callAsyncFail(reject, res, option)\n } else {\n callAsyncSuccess(resolve, undefined, option)\n }\n })\n })\n}\n\nexport function saveFile (option: Taro.saveFile.Option): Promise<any> {\n return new Promise((resolve, reject) => {\n const fileSystemManager = getFileSystemManager()\n fileSystemManager.saveFile({\n tempFilePath: option.tempFilePath,\n filePath: option.filePath,\n success: (res) => {\n callAsyncSuccess(resolve, res, option)\n },\n fail: (res) => {\n callAsyncFail(reject, res, option)\n }\n })\n })\n}\n\nexport function removeSavedFile (option: Taro.removeSavedFile.Option): Promise<any> {\n return new Promise((resolve, reject) => {\n const fileSystemManager = getFileSystemManager()\n fileSystemManager.removeSavedFile({\n filePath: option.filePath,\n success: (res) => {\n callAsyncSuccess(resolve, res, option)\n },\n fail: (res) => {\n callAsyncFail(reject, res, option)\n }\n })\n })\n}\n\nexport function getFileInfo (option: Taro.getFileInfo.Option): Promise<Taro.getFileInfo.SuccessCallbackResult | Taro.getFileInfo.FailCallbackResult> {\n return new Promise((resolve, reject) => {\n const fileSystemManager = getFileSystemManager()\n fileSystemManager.getFileInfo({\n filePath: option.filePath,\n success: ({ size }) => {\n fileio.hash(option.filePath, option.digestAlgorithm ?? 'md5').then((digest) => {\n callAsyncSuccess(resolve, { size, digest }, option)\n }).catch((error) => {\n const res = { errMsg: error.message ? error.message : error }\n callAsyncFail(reject, res, option)\n })\n },\n fail: (res) => {\n callAsyncFail(reject, res, option)\n }\n })\n })\n}\n\nexport function getSavedFileList (option?: Taro.getSavedFileList.Option): Promise<Taro.getSavedFileList.SuccessCallbackResult> {\n return new Promise((resolve, reject) => {\n const fileSystemManager = getFileSystemManager()\n fileSystemManager.getSavedFileList({\n success: (res) => callAsyncSuccess(resolve, res, option),\n fail: (res) => callAsyncFail(reject, res, option)\n })\n })\n}\n\nexport function getSavedFileInfo (option: Taro.getSavedFileInfo.Option): Promise<Taro.getSavedFileInfo.SuccessCallbackResult> {\n return new Promise((resolve, reject) => {\n try {\n validateParams('getSavedFileInfo', option, filePathSchema)\n validateSavedFilePath(option.filePath)\n } catch (error) {\n const res = { errMsg: error.message }\n return callAsyncFail(reject, res, option)\n }\n const fileSystemManager = getFileSystemManager()\n fileSystemManager.getFileInfo({\n filePath: option.filePath,\n success: ({ size }) => callAsyncSuccess(resolve, { size }, option),\n fail: (res) => callAsyncFail(reject, res, option)\n })\n })\n}\n\nexport { getFileSystemManager }\n","import { Current } from '@tarojs/runtime'\n\nimport { temporarilyNotSupport } from '../utils'\n\nexport const ENV_TYPE = {\n WEAPP: 'WEAPP',\n SWAN: 'SWAN',\n ALIPAY: 'ALIPAY',\n TT: 'TT',\n QQ: 'QQ',\n JD: 'JD',\n WEB: 'WEB',\n RN: 'RN',\n HARMONY: 'HARMONY',\n QUICKAPP: 'QUICKAPP'\n}\n\nexport function getEnv () {\n return ENV_TYPE.HARMONY\n}\n\nexport { Current }\n\n// TODO\nexport const getCurrentPages = () => []\n\nexport const getCurrentInstance = () => Current\n\nexport const requirePlugin = temporarilyNotSupport('requirePlugin')\n\nexport { eventCenter, Events, History } from '@tarojs/runtime/dist/runtime.esm'\n","// @ts-nocheck\n// HarmonyOS 文档: https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-geolocation-0000001199568865#section13752433138\n// WX 文档: https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.onLocationChange.html\n// ✅ wx.offLocationChange\n// ✅ wx.getLocation\n// ✅ wx.onLocationChange\n\n// 不支持实现\n// ❌ wx.startLocationUpdateBackground\n// ❌ wx.onLocationChangeError\n// ❌ wx.offLocationChangeError\n// ❌ wx.openLocation 地图相关\n// ❌ wx.choosePoi 地图相关\n// ❌ wx.chooseLocation 地图相关\n// ❌ wx.stopLocationUpdate\n// ❌ wx.startLocationUpdate\n\nimport geoLocationManager from '@ohos.geoLocationManager'\n\nimport { callAsyncFail, callAsyncSuccess, temporarilyNotSupport, validateParams } from '../utils'\nimport { MethodHandler } from '../utils/handler'\n\nimport type Taro from '@tarojs/taro/types'\n\n// 位置\nexport const stopLocationUpdate = /* @__PURE__ */ temporarilyNotSupport('stopLocationUpdate')\nexport const startLocationUpdateBackground = /* @__PURE__ */ temporarilyNotSupport('startLocationUpdateBackground')\nexport const startLocationUpdate = /* @__PURE__ */ temporarilyNotSupport('startLocationUpdate')\nexport const openLocation = /* @__PURE__ */ temporarilyNotSupport('openLocation')\n\nfunction formatLocation (location: Location) {\n const wxLocate = {\n latitude: location.latitude,\n longitude: location.longitude,\n altitude: location.altitude,\n accuracy: location.accuracy,\n speed: location.speed,\n verticalAccuracy: 0, // OHOS 不支持返回此参数,直接设置为默认值\n horizontalAccuracy: 0 // OHOS 不支持返回此参数,直接设置为默认值\n }\n return wxLocate\n}\n// TODO:增加参数校验\n// const getLocationSchema = {\n// type: 'String',\n// altitude: 'Boolean',\n// ishighAccuracy: 'Boolean',\n// highAccuracyExpireTime: 'number'\n// }\n\nexport const getLocation: typeof Taro.getLocation = function (options = {}) {\n return new Promise((resolve, reject) => {\n /**\n * ohos 有 priority, scenario, maxAccuracy, timeoutMs\n * wx 有 type, altitude, isHighAccuracy, highAccuracyExpireTime\n * 二者参数不一致\n */\n const { type, altitude, isHighAccuracy, highAccuracyExpireTime } = options\n try {\n return geoLocationManager.getCurrentLocation({\n type,\n altitude,\n isHighAccuracy,\n highAccuracyExpireTime\n }).then((location: Location) => {\n if (location.code !== 0) {\n callAsyncFail(reject, location, options)\n } else {\n const wxLocate = formatLocation(location.data)\n callAsyncSuccess(resolve, wxLocate, options)\n }\n }).catch(error => {\n callAsyncFail(reject, error, options)\n })\n } catch (error) {\n callAsyncFail(reject, error, options)\n }\n })\n}\n\nexport const onLocationChange: typeof Taro.onLocationChange = function (callback) {\n const name = 'onLocationChange'\n const handle = new MethodHandler<Partial<Taro.onLocationChange.CallbackResult>>({ name, complete: callback })\n try {\n validateParams(name, [callback], ['Function'])\n geoLocationManager.on('locationChange', {}, (location: Location) => {\n if (location) {\n const wxLocate = formatLocation(location)\n callback(wxLocate)\n }\n })\n } catch (error) {\n handle.fail({\n errMsg: error\n })\n }\n}\n\nexport const offLocationChange: typeof Taro.offLocationChange = function (callback) {\n const name = 'offLocationChange'\n const handle = new MethodHandler<Partial<Taro.onLocationChange.CallbackResult>>({ name, complete: callback })\n try {\n validateParams(name, [callback], ['Function'])\n geoLocationManager.off('locationChange', (location: Location) => {\n const status = {\n errCode: 200,\n errMsg: location ? 'offLocationChange is off' : 'offLocationChange err'\n }\n\n if (callback) {\n callback(status)\n }\n })\n } catch (error) {\n handle.fail({\n errMsg: error\n })\n }\n}\n\nexport const onLocationChangeError = /* @__PURE__ */ temporarilyNotSupport('onLocationChangeError')\nexport const offLocationChangeError = /* @__PURE__ */ temporarilyNotSupport('offLocationChangeError')\n\nexport const choosePoi = /* @__PURE__ */ temporarilyNotSupport('choosePoi')\nexport const chooseLocation = /* @__PURE__ */ temporarilyNotSupport('chooseLocation')\nexport const getFuzzyLocation = /* @__PURE__ */ temporarilyNotSupport('getFuzzyLocation')\n","import { temporarilyNotSupport } from '../../utils'\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 = /* @__PURE__ */ temporarilyNotSupport('createInnerAudioContext')\r\n\r\nexport const createAudioContext = /* @__PURE__ */ temporarilyNotSupport('createAudioContext')\r\n","import { temporarilyNotSupport } from '../../utils'\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 = /* @__PURE__ */ temporarilyNotSupport('getBackgroundAudioManager')\n","import { temporarilyNotSupport } from '../utils'\n\nimport type Taro from '@tarojs/taro/types'\n\n// 相机\nclass CameraContext implements Taro.CameraContext {\n onCameraFrame = temporarilyNotSupport('CameraContext.onCameraFrame') as unknown as Taro.CameraContext['onCameraFrame']\n setZoom = temporarilyNotSupport('CameraContext.setZoom')\n startRecord = temporarilyNotSupport('CameraContext.startRecord')\n stopRecord = temporarilyNotSupport('CameraContext.stopRecord')\n takePhoto = temporarilyNotSupport('CameraContext.takePhoto')\n}\n\nexport const createCameraContext: typeof Taro.createCameraContext = (_?: string) => {\n return new CameraContext()\n}\n","// HarmonyOS 文档链接:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-media-0000001103383404\n// WX 文档链接:https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.previewMedia.html\n// ✅ wx.previewMedia(Object object)\n// ✅ wx.chooseMedia\n\nimport mediaLibrary from '@ohos.multimedia.mediaLibrary'\n\nimport { callAsyncFail, callAsyncSuccess, validateParams } from '../utils'\n\nimport type Taro from '@tarojs/taro/types'\n\ninterface IPreviewImagesOptionsOHOS {\n images: Array<string>\n index: number\n}\n\ninterface IChooseMediaOptionsOHOS {\n type: string\n count: number\n}\n\nconst previewMediaSchema = {\n sources: 'Array'\n}\n\n// TODO: 扩展支持预览video\nexport const previewMedia: typeof Taro.previewMedia = function (options) {\n return new Promise((resolve, reject) => {\n try {\n validateParams('previewMedia', options, previewMediaSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callAsyncFail(reject, res, options)\n }\n const { sources, current } = options\n const urls: Array<string> = []\n for (const s of sources) {\n if (s.type === 'image') {\n urls.push(s.url)\n }\n }\n const previewImageOptions: IPreviewImagesOptionsOHOS = {\n images: urls,\n index: current || 0\n }\n mediaLibrary.getMediaLibrary().startImagePreview(previewImageOptions.images, previewImageOptions.index).then((value) => {\n callAsyncSuccess(resolve, value, options)\n }).catch((error) => {\n callAsyncFail(reject, error, options)\n })\n })\n}\n\nexport const chooseMedia: typeof Taro.chooseMedia = function (options) {\n return new Promise((resolve, reject) => {\n try {\n validateParams('chooseMedia', [options], ['Object'])\n } catch (error) {\n const res = { errMsg: error.message }\n return callAsyncFail(reject, res, options)\n }\n const { count = 9, mediaType = ['image'] } = options\n // HarmonyOS不支持image和video同时选择\n // TODO: 不支持视频拍摄,无现成组件,后续需要封装\n const mediaSelectOptions: IChooseMediaOptionsOHOS = {\n count,\n type: mediaType[0]\n }\n mediaLibrary.getMediaLibrary().startMediaSelect(mediaSelectOptions).then((value) => {\n callAsyncSuccess(resolve, value, options)\n }).catch((error) => {\n callAsyncFail(reject, error, options)\n })\n })\n}\n","// HarmonyOS 图片模块首批接口从API version 7开始支持。\n// HarmonyOS 文档链接:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-image-0000001122977382\n// WX 文档链接:https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.saveImageToPhotosAlbum.html\n\n// ✅ wx.getImageInfo(Object object) API7以上支持\n// ✅ wx.compressImage(Object object) API7以上支持\n// ✅ wx.chooseImage(Object object)\n// ❌ wx.chooseMessageFile(Object object) HarmonyOS不支持\n// ❌ wx.saveImageToPhotosAlbum(Object object) api 9+ HarmonyOS不支持\n// ❌ wx.previewImage(Object object) api 9+ HarmonyOS不支持\n\nimport picker from '@ohos.file.picker'\nimport image from '@ohos.multimedia.image'\nimport { isNull } from '@tarojs/shared'\n\nimport { callAsyncFail, callAsyncSuccess, temporarilyNotSupport, validateParams } from '../../utils'\n\nimport type Taro from '@tarojs/taro/types'\n\ninterface IPackingOptionOHOS {\n format: string\n quality: number\n}\n\nconst getImageInfoSchema = {\n url: 'String'\n}\n\nconst compressImageSchema = {\n url: 'String'\n}\n\nconst chooseImageSchema = {\n count: 'Number'\n}\n\nconst photoSelectOptions = new picker.PhotoSelectOptions()\n\nexport const getImageInfo: typeof Taro.getImageInfo = function (options) {\n return new Promise((resolve, reject) => {\n try {\n validateParams('getImageInfo', options, getImageInfoSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callAsyncFail(reject, res, options)\n }\n const { src } = options\n // FIX: 调试发现在版本api7中 source 为 undefined, 需鸿蒙侧确认\n const source = image.createImageSource(src)\n if (isNull(source)) {\n const createImageSourceError = { errMsg: 'getImageInfo fail: createImageSource has failed.' }\n callAsyncFail(reject, createImageSourceError, options)\n return\n }\n source.getImageInfo().then((value) => {\n callAsyncSuccess(resolve, value, options)\n }).catch((error) => {\n callAsyncFail(reject, error, options)\n })\n })\n}\n\nexport const compressImage: typeof Taro.compressImage = function (options) {\n return new Promise((resolve, reject) => {\n try {\n validateParams('compressImage', options, compressImageSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callAsyncFail(reject, res, options)\n }\n const { src, quality = 80 } = options\n\n const source = image.createImageSource(src)\n if (isNull(source)) {\n const createImageSourceError = { errMsg: 'compressImage fail: createImageSource has failed.' }\n callAsyncFail(reject, createImageSourceError, options)\n return\n }\n\n const packer = image.createImagePacker(src)\n if (isNull(packer)) {\n const createImagePackerError = { errMsg: 'compressImage fail: createImagePacker has failed.' }\n callAsyncFail(reject, createImagePackerError, options)\n }\n\n const packingOptionsOHOS: IPackingOptionOHOS = {\n // TODO:需要获取文件名后缀\n format: 'image/jpeg',\n quality: quality\n }\n packer.packing(source, packingOptionsOHOS).then((value) => {\n callAsyncSuccess(resolve, value, options)\n }).catch((error) => {\n callAsyncFail(reject, error, options)\n })\n })\n}\n\nexport const chooseImage: typeof Taro.chooseImage = function (options) {\n return new Promise((resolve, reject) => {\n try {\n validateParams('chooseImage', options, chooseImageSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callAsyncFail(reject, res, options)\n }\n\n const { count = 9 } = options\n const photoViewPicker = new picker.PhotoViewPicker()\n\n photoSelectOptions.maxSelectNumber = count // 选择媒体文件的最大数目\n photoSelectOptions.MIMEType = picker.PhotoViewMIMETypes.IMAGE_TYPE // 过滤选择媒体文件类型为IMAGE\n\n photoViewPicker.select(photoSelectOptions).then((photoSelectResult) => {\n callAsyncSuccess(resolve, { tempFilePaths: photoSelectResult.photoUris })\n }).catch((error) => {\n callAsyncFail(reject, error, options)\n })\n })\n}\n\nexport const previewImage = temporarilyNotSupport('previewImage')\nexport const saveImageToPhotosAlbum = temporarilyNotSupport('saveImageToPhotosAlbum')\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","// @ts-nocheck\nimport { document } from '@tarojs/runtime'\n\nimport { temporarilyNotSupport } from '../../utils'\n\nimport type { TaroVideoElement } from '@tarojs/runtime'\nimport type Taro from '@tarojs/taro/types'\n\nexport class VideoContext implements Taro.VideoContext {\n id: string\n\n video: TaroVideoElement\n\n controller: VideoController\n\n constructor (id: string) {\n this.id = id\n this.video = document.getElementById(id)\n\n if (this.video) {\n this.controller = this.video.controller\n }\n }\n\n play () {\n if (!this.controller) return\n\n this.controller.play()\n }\n\n pause () {\n if (!this.controller) return\n\n this.controller.pause()\n }\n\n stop () {\n if (!this.controller) return\n\n this.controller.stop()\n }\n\n seek (position: number) {\n if (!this.controller) return\n\n this.controller.setCurrentTime(position)\n }\n\n requestFullScreen () {\n if (!this.controller) return\n\n this.controller.requestFullscreen(true)\n }\n\n exitFullScreen () {\n if (!this.controller) return\n\n this.controller.exitFullscreen()\n }\n\n requestBackgroundPlayback = temporarilyNotSupport('VideoContext.requestBackgroundPlayback')\n exitBackgroundPlayback = temporarilyNotSupport('VideoContext.exitBackgroundPlayback')\n exitPictureInPicture = temporarilyNotSupport('VideoContext.exitPictureInPicture')\n hideStatusBar = temporarilyNotSupport('VideoContext.hideStatusBar')\n playbackRate = temporarilyNotSupport('VideoContext.playbackRate')\n sendDanmu = temporarilyNotSupport('VideoContext.sendDanmu')\n showStatusBar = temporarilyNotSupport('VideoContext.showStatusBar')\n}\n","// HarmonyOS 文档链接:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-media-0000001103383404\n// WX 文档链接:https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.chooseVideo.html\n// ✅ wx.saveVideoToPhotosAlbum\n// ❌ wx.openVideoEditor\n// ❌ wx.getVideoInfo\n// ❌ wx.createVideoContext\n// ❌ wx.compressVideo\n// ✅ wx.chooseVideo\n// VideoContext\n// ❌ VideoContext.exitBackgroundPlayback\n// ❌ VideoContext.exitFullScreen\n// ❌ VideoContext.exitPictureInPicture\n// ❌ VideoContext.hideStatusBar\n// ❌ VideoContext.pause\n// ❌ VideoContext.play\n// ❌ VideoContext.playbackRate\n// ❌ VideoContext.requestBackgroundPlayback\n// ❌ VideoContext.requestFullScreen\n// ❌ VideoContext.seek\n// ❌ VideoContext.sendDanmu\n// ❌ VideoContext.showStatusBar\n// ❌ VideoContext.stop\n\nimport mediaLibrary from '@ohos.multimedia.mediaLibrary'\n\nimport { callAsyncFail, callAsyncSuccess, temporarilyNotSupport, validateParams } from '../../utils'\nimport { VideoContext } from './VideoContext'\n\nimport type { TaroAny } from '@tarojs/runtime'\nimport type Taro from '@tarojs/taro/types'\n\ninterface IChooseVideoOptionOHOS {\n type: string\n count: number\n}\n\ninterface ISaveVideoToPhotosAlbumOptionsOHOS {\n src: string\n mimeType: string\n relativePath?: string\n}\n\nconst saveVideoToPhotosAlbumSchema = {\n filePath: 'String'\n}\n\nexport const createVideoContext: typeof Taro.createVideoContext = (id: string, _: TaroAny) => {\n return new VideoContext(id)\n}\n\n// TODO: 1.返回属性补全\n// TODO: 2.只支持从相册选择,补充摄像头拍摄功能,需要HarmonyOS提供选择组件\nexport const chooseVideo: typeof Taro.chooseVideo = function (options = {}) {\n return new Promise((resolve, reject) => {\n try {\n validateParams('chooseVideo', [options], ['Object'])\n } catch (error) {\n const res = { errMsg: error.message }\n return callAsyncFail(reject, res, options)\n }\n const chooseVideoOptionsOHOS: IChooseVideoOptionOHOS = {\n type: 'video',\n count: 1\n }\n mediaLibrary.getMediaLibrary().startMediaSelect(chooseVideoOptionsOHOS).then((value) => {\n callAsyncSuccess(resolve, { tempFilePaths: value })\n }).catch((error) => {\n callAsyncFail(reject, error, options)\n })\n })\n}\n\nexport const compressVideo = /* @__PURE__ */ temporarilyNotSupport('compressVideo')\nexport const getVideoInfo = /* @__PURE__ */ temporarilyNotSupport('getVideoInfo')\nexport const openVideoEditor = /* @__PURE__ */ temporarilyNotSupport('openVideoEditor')\n\nexport const saveVideoToPhotosAlbum: typeof Taro.saveVideoToPhotosAlbum = function (options) {\n return new Promise((resolve, reject) => {\n try {\n validateParams('saveVideoToPhotosAlbum', options, saveVideoToPhotosAlbumSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callAsyncFail(reject, res, options)\n }\n const { filePath } = options\n const saveVideoToPhotosAlbumOptions: ISaveVideoToPhotosAlbumOptionsOHOS = {\n src: filePath,\n // TODO:需要获取文件名后缀,'video/mp4'、'video/3gpp'等\n mimeType: 'video/mp4'\n }\n mediaLibrary.getMediaLibrary().storeMediaAsset(saveVideoToPhotosAlbumOptions).then((value) => {\n callAsyncSuccess(resolve, value, options)\n }).catch((error) => {\n callAsyncFail(reject, error, options)\n })\n })\n}\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","// HarmonyOS 文档链接:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-request-0000001123753962#section455311474372\n// WX 文档链接:https://developers.weixin.qq.com/miniprogram/dev/api/network/download/wx.downloadFile.html\n// ✅ wx.downloadFile (BETA)7+,因为使用了 query 和 on('complete')\n// ✅ DownloadTask.abort\n// ✅ DownloadTask.offProgressUpdate\n// ✅ DownloadTask.onProgressUpdate\n// ❌ DownloadTask.onHeadersReceived 此接口 ohos 不支持\n// ❌ DownloadTask.offHeadersReceived 此接口 ohos 不支持\n\nimport request from '@ohos.request'\nimport Taro, { DownloadTask } from '@tarojs/taro'\n\nimport { callAsyncFail, callAsyncSuccess, validateParams } from '../utils'\n\ninterface IDownloadConfigOHOS {\n url: string\n header?: any\n filePath?: string\n enableMetered?: boolean // ohos参数\n enableRoaming?: boolean // ohos参数\n description?: string // ohos参数\n networkType?: number // ohos参数\n title?: string // ohos参数\n}\n\nconst downloadFileSchema = {\n url: 'String'\n}\n\nexport const downloadFile: typeof Taro.downloadFile = function (options) {\n let downloadTask: any = {}\n\n const downloadTaskWX: any = new Promise((resolve, reject) => {\n const { url, header, filePath } = options\n\n try {\n validateParams('downloadFile', options, downloadFileSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callAsyncFail(reject, res, options)\n }\n\n const ohosParams: IDownloadConfigOHOS = {\n url\n }\n if (header) ohosParams.header = header\n if (filePath) ohosParams.filePath = filePath\n\n request.download(ohosParams).then((dataDownload:any) => {\n downloadTask = dataDownload\n\n // TODO: 建议鸿蒙优化 complete 回调接口。\n // ohos 的 complete 回调不返回任何下载信息,需要调用 query 查询后,在 complete 和 fail 中调用回调返回\n downloadTask.query().then(dataQuery => {\n downloadTask.on('complete', () => {\n dataQuery.status = dataQuery.statusCode\n callAsyncSuccess(resolve, dataQuery, options)\n })\n downloadTask.on('fail', (err) => {\n const res = {\n errMsg: err\n }\n callAsyncFail(reject, res, options)\n })\n }).catch((err) => {\n callAsyncFail(reject, err, options)\n })\n }).catch((err) => {\n callAsyncFail(reject, err, options)\n })\n })\n downloadTaskWX.abort = function () {\n downloadTask.remove((err: any, data: any) => {\n if (err) {\n return err\n }\n return data\n })\n }\n downloadTaskWX.offProgressUpdate = function offProgressUpdate (callback: DownloadTask.OnProgressUpdateCallback) {\n validateParams('offProgressUpdate', [callback], ['Function'])\n downloadTask.off('progress', (receivedSize: number, totalSize: number) => {\n const totalBytesWritten: number = receivedSize * 1024\n const totalBytesExpectedToWrite: number = totalSize * 1024\n // TODO: 进度应该保留几位小数?暂时保留6位\n const progress: number = +(receivedSize / totalSize).toFixed(6)\n const progressParams = {\n totalBytesWritten,\n totalBytesExpectedToWrite,\n progress,\n errMsg: 'Cancel progress listening is done.'\n }\n callback(progressParams)\n })\n }\n // wx 单位是 Bytes,ohos 单位是 KBytes\n downloadTaskWX.onProgressUpdate = function (callback: DownloadTask.OnProgressUpdateCallback) {\n validateParams('onProgressUpdate', [callback], ['Function'])\n downloadTask.on('progress', (receivedSize: number, totalSize: number) => {\n const totalBytesWritten: number = receivedSize * 1024\n const totalBytesExpectedToWrite: number = totalSize * 1024\n // TODO: 进度应该保留几位小数?暂时保留6位\n const progress: number = +(receivedSize / totalSize).toFixed(6)\n const progressParams: DownloadTask.OnProgressUpdateCallbackResult = {\n totalBytesWritten,\n totalBytesExpectedToWrite,\n progress\n }\n callback(progressParams)\n })\n }\n return downloadTaskWX\n}\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","// HarmonyOS 文档链接:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-net-http-0000001168304341\n// WX 文档链接:https://developers.weixin.qq.com/miniprogram/dev/api/network/request/wx.request.html\n// ✅ wx.request\n// ✅ RequestTask.abort\n// ✅ RequestTask.offHeadersReceived\n// ✅ RequestTask.onHeadersReceived\n\nimport http from '@ohos.net.http'\nimport { isString, isUndefined } from '@tarojs/shared'\n\nimport { callAsyncFail, callAsyncSuccess, validateParams } from '../utils'\n\nimport type Taro from '@tarojs/taro/types'\n\nconst METHOD: string [] = ['OPTIONS', 'GET', 'HEAD', 'POST', 'PUT', 'DELETE', 'TRACE', 'CONNECT']\n\ninterface IRequestResultOHOS {\n result: string | any\n responseCode: number\n header\n}\n\ninterface IRequestParamsOHOS {\n method?: string\n header?: any\n extraData?: any | string\n readTimeout?: number\n connectTimeout?: number\n}\n\nconst requestSchema = {\n url: 'String'\n}\n\nexport const request: typeof Taro.request = function (options) {\n let httpRequestOhos: ReturnType<typeof http.createHttp>\n\n const requestTask: any = new Promise((resolve, reject) => {\n try {\n httpRequestOhos = http.createHttp()\n } catch (error) {\n const res = { errMsg: error }\n return callAsyncFail(reject, res, options)\n }\n\n const { url, method, header = {}, timeout, dataType, data } = options\n\n try {\n validateParams('send', options, requestSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callAsyncFail(reject, res, options)\n }\n\n const keyOfContentType = Object.keys(header).find(item => item.toLowerCase() === 'content-type')\n\n if (!keyOfContentType) {\n header['Content-Type'] = 'application/json'\n }\n\n // 检查 Header 是否有 Referer\n if (isUndefined(header.Referer)) {\n const error = { errMsg: 'request fail parameter error: the header doesn‘t support Referer property' }\n callAsyncFail(reject, error, options)\n }\n\n // 检查 method 是否正确\n if (method) {\n if (!METHOD.includes(method)) {\n const error = { errMsg: `request fail parameter error: the method value should be one of the ${METHOD.join(',')}` }\n callAsyncFail(reject, error, options)\n }\n }\n\n const requestParamsOHOS: IRequestParamsOHOS = {\n method,\n header,\n extraData: data as IRequestParamsOHOS['extraData'],\n readTimeout: timeout,\n connectTimeout: timeout\n }\n\n httpRequestOhos.request(url, requestParamsOHOS).then((requestData: IRequestResultOHOS) => {\n const reswx = {\n data: dataType === 'json' && isString(requestData.result) ? JSON.parse(requestData.result) : requestData.result,\n statusCode: requestData.responseCode,\n header: requestData.header\n }\n callAsyncSuccess(resolve, reswx, options)\n }).catch(error => {\n callAsyncFail(reject, error, options)\n })\n })\n\n requestTask.abort = function () {\n httpRequestOhos.destroy()\n }\n\n requestTask.onHeadersReceived = function (callback) {\n validateParams('onHeadersReceived', [callback], ['Function'])\n httpRequestOhos.on('headerReceive', (err, res) => {\n callback(!err ? res : err)\n })\n }\n\n requestTask.offHeadersReceived = function (callback) {\n validateParams('offHeadersReceived', [callback], ['Function'])\n httpRequestOhos.off('headerReceive', (err, res) => {\n callback(!err ? res : err)\n })\n }\n\n return requestTask\n}\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","// HarmonyOS 文档链接:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-request-0000001123753962#section455311474372\n// WX 文档链接:https://developers.weixin.qq.com/miniprogram/dev/api/network/upload/wx.uploadFile.html\n// ✅ wx.uploadFile\n// ✅ UploadTask.abort\n// ✅ UploadTask.offHeadersReceived (BETA)7+\n// ✅ UploadTask.offProgressUpdate\n// ✅ UploadTask.onHeadersReceived(BETA)7+\n// ✅ UploadTask.onProgressUpdate\n\nimport request from '@ohos.request'\nimport { isUndefined } from '@tarojs/shared'\nimport Taro, { UploadTask } from '@tarojs/taro'\n\nimport { callAsyncFail, callAsyncSuccess, validateParams } from '../utils'\n\ninterface IOHOSFileType {\n filename?: string\n name?: string\n url: string // 支持“dataability”和“internal”两种协议类型,但“internal”仅支持临时目录。详见官方文档\n type?: string\n}\n\ninterface IRequestDataOHOS {\n name?: string\n value?: string\n}\n\ninterface IUploadFileParamsOHOS {\n url: string // 资源地址\n header?: any\n method?: string // POST、PUT。缺省为POST\n files?: Array<IOHOSFileType> // 请使用 multipart/form-data提交。官方文档提供的demo未传此参数,应该是文档错了。\n data?: Array<IRequestDataOHOS>\n}\n\nconst uploadSchema = {\n url: 'String'\n // filePath: 'String',\n // name: 'String'\n}\n\n// wx 只支持 HTTP POST 请求,OHOS 支持 POST 和 PUT 请求\n// OHOS 不支持 wx 的 timeout,但是支持 file 文件列表上传,wx 是单文件上传\nexport const uploadFile: typeof Taro.uploadFile = function (options) {\n let uploadTask: any = {}\n\n const UploadTaskWX: any = new Promise((resolve, reject) => {\n let timer\n const { url, filePath, name, header, formData, timeout } = options\n\n try {\n validateParams('uploadFile', options, uploadSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callAsyncFail(reject, res, options)\n }\n\n const file: IOHOSFileType = {\n url: filePath,\n name\n }\n const files: Array<IOHOSFileType> = [file]\n const ohosParams: IUploadFileParamsOHOS = {\n url,\n files,\n method: 'POST',\n header\n }\n\n if (formData) {\n const rData: Array<IRequestDataOHOS> = []\n Object.keys(formData).forEach((key: string) => {\n const rDataEle: IRequestDataOHOS = {\n name: key,\n value: formData[key]\n }\n rData.push(rDataEle)\n })\n ohosParams.data = rData\n }\n if (!isUndefined(timeout)) {\n timer = setTimeout(() => {\n const err: {errMsg: string} = {\n errMsg: 'uploadFile request timeout, please try again later.'\n }\n callAsyncFail(reject, err, options)\n }, timeout)\n }\n\n request.upload(ohosParams).then((dataUpload) => {\n if (timer) {\n clearTimeout(timer)\n }\n uploadTask = dataUpload\n callAsyncSuccess(resolve, UploadTaskWX, options)\n }).catch((err) => {\n if (timer) {\n clearTimeout(timer)\n }\n callAsyncFail(reject, err, options)\n })\n })\n\n UploadTaskWX.abort = function () {\n uploadTask.remove((err: any, result: any) => {\n if (err || result) {\n return err || result\n }\n return result\n })\n }\n UploadTaskWX.onHeadersReceived = function (callback: (params) => void) {\n validateParams('onHeadersReceived', [callback], ['Function'])\n uploadTask.on('headerReceive', (headers: any) => {\n callback(headers)\n })\n }\n UploadTaskWX.offHeadersReceived = function (callback: (params) => void) {\n validateParams('offHeadersReceived', [callback], ['Function'])\n uploadTask.off('headerReceive', (headers: any) => {\n callback(headers)\n })\n }\n // wx 单位是 Bytes,ohos 单位是 KBytes\n UploadTaskWX.onProgressUpdate = function (callback: UploadTask.OnProgressUpdateCallback) {\n validateParams('onProgressUpdate', [callback], ['Function'])\n uploadTask.on('progress', (uploadSize: number, totalSize: number) => {\n const totalBytesSent: number = uploadSize * 1024\n const totalBytesExpectedToSend: number = totalSize * 1024\n // TODO: 进度应该保留几位小数?暂时保留6位\n const progress: number = +(uploadSize / totalSize).toFixed(6)\n const progressParams: UploadTask.OnProgressUpdateCallbackResult = {\n totalBytesSent,\n totalBytesExpectedToSend,\n progress\n }\n callback(progressParams)\n })\n }\n UploadTaskWX.offProgressUpdate = function (callback: UploadTask.OnProgressUpdateCallback) {\n validateParams('offProgressUpdate', [callback], ['Function'])\n uploadTask.off('progress', (uploadSize: number, totalSize: number) => {\n const totalBytesSent: number = uploadSize * 1024\n const totalBytesExpectedToSend: number = totalSize * 1024\n // TODO: 进度应该保留几位小数?暂时保留6位\n const progress: number = +(uploadSize / totalSize).toFixed(6)\n const progressParams = {\n totalBytesSent,\n totalBytesExpectedToSend,\n progress,\n errMsg: 'Cancel progress listening is done.'\n }\n callback(progressParams)\n })\n }\n\n return UploadTaskWX\n}\n","// OpenHarmony 不支持全局操作 WebSocket\n// HarmonyOS 文档链接:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-net-websocket-0000001168304641\n// WX 文档链接:https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/wx.sendSocketMessage.html\n// ✅ wx.connectSocket\n// ✅ SocketTask\n// ✅ SocketTask.close\n// ✅ SocketTask.onClose\n// ✅ SocketTask.onError\n// ✅ SocketTask.onMessage\n// ✅ SocketTask.onOpen\n// ✅ SocketTask.send\n\n// ❌ wx.sendSocketMessage\n// ❌ wx.onSocketOpen\n// ❌ wx.onSocketMessage\n// ❌ wx.onSocketError\n// ❌ wx.onSocketClose\n// ❌ wx.closeSocket\n\nimport webSocket from '@ohos.net.webSocket'\n\nimport { callAsyncFail, callAsyncSuccess, validateParams } from '../utils'\n\nimport type Taro from '@tarojs/taro/types'\n\nconst connectSocketSchema = {\n url: 'String'\n}\n\n// const closetSocketSchema = {\n// code: 'Number',\n// reason: 'String'\n// }\n\nconst sendSocketSchema = {\n data: 'String'\n}\n\nexport const connectSocket: typeof Taro.connectSocket = function (options) {\n let ws\n const SocketTaskWX: any = new Promise((resolve, reject) => {\n ws = webSocket.createWebSocket()\n\n const { url, header } = options\n\n try {\n validateParams('uploadFile', options, connectSocketSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callAsyncFail(reject, res, options)\n }\n\n const result = {\n errMsg: 'websocket connect success'\n }\n ws.connect(url, { header }).then((value) => {\n callAsyncSuccess(resolve, value, options)\n }).catch((err) => {\n result.errMsg = 'websocket connect fail'\n callAsyncFail(reject, err, options)\n })\n })\n\n SocketTaskWX.close = function (closeOptions) {\n return new Promise((resolve, reject) => {\n // TODO: 检验非必须参数\n // try {\n // validateParams('close', options, closeSocketSchema)\n // } catch (error) {\n // const res = { errMsg: error.message }\n // return callAsyncFail(reject, res, options)\n // }\n\n ws.close(closeOptions).then(value => {\n callAsyncSuccess(resolve, value, closeOptions)\n }, error => {\n callAsyncFail(reject, error, closeOptions)\n })\n })\n }\n SocketTaskWX.onClose = function (onCloseCallback) {\n validateParams('onClose', [onCloseCallback], ['Function'])\n ws.on('close', (err, value) => {\n onCloseCallback(!err ? value : err)\n })\n }\n SocketTaskWX.onError = function (onErrorCallback) {\n validateParams('onError', [onErrorCallback], ['Function'])\n ws.on('error', (err) => {\n onErrorCallback(err)\n })\n }\n SocketTaskWX.onMessage = function (onMessageCallback?: any) {\n validateParams('onMessage', [onMessageCallback], ['Function'])\n ws.on('onMessage', (err, value) => {\n onMessageCallback(!err ? value : err)\n })\n }\n SocketTaskWX.onOpen = function (onOpenCallback) {\n validateParams('onOpen', [onOpenCallback], ['Function'])\n ws.on('open', (err, value) => {\n // TODO:返回数据字段完全不一样,无法兼容,暂不处理\n // wx:{header, profile}, ohos:{err, value:{status, message}}\n onOpenCallback(!err ? value : err)\n })\n }\n SocketTaskWX.send = function (sendOptions: Taro.SocketTask.SendOption) {\n return new Promise((resolve, reject) => {\n const { data } = sendOptions\n try {\n validateParams('send', sendOptions, sendSocketSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callAsyncFail(reject, res, options)\n }\n\n ws.send(data).then(value => {\n callAsyncSuccess(resolve, value, sendOptions)\n }, error => {\n callAsyncFail(reject, error, sendOptions)\n })\n })\n }\n\n return SocketTaskWX\n}\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","/**\n * 用户相关API, Harmony ACE API 6\n *\n * 1. 华为账号场景介绍文档 @see https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/harmonyos-js-login-0000001151310900\n * 2. 华为账号API参考 @see https://developer.huawei.com/consumer/cn/doc/development/HMSCore-References/harmonyos-js-overview-0000001063532145\n */\n\n// import hmsJSAccount from '@hmscore/hms-jsb-account'\nimport { temporarilyNotSupport } from '../utils'\n\n/**\n * 通过Scope数组获取已登录的对应帐号信息(依赖login行为)\n * @param options\n */\nexport const getUserInfo = temporarilyNotSupport('getUserInfo')\n// export function getUserInfo (options) {\n// const { success, fail, complete } = options\n// const res: Record<string, any> = {}\n\n// // const result = hmsJSAccount.HuaweiIdAuthManager.getAuthResultWithScopes([hmsJSAccount.PROFILE])\n// const result = null\n\n// if (result) {\n// res.data = { userInfo: generateUserInfo(result) }\n// isFunction(success) && success(res)\n// } else {\n// res.errorMsg = 'getUserInfo result data is null'\n// isFunction(fail) && fail(res)\n// }\n// isFunction(complete) && complete(res)\n// }\n\n/**\n * 获取用户信息\n */\nexport const getUserProfile = temporarilyNotSupport('getUserProfile')\n// export const getUserProfile = (_options) => {\n// return new Promise((resolve, reject) => {\n// const res: Record<string, any> = {}\n// hmsJSAccount.HuaweiIdAuthManager.addAuthScopes([hmsJSAccount.PROFILE])\n// .then(result => {\n// if (result) {\n// res.data = { userInfo: generateUserInfo(result) }\n// callAsyncSuccess(resolve, res, options)\n// } else {\n// res.errorMsg = 'getUserProfile result data is null'\n// callAsyncFail(reject, res, options)\n// }\n// })\n// .catch(error => {\n// callAsyncFail(reject, error, options)\n// })\n// })\n// }\n\n// function generateUserInfo (hmsAuthInfo) {\n// const userInfo = {\n// nickName: String,\n// avatarUrl: String,\n// gender: Number,\n// country: String\n// }\n// if (hmsAuthInfo) {\n// userInfo.nickName = hmsAuthInfo.displayName\n// userInfo.avatarUrl = hmsAuthInfo.photoUriString\n// userInfo.gender = hmsAuthInfo.gender\n// userInfo.country = hmsAuthInfo.country\n// }\n// return userInfo\n// }\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 router from '@ohos.router'\nimport { window } from '@tarojs/runtime' // eslint-disable-line import/no-duplicates\nimport { eventCenter } from '@tarojs/runtime/dist/runtime.esm' // eslint-disable-line import/no-duplicates\nimport { queryToJson } from '@tarojs/shared'\n\nimport { callAsyncFail, callAsyncSuccess } from '../utils'\n\nimport type Taro from '@tarojs/taro/types'\n\nconst TARO_TABBAR_PAGE_PATH = 'taro_tabbar'\nfunction isTabPage (url: string): boolean {\n return window.__taroAppConfig.tabBar?.list?.some(item => item.pagePath === url)\n}\n\nfunction parseURL (raw = ''): [string, Record<string, unknown>] {\n const [urlStr, queryStr = ''] = raw.split('?')\n const query: Record<string, unknown> = queryToJson(queryStr)\n let url = urlStr.replace(/^\\//, '')\n if (isTabPage(url)) {\n query.$page = url\n url = TARO_TABBAR_PAGE_PATH\n }\n return [url, query]\n}\n\nconst getRouterFunc = (method): typeof Taro.navigateTo => {\n const methodName = method === 'navigateTo' ? 'pushUrl' : 'replaceUrl'\n\n return function (options) {\n const [url, params = {}] = parseURL(options.url)\n\n return new Promise((resolve, reject) => {\n router[methodName]({\n url,\n params\n }, (error) => {\n const res: { code?: number, errMsg: string } = { errMsg: `${method}:ok` }\n if (error) {\n const { code, message } = error\n res.code = code\n res.errMsg = `${method}:failed, ${message}`\n callAsyncFail(reject, res, options)\n\n return\n }\n\n callAsyncSuccess(resolve, res, options)\n })\n })\n }\n}\n\nexport const navigateTo = getRouterFunc('navigateTo')\nexport const redirectTo = getRouterFunc('redirectTo')\n\nexport function navigateBack (options: Taro.navigateBack.Option & { url?: string }): Promise<any> {\n return new Promise(resolve => {\n if (!options?.url) {\n router.back()\n } else {\n const [url] = parseURL(options.url)\n router.back({ url })\n }\n\n const res = { errMsg: 'navigateBack:ok' }\n callAsyncSuccess(resolve, res, options)\n })\n}\n\nexport const reLaunch: typeof Taro.reLaunch = (options) => {\n return new Promise(resolve => {\n redirectTo({ url: options.url })\n router.clear()\n const res = { errMsg: 'reLaunch:ok' }\n callAsyncSuccess(resolve, res, options)\n })\n}\n\nexport const switchTab: typeof Taro.switchTab = (options) => {\n return new Promise((resolve, reject) => {\n const stack = AppStorage.prop('__TARO_PAGE_STACK').get()\n const [url, params] = parseURL(options.url)\n\n if (url !== TARO_TABBAR_PAGE_PATH) {\n const res = { errMsg: 'switchTab:failed' }\n callAsyncFail(reject, res, options)\n return\n }\n\n if (stack[stack.length - 1]?.path === url) {\n // Note: 当前为 Tab 页时,触发 switch 事件\n eventCenter.trigger('__taroSwitchTab', { url, params })\n router.getLength() > 1 && router.clear()\n } else if (stack.some(item => item.path === url)) {\n // Note: 寻找路由栈中的 Tab 页,如果找到,则使用 navigateBack\n router.back({ url, params })\n router.getLength() > 1 && router.clear()\n } else {\n // Note: 未找到页面时,使用 reLaunch\n reLaunch({ url: options.url })\n }\n\n const res = { errMsg: 'switchTab:ok' }\n callAsyncSuccess(resolve, res, options)\n })\n}\n\nexport const getLength = () => {\n return router.getLength()\n}\n\nexport const getState = () => {\n return router.getState()\n}\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\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","/**\n * 从API Version 6开始,该模块不再维护,可以使用模块@ohos.data.storage。在API Version 9后,推荐使用新模块@ohos.data.preferences。\n * https://developer.harmonyos.com/cn/docs/documentation/doc-references-V3/js-apis-data-preferences-0000001427745052-V3\n*/\nimport bundleManager from '@ohos.bundle.bundleManager'\nimport dataPreferences from '@ohos.data.preferences'\nimport hilog from '@ohos.hilog'\nimport { Current } from '@tarojs/runtime'\n\nimport { callAsyncFail, callAsyncSuccess, temporarilyNotSupport, validateParams } from '../utils'\n\nimport type Taro from '@tarojs/taro/types'\n\nconst preferencesPromise = (Current as any).contextPromise\n .then((context) => {\n return bundleManager\n .getBundleInfoForSelf(bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_APPLICATION)\n .then(data => {\n return dataPreferences\n .getPreferences(context, `${data.appInfo.uid}Store`)\n })\n })\n .catch((error) => {\n hilog.error(0x0000, 'TaroFailedTag', 'Failed to load the storage. Cause: %{public}s', error.code ? JSON.stringify(error) : error.message || error)\n })\n\nasync function getItem (key: string): Promise<{ result: boolean, data?: number | string | boolean }> {\n try {\n const preferences = await preferencesPromise\n const item = await preferences.get(key, null)\n\n return { result: true, data: item }\n } catch (error) {\n return { result: false }\n }\n}\n\nconst storageSchema = {\n key: 'String'\n}\n\nexport function getStorage<T = any> (options: Taro.getStorage.Option<T>) {\n return new Promise((resolve, reject) => {\n try {\n validateParams('getStorage', options, storageSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callAsyncFail(reject, res, options)\n }\n getItem(options.key).then(({ result, data }) => {\n const res: Record<string, any> = { errMsg: 'getStorage:ok' }\n\n if (result) {\n res.data = data\n callAsyncSuccess(resolve, res, options)\n } else {\n res.errMsg = 'getStorage:fail data not found'\n callAsyncFail(reject, res, options)\n }\n })\n })\n}\n\nexport function setStorage (options: Taro.setStorage.Option) {\n return new Promise((resolve, reject) => {\n try {\n validateParams('setStorage', options, storageSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callAsyncFail(reject, res, options)\n }\n\n const { key, data } = options\n const res = { errMsg: 'setStorage:ok' }\n\n preferencesPromise.then(async (preferences) => {\n await preferences.put(key, data)\n await preferences.flush()\n\n callAsyncSuccess(resolve, res, options)\n })\n })\n}\n\nexport function removeStorage (options: Taro.removeStorage.Option) {\n return new Promise((resolve, reject) => {\n try {\n validateParams('removeStorage', options, storageSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callAsyncFail(reject, res, options)\n }\n\n const { key } = options\n\n preferencesPromise.then(async (preferences) => {\n await preferences.delete(key)\n await preferences.flush()\n\n const res = { errMsg: 'removeStorage:ok' }\n callAsyncSuccess(resolve, res, options)\n })\n })\n}\n\nexport function clearStorage (options: Taro.clearStorage.Option) {\n return new Promise(resolve => {\n preferencesPromise.then(async (preferences) => {\n await preferences.clear()\n await preferences.flush()\n\n const res = { errMsg: 'clearStorage:ok' }\n callAsyncSuccess(resolve, res, options)\n })\n })\n}\n\nexport const getStorageInfoSync = temporarilyNotSupport('getStorageInfoSync')\nexport const getStorageInfo = temporarilyNotSupport('getStorageInfo')\n\nexport const getStorageSync = temporarilyNotSupport('getStorageSync', 'getStorage')\nexport const setStorageSync = temporarilyNotSupport('setStorageSync', 'setStorage')\nexport const clearStorageSync = temporarilyNotSupport('clearStorageSync', 'clearStorage')\nexport const removeStorageSync = temporarilyNotSupport('removeStorageSync', 'removeStorage')\n\nexport const createBufferURL = /* @__PURE__ */ temporarilyNotSupport('createBufferURL')\nexport const revokeBufferURL = /* @__PURE__ */ temporarilyNotSupport('revokeBufferURL')\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'\n","import matrix4 from '@ohos.matrix4'\n\nimport { temporarilyNotSupport } from '../../utils'\n\nimport type Taro from '@tarojs/taro/types'\n\ninterface IAnimationAttr {\n duration: number\n delay: number\n timingFunction: string\n transformOrigin: string\n}\n\ntype TStep = {\n delay: number\n duration: number\n timingFunction: string\n transformOrigin: string\n rule: TRule\n}\n\ntype TRule = Record<string, any>\n\nexport class Animation implements Taro.Animation {\n\n unit: string\n DEFAULT: IAnimationAttr\n\n // 组合动画\n steps: TStep[] = []\n // 属性组合\n rule: TRule = {}\n\n constructor({\n duration = 400,\n delay = 0,\n timingFunction = 'linear',\n transformOrigin = '50% 50% 0',\n unit = 'px'\n }: Taro.createAnimation.Option = {}) {\n this.unit = unit\n this.setDefault(duration, delay, timingFunction, transformOrigin)\n }\n\n // 设置默认值\n setDefault (duration, delay, timingFunction, transformOrigin) {\n this.DEFAULT = { duration, delay, timingFunction, transformOrigin }\n }\n\n export (): { actions: any[] } {\n const actions = this.steps.slice()\n this.steps = []\n this.rule = {}\n return {\n actions\n }\n }\n\n step (arg: Partial<IAnimationAttr> = {}): Taro.Animation {\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 this.steps.push({\n duration,\n delay,\n timingFunction,\n transformOrigin,\n rule: Object.assign({}, this.rule)\n })\n return this\n }\n\n matrix (a: number, b: number, c: number, d: number, tx: number, ty: number): Taro.Animation {\n this.rule.transform = matrix4.init([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): Taro.Animation {\n this.rule.transform = matrix4.init([a1, b1, c1, d1, a2, b2, c2, d2, a3, b3, c3, d3, a4, b4, c4, d4])\n return this\n }\n\n rotate (angle: number): Taro.Animation {\n this.rule.rotate = { x: 0, y: 0, z: 1, angle }\n return this\n }\n\n rotate3d (x: number, y?: number | undefined, z?: number | undefined, angle?: number | undefined): Taro.Animation {\n this.rule.rotate = { x, y, z, angle }\n return this\n }\n\n rotateX (angle: number): Taro.Animation {\n this.rule.rotate = { x: 1, y: 0, z: 0, angle }\n return this\n }\n\n rotateY (angle: number): Taro.Animation {\n this.rule.rotate = { x: 0, y: 1, z: 0, angle }\n return this\n }\n\n rotateZ (angle: number): Taro.Animation {\n this.rule.rotate = { x: 0, y: 0, z: 1, angle }\n return this\n }\n\n scale (sx: number, sy?: number | undefined): Taro.Animation {\n this.rule.scale = { x: sx, y: sy }\n return this\n }\n\n scale3d (sx: number, sy: number, sz: number): Taro.Animation {\n this.rule.scale = { x: sx, y: sy, z: sz }\n return this\n }\n\n scaleX (scale: number): Taro.Animation {\n this.rule.scale = { x: scale }\n return this\n }\n\n scaleY (scale: number): Taro.Animation {\n this.rule.scale = { y: scale }\n return this\n }\n\n scaleZ (scale: number): Taro.Animation {\n this.rule.scale = { z: scale }\n return this\n }\n\n skew (ax: number, ay: number): Taro.Animation {\n this.rule.skew = { x: ax, y: ay }\n return this\n }\n\n skewX (angle: number): Taro.Animation {\n this.rule.skew = { x: angle }\n return this\n }\n\n skewY (angle: number): Taro.Animation {\n this.rule.skew = { y: angle }\n return this\n }\n\n translate (tx?: number | undefined, ty?: number | undefined): Taro.Animation {\n this.rule.translate = { x: tx, y: ty }\n return this\n }\n\n translate3d (tx?: number | undefined, ty?: number | undefined, tz?: number | undefined): Taro.Animation {\n this.rule.translate = { x: tx, y: ty, z: tz }\n return this\n }\n\n translateX (translation: number): Taro.Animation {\n this.rule.translate = { x: translation }\n return this\n }\n\n translateY (translation: number): Taro.Animation {\n this.rule.translate = { y: translation }\n return this\n }\n\n translateZ (translation: number): Taro.Animation {\n this.rule.translate = { z: translation }\n return this\n }\n\n opacity (value: number): Taro.Animation {\n this.rule.opacity = value\n return this\n }\n\n backgroundColor (value: string): Taro.Animation {\n this.rule.backgroundColor = value\n return this\n }\n\n width (value: string | number): Taro.Animation {\n this.rule.size = {\n ...this.rule.size,\n width: value\n }\n return this\n }\n\n height (value: string | number): Taro.Animation {\n this.rule.size = {\n ...this.rule.size,\n height: value\n }\n return this\n }\n\n left (value: string | number): Taro.Animation {\n temporarilyNotSupport('animation.left:' + value)(value)\n return this\n }\n\n right (value: string | number): Taro.Animation {\n temporarilyNotSupport('animation.right:' + value)(value)\n return this\n }\n\n top (value: string | number): Taro.Animation {\n temporarilyNotSupport('animation.top:' + value)(value)\n return this\n }\n\n bottom (value: string | number): Taro.Animation {\n temporarilyNotSupport('animation.bottom:' + value)(value)\n return this\n }\n}\n","import { Animation } from './animation'\n\nimport type Taro from '@tarojs/taro/types'\n\nexport const createAnimation = (option: Taro.createAnimation.Option) => {\n return new Animation(option)\n}\n","import { eventCenter } from '@tarojs/runtime/dist/runtime.esm'\n\nimport { temporarilyNotSupport } from '../utils'\nimport { MethodHandler } from '../utils/handler'\n\nexport const setBackgroundTextStyle = /* @__PURE__ */ temporarilyNotSupport('setBackgroundTextStyle')\n\nexport function setBackgroundColor(options: Taro.setBackgroundColor.Option) {\n const { success, fail, complete } = options || {}\n const handle = new MethodHandler({ name: 'setBackgroundColor', success, fail, complete })\n\n return new Promise((resolve, reject) => {\n eventCenter.trigger('__taroPageStyle', {\n backgroundColor: options.backgroundColor || options.backgroundColorTop || options.backgroundColorBottom,\n })\n\n return handle.success({}, { resolve, reject })\n })\n}\n","import type Taro from '@tarojs/taro/types'\n\n// 自定义组件\nexport const nextTick: typeof Taro.nextTick = (cb: (...args: any[]) => any, ctx?: Record<string, any>) => {\n setTimeout(function () {\n ctx ? cb.call(ctx) : cb()\n }, 1)\n}\n","import { temporarilyNotSupport } from '../utils'\n\n// 字体\nexport const loadFontFace = /* @__PURE__ */ temporarilyNotSupport('getMenuButtonBoundingClientRect')\n","import prompt from '@ohos.prompt'\n\nimport { callAsyncFail, callAsyncSuccess, temporarilyNotSupport, validateParams } from '../../utils'\n\nconst resCallback = (res) => {\n return { errMsg: `${res}:ok` }\n}\n\nconst showToastSchema = {\n title: 'String',\n duration: 'Number',\n bottom: 'String'\n}\n\nexport function showToast (options) {\n return new Promise((resolve, reject) => {\n const _default = {\n title: '',\n duration: 1500,\n bottom: '50%'\n }\n\n options = { ..._default, ...options }\n\n try {\n validateParams<any>('showToast', options, showToastSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callAsyncFail(reject, res, options)\n }\n\n prompt.showToast({\n message: options.title,\n duration: options.duration,\n bottom: options.bottom\n })\n callAsyncSuccess(resolve, resCallback('showToast'), options)\n })\n}\n\nexport function showModal (options) {\n const _default = {\n title: '',\n content: '',\n showCancel: true,\n cancelText: '取消',\n cancelColor: '#000000',\n confirmText: '确定',\n confirmColor: '#3CC51F'\n }\n\n options = { ..._default, ...options }\n\n const {\n title, content, cancelText, confirmText,\n cancelColor, confirmColor, showCancel\n } = options\n\n const buttons: any = []\n\n if (cancelText !== '' && showCancel) {\n buttons.push({\n text: cancelText,\n color: cancelColor\n })\n }\n\n if (confirmText !== '') {\n buttons.push({\n text: confirmText,\n color: confirmColor\n })\n }\n\n return new Promise(resolve => {\n const modalOptions = {\n title,\n message: content,\n buttons: buttons,\n success: (data) => {\n if (data.index === 1 || !showCancel) {\n callAsyncSuccess(\n resolve,\n {\n ...resCallback('showModal'),\n confirm: true,\n cancel: false,\n content: null\n },\n options\n )\n } else {\n callAsyncSuccess(\n resolve,\n {\n ...resCallback('showModal'),\n confirm: false,\n cancel: true\n },\n options\n )\n }\n },\n // 鸿蒙没有失败方法,只有取消\n cancel: (_) => {\n callAsyncSuccess(\n resolve,\n {\n ...resCallback('showModal'),\n confirm: false,\n cancel: true\n },\n options\n )\n }\n }\n\n prompt.showDialog(modalOptions)\n })\n}\n\nconst showActionSheetSchema = {\n title: 'String',\n itemList: 'Array'\n}\n\nexport function showActionSheet (options) {\n return new Promise((resolve, reject) => {\n const _default = {\n title: '',\n itemList: [],\n itemColor: '#000000'\n }\n\n options = { ..._default, ...options }\n\n try {\n validateParams<any>('showActionSheet', options, showActionSheetSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callAsyncFail(reject, res, options)\n }\n\n const { title, itemList, itemColor } = options\n\n const buttons = itemList.map(res => {\n return {\n text: res,\n color: itemColor\n }\n })\n\n const actionSheetOptions = {\n title,\n buttons,\n success: (data) => {\n callAsyncSuccess(\n resolve,\n {\n ...data,\n ...resCallback('showActionSheet')\n },\n options\n )\n },\n // 取消方法,并非失败\n fail: (data) => {\n callAsyncFail(\n reject,\n {\n ...data,\n errMsg: data.errMsg.replace('showActionMenu', 'showActionSheet')\n },\n options\n )\n }\n }\n\n prompt.showActionMenu(actionSheetOptions)\n })\n}\n\nexport function hideToast (options) {\n return new Promise(resolve => {\n prompt.showToast({\n message: '关闭中',\n duration: 10,\n bottom: '9999px'\n })\n callAsyncSuccess(resolve, resCallback('hideToast'), options)\n })\n}\n\nexport const showLoading = temporarilyNotSupport('showLoading')\nexport const hideLoading = temporarilyNotSupport('hideLoading')\n\nexport const enableAlertBeforeUnload = /* @__PURE__ */ temporarilyNotSupport('enableAlertBeforeUnload')\nexport const disableAlertBeforeUnload = /* @__PURE__ */ temporarilyNotSupport('disableAlertBeforeUnload')\n","import { temporarilyNotSupport } from '../utils'\n\n// 菜单\nexport const getMenuButtonBoundingClientRect = /* @__PURE__ */ temporarilyNotSupport('getMenuButtonBoundingClientRect')\n","import { eventCenter } from '@tarojs/runtime/dist/runtime.esm'\n\nimport { MethodHandler } from '../../utils/handler'\n\nimport type Taro from '@tarojs/taro/types'\n\nexport const setNavigationBarTitle: typeof Taro.setNavigationBarTitle = function (options) {\n const { success, fail, complete } = options || {}\n const handle = new MethodHandler({ name: 'setNavigationBarTitle', success, fail, complete })\n\n return new Promise((resolve, reject) => {\n eventCenter.trigger('__taroNavigationStyle', {\n title: options.title,\n })\n\n return handle.success({}, { resolve, reject })\n })\n}\n\nexport const setNavigationBarColor: typeof Taro.setNavigationBarColor = function (options) {\n const { success, fail, complete } = options || {}\n const handle = new MethodHandler({ name: 'setNavigationBarTitle', success, fail, complete })\n\n return new Promise((resolve, reject) => {\n eventCenter.trigger('__taroNavigationStyle', {\n animation: options.animation,\n backgroundColor: options.backgroundColor,\n frontColor: options.frontColor,\n })\n\n return handle.success({}, { resolve, reject })\n })\n}\n\nexport const showNavigationBarLoading: typeof Taro.setNavigationBarColor = function (options) {\n const { success, fail, complete } = options || {}\n const handle = new MethodHandler({ name: 'showNavigationBarLoading', success, fail, complete })\n\n return new Promise((resolve, reject) => {\n eventCenter.trigger('__taroNavigationStyle', {\n loading: true,\n })\n\n return handle.success({}, { resolve, reject })\n })\n}\n\nexport const hideNavigationBarLoading: typeof Taro.hideNavigationBarLoading = function (options) {\n const { success, fail, complete } = options || {}\n const handle = new MethodHandler({ name: 'hideNavigationBarLoading', success, fail, complete })\n\n return new Promise((resolve, reject) => {\n eventCenter.trigger('__taroNavigationStyle', {\n loading: false,\n })\n\n return handle.success({}, { resolve, reject })\n })\n}\n\nexport const hideHomeButton: typeof Taro.hideHomeButton = function (options) {\n const { success, fail, complete } = options || {}\n const handle = new MethodHandler({ name: 'hideHomeButton', success, fail, complete })\n\n return new Promise((resolve, reject) => {\n eventCenter.trigger('__taroNavigationStyle', {\n home: false,\n })\n\n return handle.success({}, { resolve, reject })\n })\n}\n","import { Current } from '@tarojs/runtime'\n\nimport { callAsyncSuccess } from '../utils'\n\nimport type Taro from '@tarojs/taro/types'\n\nexport const startPullDownRefresh: typeof Taro.startPullDownRefresh = function (options) {\n return new Promise(resolve => {\n const taro = (Current as any).taro\n const page = taro.getCurrentInstance().page\n\n if (page.isRefreshing instanceof Array) {\n const index = page.tabBarCurrentIndex || 0\n page.isRefreshing[index] = true\n } else {\n page.isRefreshing = true\n }\n\n const res = { errMsg: 'startPullDownRefresh:ok' }\n page.$set?.('isRefreshing', true)\n callAsyncSuccess(resolve, res, options)\n })\n}\n\nexport const stopPullDownRefresh: typeof Taro.stopPullDownRefresh = function (options) {\n return new Promise(resolve => {\n const taro = (Current as any).taro\n const page = taro.getCurrentInstance().page\n\n if (page.isRefreshing instanceof Array) {\n const index = page.tabBarCurrentIndex || 0\n page.isRefreshing[index] = false\n } else {\n page.isRefreshing = false\n }\n\n const res = { errMsg: 'stopPullDownRefresh:ok' }\n page.$set?.('isRefreshing', false)\n callAsyncSuccess(resolve, res, options)\n })\n}\n","/**\n * 鸿蒙SDK API Version 6\n * 将页面滚动到目标位置\n * - 支持选择器(只支持id选择器和 class 选择器,暂不支持子选择器、后代选择器、跨自定义组件选择器、多选择器并集)\n * - 滚动距离\n * 文档地址 https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-framework-syntax-js-0000000000611432\n */\nimport { AREA_CHANGE_EVENT_NAME, Current, findChildNodeWithDFS, getPageScrollerOrNode, setNodeEventCallbackAndTriggerComponentUpdate } from '@tarojs/runtime'\nimport { pxTransformHelper } from '@tarojs/taro'\n\nimport { MethodHandler } from '../../utils/handler'\n\nimport type Taro from '@tarojs/taro/types'\n\n/**\n * 将页面滚动到目标位置\n */\nexport const pageScrollTo: typeof Taro.pageScrollTo = (options) => {\n const { scrollTop, selector = '', duration = 300, offsetTop = 0, success, fail, complete } = options || {}\n const handle = new MethodHandler({ name: 'pageScrollTo', success, fail, complete })\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async (resolve, reject) => {\n if (scrollTop === undefined && !selector) {\n return handle.fail({\n errMsg: 'scrollTop\" 或 \"selector\" 需要其之一'\n }, { resolve, reject })\n }\n\n if (scrollTop && selector) {\n console.warn('\"scrollTop\" 或 \"selector\" 建议只设一个值,全部设置会忽略selector')\n }\n\n const taro = (Current as any).taro\n const page = taro.getCurrentInstance().page\n\n let scrollValue = -1\n let scroller = page.scroller\n const currentPageNode = getPageScrollerOrNode(page.node, page)\n\n if (scrollTop || typeof scrollTop === 'number') {\n scrollValue = scrollTop\n } else if (selector) {\n const node = findChildNodeWithDFS(currentPageNode, selector)\n\n if (!node) return\n\n // 获取 areaInfo,需要先调用 setNodeEventCallbackAndTriggerComponentUpdate 更新一次组件并获取组件信息\n await setNodeEventCallbackAndTriggerComponentUpdate(node, AREA_CHANGE_EVENT_NAME, null, true)\n\n const { areaInfo } = node._nodeInfo || {}\n\n let parent = node?.parentNode\n while (!!parent && parent !== currentPageNode) {\n if (parent?.scroller) {\n scroller = parent.scroller\n break\n }\n parent = parent?.parentNode\n }\n\n scroller = getPageScrollerOrNode(scroller, page)\n\n const { yOffset } = scroller.currentOffset()\n\n if (areaInfo) {\n scrollValue = areaInfo.globalPosition.y + yOffset + pxTransformHelper(offsetTop, 'px', true)\n }\n }\n const { xOffset } = scroller.currentOffset()\n\n if (scrollValue === -1) {\n return handle.fail({\n errMsg: '请检查传入的 scrollTop 或 selector 是否合法'\n }, { resolve, reject })\n }\n\n try {\n scroller.scrollTo({\n xOffset,\n yOffset: scrollValue,\n animation: {\n duration: duration,\n // @ts-ignore\n curve: Curve.Linear\n }\n })\n\n setTimeout(() => {\n handle.success({}, { resolve, reject })\n }, duration)\n } catch (err) {\n return handle.fail({\n errMsg: err.message\n }, { resolve, reject })\n }\n })\n}\n","import { temporarilyNotSupport } from '../utils'\n\n// 置顶\nexport const setTopBarText = /* @__PURE__ */ temporarilyNotSupport('setTopBarText')\n","import { Current } from '@tarojs/runtime' // eslint-disable-line import/no-duplicates\nimport { eventCenter } from '@tarojs/runtime/dist/runtime.esm' // eslint-disable-line import/no-duplicates\n\nimport { callAsyncFail, callAsyncSuccess } from '../utils'\n\nimport type Taro from '@tarojs/taro/types'\n\ninterface ShowTabBar {\n type: 'show'\n fn: typeof Taro.showTabBar\n}\n\ninterface HideTabBar {\n type: 'hide'\n fn: typeof Taro.hideTabBar\n}\n\ntype ToggleAPIs = ShowTabBar | HideTabBar\n\nconst toggleTabBar = function<T extends ToggleAPIs['type']> (type: T): Extract<ToggleAPIs, {type: T}>['fn'] {\n return function (options) {\n return new Promise((resolve, reject) => {\n const taro = (Current as any).taro\n const page = taro.getCurrentInstance().page\n const currentData = page._data?.taroTabBar || page.tabBar\n const res = { errMsg: `${type}TabBar:ok` }\n const error = { errMsg: `${type}TabBar:fail not TabBar page` }\n\n if (!currentData) {\n callAsyncFail(reject, error, options)\n } else {\n const isShow = type === 'show'\n const event = isShow ? '__taroShowTabBar' : '__taroHideTabBar'\n eventCenter.trigger(event, {\n animation: options?.animation,\n })\n page.$set?.('isShowTaroTabBar', isShow)\n callAsyncSuccess(resolve, res, options)\n }\n })\n }\n}\n\nexport const showTabBar = toggleTabBar('show')\n\nexport const hideTabBar = toggleTabBar('hide')\n\nexport const setTabBarStyle: typeof Taro.setTabBarStyle = function (options = {}) {\n return new Promise((resolve, reject) => {\n const taro = (Current as any).taro\n const page = taro.getCurrentInstance().page\n const currentData = page._data?.taroTabBar || page.tabBar\n const res = { errMsg: 'setTabBarStyle:ok' }\n const error = { errMsg: 'setTabBarStyle:fail not TabBar page' }\n\n if (!currentData) {\n callAsyncFail(reject, error, options)\n } else {\n const data = Object.assign({}, currentData)\n\n if (options.color) data.color = options.color\n if (options.selectedColor) data.selectedColor = options.selectedColor\n if (options.backgroundColor) data.backgroundColor = options.backgroundColor\n if (options.borderStyle) data.borderStyle = options.borderStyle\n\n eventCenter.trigger('__taroSetTabBarStyle', options)\n page.$set?.('taroTabBar', data)\n callAsyncSuccess(resolve, res, options)\n }\n })\n}\n\nexport const setTabBarItem: typeof Taro.setTabBarItem = function (options) {\n return new Promise((resolve, reject) => {\n const taro = (Current as any).taro\n const page = taro.getCurrentInstance().page\n const currentData = page._data?.taroTabBar || page.tabBar\n const res = { errMsg: 'setTabBarItem:ok' }\n const error = { errMsg: 'setTabBarItem:fail not TabBar page' }\n\n if (!currentData) {\n callAsyncFail(reject, error, options)\n } else {\n const index = options.index\n const item = Object.assign({}, currentData.list[index])\n\n if (options.text) item.text = options.text\n if (options.iconPath) item.iconPath = options.iconPath\n if (options.selectedIconPath) item.selectedIconPath = options.selectedIconPath\n\n const list = [\n ...currentData.list.slice(0, index),\n item,\n ...currentData.list.slice(index + 1)\n ]\n const data = Object.assign({}, currentData, { list })\n\n eventCenter.trigger('__taroSetTabBarItem', options)\n page.$set?.('taroTabBar', data)\n callAsyncSuccess(resolve, res, options)\n }\n })\n}\n\nexport function showTabBarRedDot (options) {\n const res = { errMsg: 'showTabBarRedDot:ok' }\n return new Promise((resolve) => {\n eventCenter.trigger('__taroShowTabBarRedDotHandler', {\n index: options?.index || 0,\n })\n callAsyncSuccess(resolve, res, options)\n })\n}\n\nexport function hideTabBarRedDot (options) {\n const res = { errMsg: 'hideTabBarRedDot:ok' }\n return new Promise((resolve) => {\n eventCenter.trigger('__taroHideTabBarRedDotHandler', {\n index: options?.index || 0,\n })\n callAsyncSuccess(resolve, res, options)\n })\n}\n\nexport function setTabBarBadge (options) {\n const res = { errMsg: 'setTabBarBadge:ok' }\n return new Promise((resolve) => {\n const text = options?.text || ''\n eventCenter.trigger('__taroSetTabBarBadge', {\n index: options?.index || 0,\n text: text.replace(/[\\u0391-\\uFFE5]/g, 'aa').length > 4 ? '...' : text,\n })\n callAsyncSuccess(resolve, res, options)\n })\n}\n\nexport function removeTabBarBadge (options) {\n const res = { errMsg: 'removeTabBarBadge:ok' }\n return new Promise((resolve) => {\n eventCenter.trigger('__taroRemoveTabBarBadge', {\n index: options?.index || 0,\n })\n callAsyncSuccess(resolve, res, options)\n })\n}\n","import { temporarilyNotSupport } from '../utils'\r\n\r\nimport type Taro from '@tarojs/taro/types'\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 = /* @__PURE__ */ temporarilyNotSupport('onWindowResize')\r\n\r\n/**\r\n * 取消监听窗口尺寸变化事件\r\n */\r\nexport const offWindowResize: typeof Taro.offWindowResize = /* @__PURE__ */ temporarilyNotSupport('offWindowResize')\r\n\r\nexport const checkIsPictureInPictureActive = /* @__PURE__ */ temporarilyNotSupport('checkIsPictureInPictureActive')\r\n","import { temporarilyNotSupport } from '../utils'\n\n// Worker\nexport const createWorker = /* @__PURE__ */ temporarilyNotSupport('createWorker')\n","import { Current, disconnectEvent, findChildNodeWithDFS, getPageScrollerOrNode, setNodeEventCallbackAndTriggerComponentUpdate, TaroElement, VISIBLE_CHANGE_EVENT_NAME } from '@tarojs/runtime'\n\nimport { temporarilyNotSupport } from '../utils'\n\nimport type Taro from '@tarojs/taro/types'\n\nexport class IntersectionObserver implements Taro.IntersectionObserver {\n // 自定义组件实例\n private _component: any\n // 监听的nodes\n private _observerNodes: TaroElement[] | TaroElement | null\n // 选项\n private _options = {\n thresholds: [0],\n initialRatio: 0,\n observeAll: false\n }\n\n constructor(component: any, options: Taro.createIntersectionObserver.Option = {}) {\n const taro = (Current as any).taro\n const page = taro.getCurrentInstance().page\n const currentPage = getPageScrollerOrNode(page.node, page)\n this._component = component || currentPage\n Object.assign(this._options, options)\n }\n\n public disconnect (): void {\n if (this._observerNodes) {\n if (this._observerNodes instanceof Array) {\n this._observerNodes.forEach((n: TaroElement & any) => {\n disconnectEvent(n, VISIBLE_CHANGE_EVENT_NAME)\n // @ts-ignore\n n._nodeInfo?.thresholds = null\n })\n } else {\n disconnectEvent(this._observerNodes, VISIBLE_CHANGE_EVENT_NAME)\n // @ts-ignore\n if (this._observerNodes._nodeInfo) {\n // @ts-ignore\n this._observerNodes._nodeInfo?.thresholds = null\n }\n }\n }\n }\n\n public observe (targetSelector: string, callback: Taro.IntersectionObserver.ObserveCallback): void {\n const { observeAll, thresholds } = this._options\n const node = findChildNodeWithDFS(this._component, targetSelector, observeAll)\n this._observerNodes = node\n\n if (node) {\n if (node instanceof Array) {\n node.forEach(n => {\n // @ts-ignore\n n._nodeInfo?.thresholds = thresholds\n\n setNodeEventCallbackAndTriggerComponentUpdate(n, VISIBLE_CHANGE_EVENT_NAME, (isVisible: boolean, currentRatio: number) => {\n callback(this.handleResult(isVisible, currentRatio))\n })\n })\n } else {\n // @ts-ignore\n node._nodeInfo?.thresholds = thresholds\n\n setNodeEventCallbackAndTriggerComponentUpdate(node, VISIBLE_CHANGE_EVENT_NAME, (isVisible: boolean, currentRatio: number) => {\n callback(this.handleResult(isVisible, currentRatio))\n })\n }\n }\n }\n\n public relativeTo (): Taro.IntersectionObserver {\n temporarilyNotSupport('relativeTo')()\n return this\n }\n\n public relativeToViewport (): Taro.IntersectionObserver {\n temporarilyNotSupport('relativeToViewport')()\n return this\n }\n\n // @ts-ignore\n private handleResult (isVisible: boolean, currentRatio: number): Taro.IntersectionObserver.ObserveCallbackResult {\n const result = {\n intersectionRatio: currentRatio,\n // TODO 未做,等待能拿到element的info信息\n boundingClientRect: {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n height: 0,\n width: 0\n },\n // TODO 未做,等待能拿到element和监听_component的info信息做运算\n intersectionRect: {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n height: 0,\n width: 0\n },\n // TODO 未做,等待能拿到element和监听_component的info信息做运算\n relativeRect: { left: 0, right: 0, top: 0, bottom: 0 },\n time: new Date().getTime()\n }\n return result\n }\n}\n","import { SelectorQuery } from './selectorQuery'\n\nimport type Taro from '@tarojs/taro/types'\n\nexport class NodesRef implements Taro.NodesRef {\n _component?: any\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?: Taro.NodesRef.NodeCallback) {\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?: Taro.NodesRef.BoundingClientRectCallback) {\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: Taro.NodesRef.Fields, cb?: Taro.NodesRef.FieldsCallback) {\n const { _selector, _component, _single, _selectorQuery } = this\n const { id, dataset, rect, size, scrollOffset, properties = [], computedStyle = [] } = fields\n _selectorQuery._push(_selector, _component, _single, {\n id,\n dataset,\n rect,\n size,\n scrollOffset,\n properties,\n computedStyle\n }, cb)\n return _selectorQuery\n }\n}\n","import { AREA_CHANGE_EVENT_NAME, Current, getPageScrollerOrNode, setNodeEventCallbackAndTriggerComponentUpdate } from '@tarojs/runtime'\n\nimport { NodesRef } from './nodesRef'\n\nimport type Taro from '@tarojs/taro/types'\n\ninterface ISelectorQueryQueue {\n component: any\n selector: string\n single: boolean\n fields\n}\n\ntype TSelectorQueryQueueCallback = (res: ISelectorQueryQueue) => void\n\nlet arr: any = []\n\n// 深度搜索 rootDom 下的所有节点,存放在 arr 中\nfunction traversalDFSDom (rootDom) {\n if (!rootDom) return\n arr.push(rootDom)\n\n if (rootDom.childNodes.length === 0) return\n for (let i = 0; i < rootDom.childNodes.length; i++) {\n traversalDFSDom(rootDom.childNodes[i])\n }\n}\n\n// 从 arr 中寻找所有符合 selector 的节点\nfunction parseHandler (selector, selectAll) {\n const domList: any = []\n if (arr.length === 0) return null\n\n let selectedId, clsList\n switch (selector.charAt(0)) {\n case '#': // id selector\n selectedId = selector.substring(1)\n for (let i = 0; i < arr.length; i++) {\n if (arr[i].id === selectedId) {\n domList.push(arr[i])\n if (!selectAll) {\n break\n }\n }\n }\n break\n case '.':\n clsList = selector.split('.').filter((item) => item !== '')\n if (clsList.length === 0) break\n\n for (let i = 0; i < arr.length; i++) {\n for (let j = 0; j < clsList.length; j++) {\n if (arr[i].className?.includes(clsList[j])) {\n domList.push(arr[i])\n if (!selectAll) {\n break\n }\n }\n }\n }\n break\n default:\n console.warn('unSupport selector')\n break\n }\n if (selectAll) {\n return domList\n } else if (domList.length > 0) {\n return [domList[0]]\n }\n return []\n}\n\n// 从 TaroNode 里找到对应的 fields 内容\nfunction filter (fields, dom) {\n if (!dom) return null\n const {\n id,\n // dataset,\n rect,\n size,\n scrollOffset,\n properties = [],\n computedStyle = [],\n nodeCanvasType,\n node,\n context\n } = fields\n const res: any = {}\n\n if (nodeCanvasType && node) { // Node节点获取处理\n const typeName = dom.nodeName\n res.node = {\n id: dom.id,\n $taroElement: dom\n }\n if (/^canvas/i.test(typeName)) {\n // harmony todo canvas attr type\n const canvasType = dom._attrs.type || ''\n res.nodeCanvasType = canvasType\n if (/^(2d|webgl)/i.test(canvasType) && dom) {\n res.node = dom\n } else {\n res.node = null\n }\n } else {\n // TODO https://developers.weixin.qq.com/miniprogram/dev/component/scroll-view.html\n // if (/^taro-scroll-view-core/i.test(tagName))\n res.nodeCanvasType = ''\n res.node = dom\n }\n return res\n }\n if (context) {\n // TODO: 暂未实现获取 context\n // const typeName = dom.type\n // if (/^video/i.test(typeName)) {\n // return { context: dom }\n // } else if (/^canvas/i.test(typeName)) {\n // const type = dom.type || '2d'\n // // harmony todo canvas context\n // const ctx = dom?.getContext(type)\n // return { context: ctx }\n // } else if (/^taro-live-player-core/i.test(typeName)) {\n // console.error('暂时不支持通过 NodesRef.context 获取 LivePlayerContext')\n // } else if (/^taro-editor-core/i.test(typeName)) {\n // console.error('暂时不支持通过 NodesRef.context 获取 EditorContext')\n // } else if (/^taro-map-core/i.test(typeName)) {\n // console.error('暂时不支持通过 NodesRef.context 获取 MapContext')\n // }\n }\n if (id) res.id = dom.id\n\n // TODO harmony dataset\n // if (dataset) res.dataset = Object.assign({}, dom.dataset)\n\n if (rect || size) {\n const { areaInfo } = dom?._nodeInfo || {}\n\n if (areaInfo) {\n if (rect) {\n res.top = vp2px(areaInfo.globalPosition.y)\n res.left = vp2px(areaInfo.globalPosition.x)\n res.right = vp2px(areaInfo.globalPosition.x + areaInfo.width)\n res.bottom = vp2px(areaInfo.globalPosition.y + areaInfo.height)\n }\n\n if (size) {\n res.width = vp2px(areaInfo.width)\n res.height = vp2px(areaInfo.height)\n }\n }\n }\n if (scrollOffset) {\n const scroller = dom.scroller\n\n if (scroller) {\n const { xOffset, yOffset } = scroller.currentOffset()\n\n res.scrollLeft = vp2px(xOffset)\n res.scrollTop = vp2px(yOffset)\n }\n }\n if (properties.length) {\n properties.forEach(prop => {\n const attrs = dom._attrs\n if (attrs[prop]) res[prop] = attrs[prop]\n })\n }\n if (computedStyle.length) {\n const styles = dom._st\n computedStyle.forEach(key => {\n const value = styles[key]\n if (value) res[key] = value\n })\n }\n return res\n}\n\nfunction querySelector (selector, selectAll) {\n if (typeof selector === 'string') {\n return parseHandler(selector, selectAll)\n }\n return null\n}\n\nfunction queryBat (queue, cb) {\n const result: any = []\n const taro = (Current as any).taro\n const page = taro.getCurrentInstance().page\n const element = getPageScrollerOrNode(page.node, page)\n\n if (element == null) return null\n\n arr = []\n traversalDFSDom(element)\n queue.forEach(item => {\n const { selector, single, fields } = item\n const nodeList = querySelector(selector, !single)\n\n result.push(nodeList.map(dom => {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async resolve => {\n await setNodeEventCallbackAndTriggerComponentUpdate(dom, AREA_CHANGE_EVENT_NAME, null, true)\n\n resolve(filter(fields, dom))\n })\n }))\n })\n\n Promise.all(result.map(item => {\n return Promise.all(item)\n })).then(data => {\n cb(data)\n })\n}\n\nexport class SelectorQuery implements Taro.SelectorQuery {\n _queue: ISelectorQueryQueue[]\n _queueCb: (TSelectorQueryQueueCallback | null)[]\n _component?: any\n\n constructor () {\n this._queue = []\n this._queueCb = []\n // this._component\n }\n\n /**\n * 设置选择器的选取范围\n * @param component 指定组件\n * @return selectQuery 返回查询对象\n */\n in = (_: any) => {\n this._component = null\n console.warn('暂不支持 in 操作')\n // this._component = component\n return this\n }\n\n /**\n * 在当前页面下选择第一个匹配选择器selector的节点\n * @param selector\n * @return nodesRef 返回一个NodesRef 对象实例,可以用于获取节点信息\n */\n select (selector: string) {\n return new NodesRef(selector, this, true)\n }\n\n /**\n * 在当前页面下选择匹配选择器selector的所有节点\n * @param selector\n */\n selectAll (selector: string) {\n return new NodesRef(selector, this, false)\n }\n\n /**\n * 选择显示区域。可用于获取显示区域的尺寸、滚动位置等信息\n */\n selectViewport () {\n return new NodesRef('.taro_page', this, true)\n }\n\n exec (cb?: (...args: any[]) => any) {\n queryBat(this._queue, res => {\n const _queueCb = this._queueCb\n res.forEach((item, index) => {\n const cb = _queueCb[index]\n typeof cb === 'function' && cb.call(this, item)\n })\n typeof cb === 'function' && cb.call(this, res)\n })\n return this as any\n }\n\n _push (selector, component, single, fields, callback: Taro.NodesRef.FieldsCallback | null = null) {\n this._queue.push({\n component,\n selector,\n single,\n fields\n })\n this._queueCb.push(callback)\n }\n}\n","import { temporarilyNotSupport } from '../utils'\nimport { IntersectionObserver } from './IntersectionObserver'\nimport { SelectorQuery } from './selectorQuery'\n\nimport type Taro from '@tarojs/taro/types'\n\nexport const createSelectorQuery = () => {\n return new SelectorQuery()\n}\n\nexport const createIntersectionObserver: typeof Taro.createIntersectionObserver = (component, options) => {\n return new IntersectionObserver(component, options)\n}\n\nexport const createMediaQueryObserver = /* @__PURE__ */ temporarilyNotSupport('createMediaQueryObserver')\n","import _display from '@ohos.display'\nimport { Current, hooks } from '@tarojs/runtime'\nimport { isFunction, PLATFORM_TYPE } from '@tarojs/shared'\n\nimport * as apis from './apis'\nimport { permanentlyNotSupport } from './utils'\n\nconst taro = Object.assign({}, apis)\n\nconst requirePlugin = /* @__PURE__ */ permanentlyNotSupport('requirePlugin')\nexport function initNativeApi (taro) {\n (Current as any).taro = taro\n taro.requirePlugin = requirePlugin\n taro.getApp = getApp\n taro.pxTransform = pxTransform\n taro.initPxTransform = initPxTransform\n taro.canIUseWebp = canIUseWebp\n taro.getAppInfo = getAppInfo\n\n if (hooks.isExist('initNativeApi')) {\n hooks.call('initNativeApi', taro)\n }\n}\n\nconst defaultDesignWidth = 750\nconst defaultDesignRatio: Record<string | number, number> = {\n 640: 2.34 / 2,\n 750: 1,\n 828: 1.81 / 2\n}\nconst defaultBaseFontSize = 20\nconst defaultUnitPrecision = 5\nconst defaultTargetUnit = 'vp'\n\nexport function getApp () {\n return Current.app\n}\n\nexport function initPxTransform ({\n designWidth = defaultDesignWidth,\n deviceRatio = defaultDesignRatio,\n baseFontSize = defaultBaseFontSize,\n unitPrecision = defaultUnitPrecision,\n targetUnit = defaultTargetUnit\n}) {\n const taro = (Current as any).taro\n\n if (taro) {\n taro.config ||= {}\n const config = taro.config\n config.designWidth = designWidth\n config.deviceRatio = deviceRatio\n config.baseFontSize = baseFontSize\n config.targetUnit = targetUnit\n config.unitPrecision = unitPrecision\n }\n}\n\nconst display = _display.getDefaultDisplaySync()\n\nlet designWidthFunc: (input: number) => number\nfunction getRatio (value: number) {\n const config = (Current as any).taro?.config || {}\n if (!isFunction(designWidthFunc)) {\n designWidthFunc = isFunction(config.designWidth)\n ? config.designWidth\n : () => config.designWidth\n }\n const designWidth = designWidthFunc(value) || defaultDesignWidth\n const deviceRatio = config.deviceRatio || defaultDesignRatio\n if (!(designWidth in deviceRatio)) {\n throw new Error(`deviceRatio 配置中不存在 ${designWidth} 的设置!`)\n }\n return Math.min(display.width, display.height) / designWidth / deviceRatio[designWidth]\n}\n\n// Note: 设置为 style 单位时会自动完成设计稿转换,设计开发者调用 API 时也许抹平差异,例如 pageScrollTo[option.offsetTop]\nexport function pxTransformHelper (size: number, unit?: string, isNumber = false): number | string {\n const config = (Current as any).taro?.config || {}\n const targetUnit = unit || config.targetUnit || defaultTargetUnit\n\n const ratio = getRatio(size)\n let val = size * ratio\n\n switch (targetUnit) {\n case 'vp':\n // Note: 在应用创建前调用无效\n val = px2vp(val)\n break\n default:\n }\n return isNumber ? val : val + targetUnit\n}\n\nexport function pxTransform (size: number): number {\n const config = (Current as any).taro?.config || {}\n const targetUnit = config.targetUnit || defaultTargetUnit\n\n let val = size\n switch (targetUnit) {\n case 'vp':\n val = px2vp(size)\n break\n default:\n // NOTE: 鸿蒙环境下 style 会自动完成设计稿转换,无需在方法内二次调整\n }\n return val + config.targetUnit\n}\n\nexport function canIUseWebp () {\n return true\n}\n\nexport function getAppInfo () {\n const config = (Current as any).taro?.config\n return {\n platform: process.env.TARO_PLATFORM || PLATFORM_TYPE.HARMONY,\n taroVersion: process.env.TARO_VERSION || 'unknown',\n designWidth: config?.designWidth,\n }\n}\n\nexport * from './apis'\nexport default taro\n","import { singleQuote } from '@tarojs/shared'\n\nexport const components = {\n Checkbox: {\n 'group-id': '',\n cn: ''\n },\n Span: {},\n Tabs: {\n index: '0',\n vertical: 'false',\n bindchange: ''\n },\n TabBar: {\n mode: singleQuote('scrollable')\n },\n TabContent: {\n scrollable: 'true'\n },\n List: {\n scrollpage: 'false',\n cachedcount: '0',\n scrollbar: 'off',\n scrolleffect: singleQuote('spring'),\n indexer: 'false',\n indexercircle: '',\n indexermulti: 'false',\n indexerbubble: 'true',\n divider: 'false',\n shapemode: singleQuote('default'),\n itemscale: 'true',\n itemcenter: 'false',\n updateeffect: 'false',\n chainanimation: 'false',\n scrollvibrate: 'true',\n initialindex: '0',\n initialoffset: '0',\n selected: '',\n bindindexerchange: '',\n bindscroll: '',\n bindscrollbottom: '',\n bindscrolltop: '',\n bindscrollend: '',\n bindscrolltouchup: '',\n bindrequestitem: ''\n },\n ListItem: {\n type: singleQuote('default'),\n primary: 'false',\n section: '',\n sticky: singleQuote('none'),\n stickyradius: singleQuote('1000px'),\n clickeffect: 'true',\n bindsticky: ''\n },\n Switch: {\n showtext: 'false',\n texton: singleQuote('On'),\n textoff: singleQuote('Off')\n },\n Textarea: {\n headericon: '',\n showcounter: 'false',\n menuoptions: '[]',\n softkeyboardenabled: 'true',\n bindtranslate: '',\n bindshare: '',\n bindsearch: '',\n bindoptionselect: '',\n bindselectchange: ''\n },\n Progress: {\n 'active-color': singleQuote('#09BB07'),\n 'background-color': singleQuote('#EBEBEB'),\n type: singleQuote('horizontal'),\n 'font-size': singleQuote('25px'),\n secondarypercent: '0',\n clockwise: 'true'\n },\n Slider: {\n showsteps: 'false',\n showtips: 'false'\n },\n Input: {\n 'placeholder-color': singleQuote('#99000000')\n },\n Video: {\n speed: '1',\n bindloadedmetadata: '',\n bindprogress: '',\n bindtap: ''\n },\n Image: {\n alt: ''\n },\n Radio: {\n 'group-id': ''\n },\n Picker: {\n selected: '',\n hours: '',\n containsecond: 'false',\n vibrate: 'true',\n lunar: 'false',\n lunarswitch: 'false'\n },\n PickerView: {\n mode: '',\n range: '',\n selected: '',\n hours: '',\n indicatorprefix: '',\n indicatorsuffix: '',\n containsecond: 'false',\n vibrate: 'true',\n lunar: 'false',\n lunarswitch: 'false',\n bindcolumnchange: '',\n cn: ''\n }\n}\n","import { internalComponents, isArray } from '@tarojs/shared'\n\nimport { initNativeApi } from './apis'\n\ndeclare const getApp: any\n\nexport { initNativeApi }\nexport * from './components'\n\nconst BUBBLE_EVENTS = new Set([\n 'touchStart',\n 'touchMove',\n 'touchEnd',\n 'touchCancel',\n 'click',\n 'longTap'\n])\n\nexport const hostConfig = {\n initNativeApi,\n modifyTaroEvent (event, node) {\n const comps = Object.keys(internalComponents).map(c => c.toLowerCase())\n const tagName = node.tagName.toLowerCase()\n if (event.type === 'click' && comps.includes(tagName)) {\n event.type = 'tap'\n }\n\n // getters & setters\n const { mpEvent } = event\n // Note: Harmony ACE API 8 开发板该方法不存在\n const getOwnPropertyDescriptors = typeof Object.getOwnPropertyDescriptors === 'function' ? Object.getOwnPropertyDescriptors : (arg = {}) => ({ ...arg })\n // eslint-disable-next-line no-proto\n const mpEventDescs = { ...(getOwnPropertyDescriptors(mpEvent) || {}), ...(getOwnPropertyDescriptors(mpEvent.__proto__) || {}) }\n const descs = {}\n for (const key in mpEventDescs) {\n const item = mpEventDescs[key]\n if ((item.get || item.set) && key !== 'type') {\n descs[key] = item\n }\n }\n Object.defineProperties(event, descs)\n },\n getPathIndex (indexOfNode) {\n return indexOfNode\n },\n getSpecialNodes () {\n return []\n },\n getMiniLifecycle (config) {\n config.app[0] = 'onCreate'\n config.page[0] = 'onInit'\n config.page[1] = 'onDestroy'\n config.page[5] = [\n 'onActive',\n 'onInactive',\n 'onBackPress',\n 'onNewRequest',\n 'onStartContinuation',\n 'onSaveData',\n 'onRestoreData',\n 'onCompleteContinuation',\n 'onPullDownRefresh'\n ]\n return config\n },\n modifyPageObject (config) {\n const originOnInit = config.onInit\n config.onInit = function () {\n // 对接小程序规范的 setData 到 harmony 规范的 $set\n this.setData = function (normalUpdate: Record<string, any>, cb) {\n Object.keys(normalUpdate).forEach(path => {\n this.$set(path, normalUpdate[path])\n })\n cb()\n }\n\n // 处理路由参数\n const options = {}\n Object.keys(this._data).forEach(key => {\n if (!/^root\\b/.test(key) && !/^\\$i18n\\b/.test(key)) {\n options[key] = this._data[key]\n }\n })\n\n // 调用 onInit\n originOnInit.call(this, options)\n\n // 手动记录路由堆栈\n const app = getApp()\n const pagePath = this.$taroPath.split('?')[0]\n if (!app.pageStack) {\n app.pageStack = []\n }\n app.pageStack.push(pagePath)\n\n // 根据 page.config 初始化 navbar\n const appConfig = app.config\n const pageConfig = this.config\n const window = Object.assign({}, appConfig.window, pageConfig)\n\n this.$set('taroNavBar', {\n background: window.navigationBarBackgroundColor || '#000000',\n textStyle: window.navigationBarTextStyle || 'white',\n title: window.navigationBarTitleText || '',\n style: window.navigationStyle || 'default'\n })\n\n // 初始化下拉刷新组件\n this.$set('enablePullDownRefresh', Boolean(window.enablePullDownRefresh))\n this.$set('isRefreshing', false)\n\n // 根据 app.config 初始化 tabbar\n if (appConfig.tabBar) {\n const list = appConfig.tabBar.list\n for (const idx in list) {\n const item = list[idx]\n if (item.pagePath === pagePath) {\n this.$set('selected', idx)\n this.$set('isShowTaroTabBar', true)\n this.$set('taroTabBar', appConfig.tabBar)\n break\n }\n }\n }\n }\n\n const originOnPullDownRefresh = config.onPullDownRefresh\n config.onPullDownRefresh = function (e) {\n this.$set('isRefreshing', e.refreshing)\n\n // 调用 onPullDownRefresh\n originOnPullDownRefresh.call(this)\n }\n\n const originOnDestroy = config.onDestroy\n config.onDestroy = function () {\n // 页面销毁时 执行路由堆栈 出栈\n const app = getApp()\n if (isArray(app.pageStack)) {\n // 不能用 pop,因为 onInit 会比 onDestroy 先触发,考虑一种情况:\n // current stack: [A, B], action: redirectTo C\n // [C onInit], push C, stack: [A, B, C]\n // [B onDestroy], pop C, stack: [A, B]\n // 可见 pop 会导致路由栈错误,上述例子中正确的路由栈应该是 [A, C],而不是 [A, B]\n const pagePath = this.$taroPath.split('?')[0]\n const stack: string[] = app.pageStack\n const len = stack.length\n let targetIdx = -1\n for (let i = 0; i < len; i++) {\n if (stack[i] === pagePath) targetIdx = i\n }\n targetIdx >= 0 && stack.splice(targetIdx, 1)\n }\n\n // 调用 OnDestroy\n originOnDestroy.call(this)\n }\n config.data = { root: { cn: [] } }\n },\n isBubbleEvents (eventName) {\n return BUBBLE_EVENTS.has(eventName)\n }\n}\n","import { mergeInternalComponents, mergeReconciler } from '@tarojs/shared'\n\nimport { components, hostConfig } from './runtime-utils'\n\nmergeReconciler(hostConfig)\nmergeInternalComponents(components)\n"],"names":["callbackManager","filePathSchema","getFileInfo","getSavedFileList","saveFile","removeSavedFile","requirePlugin","document","request","getApp"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime.js","sources":["../src/apis/utils/handler.ts","../src/apis/utils/validate.ts","../src/apis/utils/index.ts","../src/apis/base/crypto.ts","../src/apis/base/debug.ts","../src/apis/base/performance.ts","../src/apis/base/system.ts","../src/apis/base/update.ts","../src/apis/base/weapp/app-event.ts","../src/apis/base/weapp/life-cycle.ts","../src/apis/base/index.ts","../src/apis/canvas/index.ts","../src/apis/data-analysis/index.ts","../src/apis/device/accelerometer.ts","../src/apis/device/accessibility.ts","../src/apis/device/battery.ts","../src/apis/device/bluetooth.ts","../src/apis/device/bluetooth-ble.ts","../src/apis/device/bluetooth-peripheral.ts","../src/apis/device/calendar.ts","../src/apis/device/clipboard.ts","../src/apis/device/compass.ts","../src/apis/device/contact.ts","../src/apis/device/crypto.ts","../src/apis/device/gyroscope.ts","../src/apis/device/iBeacon.ts","../src/apis/device/keyboard.ts","../src/apis/device/memory.ts","../src/apis/device/motion.ts","../src/apis/device/network.ts","../src/apis/device/nfc.ts","../src/apis/device/phone.ts","../src/apis/device/scan.ts","../src/apis/device/screen.ts","../src/apis/device/sms.ts","../src/apis/device/vibrate.ts","../src/apis/device/wifi.ts","../src/apis/ext/index.ts","../src/apis/files/manager.ts","../src/apis/files/index.ts","../src/apis/framework/index.ts","../src/apis/location/index.ts","../src/apis/media/audio/index.ts","../src/apis/media/background-audio/index.ts","../src/apis/media/camera.ts","../src/apis/media/common.ts","../src/apis/media/image/index.ts","../src/apis/media/live.ts","../src/apis/media/map.ts","../src/apis/media/media-recorder.ts","../src/apis/media/recorder.ts","../src/apis/media/video/VideoContext.ts","../src/apis/media/video/index.ts","../src/apis/media/video-decoder.ts","../src/apis/media/video-processing.ts","../src/apis/media/voip.ts","../src/apis/navigate/index.ts","../src/apis/network/downloadFile.ts","../src/apis/network/mdns.ts","../src/apis/network/request.ts","../src/apis/network/tcp.ts","../src/apis/network/udp.ts","../src/apis/network/uploadFile.ts","../src/apis/network/webSocket.ts","../src/apis/open-api/account.ts","../src/apis/open-api/address.ts","../src/apis/open-api/authorize.ts","../src/apis/open-api/card.ts","../src/apis/open-api/channels-live.ts","../src/apis/open-api/customer-service.ts","../src/apis/open-api/device-voip.ts","../src/apis/open-api/facial.ts","../src/apis/open-api/favorites.ts","../src/apis/open-api/group.ts","../src/apis/open-api/invoice.ts","../src/apis/open-api/license-plate.ts","../src/apis/open-api/login.ts","../src/apis/open-api/my-miniprogram.ts","../src/apis/open-api/privacy.ts","../src/apis/open-api/red-package.ts","../src/apis/open-api/settings.ts","../src/apis/open-api/soter.ts","../src/apis/open-api/subscribe-message.ts","../src/apis/open-api/user-info.ts","../src/apis/open-api/werun.ts","../src/apis/payment/index.ts","../src/apis/route/index.ts","../src/apis/share/index.ts","../src/apis/storage/background-fetch.ts","../src/apis/storage/cache-manager.ts","../src/apis/storage/index.ts","../src/apis/ui/animation/animation.ts","../src/apis/ui/animation/index.ts","../src/apis/ui/background.ts","../src/apis/ui/custom-component.ts","../src/apis/ui/fonts.ts","../src/apis/ui/interaction/index.ts","../src/apis/ui/menu.ts","../src/apis/ui/navigation-bar/index.ts","../src/apis/ui/pull-down-refresh.ts","../src/apis/ui/scroll/index.ts","../src/apis/ui/sticky.ts","../src/apis/ui/tab-bar.ts","../src/apis/ui/window.ts","../src/apis/worker/index.ts","../src/apis/wxml/IntersectionObserver.ts","../src/apis/wxml/nodesRef.ts","../src/apis/wxml/selectorQuery.ts","../src/apis/wxml/index.ts","../src/apis/index.ts","../src/components/index.ts","../src/runtime-utils.ts","../src/runtime.ts"],"sourcesContent":["import { isFunction } from '@tarojs/shared'\n\nexport interface ICallbackResult {\n /** 错误信息 */\n errMsg: string\n}\ntype TFunc = (...args: any[]) => any\n\ntype TCallback<T = Partial<ICallbackResult>> = (res: T) => Promise<void> | void\ninterface IMethodParam<T = Partial<ICallbackResult>> {\n name: string\n success?: TCallback<T & ICallbackResult>\n fail?: TCallback\n complete?: TCallback<T | ICallbackResult>\n}\ninterface IMockPromise {\n resolve?: typeof Promise.resolve | TFunc\n reject?: typeof Promise.reject | TFunc\n}\n\nexport class MethodHandler<T = Partial<ICallbackResult>> {\n methodName: string\n\n protected __success?: TCallback<T>\n protected __fail?: TCallback\n protected __complete?: TCallback<T | ICallbackResult>\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<ICallbackResult> = {}, promise: IMockPromise = {}): Promise<T & U & ICallbackResult> {\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 as T)\n\n const { resolve = Promise.resolve.bind(Promise) } = promise\n return resolve(res as Required<T & U & ICallbackResult>)\n }\n\n fail<U = Record<string, unknown>> (res: Partial<T> & Partial<ICallbackResult> = {}, promise: IMockPromise = {}): Promise<T & U & ICallbackResult> {\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 as ICallbackResult)\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 & ICallbackResult>)\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 }\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","import { isArray, isNull, isObject, isString } from '@tarojs/shared'\n\ntype JSTypes = 'string' | 'number' | 'boolean' | 'undefined' | 'null' | 'bigint' | 'symbol' | 'array' | 'object' | 'function'\n\ntype NormalParamSchema = string[]\ntype ObjectParamSchema = Record<string, string>\n\ntype Schema = NormalParamSchema | ObjectParamSchema\n\ninterface ValidateParams {\n <T>(name: string, params: any, schema: Schema): asserts params is T\n}\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\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: string): string {\n if (!isString(string)) return string\n string = string.replace(/^./, match => match.toUpperCase())\n return string\n}\n\nfunction getType (param: string): JSTypes {\n if (isNull(param)) {\n return 'null'\n } else if (isArray(param)) {\n return 'array'\n } else {\n return typeof param\n }\n}\n\nexport function assertType (target: any, type: string, methodName: string, paramName?: string) {\n const correct = upperCaseFirstLetter(type)\n if (correct !== upperCaseFirstLetter(getType(target))) {\n const err = getParameterError({ name: methodName, para: paramName, correct, wrong: target })\n throw new Error(err)\n }\n}\n\n/**\n * 用于校验方法的参数类型\n * @param name 方法名称\n * @param params [array|object] 当前参数\n * @param schema [array|object] 参数类型规范\n * @example\n * ```js\n * // 例子一:\n * validateParams(methodA, [key], [string])\n * // 例子二:\n * validateParams(methodB, { key: 123 }, { key: number })\n * ```\n * @todo 校验可选参数\n */\nexport const validateParams: ValidateParams = function (name, params, schema) {\n if (isArray(schema) && isString(schema[0])) {\n schema.forEach((correctType, index) => assertType(params[index], correctType, name, `[${index}]`))\n } else if (isObject(schema)) {\n const optionsSchema = schema\n\n assertType(params, 'object', name)\n for (const key in optionsSchema) {\n assertType(params[key], optionsSchema[key], name, key)\n }\n }\n}\n","import { eventCenter } from '@tarojs/runtime/dist/runtime.esm'\n\nimport { ICallbackResult, MethodHandler } from './handler'\n\nimport type { FunctionType, IAsyncParams } from './types'\n\nexport * from './validate'\nexport { noop } from '@tarojs/shared'\n\nexport function object2String (obj) {\n let str = ''\n for (const item in obj) {\n str = str + item + ':' + obj[item] + ' \\n'\n }\n return str\n}\n\nexport function temporarilyNotSupport (name: string, recommended?: string) {\n return (option = {}, ...args) => {\n const { success, fail, complete } = option as any\n const handle = new MethodHandler({ name, success, fail, complete })\n let errMsg = '暂时不支持 API'\n if (recommended) {\n errMsg += `, 请使用 ${recommended}`\n }\n 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 permanentlyNotSupport (name = '') {\n return (option = {}, ...args: any[]) => {\n const { success, fail, complete } = option as any\n const handle = new MethodHandler<ICallbackResult>({ name, success, fail, complete })\n const errMsg = '不支持 API'\n 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\n/** @deprecated */\nexport function callCallbackSuccess<T extends FunctionType> (res, options?: IAsyncParams<T>) {\n options?.success?.(res)\n options?.complete?.(res)\n}\n\n/** @deprecated */\nexport function callCallbackFail<T extends FunctionType> (res, options?: IAsyncParams<T>) {\n options?.fail?.(res)\n options?.complete?.(res)\n}\n\n/** @deprecated */\nexport function callAsyncSuccess<T extends FunctionType> (resolve, res, options?: IAsyncParams<T>) {\n options?.success?.(res)\n options?.complete?.(res)\n resolve(res)\n}\n\n/** @deprecated */\nexport function callAsyncFail<T extends FunctionType> (reject, res, options?: IAsyncParams<T>) {\n options?.fail?.(res)\n options?.complete?.(res)\n reject(res)\n}\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 ConfigurationConstant from '@ohos.app.ability.ConfigurationConstant'\n// 设备信息,从 API Version 6 开始支持\nimport deviceInfo from '@ohos.deviceInfo'\n// 显示设备属性,从 API Version 7 开始支持\nimport _display from '@ohos.display'\n// 从 API Version 7 开始支持\nimport i18n from '@ohos.i18n'\nimport { Current, window } from '@tarojs/runtime'\n\nimport { callAsyncFail, callAsyncSuccess } from '../utils'\n\nimport type Taro from '@tarojs/taro/types'\n\nlet display\nlet navigationIndicatorRect\nlet safeArea: TaroGeneral.SafeAreaResult | null = null\nlet statusBarHeight\nlet windowRect\n\n(Current as any).contextPromise.then((context) => {\n const win = window.__ohos.getLastWindow(context)\n win.then(mainWindow => {\n const topRect = mainWindow.getWindowAvoidArea(window.__ohos.AvoidAreaType.TYPE_SYSTEM).topRect\n navigationIndicatorRect = mainWindow.getWindowAvoidArea(window.__ohos.AvoidAreaType.TYPE_NAVIGATION_INDICATOR).bottomRect\n statusBarHeight = topRect.top + topRect.height\n windowRect = mainWindow.getWindowProperties().windowRect\n\n try {\n display = _display.getDefaultDisplaySync()\n // @ts-ignore\n display.getCutoutInfo((err, { boundingRects = [], waterfallDisplayAreaRects = {} }: _display.CutoutInfo = {}) => {\n if (err?.code) {\n console.error('Failed to get cutout info', JSON.stringify(err))\n return\n }\n\n const top = Math.max(...boundingRects.map(rect => rect.top + rect.height), waterfallDisplayAreaRects.top?.top + waterfallDisplayAreaRects.top?.height, statusBarHeight)\n const bottom = display.height - Math.min(waterfallDisplayAreaRects.bottom?.top, navigationIndicatorRect?.top)\n const left = waterfallDisplayAreaRects.left?.left + waterfallDisplayAreaRects.left?.width\n const right = display.width - waterfallDisplayAreaRects.right?.left\n safeArea = {\n top,\n bottom,\n left,\n right,\n height: bottom - top,\n width: right - left,\n }\n })\n } catch (e) {\n console.error('Failed to get display', e)\n }\n })\n})\n\n/* 同步版本 */\nexport const getSystemInfoSync: typeof Taro.getSystemInfoSync = function () {\n const res: any = {}\n res.SDKVersion = deviceInfo && deviceInfo.sdkApiVersion // 客户端基础库版本 string\n res.albumAuthorized = false // 允许使用相册的开关(仅 iOS 有效) boolean\n res.benchmarkLevel = null // 设备性能等级 number\n res.bluetoothEnabled = null // 蓝牙的系统开关 boolean\n res.brand = deviceInfo && deviceInfo.brand // 设备品牌 string\n res.cameraAuthorized = null // 允许使用摄像头的开关 boolean\n res.enableDebug = null // 是否已打开调试 boolean\n res.fontSizeSetting = null // 用户字体大小(单位px) number\n res.language = i18n?.getSystemLanguage?.() // string\n res.locationAuthorized = null // 定位的开关 boolean\n res.locationEnabled = null // 地理位置的系统开关 boolean\n res.microphoneAuthorized = null // 麦克风的开关 boolean\n res.model = deviceInfo && deviceInfo.deviceType // 设备型号 string\n res.notificationAuthorized = null // 通知的开关 boolean\n res.notificationAlertAuthorized = false // 通知带有提醒的开关(仅 iOS 有效) boolean\n res.notificationBadgeAuthorized = false // 通知带有标记的开关(仅 iOS 有效) boolean\n res.notificationSoundAuthorized = false // 通知带有声音的开关(仅 iOS 有效)boolean\n res.phoneCalendarAuthorized = null // 使用日历的开关 boolean\n res.wifiEnabled = false // Wi-Fi 的系统开关 boolean\n res.pixelRatio = display && (Math.round(display.xDPI / display.width * 100) / 100) // 设备像素比,number\n res.platform = 'harmony' // 客户端平台 string\n res.safeArea = safeArea // 在竖屏正方向下的安全区域 General.SafeAreaResult\n res.screenHeight = display?.height // 屏幕高度,单位px number\n res.screenWidth = display?.width // 屏幕宽度,单位px number\n res.statusBarHeight = statusBarHeight // 状态栏的高度,单位px number\n res.system = deviceInfo?.osFullName // 操作系统及版本 string\n // Note: 更新配置时才能记录\n res.theme = AppStorage.get('__TARO_APP_CONFIG')?.colorMode === ConfigurationConstant.ColorMode.COLOR_MODE_DARK ? 'dark' : 'light' // 系统当前主题,取值为light或dark 'light' | 'dark'\n res.windowHeight = windowRect?.height // 可使用窗口高度,单位px number\n res.windowWidth = windowRect?.width // 可使用窗口宽度,单位px number\n res.version = deviceInfo?.displayVersion // 版本号 string\n\n return res\n}\n/* 异步版本 */\nexport const getSystemInfo: typeof Taro.getSystemInfo = function (options) {\n let res = {}\n return new Promise((resolve, reject) => {\n try {\n res = getSystemInfoSync()\n callAsyncSuccess(resolve, res, options)\n } catch (error) {\n res = {\n errMsg: `getSystemInfo:fail ${error && error.toString && error.toString()}`,\n error: error\n }\n callAsyncFail(reject, res, options)\n }\n })\n}\n\nglobalThis.getSystemInfoSync = getSystemInfoSync\n","import { temporarilyNotSupport } from '../utils'\n\n// 更新\nexport const updateWeChatApp = /* @__PURE__ */ temporarilyNotSupport('updateWeChatApp')\nexport const getUpdateManager = /* @__PURE__ */ temporarilyNotSupport('getUpdateManager')\n","import errorManager from '@ohos.app.ability.errorManager'\n\nimport { temporarilyNotSupport } from '../../utils'\nimport { CallbackManager } from '../../utils/handler'\n\nimport type Taro from '@tarojs/taro/types'\n\nconst unhandledRejectionCallbackManager = new CallbackManager<[Taro.onUnhandledRejection.Result]>()\nconst errorCallbackManager = new CallbackManager<Parameters<Taro.onError.Callback>>()\n\nconst unhandledRejectionListener = (res: PromiseRejectionEvent) => {\n unhandledRejectionCallbackManager.trigger(res)\n}\n\nconst errorListener = (res: ErrorEvent) => {\n // @ts-ignore\n errorCallbackManager.trigger(res.stack || res.message || res)\n}\n\n// 应用级事件\nexport const onUnhandledRejection: typeof Taro.onUnhandledRejection = callback => {\n unhandledRejectionCallbackManager.add(callback)\n if (unhandledRejectionCallbackManager.count() === 1) {\n errorManager.on('error', {\n unhandledRejectionListener\n })\n }\n}\n\nexport const onThemeChange = /* @__PURE__ */ temporarilyNotSupport('onThemeChange')\nexport const onPageNotFound = /* @__PURE__ */ temporarilyNotSupport('onPageNotFound')\nexport const onLazyLoadError = /* @__PURE__ */ temporarilyNotSupport('onLazyLoadError')\n\nexport const onError: typeof Taro.onError = callback => {\n errorCallbackManager.add(callback)\n if (errorCallbackManager.count() === 1) {\n errorManager.on('error', {\n onException: errorListener\n })\n }\n}\n\nexport const onAudioInterruptionEnd = /* @__PURE__ */ temporarilyNotSupport('onAudioInterruptionEnd')\nexport const onAudioInterruptionBegin = /* @__PURE__ */ temporarilyNotSupport('onAudioInterruptionBegin')\n\nexport const onAppShow = /* @__PURE__ */ temporarilyNotSupport('onAppShow')\nexport const onAppHide = /* @__PURE__ */ temporarilyNotSupport('onAppHide')\n\nexport const offUnhandledRejection: typeof Taro.offUnhandledRejection = callback => {\n unhandledRejectionCallbackManager.remove(callback)\n if (unhandledRejectionCallbackManager.count() === 0) {\n errorManager.off('error', {\n unhandledRejectionListener\n })\n }\n}\n\nexport const offThemeChange = /* @__PURE__ */ temporarilyNotSupport('offThemeChange')\nexport const offPageNotFound = /* @__PURE__ */ temporarilyNotSupport('offPageNotFound')\nexport const offLazyLoadError = /* @__PURE__ */ temporarilyNotSupport('offLazyLoadError')\n\nexport const offError: typeof Taro.offError = callback => {\n errorCallbackManager.remove(callback)\n if (errorCallbackManager.count() === 0) {\n errorManager.off('error', {\n onException: errorListener\n })\n }\n}\n\nexport const offAudioInterruptionEnd = /* @__PURE__ */ temporarilyNotSupport('offAudioInterruptionEnd')\nexport const offAudioInterruptionBegin = /* @__PURE__ */ temporarilyNotSupport('offAudioInterruptionBegin')\n\nexport const offAppShow = /* @__PURE__ */ temporarilyNotSupport('offAppShow')\nexport const offAppHide = /* @__PURE__ */ temporarilyNotSupport('offAppHide')\n","import { eventCenter } from '@tarojs/runtime/dist/runtime.esm'\n\nimport type Taro from '@tarojs/taro/types'\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\neventCenter.once('__taroRouterLaunch', initLaunchOptions)\n\n// 生命周期\nexport const getLaunchOptionsSync: typeof Taro.getLaunchOptionsSync = () => launchOptions\nexport const getEnterOptionsSync: typeof Taro.getEnterOptionsSync = () => launchOptions\n","import { temporarilyNotSupport } from '../utils'\n\nexport const canIUse = /* @__PURE__ */ temporarilyNotSupport('canIUse')\nexport const arrayBufferToBase64 = /* @__PURE__ */ temporarilyNotSupport('arrayBufferToBase64')\nexport const base64ToArrayBuffer = /* @__PURE__ */ temporarilyNotSupport('base64ToArrayBuffer')\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 { temporarilyNotSupport } from '../utils'\n\n// 画布\n\n/** 创建离屏 canvas 实例 */\nexport const createOffscreenCanvas = /* @__PURE__ */ temporarilyNotSupport('createOffscreenCanvas')\n\n/** 创建 canvas 的绘图上下文 CanvasContext 对象 */\nexport const createCanvasContext = /* @__PURE__ */ temporarilyNotSupport('createOffscreenCanvas')\n\n/** 把当前画布指定区域的内容导出生成指定大小的图片 */\nexport const canvasToTempFilePath = /* @__PURE__ */ temporarilyNotSupport('createOffscreenCanvas')\n\n/** 将像素数据绘制到画布 */\nexport const canvasPutImageData = /* @__PURE__ */ temporarilyNotSupport('createOffscreenCanvas')\n\n/** 获取 canvas 区域隐含的像素数据 */\nexport const canvasGetImageData = /* @__PURE__ */ temporarilyNotSupport('createOffscreenCanvas')\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 sensor from '@ohos.sensor'\r\n\r\nimport { CallbackManager, MethodHandler } from '../utils/handler'\r\n\r\nimport type Taro from '@tarojs/taro/types'\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 sensor.off(sensor.SensorType.SENSOR_TYPE_ID_ACCELEROMETER, devicemotionListener)\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 * 1000 * 1000,\r\n frequency: 50\r\n },\r\n ui: {\r\n interval: 60 * 1000 * 1000,\r\n frequency: 16.67\r\n },\r\n normal: {\r\n interval: 200 * 1000 * 1000,\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 const intervalObj = INTERVAL_MAP[interval]\r\n if (devicemotionListener) {\r\n stopAccelerometer()\r\n }\r\n sensor.on(sensor.SensorType.SENSOR_TYPE_ID_ACCELEROMETER, (data) => {\r\n callbackManager.trigger({\r\n x: data?.x || 0,\r\n y: data?.y || 0,\r\n z: data?.z || 0\r\n })\r\n }, {\r\n interval: intervalObj.interval,\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 batteryInfo, { BatteryChargeState } from '@ohos.batteryInfo'\n\nimport { MethodHandler } from '../utils/handler'\n\nimport type Taro from '@tarojs/taro/types'\n\n// 电量\n\nexport const getBatteryInfoSync: typeof Taro.getBatteryInfoSync = () => ({\n // @ts-ignore\n isCharging: [BatteryChargeState.ENABLE, BatteryChargeState.FULL].includes(batteryInfo.chargingStatus),\n level: batteryInfo.batterySOC\n})\n\nexport const getBatteryInfo: typeof Taro.getBatteryInfo = async ({ success, fail, complete } = {}) => {\n const handle = new MethodHandler<Taro.getBatteryInfo.SuccessCallbackResult>({ name: 'getBatteryInfo', success, fail, complete })\n try {\n return handle.success(getBatteryInfoSync())\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 { temporarilyNotSupport } from '../utils'\n\n// 日历\nexport const addPhoneRepeatCalendar = temporarilyNotSupport('addPhoneRepeatCalendar')\nexport const addPhoneCalendar = temporarilyNotSupport('addPhoneCalendar')\n","// 从 API Version 6 开始支持\r\nimport pasteboard from '@ohos.pasteboard'\r\nimport { isString } from '@tarojs/shared'\r\n\r\nimport { callAsyncFail, getParameterError, object2String } from '../utils'\r\nimport { MethodHandler } from '../utils/handler'\r\n\r\nimport type Taro from '@tarojs/taro/types'\r\n\r\n/**\r\n * 设置系统剪贴板的内容\r\n */\r\nexport const setClipboardData: typeof Taro.setClipboardData = function (options) {\r\n const { data, success, fail, complete } = options\r\n const handle = new MethodHandler<{ data: string }>({ name: 'setClipboardData', success, fail, complete })\r\n let res = {}\r\n\r\n if (!isString(data)) {\r\n return handle.fail({\r\n errMsg: getParameterError({\r\n para: 'data',\r\n correct: 'String',\r\n wrong: data\r\n })\r\n })\r\n }\r\n\r\n return new Promise((resolve, reject) => {\r\n const systemPasteboard = pasteboard.getSystemPasteboard()\r\n const pasteData = pasteboard.createPlainTextData(data)\r\n\r\n systemPasteboard.setPasteData(pasteData, (error, data) => { // callback形式调用异步接口\r\n if (error) {\r\n console.error('Failed to set PasteData. Cause: ' + JSON.stringify(error))\r\n res = {\r\n errMsg: 'setClipboardData:fail,error: ' + object2String(error),\r\n error: error\r\n }\r\n callAsyncFail(reject, res, options)\r\n } else {\r\n return handle.success({\r\n data,\r\n }, { resolve, reject })\r\n }\r\n })\r\n })\r\n}\r\n\r\n/**\r\n * 获取系统剪贴板的内容\r\n */\r\nexport const getClipboardData: typeof Taro.getClipboardData = function (options) {\r\n const { success, fail, complete } = options || {}\r\n const handle = new MethodHandler({ name: 'getClipboardData', success, fail, complete })\r\n return new Promise((resolve, reject) => {\r\n const systemPasteboard = pasteboard.getSystemPasteboard()\r\n systemPasteboard.getPasteData((error, pasteData) => { // callback 形式调用异步接口\r\n if (error) {\r\n console.error('Failed to obtain PasteData. Cause: ' + JSON.stringify(error))\r\n return handle.fail({\r\n errMsg: object2String(error),\r\n }, { resolve, reject })\r\n } else {\r\n return handle.success({\r\n data: pasteData.getPrimaryText(),\r\n }, { resolve, reject })\r\n }\r\n })\r\n })\r\n}\r\n","import { temporarilyNotSupport } from '../utils'\r\n\r\n/**\r\n * 停止监听罗盘数据\r\n */\r\nexport const stopCompass = temporarilyNotSupport('stopCompass')\r\n\r\n/**\r\n * 开始监听罗盘数据\r\n */\r\nexport const startCompass = temporarilyNotSupport('startCompass')\r\n\r\n/**\r\n * 监听罗盘数据变化事件。频率:5 次/秒,接口调用后会自动开始监听,可使用 wx.stopCompass 停止监听。\r\n */\r\nexport const onCompassChange = temporarilyNotSupport('onCompassChange')\r\n\r\n/**\r\n * 取消监听罗盘数据变化事件,参数为空,则取消所有的事件监听。\r\n */\r\nexport const offCompassChange = temporarilyNotSupport('offCompassChange')\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 inputMethodEngine from '@ohos.inputMethodEngine'\nimport { Current, window } from '@tarojs/runtime'\n\nimport { temporarilyNotSupport } from '../utils'\nimport { CallbackManager, MethodHandler } from '../utils/handler'\n\nimport type Taro from '@tarojs/taro/types'\n\nconst callbackManager = new CallbackManager()\n\nconst resizeListener = (height) => {\n callbackManager.trigger({\n height,\n })\n}\n\nlet topWindow: ReturnType<typeof window.__ohos.getLastWindow>\n\nexport const onKeyboardHeightChange: typeof Taro.onKeyboardHeightChange = callback => {\n callbackManager.add(callback)\n if (callbackManager.count() === 1) {\n (Current as any).contextPromise\n .then(context => {\n const win = window.__ohos.getLastWindow(context)\n win.then(mainWindow => {\n topWindow = mainWindow\n topWindow.on('keyboardHeightChange', resizeListener)\n })\n })\n }\n}\n\nexport const offKeyboardHeightChange: typeof Taro.offKeyboardHeightChange = callback => {\n callbackManager.remove(callback)\n if (callbackManager.count() === 0) {\n topWindow?.off('keyboardHeightChange', resizeListener)\n }\n}\n\n// @ts-ignore\nlet keyboardController: inputMethodEngine.KeyboardController\ninputMethodEngine.getInputMethodAbility()\n // FIXME 当前事件无效,等待鸿蒙方面沟通\n .on('inputStart', (kbController) => {\n keyboardController = kbController\n })\n\nexport const hideKeyboard: typeof Taro.hideKeyboard = function (options) {\n const { success, fail, complete } = options || {}\n const handle = new MethodHandler({ name: 'hideKeyboard', success, fail, complete })\n return new Promise((resolve, reject) => {\n keyboardController?.hide((err) => {\n if (err) {\n return handle.fail({\n errMsg: err,\n }, { resolve, reject })\n }\n return handle.success({}, { resolve, reject })\n })\n })\n}\n\nexport const getSelectedTextRange = /* @__PURE__ */ temporarilyNotSupport('getSelectedTextRange')\n","import { hooks } from '@tarojs/runtime'\n\nexport const onMemoryWarning = (listener) => {\n hooks.tap('getMemoryLevel', (res) => {\n listener(res)\n })\n}\n\nexport const offMemoryWarning = (listener) => {\n hooks.off('getMemoryLevel', listener)\n}\n","import { temporarilyNotSupport } from '../utils'\r\n\r\nexport const stopDeviceMotionListening = temporarilyNotSupport('stopDeviceMotionListening')\r\nexport const startDeviceMotionListening = temporarilyNotSupport('startDeviceMotionListening')\r\nexport const onDeviceMotionChange = temporarilyNotSupport('onDeviceMotionChange')\r\nexport const offDeviceMotionChange = temporarilyNotSupport('offDeviceMotionChange')\r\n","// 网络状态,从API Version 7 开始,该接口不再维护,推荐使用新接口'@ohos.telephony.observer'\n// 但是新接口 @ohos.telephony.observer 没有network.getType。而且网络状态枚举值不清楚\nimport network from '@system.network'\n\nimport { temporarilyNotSupport } from '../utils'\nimport { CallbackManager, MethodHandler } from '../utils/handler'\n\nimport type Taro from '@tarojs/taro/types'\n\nexport const getNetworkType: typeof Taro.getNetworkType = (options = {}) => {\n const { success, fail, complete } = options\n const handle = new MethodHandler<Taro.getNetworkType.SuccessCallbackResult & { code: unknown, metered: boolean }>({ name: 'getNetworkType', success, fail, complete })\n\n return new Promise((resolve, reject) => {\n network.getType({\n success: function (data) {\n return handle.success({\n networkType: data.type || 'unknown',\n metered: data.metered\n }, { resolve, reject })\n },\n fail: function (data, code) {\n return handle.fail({\n errMsg: data || '',\n code\n }, { resolve, reject })\n },\n })\n })\n}\n\nconst networkStatusManager = new CallbackManager()\n\nconst networkStatusListener = async (data, code = 0) => {\n if (code > 0) {\n return networkStatusManager.trigger({ isConnected: false, networkType: 'none' })\n }\n const networkType = data.type || 'unknown'\n const isConnected = networkType !== 'none'\n const metered = !!data.metered\n const obj = { isConnected, networkType, metered }\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 const name = 'onNetworkStatusChange'\n const handle = new MethodHandler<Partial<Taro.onNetworkStatusChange.CallbackResult>>({ name, complete: callback })\n try {\n networkStatusManager.add(callback)\n if (networkStatusManager.count() === 1) {\n network.subscribe({\n success: networkStatusListener,\n fail: networkStatusListener,\n })\n }\n } catch (error) {\n handle.fail({\n errMsg: error\n })\n }\n}\n\nexport const offNetworkWeakChange = /* @__PURE__ */ temporarilyNotSupport('offNetworkWeakChange')\n\nexport const offNetworkStatusChange: typeof Taro.offNetworkStatusChange = callback => {\n const name = 'offNetworkStatusChange'\n const handle = new MethodHandler<Partial<Taro.onNetworkStatusChange.CallbackResult>>({ name, complete: callback })\n try {\n networkStatusManager.remove(callback)\n if (networkStatusManager.count() === 0) {\n network.unsubscribe()\n }\n } catch (error) {\n handle.fail({\n errMsg: error\n })\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","// 从 API Version 7 开始支持。\nimport call from '@ohos.telephony.call'\nimport { isString } from '@tarojs/shared'\n\nimport { getParameterError, object2String, shouldBeObject } from '../utils'\nimport { MethodHandler } from '../utils/handler'\n\nimport type Taro from '@tarojs/taro/types'\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 (!isString(phoneNumber)) {\n return handle.fail({\n errMsg: getParameterError({\n para: 'phoneNumber',\n correct: 'String',\n wrong: phoneNumber\n })\n })\n }\n\n return new Promise((resolve, reject) => {\n call.makeCall(phoneNumber, err => {\n if (err) {\n console.error('Failed to makePhoneCall. Cause: ' + JSON.stringify(err))\n return handle.fail({\n errMsg: object2String(err)\n }, { resolve, reject })\n } else {\n return handle.success({}, { resolve, reject })\n }\n })\n })\n}\n","import { temporarilyNotSupport } from '../utils'\n\n// 扫码\nexport const scanCode = /* @__PURE__ */ temporarilyNotSupport('scanCode')\n","// 从API Version 7 开始,该接口不再维护,推荐使用新接口'@ohos.brightness'\n// 但是 新接口 @ohos.brightness 没有 getValue\nimport brightness from '@system.brightness'\nimport { isNumber } from '@tarojs/shared'\n\nimport { getParameterError, shouldBeObject, temporarilyNotSupport } from '../utils'\nimport { MethodHandler } from '../utils/handler'\n\nimport type Taro from '@tarojs/taro/types'\n\n// 屏幕\nexport const setVisualEffectOnCapture = /* @__PURE__ */ temporarilyNotSupport('setVisualEffectOnCapture')\n\nexport const setScreenBrightness: typeof Taro.setScreenBrightness = function (options) {\n // options must be an Object\n const isObject = shouldBeObject(options)\n if (!isObject.flag) {\n const res = { errMsg: `setScreenBrightness:fail ${isObject.msg}` }\n console.error(res.errMsg)\n return Promise.reject(res)\n }\n\n const { value, success, fail, complete } = options\n const handle = new MethodHandler<{ code: unknown }>({ name: 'setScreenBrightness', success, fail, complete })\n\n if (!isNumber(value)) {\n return handle.fail({\n errMsg: getParameterError({\n para: 'value',\n correct: 'Number',\n wrong: value\n })\n })\n }\n\n return new Promise((resolve, reject) => {\n brightness.setValue({\n // FIXME 不生效\n value: value >= 0 && value <= 1 ? value * 255 : value,\n success: function () {\n return handle.success({}, { resolve, reject })\n },\n fail: function (data, code) {\n return handle.fail({\n errMsg: data || '',\n code\n }, { resolve, reject })\n }\n })\n })\n}\n\nexport const setKeepScreenOn = /* @__PURE__ */ temporarilyNotSupport('setKeepScreenOn')\nexport const onUserCaptureScreen = /* @__PURE__ */ temporarilyNotSupport('onUserCaptureScreen')\nexport const offUserCaptureScreen = /* @__PURE__ */ temporarilyNotSupport('offUserCaptureScreen')\n\nexport const getScreenBrightness: typeof Taro.getScreenBrightness = function (options) {\n const { success, fail, complete } = options || {}\n const handle = new MethodHandler<Taro.getScreenBrightness.SuccessCallbackOption & { code: unknown }>({ name: 'getScreenBrightness', success, fail, complete })\n\n return new Promise((resolve, reject) => {\n brightness.getValue({\n success: function (data) {\n return handle.success({\n value: data.value\n }, { resolve, reject })\n },\n fail: function (data, code) {\n return handle.fail({\n errMsg: data || '',\n code\n }, { resolve, reject })\n }\n })\n })\n}\n\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')\n","import vibrator from '@ohos.vibrator'\n\nimport { MethodHandler } from '../utils/handler'\n\nimport type Taro from '@tarojs/taro/types'\n\nconst VIBRATOR_LONG_TIME = 400\nconst VIBRATOR_SHORT_TIME = 15\n\nfunction vibrateBaseGenerator (duration: number, name = '') {\n return ({ success, fail, complete }: Taro.vibrateLong.Option = {}) => {\n const handle = new MethodHandler({ name, success, fail, complete })\n return new Promise((resolve, reject) => {\n vibrator.startVibration({\n type: 'time',\n duration,\n }, {\n usage: 'unknown'\n }, (error) => {\n if (error) {\n return handle.fail({\n errMsg: `vibrate fail, error.code: ${error.code}; error.message: ${error.message}`\n }, { resolve, reject })\n }\n return handle.success({}, { resolve, reject })\n })\n })\n }\n}\n\nexport const vibrateLong = vibrateBaseGenerator(VIBRATOR_LONG_TIME, 'vibrateLong')\nexport const vibrateShort = vibrateBaseGenerator(VIBRATOR_SHORT_TIME, 'vibrateShort')\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","/**\n * HarmonyOS 文档:\n * https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-fileio-0000001168366687\n *\n * WX 文档:\n * https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.html\n *\n * Taro.js 文档\n * https://taro-docs.jd.com/taro/docs/apis/files/FileSystemManager\n *\n * HarmonyOS 不支持接口:\n * readCompressedFile\n * readCompressedFileSync\n * readdirSync\n * readZipEntry\n *\n * HarmonyOS 差异性接口:\n * readFile:encoding 仅支持 utf-8\n * readFileSync:encoding 仅支持 utf-8\n * write:encoding 仅支持 utf-8\n * writeSync:encoding 仅支持 utf-8\n * rmdirSync:recursive 参数无效(即不支持递归删除)\n * statSync:recursive 参数无效(即不支持递归获取目录下的每个文件的 Stats 信息)\n * getSavedFileList:返回值 fileList 中的每一项不包含 createTime 属性\n */\n\nimport fileio from '@ohos.fileio'\nimport zlib from '@ohos.zlib'\nimport app from '@system.app'\nimport file from '@system.file'\nimport { isNumber, isString } from '@tarojs/shared'\n\nimport { callCallbackFail, callCallbackSuccess, temporarilyNotSupport, validateParams } from '../utils'\n\nimport type Taro from '@tarojs/taro/types'\n\nconst rootDataPath = `/data/data/${app.getInfo()?.appID || 'app'}`\nconst rootSavedFilePath = `${rootDataPath}/files`\n\nconst pathSchema = {\n path: 'String'\n}\n\nconst copyFileSchema = {\n srcPath: 'String',\n destPath: 'String'\n}\n\nconst filePathSchema = {\n filePath: 'String'\n}\n\nconst dirPathSchema = {\n dirPath: 'String'\n}\n\nconst readSchema = {\n fd: 'String',\n arrayBuffer: 'Object'\n}\n\nconst writeSchema = {\n fd: 'String',\n data: 'String'\n}\n\nconst renameSchema = {\n newPath: 'String',\n oldPath: 'String'\n}\n\nconst fdSchema = {\n fd: 'String'\n}\n\nconst saveFileSchema = {\n tempFilePath: 'String'\n}\n\nconst unzipSchema = {\n targetPath: 'String',\n zipFilePath: 'String'\n}\ninterface ReadOption {\n offset?: number\n length?: number\n position?: number\n}\n\ninterface WriteOption extends ReadOption {\n encoding: 'utf-8'\n}\n\ninterface ReadFileOption {\n position?: number\n length?: number\n encoding: 'utf-8'\n}\ninterface ReadResult {\n bytesRead: number\n arrayBuffer: ArrayBuffer\n}\n\ninterface WriteResult {\n bytesWritten: number\n}\n\ninterface StatWithFdResult {\n stats: Taro.Stats | null\n error: Taro.FileSystemManager.StatFailCallbackResult | null\n}\n\ninterface GetDirFilesResult {\n files: string[]\n dirs: string[]\n}\n\nfunction convertFilePathToUri (filePath: string): string {\n let uri = filePath.replace(/\\/+/g, '/').replace(rootDataPath, 'internal:').replace('internal:/files', 'internal:/app')\n uri = /\\/$/.test(uri) ? uri : `${uri}/`\n return uri.replace(/\\//g, '//')\n}\n\nfunction convertUriToFilePath (uri: string): string {\n return uri.replace(/\\/+/g, '/').replace('internal:/app', 'internal:/files').replace('internal:', rootDataPath)\n}\n\nfunction convertDataToString (data: string | ArrayBuffer): string {\n if (isString(data)) {\n return data\n }\n return String.fromCharCode.apply(null, new Uint8Array(data))\n}\n\nfunction convertReadOption (option: Taro.FileSystemManager.ReadOption | Taro.FileSystemManager.ReadSyncOption): ReadOption {\n const result: ReadOption = {}\n const { offset, length, position } = option\n if (isNumber(offset)) {\n result.offset = offset\n }\n if (isNumber(length)) {\n result.length = length\n }\n if (isNumber(position)) {\n result.position = position\n }\n return result\n}\n\nfunction convertWriteOption (option: Taro.FileSystemManager.WriteOption | Taro.FileSystemManager.WriteSyncOption): WriteOption {\n const result: WriteOption = {\n encoding: 'utf-8'\n }\n const { offset, length, position } = option\n if (isNumber(offset)) {\n result.offset = offset\n }\n if (isNumber(length)) {\n result.length = length\n }\n if (isNumber(position)) {\n result.position = position\n }\n return result\n}\n\nfunction convertReadFileOption (option: Taro.FileSystemManager.ReadFileOption): ReadFileOption {\n const result: ReadFileOption = {\n encoding: 'utf-8'\n }\n const { position, length } = option\n if (isNumber(position)) {\n result.position = position\n }\n if (isNumber(length)) {\n result.length = length\n }\n return result\n}\n\nfunction convertFd (fd: string): number {\n return parseInt(fd, 10)\n}\n\n/**\n * HarmonyOS flag 详情参见:\n * https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-fileio-0000001168366687#section1153565865716\n */\nfunction convertOpenFlag (flag?: keyof Taro.FileSystemManager.flag): number {\n if (typeof flag === 'string') {\n switch (flag) {\n case 'a':\n return 0o1 | 0o100 | 0o2000\n case 'ax':\n return 0o1 | 0o100 | 0o2000 | 0o200\n case 'a+':\n return 0o2 | 0o100 | 0o2000\n case 'ax+':\n return 0o2 | 0o100 | 0o2000 | 0o200\n case 'as':\n return 0o1 | 0o100 | 0o2000 | 0o4010000\n case 'as+':\n return 0o2 | 0o100 | 0o2000 | 0o4010000\n case 'r':\n return 0o0\n case 'r+':\n return 0o2\n case 'w':\n return 0o1 | 0o100 | 0o1000\n case 'wx':\n return 0o1 | 0o100 | 0o200\n case 'w+':\n return 0o2 | 0o100 | 0o1000\n case 'wx+':\n return 0o2 | 0o100 | 0o200\n default:\n return 0o0\n }\n } else {\n return 0o0\n }\n}\n\nexport function validateSavedFilePath (savedFilePath: string) {\n if (savedFilePath.indexOf(rootSavedFilePath) !== 0) {\n throw new Error(`The filePath should in ${rootSavedFilePath}`)\n }\n}\n\nfunction parseSavedFilePath (srcPath: string, savedFilePath: string | undefined) : string {\n if (isString(savedFilePath) && savedFilePath.length > 0) {\n validateSavedFilePath(savedFilePath)\n return savedFilePath\n }\n return `${rootSavedFilePath}/${srcPath.split('/').pop()}`\n}\n\nfunction isFileExist (filePath: string): boolean {\n try {\n accessSync(filePath)\n return true\n } catch (_) {\n return false\n }\n}\n\nfunction getDirFiles (dirPath: string): Promise<GetDirFilesResult> {\n return new Promise((resolve, reject) => {\n file.list({\n uri: convertFilePathToUri(dirPath),\n success: ({ fileList }) => {\n resolve({\n files: fileList.filter(({ type }) => type.toLowerCase() === 'file').map(({ uri }) => convertUriToFilePath(uri)),\n dirs: fileList.filter(({ type }) => type.toLowerCase() === 'dir').map(({ uri }) => convertUriToFilePath(uri))\n })\n },\n fail: (error) => {\n reject(new Error(error))\n }\n })\n })\n}\n\nconst readCompressedFile = temporarilyNotSupport('readCompressedFile')\n\nfunction readCompressedFileSync (_: Taro.FileSystemManager.readCompressedFileSync.Option): ArrayBuffer {\n temporarilyNotSupport('readCompressedFileSync')(_)\n return new ArrayBuffer(0)\n}\n\nfunction readdirSync (_: string): string[] {\n temporarilyNotSupport('readdirSync')(_)\n return []\n}\n\nconst readZipEntry = temporarilyNotSupport('readZipEntry')\n\nfunction access (option: Taro.FileSystemManager.AccessOption) {\n try {\n validateParams('access', option, pathSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callCallbackFail(res, option)\n }\n fileio.access(option.path, (error) => {\n if (error) {\n const res = { errMsg: error.message ? error.message : error }\n callCallbackFail(res, option)\n } else {\n callCallbackSuccess(undefined, option)\n }\n })\n}\n\nfunction accessSync (path: string) {\n fileio.accessSync(path)\n}\n\nfunction mkdir (option: Taro.FileSystemManager.MkdirOption) {\n try {\n validateParams('mkdir', option, dirPathSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callCallbackFail(res, option)\n }\n file.mkdir({\n uri: convertFilePathToUri(option.dirPath),\n recursive: option.recursive,\n success: () => callCallbackSuccess(undefined, option),\n fail: (error, code) => {\n const res = { errMsg: `mkdir invoke failed, code: ${code}, error: ${error}` }\n callCallbackFail(res, option)\n }\n })\n}\n\nfunction mkdirSync (dirPath: string, recursive?: boolean) {\n if (recursive === true) {\n const pathParts = dirPath.split('/')\n for (let index = 0; index < pathParts.length; index++) {\n const filePath = pathParts.slice(0, index + 1).join('/')\n if (filePath.length === 0 || isFileExist(filePath)) {\n continue\n }\n fileio.mkdirSync(filePath)\n }\n } else {\n fileio.mkdirSync(dirPath)\n }\n}\n\nfunction rmdir (option: Taro.FileSystemManager.RmdirOption) {\n try {\n validateParams('rmdir', option, dirPathSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callCallbackFail(res, option)\n }\n file.rmdir({\n uri: convertFilePathToUri(option.dirPath),\n recursive: option.recursive,\n success: () => callCallbackSuccess(undefined, option),\n fail: (error, code) => {\n const res = { errMsg: `rmdir invoke failed, code: ${code}, error: ${error}` }\n callCallbackFail(res, option)\n }\n })\n}\n\nfunction rmdirSync (dirPath: string, recursive?: boolean) {\n if (recursive === true) {\n temporarilyNotSupport('rmdirSync recursive')(dirPath)\n } else {\n fileio.rmdirSync(dirPath)\n }\n}\n\nfunction readdir (option: Taro.FileSystemManager.ReaddirOption) {\n try {\n validateParams('readdir', option, dirPathSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callCallbackFail(res, option)\n }\n\n getDirFiles(option.dirPath).then(({ files, dirs }) => {\n callCallbackSuccess({ files: [...files, ...dirs] }, option)\n }).catch((error) => {\n const res = { errMsg: error.message }\n callCallbackFail(res, option)\n })\n}\n\nfunction copyFile (option: Taro.FileSystemManager.CopyFileOption) {\n try {\n validateParams('copyFile', option, copyFileSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callCallbackFail(res, option)\n }\n fileio.copyFile(option.srcPath, option.destPath, 0, (error) => {\n if (error) {\n const res = { errMsg: error.message ? error.message : error }\n callCallbackFail(res, option)\n } else {\n callCallbackSuccess(undefined, option)\n }\n })\n}\n\nfunction copyFileSync (srcPath: string, destPath: string) {\n fileio.copyFileSync(srcPath, destPath, 0)\n}\n\nfunction open (option: Taro.FileSystemManager.OpenOption) {\n try {\n validateParams('open', option, filePathSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callCallbackFail(res, option)\n }\n // 由于 HarmonyOS 异步方法 fileio.open 在【文件不存在则创建】模式下依旧抛出 No such file or directory 异常,\n // 为保证接口的可用性,此处降级使用 fileio.openSync 方法。\n const openPromise = new Promise((resolve, reject) => {\n try {\n const fd = fileio.openSync(option.filePath, convertOpenFlag(option.flag), 0o666)\n resolve({ fd: fd.toString() })\n } catch (error) {\n reject(new Error(error.message ? error.message : error))\n }\n })\n openPromise.then((res) => callCallbackSuccess(res, option))\n .catch((error) => callCallbackFail({ errMsg: error.message }, option))\n}\n\nfunction openSync (option: Taro.FileSystemManager.OpenSyncOption): string {\n validateParams('openSync', option, filePathSchema)\n return fileio.openSync(option.filePath, convertOpenFlag(option.flag), 0o666).toString()\n}\n\nfunction read (option: Taro.FileSystemManager.ReadOption) {\n try {\n validateParams('read', option, readSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callCallbackFail(res, option)\n }\n\n fileio.read(convertFd(option.fd), option.arrayBuffer, convertReadOption(option), (error, readOut) => {\n if (error) {\n const res = { errMsg: error.message ? error.message : error }\n callCallbackFail(res, option)\n } else {\n callCallbackSuccess({ bytesRead: readOut.bytesRead, arrayBuffer: readOut.buffer }, option)\n }\n })\n}\n\nfunction readSync (option: Taro.FileSystemManager.ReadSyncOption): ReadResult {\n validateParams('readSync', option, readSchema)\n return {\n bytesRead: fileio.readSync(convertFd(option.fd), option.arrayBuffer, convertReadOption(option)),\n arrayBuffer: option.arrayBuffer\n }\n}\n\n/**\n * HarmonyOS encoding 目前仅支持 utf-8,详情参见:\n * https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-fileio-0000001168366687#section17477155374810\n */\nfunction readFile (option: Taro.FileSystemManager.ReadFileOption) {\n try {\n validateParams('readFile', option, filePathSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callCallbackFail(res, option)\n }\n\n fileio.readText(option.filePath, convertReadFileOption(option), (error, data) => {\n if (error) {\n const res = { errMsg: error.message ? error.message : error }\n callCallbackFail(res, option)\n } else {\n callCallbackSuccess({ data }, option)\n }\n })\n}\n\n/**\n * HarmonyOS encoding 目前仅支持 utf-8,详情参见:\n * https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-fileio-0000001168366687#section4147155065718\n */\nfunction readFileSync (filePath: string, encoding?: keyof Taro.FileSystemManager.Encoding, position?: number, length?: number): string | ArrayBuffer {\n return fileio.readTextSync(filePath, convertReadFileOption({ filePath, encoding, length, position }))\n}\n\n/**\n * HarmonyOS encoding 目前仅支持 utf-8,详情参见:\n * https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-fileio-0000001168366687#section140547195118\n */\nfunction write (option: Taro.FileSystemManager.WriteOption) {\n const data = convertDataToString(option.data)\n try {\n validateParams('write', { ...option, data }, writeSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callCallbackFail(res, option)\n }\n fileio.write(convertFd(option.fd), data, convertWriteOption(option), (error, bytesWritten) => {\n if (error) {\n const res = { errMsg: error.message ? error.message : error }\n callCallbackFail(res, option)\n } else {\n callCallbackSuccess({ bytesWritten }, option)\n }\n })\n}\n\n/**\n * HarmonyOS encoding 目前仅支持 utf-8,详情参见:\n * https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-fileio-0000001168366687#section144923345218\n */\nfunction writeSync (option: Taro.FileSystemManager.WriteSyncOption): WriteResult {\n const data = convertDataToString(option.data)\n validateParams('writeSync', { ...option, data }, writeSchema)\n return {\n bytesWritten: fileio.writeSync(convertFd(option.fd), data, convertWriteOption(option))\n }\n}\n\nfunction writeFileWithFlag (option: Taro.FileSystemManager.WriteFileOption, flag: keyof Taro.FileSystemManager.flag) {\n open({\n flag,\n filePath: option.filePath,\n success: ({ fd }) => {\n const writePromise = new Promise((resolve) => {\n write({\n fd,\n data: option.data,\n success: (res) => resolve({\n error: null,\n res\n }),\n fail: (res) => resolve({\n error: res,\n res: null\n })\n })\n })\n writePromise.then(({ error, res }) => {\n close({\n fd,\n success: () => {\n if (error === null) {\n callCallbackSuccess(res, option)\n } else {\n callCallbackFail(error, option)\n }\n },\n fail: (res) => callCallbackFail(res, option)\n })\n })\n },\n fail: (res) => callCallbackFail(res, option)\n })\n}\n\nfunction writeFile (option: Taro.FileSystemManager.WriteFileOption) {\n writeFileWithFlag(option, 'w')\n}\n\nfunction writeFileSyncWithFlag (filePath: string, data: string | ArrayBuffer, flag: keyof Taro.FileSystemManager.flag) {\n const fd = openSync({ filePath, flag })\n writeSync({ fd, data })\n closeSync({ fd })\n}\n\nfunction writeFileSync (filePath: string, data: string | ArrayBuffer) {\n writeFileSyncWithFlag(filePath, data, 'w')\n}\n\nfunction appendFile (option: Taro.FileSystemManager.AppendFileOption) {\n writeFileWithFlag(option, 'a')\n}\n\nfunction appendFileSync (filePath: string, data: string | ArrayBuffer) {\n writeFileSyncWithFlag(filePath, data, 'a')\n}\n\nfunction rename (option: Taro.FileSystemManager.RenameOption) {\n try {\n validateParams('rename', option, renameSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callCallbackFail(res, option)\n }\n fileio.rename(option.oldPath, option.newPath, (error) => {\n if (error) {\n const res = { errMsg: error.message ? error.message : error }\n callCallbackFail(res, option)\n } else {\n callCallbackSuccess(undefined, option)\n }\n })\n}\n\nfunction renameSync (oldPath: string, newPath: string) {\n fileio.renameSync(oldPath, newPath)\n}\n\nfunction unlink (option: Taro.FileSystemManager.UnlinkOption) {\n try {\n validateParams('unlink', option, filePathSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callCallbackFail(res, option)\n }\n\n fileio.unlink(option.filePath, (error) => {\n if (error) {\n const res = { errMsg: error.message ? error.message : error }\n callCallbackFail(res, option)\n } else {\n callCallbackSuccess(undefined, option)\n }\n })\n}\n\nfunction unlinkSync (filePath: string) {\n fileio.unlinkSync(filePath)\n}\n\nfunction fstat (option: Taro.FileSystemManager.FstatOption) {\n try {\n validateParams('fstat', option, fdSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callCallbackFail(res, option)\n }\n fileio.fstat(convertFd(option.fd), (error, stats) => {\n if (error) {\n const res = { errMsg: error.message ? error.message : error }\n callCallbackFail(res, option)\n } else {\n const res = {\n mode: stats.mode.toString(),\n size: stats.size,\n lastAccessedTime: stats.atime,\n lastModifiedTime: stats.mtime,\n isDirectory: () => stats.isDirectory(),\n isFile: () => stats.isFile()\n }\n callCallbackSuccess({ stats: res }, option)\n }\n })\n}\n\nfunction fstatSync (option: Taro.FileSystemManager.FstatSyncOption): Taro.Stats {\n validateParams('fstatSync', option, fdSchema)\n const stats = fileio.fstatSync(convertFd(option.fd))\n return {\n mode: stats.mode.toString(),\n size: stats.size,\n lastAccessedTime: stats.atime,\n lastModifiedTime: stats.mtime,\n isDirectory: () => stats.isDirectory(),\n isFile: () => stats.isFile()\n }\n}\n\nfunction statWithFd (fd: string): Promise<StatWithFdResult> {\n return new Promise((resolve) => {\n fstat({\n fd,\n success: ({ stats }) => resolve({\n stats,\n error: null\n }),\n fail: (error) => resolve({\n error,\n stats: null\n })\n })\n })\n}\n\nfunction statWithPath (path: string): Promise<Taro.Stats> {\n return new Promise((resolve, reject) => {\n open({\n filePath: path,\n flag: 'r',\n success: ({ fd }) => {\n statWithFd(fd).then(({ error, stats }) => {\n close({\n fd,\n success: () => {\n if (error === null) {\n resolve(stats!)\n } else {\n reject(error)\n }\n },\n fail: (error) => reject(error)\n })\n })\n },\n fail: (error) => reject(error)\n })\n })\n}\n\nasync function statWithRecursive (rootPath: string): Promise<Record<string, Taro.Stats>> {\n let result: Record<string, Taro.Stats> = {}\n const { files, dirs } = await getDirFiles(rootPath)\n for (const dir of dirs) {\n result[dir] = await statWithPath(dir)\n result = {\n ...result,\n ...(await statWithRecursive(dir))\n }\n }\n for (const file of files) {\n result[file] = await statWithPath(file)\n }\n return result\n}\n\nfunction stat (option: Taro.FileSystemManager.StatOption) {\n try {\n validateParams('fstat', option, pathSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callCallbackFail(res, option)\n }\n\n const statPromise = option.recursive === true ? statWithRecursive(option.path) : statWithPath(option.path)\n statPromise.then((stats) => {\n callCallbackSuccess({ stats }, option)\n }).catch((error) => {\n const res = { errMsg: error.message ? error.message : error }\n callCallbackFail(res, option)\n })\n}\n\nfunction statSync (path: string, recursive?: boolean): Taro.Stats | any {\n if (recursive === true) {\n return temporarilyNotSupport('statSync recursive')(path)\n }\n const fd = openSync({ filePath: path, flag: 'r' })\n const stats = fstatSync({ fd })\n closeSync({ fd })\n return stats\n}\n\nfunction getFileInfo (option: Taro.FileSystemManager.getFileInfoOption) {\n statWithPath(option.filePath).then((stats) => {\n callCallbackSuccess({ size: stats.size }, option)\n }).catch((error) => {\n const res = { errMsg: error.message ? error.message : error }\n callCallbackFail(res, option)\n })\n}\n\nfunction getSavedFileList (option: Taro.FileSystemManager.getSavedFileListOption) {\n statWithRecursive(rootSavedFilePath).then((stats) => {\n const fileList = Object.keys(stats).map((filePath) => {\n const file = stats[filePath]\n if (file.isFile()) {\n return {\n filePath,\n size: file.size\n }\n }\n return null\n }).filter((file) => file !== null)\n callCallbackSuccess({ fileList }, option)\n }).catch((error) => {\n const res = { errMsg: error.message ? error.message : error }\n callCallbackFail(res, option)\n })\n}\n\nfunction ftruncate (option: Taro.FileSystemManager.FtruncateOption) {\n try {\n validateParams('ftruncate', option, fdSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callCallbackFail(res, option)\n }\n\n fileio.ftruncate(convertFd(option.fd), option.length ?? 0, (error) => {\n if (error) {\n const res = { errMsg: error.message ? error.message : error }\n callCallbackFail(res, option)\n } else {\n callCallbackSuccess(undefined, option)\n }\n })\n}\n\nfunction ftruncateSync (option: Taro.FileSystemManager.FtruncateSyncOption) {\n validateParams('ftruncateSync', option, fdSchema)\n fileio.ftruncateSync(convertFd(option.fd), option.length ?? 0)\n}\n\nfunction truncate (option: Taro.FileSystemManager.TruncateOption) {\n try {\n validateParams('truncate', option, filePathSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callCallbackFail(res, option)\n }\n\n fileio.truncate(option.filePath, option.length ?? 0, (error) => {\n if (error) {\n const res = { errMsg: error.message ? error.message : error }\n callCallbackFail(res, option)\n } else {\n callCallbackSuccess(undefined, option)\n }\n })\n}\n\nfunction truncateSync (option: Taro.FileSystemManager.TruncateSyncOption) {\n validateParams('truncateSync', option, filePathSchema)\n fileio.truncateSync(option.filePath, option.length ?? 0)\n}\n\nfunction close (option: Taro.FileSystemManager.CloseOption) {\n try {\n validateParams('close', option, fdSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callCallbackFail(res, option)\n }\n fileio.close(convertFd(option.fd), (error) => {\n if (error) {\n const res = { errMsg: error.message ? error.message : error }\n callCallbackFail(res, option)\n } else {\n callCallbackSuccess(undefined, option)\n }\n })\n}\n\nfunction closeSync (option: Taro.FileSystemManager.CloseSyncOption) {\n validateParams('closeSync', option, fdSchema)\n fileio.closeSync(convertFd(option.fd))\n}\n\nfunction saveFile (option: Taro.FileSystemManager.SaveFileOption) {\n try {\n validateParams('saveFile', option, saveFileSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callCallbackFail(res, option)\n }\n\n try {\n const savedFilePath = parseSavedFilePath(option.tempFilePath, option.filePath)\n rename({\n oldPath: option.tempFilePath,\n newPath: savedFilePath,\n success: () => {\n callCallbackSuccess({ savedFilePath }, option)\n },\n fail: (res) => {\n callCallbackFail(res, option)\n }\n })\n } catch (error) {\n const res = { errMsg: error.message }\n return callCallbackFail(res, option)\n }\n}\n\nfunction saveFileSync (tempFilePath: string, filePath?: string): string {\n const savedFilePath = parseSavedFilePath(tempFilePath, filePath)\n renameSync(tempFilePath, savedFilePath)\n return savedFilePath\n}\n\nfunction removeSavedFile (option: Taro.FileSystemManager.RemoveSavedFileOption) {\n try {\n validateParams('removeSavedFile', option, filePathSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callCallbackFail(res, option)\n }\n try {\n validateSavedFilePath(option.filePath)\n } catch (error) {\n const res = { errMsg: error.message }\n return callCallbackFail(res, option)\n }\n unlink(option)\n}\n\nfunction unzip (option: Taro.FileSystemManager.UnzipOption) {\n try {\n validateParams('unzip', option, unzipSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callCallbackFail(res, option)\n }\n zlib.unzipFile(option.zipFilePath, option.targetPath).then(() => {\n callCallbackSuccess(undefined, option)\n }).catch(error => {\n const res = { errMsg: error.message ? error.message : error }\n callCallbackFail(res, option)\n })\n}\n\nexport function getFileSystemManager (): Taro.FileSystemManager {\n return {\n access,\n accessSync,\n appendFile,\n appendFileSync,\n close,\n closeSync,\n copyFile,\n copyFileSync,\n fstat,\n fstatSync,\n ftruncate,\n ftruncateSync,\n getFileInfo,\n getSavedFileList,\n mkdir,\n mkdirSync,\n open,\n openSync,\n read,\n readCompressedFile,\n readCompressedFileSync,\n readdir,\n readdirSync,\n readFile,\n readFileSync,\n readSync,\n readZipEntry,\n removeSavedFile,\n rename,\n renameSync,\n rmdir,\n rmdirSync,\n saveFile,\n saveFileSync,\n stat,\n statSync,\n truncate,\n truncateSync,\n unlink,\n unlinkSync,\n unzip,\n write,\n writeFile,\n writeFileSync,\n writeSync\n }\n}\n","/**\n * HarmonyOS 文档:\n * https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-fileio-0000001168366687\n *\n * WX 文档:\n * https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.saveFileToDisk.html\n *\n * Taro.js 文档\n * https://taro-docs.jd.com/taro/docs/apis/files/saveFileToDisk\n *\n * HarmonyOS 不支持接口:\n * saveFileToDisk\n *\n * HarmonyOS 差异性接口:\n * openDocument:showMenu、type 选项无效\n * getSavedFileList:返回值 fileList 中的每一项不包含 createTime 属性\n * getSavedFileInfo:返回值不包含 createTime 属性\n */\n\nimport document from '@ohos.document'\nimport fileio from '@ohos.fileio'\n\nimport { callAsyncFail, callAsyncSuccess, temporarilyNotSupport, validateParams } from '../utils'\nimport { getFileSystemManager, validateSavedFilePath } from './manager'\n\nimport type Taro from '@tarojs/taro/types'\n\nconst filePathSchema = {\n filePath: 'String'\n}\n\nexport const saveFileToDisk = temporarilyNotSupport('saveFileToDisk')\n\n/**\n * HarmonyOS 不支持 showMenu 选项,并且 type 目前仅支持 *,详情参见:\n * https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-document-0000001168936589#section9616125953711\n */\nexport function openDocument (option: Taro.openDocument.Option): Promise<any> {\n return new Promise((resolve, reject) => {\n try {\n validateParams('access', option, filePathSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callAsyncFail(reject, res, option)\n }\n document.show(option.filePath, '*', (error) => {\n if (error) {\n const res = { errMsg: error.message ? error.message : error }\n return callAsyncFail(reject, res, option)\n } else {\n callAsyncSuccess(resolve, undefined, option)\n }\n })\n })\n}\n\nexport function saveFile (option: Taro.saveFile.Option): Promise<any> {\n return new Promise((resolve, reject) => {\n const fileSystemManager = getFileSystemManager()\n fileSystemManager.saveFile({\n tempFilePath: option.tempFilePath,\n filePath: option.filePath,\n success: (res) => {\n callAsyncSuccess(resolve, res, option)\n },\n fail: (res) => {\n callAsyncFail(reject, res, option)\n }\n })\n })\n}\n\nexport function removeSavedFile (option: Taro.removeSavedFile.Option): Promise<any> {\n return new Promise((resolve, reject) => {\n const fileSystemManager = getFileSystemManager()\n fileSystemManager.removeSavedFile({\n filePath: option.filePath,\n success: (res) => {\n callAsyncSuccess(resolve, res, option)\n },\n fail: (res) => {\n callAsyncFail(reject, res, option)\n }\n })\n })\n}\n\nexport function getFileInfo (option: Taro.getFileInfo.Option): Promise<Taro.getFileInfo.SuccessCallbackResult | Taro.getFileInfo.FailCallbackResult> {\n return new Promise((resolve, reject) => {\n const fileSystemManager = getFileSystemManager()\n fileSystemManager.getFileInfo({\n filePath: option.filePath,\n success: ({ size }) => {\n fileio.hash(option.filePath, option.digestAlgorithm ?? 'md5').then((digest) => {\n callAsyncSuccess(resolve, { size, digest }, option)\n }).catch((error) => {\n const res = { errMsg: error.message ? error.message : error }\n callAsyncFail(reject, res, option)\n })\n },\n fail: (res) => {\n callAsyncFail(reject, res, option)\n }\n })\n })\n}\n\nexport function getSavedFileList (option?: Taro.getSavedFileList.Option): Promise<Taro.getSavedFileList.SuccessCallbackResult> {\n return new Promise((resolve, reject) => {\n const fileSystemManager = getFileSystemManager()\n fileSystemManager.getSavedFileList({\n success: (res) => callAsyncSuccess(resolve, res, option),\n fail: (res) => callAsyncFail(reject, res, option)\n })\n })\n}\n\nexport function getSavedFileInfo (option: Taro.getSavedFileInfo.Option): Promise<Taro.getSavedFileInfo.SuccessCallbackResult> {\n return new Promise((resolve, reject) => {\n try {\n validateParams('getSavedFileInfo', option, filePathSchema)\n validateSavedFilePath(option.filePath)\n } catch (error) {\n const res = { errMsg: error.message }\n return callAsyncFail(reject, res, option)\n }\n const fileSystemManager = getFileSystemManager()\n fileSystemManager.getFileInfo({\n filePath: option.filePath,\n success: ({ size }) => callAsyncSuccess(resolve, { size }, option),\n fail: (res) => callAsyncFail(reject, res, option)\n })\n })\n}\n\nexport { getFileSystemManager }\n","import { temporarilyNotSupport } from '../utils'\n\nexport const ENV_TYPE = {\n WEAPP: 'WEAPP',\n SWAN: 'SWAN',\n ALIPAY: 'ALIPAY',\n TT: 'TT',\n QQ: 'QQ',\n JD: 'JD',\n WEB: 'WEB',\n RN: 'RN',\n HARMONY: 'HARMONY',\n QUICKAPP: 'QUICKAPP'\n}\n\nexport function getEnv () {\n return ENV_TYPE.HARMONY\n}\n\n// TODO\nexport const getCurrentPages = () => []\n\nexport { Current, getCurrentInstance } from '@tarojs/runtime'\n\nexport const requirePlugin = temporarilyNotSupport('requirePlugin')\n\nexport { eventCenter, Events, History } from '@tarojs/runtime/dist/runtime.esm'\n","// @ts-nocheck\n// HarmonyOS 文档: https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-geolocation-0000001199568865#section13752433138\n// WX 文档: https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.onLocationChange.html\n// ✅ wx.offLocationChange\n// ✅ wx.getLocation\n// ✅ wx.onLocationChange\n\n// 不支持实现\n// ❌ wx.startLocationUpdateBackground\n// ❌ wx.onLocationChangeError\n// ❌ wx.offLocationChangeError\n// ❌ wx.openLocation 地图相关\n// ❌ wx.choosePoi 地图相关\n// ❌ wx.chooseLocation 地图相关\n// ❌ wx.stopLocationUpdate\n// ❌ wx.startLocationUpdate\n\nimport geoLocationManager from '@ohos.geoLocationManager'\n\nimport { callAsyncFail, callAsyncSuccess, temporarilyNotSupport, validateParams } from '../utils'\nimport { MethodHandler } from '../utils/handler'\n\nimport type Taro from '@tarojs/taro/types'\n\n// 位置\nexport const stopLocationUpdate = /* @__PURE__ */ temporarilyNotSupport('stopLocationUpdate')\nexport const startLocationUpdateBackground = /* @__PURE__ */ temporarilyNotSupport('startLocationUpdateBackground')\nexport const startLocationUpdate = /* @__PURE__ */ temporarilyNotSupport('startLocationUpdate')\nexport const openLocation = /* @__PURE__ */ temporarilyNotSupport('openLocation')\n\nfunction formatLocation (location: Location) {\n const wxLocate = {\n latitude: location.latitude,\n longitude: location.longitude,\n altitude: location.altitude,\n accuracy: location.accuracy,\n speed: location.speed,\n verticalAccuracy: 0, // OHOS 不支持返回此参数,直接设置为默认值\n horizontalAccuracy: 0 // OHOS 不支持返回此参数,直接设置为默认值\n }\n return wxLocate\n}\n// TODO:增加参数校验\n// const getLocationSchema = {\n// type: 'String',\n// altitude: 'Boolean',\n// ishighAccuracy: 'Boolean',\n// highAccuracyExpireTime: 'number'\n// }\n\nexport const getLocation: typeof Taro.getLocation = function (options = {}) {\n return new Promise((resolve, reject) => {\n /**\n * ohos 有 priority, scenario, maxAccuracy, timeoutMs\n * wx 有 type, altitude, isHighAccuracy, highAccuracyExpireTime\n * 二者参数不一致\n */\n const { type, altitude, isHighAccuracy, highAccuracyExpireTime } = options\n try {\n return geoLocationManager.getCurrentLocation({\n type,\n altitude,\n isHighAccuracy,\n highAccuracyExpireTime\n }).then((location: Location) => {\n if (location.code !== 0) {\n callAsyncFail(reject, location, options)\n } else {\n const wxLocate = formatLocation(location.data)\n callAsyncSuccess(resolve, wxLocate, options)\n }\n }).catch(error => {\n callAsyncFail(reject, error, options)\n })\n } catch (error) {\n callAsyncFail(reject, error, options)\n }\n })\n}\n\nexport const onLocationChange: typeof Taro.onLocationChange = function (callback) {\n const name = 'onLocationChange'\n const handle = new MethodHandler<Partial<Taro.onLocationChange.CallbackResult>>({ name, complete: callback })\n try {\n validateParams(name, [callback], ['Function'])\n geoLocationManager.on('locationChange', {}, (location: Location) => {\n if (location) {\n const wxLocate = formatLocation(location)\n callback(wxLocate)\n }\n })\n } catch (error) {\n handle.fail({\n errMsg: error\n })\n }\n}\n\nexport const offLocationChange: typeof Taro.offLocationChange = function (callback) {\n const name = 'offLocationChange'\n const handle = new MethodHandler<Partial<Taro.onLocationChange.CallbackResult>>({ name, complete: callback })\n try {\n validateParams(name, [callback], ['Function'])\n geoLocationManager.off('locationChange', (location: Location) => {\n const status = {\n errCode: 200,\n errMsg: location ? 'offLocationChange is off' : 'offLocationChange err'\n }\n\n if (callback) {\n callback(status)\n }\n })\n } catch (error) {\n handle.fail({\n errMsg: error\n })\n }\n}\n\nexport const onLocationChangeError = /* @__PURE__ */ temporarilyNotSupport('onLocationChangeError')\nexport const offLocationChangeError = /* @__PURE__ */ temporarilyNotSupport('offLocationChangeError')\n\nexport const choosePoi = /* @__PURE__ */ temporarilyNotSupport('choosePoi')\nexport const chooseLocation = /* @__PURE__ */ temporarilyNotSupport('chooseLocation')\nexport const getFuzzyLocation = /* @__PURE__ */ temporarilyNotSupport('getFuzzyLocation')\n","import { temporarilyNotSupport } from '../../utils'\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 = /* @__PURE__ */ temporarilyNotSupport('createInnerAudioContext')\r\n\r\nexport const createAudioContext = /* @__PURE__ */ temporarilyNotSupport('createAudioContext')\r\n","import { temporarilyNotSupport } from '../../utils'\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 = /* @__PURE__ */ temporarilyNotSupport('getBackgroundAudioManager')\n","import { temporarilyNotSupport } from '../utils'\n\nimport type Taro from '@tarojs/taro/types'\n\n// 相机\nclass CameraContext implements Taro.CameraContext {\n onCameraFrame = temporarilyNotSupport('CameraContext.onCameraFrame') as unknown as Taro.CameraContext['onCameraFrame']\n setZoom = temporarilyNotSupport('CameraContext.setZoom')\n startRecord = temporarilyNotSupport('CameraContext.startRecord')\n stopRecord = temporarilyNotSupport('CameraContext.stopRecord')\n takePhoto = temporarilyNotSupport('CameraContext.takePhoto')\n}\n\nexport const createCameraContext: typeof Taro.createCameraContext = (_?: string) => {\n return new CameraContext()\n}\n","// HarmonyOS 文档链接:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-media-0000001103383404\n// WX 文档链接:https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.previewMedia.html\n// ✅ wx.previewMedia(Object object)\n// ✅ wx.chooseMedia\n\nimport mediaLibrary from '@ohos.multimedia.mediaLibrary'\n\nimport { callAsyncFail, callAsyncSuccess, validateParams } from '../utils'\n\nimport type Taro from '@tarojs/taro/types'\n\ninterface IPreviewImagesOptionsOHOS {\n images: Array<string>\n index: number\n}\n\ninterface IChooseMediaOptionsOHOS {\n type: string\n count: number\n}\n\nconst previewMediaSchema = {\n sources: 'Array'\n}\n\n// TODO: 扩展支持预览video\nexport const previewMedia: typeof Taro.previewMedia = function (options) {\n return new Promise((resolve, reject) => {\n try {\n validateParams('previewMedia', options, previewMediaSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callAsyncFail(reject, res, options)\n }\n const { sources, current } = options\n const urls: Array<string> = []\n for (const s of sources) {\n if (s.type === 'image') {\n urls.push(s.url)\n }\n }\n const previewImageOptions: IPreviewImagesOptionsOHOS = {\n images: urls,\n index: current || 0\n }\n mediaLibrary.getMediaLibrary().startImagePreview(previewImageOptions.images, previewImageOptions.index).then((value) => {\n callAsyncSuccess(resolve, value, options)\n }).catch((error) => {\n callAsyncFail(reject, error, options)\n })\n })\n}\n\nexport const chooseMedia: typeof Taro.chooseMedia = function (options) {\n return new Promise((resolve, reject) => {\n try {\n validateParams('chooseMedia', [options], ['Object'])\n } catch (error) {\n const res = { errMsg: error.message }\n return callAsyncFail(reject, res, options)\n }\n const { count = 9, mediaType = ['image'] } = options\n // HarmonyOS不支持image和video同时选择\n // TODO: 不支持视频拍摄,无现成组件,后续需要封装\n const mediaSelectOptions: IChooseMediaOptionsOHOS = {\n count,\n type: mediaType[0]\n }\n mediaLibrary.getMediaLibrary().startMediaSelect(mediaSelectOptions).then((value) => {\n callAsyncSuccess(resolve, value, options)\n }).catch((error) => {\n callAsyncFail(reject, error, options)\n })\n })\n}\n","// HarmonyOS 图片模块首批接口从API version 7开始支持。\n// HarmonyOS 文档链接:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-image-0000001122977382\n// WX 文档链接:https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.saveImageToPhotosAlbum.html\n\n// ✅ wx.getImageInfo(Object object) API7以上支持\n// ✅ wx.compressImage(Object object) API7以上支持\n// ✅ wx.chooseImage(Object object)\n// ❌ wx.chooseMessageFile(Object object) HarmonyOS不支持\n// ❌ wx.saveImageToPhotosAlbum(Object object) api 9+ HarmonyOS不支持\n// ❌ wx.previewImage(Object object) api 9+ HarmonyOS不支持\n\nimport picker from '@ohos.file.picker'\nimport image from '@ohos.multimedia.image'\nimport { isNull } from '@tarojs/shared'\n\nimport { callAsyncFail, callAsyncSuccess, temporarilyNotSupport, validateParams } from '../../utils'\n\nimport type Taro from '@tarojs/taro/types'\n\ninterface IPackingOptionOHOS {\n format: string\n quality: number\n}\n\nconst getImageInfoSchema = {\n url: 'String'\n}\n\nconst compressImageSchema = {\n url: 'String'\n}\n\nconst chooseImageSchema = {\n count: 'Number'\n}\n\nconst photoSelectOptions = new picker.PhotoSelectOptions()\n\nexport const getImageInfo: typeof Taro.getImageInfo = function (options) {\n return new Promise((resolve, reject) => {\n try {\n validateParams('getImageInfo', options, getImageInfoSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callAsyncFail(reject, res, options)\n }\n const { src } = options\n // FIX: 调试发现在版本api7中 source 为 undefined, 需鸿蒙侧确认\n const source = image.createImageSource(src)\n if (isNull(source)) {\n const createImageSourceError = { errMsg: 'getImageInfo fail: createImageSource has failed.' }\n callAsyncFail(reject, createImageSourceError, options)\n return\n }\n source.getImageInfo().then((value) => {\n callAsyncSuccess(resolve, value, options)\n }).catch((error) => {\n callAsyncFail(reject, error, options)\n })\n })\n}\n\nexport const compressImage: typeof Taro.compressImage = function (options) {\n return new Promise((resolve, reject) => {\n try {\n validateParams('compressImage', options, compressImageSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callAsyncFail(reject, res, options)\n }\n const { src, quality = 80 } = options\n\n const source = image.createImageSource(src)\n if (isNull(source)) {\n const createImageSourceError = { errMsg: 'compressImage fail: createImageSource has failed.' }\n callAsyncFail(reject, createImageSourceError, options)\n return\n }\n\n const packer = image.createImagePacker(src)\n if (isNull(packer)) {\n const createImagePackerError = { errMsg: 'compressImage fail: createImagePacker has failed.' }\n callAsyncFail(reject, createImagePackerError, options)\n }\n\n const packingOptionsOHOS: IPackingOptionOHOS = {\n // TODO:需要获取文件名后缀\n format: 'image/jpeg',\n quality: quality\n }\n packer.packing(source, packingOptionsOHOS).then((value) => {\n callAsyncSuccess(resolve, value, options)\n }).catch((error) => {\n callAsyncFail(reject, error, options)\n })\n })\n}\n\nexport const chooseImage: typeof Taro.chooseImage = function (options) {\n return new Promise((resolve, reject) => {\n try {\n validateParams('chooseImage', options, chooseImageSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callAsyncFail(reject, res, options)\n }\n\n const { count = 9 } = options\n const photoViewPicker = new picker.PhotoViewPicker()\n\n photoSelectOptions.maxSelectNumber = count // 选择媒体文件的最大数目\n photoSelectOptions.MIMEType = picker.PhotoViewMIMETypes.IMAGE_TYPE // 过滤选择媒体文件类型为IMAGE\n\n photoViewPicker.select(photoSelectOptions).then((photoSelectResult) => {\n callAsyncSuccess(resolve, { tempFilePaths: photoSelectResult.photoUris })\n }).catch((error) => {\n callAsyncFail(reject, error, options)\n })\n })\n}\n\nexport const previewImage = temporarilyNotSupport('previewImage')\nexport const saveImageToPhotosAlbum = temporarilyNotSupport('saveImageToPhotosAlbum')\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","// @ts-nocheck\nimport { document } from '@tarojs/runtime'\n\nimport { temporarilyNotSupport } from '../../utils'\n\nimport type { TaroVideoElement } from '@tarojs/runtime'\nimport type Taro from '@tarojs/taro/types'\n\nexport class VideoContext implements Taro.VideoContext {\n id: string\n\n video: TaroVideoElement\n\n controller: VideoController\n\n constructor (id: string) {\n this.id = id\n this.video = document.getElementById(id)\n\n if (this.video) {\n this.controller = this.video.controller\n }\n }\n\n play () {\n if (!this.controller) return\n\n this.controller.play()\n }\n\n pause () {\n if (!this.controller) return\n\n this.controller.pause()\n }\n\n stop () {\n if (!this.controller) return\n\n this.controller.stop()\n }\n\n seek (position: number) {\n if (!this.controller) return\n\n this.controller.setCurrentTime(position)\n }\n\n requestFullScreen () {\n if (!this.controller) return\n\n this.controller.requestFullscreen(true)\n }\n\n exitFullScreen () {\n if (!this.controller) return\n\n this.controller.exitFullscreen()\n }\n\n requestBackgroundPlayback = temporarilyNotSupport('VideoContext.requestBackgroundPlayback')\n exitBackgroundPlayback = temporarilyNotSupport('VideoContext.exitBackgroundPlayback')\n exitPictureInPicture = temporarilyNotSupport('VideoContext.exitPictureInPicture')\n hideStatusBar = temporarilyNotSupport('VideoContext.hideStatusBar')\n playbackRate = temporarilyNotSupport('VideoContext.playbackRate')\n sendDanmu = temporarilyNotSupport('VideoContext.sendDanmu')\n showStatusBar = temporarilyNotSupport('VideoContext.showStatusBar')\n}\n","// HarmonyOS 文档链接:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-media-0000001103383404\n// WX 文档链接:https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.chooseVideo.html\n// ✅ wx.saveVideoToPhotosAlbum\n// ❌ wx.openVideoEditor\n// ❌ wx.getVideoInfo\n// ❌ wx.createVideoContext\n// ❌ wx.compressVideo\n// ✅ wx.chooseVideo\n// VideoContext\n// ❌ VideoContext.exitBackgroundPlayback\n// ❌ VideoContext.exitFullScreen\n// ❌ VideoContext.exitPictureInPicture\n// ❌ VideoContext.hideStatusBar\n// ❌ VideoContext.pause\n// ❌ VideoContext.play\n// ❌ VideoContext.playbackRate\n// ❌ VideoContext.requestBackgroundPlayback\n// ❌ VideoContext.requestFullScreen\n// ❌ VideoContext.seek\n// ❌ VideoContext.sendDanmu\n// ❌ VideoContext.showStatusBar\n// ❌ VideoContext.stop\n\nimport mediaLibrary from '@ohos.multimedia.mediaLibrary'\n\nimport { callAsyncFail, callAsyncSuccess, temporarilyNotSupport, validateParams } from '../../utils'\nimport { VideoContext } from './VideoContext'\n\nimport type { TaroAny } from '@tarojs/runtime'\nimport type Taro from '@tarojs/taro/types'\n\ninterface IChooseVideoOptionOHOS {\n type: string\n count: number\n}\n\ninterface ISaveVideoToPhotosAlbumOptionsOHOS {\n src: string\n mimeType: string\n relativePath?: string\n}\n\nconst saveVideoToPhotosAlbumSchema = {\n filePath: 'String'\n}\n\nexport const createVideoContext: typeof Taro.createVideoContext = (id: string, _: TaroAny) => {\n return new VideoContext(id)\n}\n\n// TODO: 1.返回属性补全\n// TODO: 2.只支持从相册选择,补充摄像头拍摄功能,需要HarmonyOS提供选择组件\nexport const chooseVideo: typeof Taro.chooseVideo = function (options = {}) {\n return new Promise((resolve, reject) => {\n try {\n validateParams('chooseVideo', [options], ['Object'])\n } catch (error) {\n const res = { errMsg: error.message }\n return callAsyncFail(reject, res, options)\n }\n const chooseVideoOptionsOHOS: IChooseVideoOptionOHOS = {\n type: 'video',\n count: 1\n }\n mediaLibrary.getMediaLibrary().startMediaSelect(chooseVideoOptionsOHOS).then((value) => {\n callAsyncSuccess(resolve, { tempFilePaths: value })\n }).catch((error) => {\n callAsyncFail(reject, error, options)\n })\n })\n}\n\nexport const compressVideo = /* @__PURE__ */ temporarilyNotSupport('compressVideo')\nexport const getVideoInfo = /* @__PURE__ */ temporarilyNotSupport('getVideoInfo')\nexport const openVideoEditor = /* @__PURE__ */ temporarilyNotSupport('openVideoEditor')\n\nexport const saveVideoToPhotosAlbum: typeof Taro.saveVideoToPhotosAlbum = function (options) {\n return new Promise((resolve, reject) => {\n try {\n validateParams('saveVideoToPhotosAlbum', options, saveVideoToPhotosAlbumSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callAsyncFail(reject, res, options)\n }\n const { filePath } = options\n const saveVideoToPhotosAlbumOptions: ISaveVideoToPhotosAlbumOptionsOHOS = {\n src: filePath,\n // TODO:需要获取文件名后缀,'video/mp4'、'video/3gpp'等\n mimeType: 'video/mp4'\n }\n mediaLibrary.getMediaLibrary().storeMediaAsset(saveVideoToPhotosAlbumOptions).then((value) => {\n callAsyncSuccess(resolve, value, options)\n }).catch((error) => {\n callAsyncFail(reject, error, options)\n })\n })\n}\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","// HarmonyOS 文档链接:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-request-0000001123753962#section455311474372\n// WX 文档链接:https://developers.weixin.qq.com/miniprogram/dev/api/network/download/wx.downloadFile.html\n// ✅ wx.downloadFile (BETA)7+,因为使用了 query 和 on('complete')\n// ✅ DownloadTask.abort\n// ✅ DownloadTask.offProgressUpdate\n// ✅ DownloadTask.onProgressUpdate\n// ❌ DownloadTask.onHeadersReceived 此接口 ohos 不支持\n// ❌ DownloadTask.offHeadersReceived 此接口 ohos 不支持\n\nimport request from '@ohos.request'\nimport Taro, { DownloadTask } from '@tarojs/taro'\n\nimport { callAsyncFail, callAsyncSuccess, validateParams } from '../utils'\n\ninterface IDownloadConfigOHOS {\n url: string\n header?: any\n filePath?: string\n enableMetered?: boolean // ohos参数\n enableRoaming?: boolean // ohos参数\n description?: string // ohos参数\n networkType?: number // ohos参数\n title?: string // ohos参数\n}\n\nconst downloadFileSchema = {\n url: 'String'\n}\n\nexport const downloadFile: typeof Taro.downloadFile = function (options) {\n let downloadTask: any = {}\n\n const downloadTaskWX: any = new Promise((resolve, reject) => {\n const { url, header, filePath } = options\n\n try {\n validateParams('downloadFile', options, downloadFileSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callAsyncFail(reject, res, options)\n }\n\n const ohosParams: IDownloadConfigOHOS = {\n url\n }\n if (header) ohosParams.header = header\n if (filePath) ohosParams.filePath = filePath\n\n request.download(ohosParams).then((dataDownload:any) => {\n downloadTask = dataDownload\n\n // TODO: 建议鸿蒙优化 complete 回调接口。\n // ohos 的 complete 回调不返回任何下载信息,需要调用 query 查询后,在 complete 和 fail 中调用回调返回\n downloadTask.query().then(dataQuery => {\n downloadTask.on('complete', () => {\n dataQuery.status = dataQuery.statusCode\n callAsyncSuccess(resolve, dataQuery, options)\n })\n downloadTask.on('fail', (err) => {\n const res = {\n errMsg: err\n }\n callAsyncFail(reject, res, options)\n })\n }).catch((err) => {\n callAsyncFail(reject, err, options)\n })\n }).catch((err) => {\n callAsyncFail(reject, err, options)\n })\n })\n downloadTaskWX.abort = function () {\n downloadTask.remove((err: any, data: any) => {\n if (err) {\n return err\n }\n return data\n })\n }\n downloadTaskWX.offProgressUpdate = function offProgressUpdate (callback: DownloadTask.OnProgressUpdateCallback) {\n validateParams('offProgressUpdate', [callback], ['Function'])\n downloadTask.off('progress', (receivedSize: number, totalSize: number) => {\n const totalBytesWritten: number = receivedSize * 1024\n const totalBytesExpectedToWrite: number = totalSize * 1024\n // TODO: 进度应该保留几位小数?暂时保留6位\n const progress: number = +(receivedSize / totalSize).toFixed(6)\n const progressParams = {\n totalBytesWritten,\n totalBytesExpectedToWrite,\n progress,\n errMsg: 'Cancel progress listening is done.'\n }\n callback(progressParams)\n })\n }\n // wx 单位是 Bytes,ohos 单位是 KBytes\n downloadTaskWX.onProgressUpdate = function (callback: DownloadTask.OnProgressUpdateCallback) {\n validateParams('onProgressUpdate', [callback], ['Function'])\n downloadTask.on('progress', (receivedSize: number, totalSize: number) => {\n const totalBytesWritten: number = receivedSize * 1024\n const totalBytesExpectedToWrite: number = totalSize * 1024\n // TODO: 进度应该保留几位小数?暂时保留6位\n const progress: number = +(receivedSize / totalSize).toFixed(6)\n const progressParams: DownloadTask.OnProgressUpdateCallbackResult = {\n totalBytesWritten,\n totalBytesExpectedToWrite,\n progress\n }\n callback(progressParams)\n })\n }\n return downloadTaskWX\n}\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","// HarmonyOS 文档链接:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-net-http-0000001168304341\n// WX 文档链接:https://developers.weixin.qq.com/miniprogram/dev/api/network/request/wx.request.html\n// ✅ wx.request\n// ✅ RequestTask.abort\n// ✅ RequestTask.offHeadersReceived\n// ✅ RequestTask.onHeadersReceived\n\nimport http from '@ohos.net.http'\nimport { isString } from '@tarojs/shared'\n\nimport { callAsyncFail, callAsyncSuccess, validateParams } from '../utils'\n\nimport type Taro from '@tarojs/taro/types'\n\nconst METHOD: string [] = ['OPTIONS', 'GET', 'HEAD', 'POST', 'PUT', 'DELETE', 'TRACE', 'CONNECT']\n\ninterface IRequestResultOHOS {\n result: string | any\n responseCode: number\n header\n}\n\ninterface IRequestParamsOHOS {\n method?: string\n header?: any\n extraData?: any | string\n readTimeout?: number\n connectTimeout?: number\n}\n\nconst requestSchema = {\n url: 'String'\n}\n\nexport const request: typeof Taro.request = function (options) {\n let httpRequestOhos: ReturnType<typeof http.createHttp>\n\n const requestTask: any = new Promise((resolve, reject) => {\n try {\n httpRequestOhos = http.createHttp()\n } catch (error) {\n const res = { errMsg: error }\n return callAsyncFail(reject, res, options)\n }\n\n const { url, method, header = {}, timeout, dataType, data } = options\n\n try {\n validateParams('send', options, requestSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callAsyncFail(reject, res, options)\n }\n\n const keyOfContentType = Object.keys(header).find(item => item.toLowerCase() === 'content-type')\n\n if (!keyOfContentType) {\n header['Content-Type'] = 'application/json'\n }\n\n // 检查 Header 是否有 Referer\n // if (isUndefined(header.Referer)) {\n // const error = { errMsg: 'request fail parameter error: the header doesn‘t support Referer property' }\n // callAsyncFail(reject, error, options)\n // }\n\n // 检查 method 是否正确\n if (method) {\n if (!METHOD.includes(method)) {\n const error = { errMsg: `request fail parameter error: the method value should be one of the ${METHOD.join(',')}` }\n callAsyncFail(reject, error, options)\n }\n }\n\n const requestParamsOHOS: IRequestParamsOHOS = {\n method,\n header,\n extraData: data as IRequestParamsOHOS['extraData'],\n readTimeout: timeout,\n connectTimeout: timeout\n }\n\n httpRequestOhos.request(url, requestParamsOHOS).then((requestData: IRequestResultOHOS) => {\n const reswx = {\n data: dataType === 'json' && isString(requestData.result) ? JSON.parse(requestData.result) : requestData.result,\n statusCode: requestData.responseCode,\n header: requestData.header\n }\n callAsyncSuccess(resolve, reswx, options)\n }).catch(error => {\n callAsyncFail(reject, error, options)\n })\n })\n\n requestTask.abort = function () {\n httpRequestOhos.destroy()\n }\n\n requestTask.onHeadersReceived = function (callback) {\n validateParams('onHeadersReceived', [callback], ['Function'])\n httpRequestOhos.on('headerReceive', (err, res) => {\n callback(!err ? res : err)\n })\n }\n\n requestTask.offHeadersReceived = function (callback) {\n validateParams('offHeadersReceived', [callback], ['Function'])\n httpRequestOhos.off('headerReceive', (err, res) => {\n callback(!err ? res : err)\n })\n }\n\n return requestTask\n}\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","// HarmonyOS 文档链接:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-request-0000001123753962#section455311474372\n// WX 文档链接:https://developers.weixin.qq.com/miniprogram/dev/api/network/upload/wx.uploadFile.html\n// ✅ wx.uploadFile\n// ✅ UploadTask.abort\n// ✅ UploadTask.offHeadersReceived (BETA)7+\n// ✅ UploadTask.offProgressUpdate\n// ✅ UploadTask.onHeadersReceived(BETA)7+\n// ✅ UploadTask.onProgressUpdate\n\nimport request from '@ohos.request'\nimport { isUndefined } from '@tarojs/shared'\nimport Taro, { UploadTask } from '@tarojs/taro'\n\nimport { callAsyncFail, callAsyncSuccess, validateParams } from '../utils'\n\ninterface IOHOSFileType {\n filename?: string\n name?: string\n url: string // 支持“dataability”和“internal”两种协议类型,但“internal”仅支持临时目录。详见官方文档\n type?: string\n}\n\ninterface IRequestDataOHOS {\n name?: string\n value?: string\n}\n\ninterface IUploadFileParamsOHOS {\n url: string // 资源地址\n header?: any\n method?: string // POST、PUT。缺省为POST\n files?: Array<IOHOSFileType> // 请使用 multipart/form-data提交。官方文档提供的demo未传此参数,应该是文档错了。\n data?: Array<IRequestDataOHOS>\n}\n\nconst uploadSchema = {\n url: 'String'\n // filePath: 'String',\n // name: 'String'\n}\n\n// wx 只支持 HTTP POST 请求,OHOS 支持 POST 和 PUT 请求\n// OHOS 不支持 wx 的 timeout,但是支持 file 文件列表上传,wx 是单文件上传\nexport const uploadFile: typeof Taro.uploadFile = function (options) {\n let uploadTask: any = {}\n\n const UploadTaskWX: any = new Promise((resolve, reject) => {\n let timer\n const { url, filePath, name, header, formData, timeout } = options\n\n try {\n validateParams('uploadFile', options, uploadSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callAsyncFail(reject, res, options)\n }\n\n const file: IOHOSFileType = {\n url: filePath,\n name\n }\n const files: Array<IOHOSFileType> = [file]\n const ohosParams: IUploadFileParamsOHOS = {\n url,\n files,\n method: 'POST',\n header\n }\n\n if (formData) {\n const rData: Array<IRequestDataOHOS> = []\n Object.keys(formData).forEach((key: string) => {\n const rDataEle: IRequestDataOHOS = {\n name: key,\n value: formData[key]\n }\n rData.push(rDataEle)\n })\n ohosParams.data = rData\n }\n if (!isUndefined(timeout)) {\n timer = setTimeout(() => {\n const err: {errMsg: string} = {\n errMsg: 'uploadFile request timeout, please try again later.'\n }\n callAsyncFail(reject, err, options)\n }, timeout)\n }\n\n request.upload(ohosParams).then((dataUpload) => {\n if (timer) {\n clearTimeout(timer)\n }\n uploadTask = dataUpload\n callAsyncSuccess(resolve, UploadTaskWX, options)\n }).catch((err) => {\n if (timer) {\n clearTimeout(timer)\n }\n callAsyncFail(reject, err, options)\n })\n })\n\n UploadTaskWX.abort = function () {\n uploadTask.remove((err: any, result: any) => {\n if (err || result) {\n return err || result\n }\n return result\n })\n }\n UploadTaskWX.onHeadersReceived = function (callback: (params) => void) {\n validateParams('onHeadersReceived', [callback], ['Function'])\n uploadTask.on('headerReceive', (headers: any) => {\n callback(headers)\n })\n }\n UploadTaskWX.offHeadersReceived = function (callback: (params) => void) {\n validateParams('offHeadersReceived', [callback], ['Function'])\n uploadTask.off('headerReceive', (headers: any) => {\n callback(headers)\n })\n }\n // wx 单位是 Bytes,ohos 单位是 KBytes\n UploadTaskWX.onProgressUpdate = function (callback: UploadTask.OnProgressUpdateCallback) {\n validateParams('onProgressUpdate', [callback], ['Function'])\n uploadTask.on('progress', (uploadSize: number, totalSize: number) => {\n const totalBytesSent: number = uploadSize * 1024\n const totalBytesExpectedToSend: number = totalSize * 1024\n // TODO: 进度应该保留几位小数?暂时保留6位\n const progress: number = +(uploadSize / totalSize).toFixed(6)\n const progressParams: UploadTask.OnProgressUpdateCallbackResult = {\n totalBytesSent,\n totalBytesExpectedToSend,\n progress\n }\n callback(progressParams)\n })\n }\n UploadTaskWX.offProgressUpdate = function (callback: UploadTask.OnProgressUpdateCallback) {\n validateParams('offProgressUpdate', [callback], ['Function'])\n uploadTask.off('progress', (uploadSize: number, totalSize: number) => {\n const totalBytesSent: number = uploadSize * 1024\n const totalBytesExpectedToSend: number = totalSize * 1024\n // TODO: 进度应该保留几位小数?暂时保留6位\n const progress: number = +(uploadSize / totalSize).toFixed(6)\n const progressParams = {\n totalBytesSent,\n totalBytesExpectedToSend,\n progress,\n errMsg: 'Cancel progress listening is done.'\n }\n callback(progressParams)\n })\n }\n\n return UploadTaskWX\n}\n","// OpenHarmony 不支持全局操作 WebSocket\n// HarmonyOS 文档链接:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-net-websocket-0000001168304641\n// WX 文档链接:https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/wx.sendSocketMessage.html\n// ✅ wx.connectSocket\n// ✅ SocketTask\n// ✅ SocketTask.close\n// ✅ SocketTask.onClose\n// ✅ SocketTask.onError\n// ✅ SocketTask.onMessage\n// ✅ SocketTask.onOpen\n// ✅ SocketTask.send\n\n// ❌ wx.sendSocketMessage\n// ❌ wx.onSocketOpen\n// ❌ wx.onSocketMessage\n// ❌ wx.onSocketError\n// ❌ wx.onSocketClose\n// ❌ wx.closeSocket\n\nimport webSocket from '@ohos.net.webSocket'\n\nimport { callAsyncFail, callAsyncSuccess, validateParams } from '../utils'\n\nimport type Taro from '@tarojs/taro/types'\n\nconst connectSocketSchema = {\n url: 'String'\n}\n\n// const closetSocketSchema = {\n// code: 'Number',\n// reason: 'String'\n// }\n\nconst sendSocketSchema = {\n data: 'String'\n}\n\nexport const connectSocket: typeof Taro.connectSocket = function (options) {\n let ws\n const SocketTaskWX: any = new Promise((resolve, reject) => {\n ws = webSocket.createWebSocket()\n\n const { url, header } = options\n\n try {\n validateParams('uploadFile', options, connectSocketSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callAsyncFail(reject, res, options)\n }\n\n const result = {\n errMsg: 'websocket connect success'\n }\n ws.connect(url, { header }).then((value) => {\n callAsyncSuccess(resolve, value, options)\n }).catch((err) => {\n result.errMsg = 'websocket connect fail'\n callAsyncFail(reject, err, options)\n })\n })\n\n SocketTaskWX.close = function (closeOptions) {\n return new Promise((resolve, reject) => {\n // TODO: 检验非必须参数\n // try {\n // validateParams('close', options, closeSocketSchema)\n // } catch (error) {\n // const res = { errMsg: error.message }\n // return callAsyncFail(reject, res, options)\n // }\n\n ws.close(closeOptions).then(value => {\n callAsyncSuccess(resolve, value, closeOptions)\n }, error => {\n callAsyncFail(reject, error, closeOptions)\n })\n })\n }\n SocketTaskWX.onClose = function (onCloseCallback) {\n validateParams('onClose', [onCloseCallback], ['Function'])\n ws.on('close', (err, value) => {\n onCloseCallback(!err ? value : err)\n })\n }\n SocketTaskWX.onError = function (onErrorCallback) {\n validateParams('onError', [onErrorCallback], ['Function'])\n ws.on('error', (err) => {\n onErrorCallback(err)\n })\n }\n SocketTaskWX.onMessage = function (onMessageCallback?: any) {\n validateParams('onMessage', [onMessageCallback], ['Function'])\n ws.on('onMessage', (err, value) => {\n onMessageCallback(!err ? value : err)\n })\n }\n SocketTaskWX.onOpen = function (onOpenCallback) {\n validateParams('onOpen', [onOpenCallback], ['Function'])\n ws.on('open', (err, value) => {\n // TODO:返回数据字段完全不一样,无法兼容,暂不处理\n // wx:{header, profile}, ohos:{err, value:{status, message}}\n onOpenCallback(!err ? value : err)\n })\n }\n SocketTaskWX.send = function (sendOptions: Taro.SocketTask.SendOption) {\n return new Promise((resolve, reject) => {\n const { data } = sendOptions\n try {\n validateParams('send', sendOptions, sendSocketSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callAsyncFail(reject, res, options)\n }\n\n ws.send(data).then(value => {\n callAsyncSuccess(resolve, value, sendOptions)\n }, error => {\n callAsyncFail(reject, error, sendOptions)\n })\n })\n }\n\n return SocketTaskWX\n}\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","/**\n * 用户相关API, Harmony ACE API 6\n *\n * 1. 华为账号场景介绍文档 @see https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/harmonyos-js-login-0000001151310900\n * 2. 华为账号API参考 @see https://developer.huawei.com/consumer/cn/doc/development/HMSCore-References/harmonyos-js-overview-0000001063532145\n */\n\n// import hmsJSAccount from '@hmscore/hms-jsb-account'\nimport { temporarilyNotSupport } from '../utils'\n\n/**\n * 通过Scope数组获取已登录的对应帐号信息(依赖login行为)\n * @param options\n */\nexport const getUserInfo = temporarilyNotSupport('getUserInfo')\n// export function getUserInfo (options) {\n// const { success, fail, complete } = options\n// const res: Record<string, any> = {}\n\n// // const result = hmsJSAccount.HuaweiIdAuthManager.getAuthResultWithScopes([hmsJSAccount.PROFILE])\n// const result = null\n\n// if (result) {\n// res.data = { userInfo: generateUserInfo(result) }\n// isFunction(success) && success(res)\n// } else {\n// res.errorMsg = 'getUserInfo result data is null'\n// isFunction(fail) && fail(res)\n// }\n// isFunction(complete) && complete(res)\n// }\n\n/**\n * 获取用户信息\n */\nexport const getUserProfile = temporarilyNotSupport('getUserProfile')\n// export const getUserProfile = (_options) => {\n// return new Promise((resolve, reject) => {\n// const res: Record<string, any> = {}\n// hmsJSAccount.HuaweiIdAuthManager.addAuthScopes([hmsJSAccount.PROFILE])\n// .then(result => {\n// if (result) {\n// res.data = { userInfo: generateUserInfo(result) }\n// callAsyncSuccess(resolve, res, options)\n// } else {\n// res.errorMsg = 'getUserProfile result data is null'\n// callAsyncFail(reject, res, options)\n// }\n// })\n// .catch(error => {\n// callAsyncFail(reject, error, options)\n// })\n// })\n// }\n\n// function generateUserInfo (hmsAuthInfo) {\n// const userInfo = {\n// nickName: String,\n// avatarUrl: String,\n// gender: Number,\n// country: String\n// }\n// if (hmsAuthInfo) {\n// userInfo.nickName = hmsAuthInfo.displayName\n// userInfo.avatarUrl = hmsAuthInfo.photoUriString\n// userInfo.gender = hmsAuthInfo.gender\n// userInfo.country = hmsAuthInfo.country\n// }\n// return userInfo\n// }\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 router from '@ohos.router'\nimport { window } from '@tarojs/runtime' // eslint-disable-line import/no-duplicates\nimport { eventCenter } from '@tarojs/runtime/dist/runtime.esm' // eslint-disable-line import/no-duplicates\nimport { queryToJson } from '@tarojs/shared'\n\nimport { callAsyncFail, callAsyncSuccess } from '../utils'\n\nimport type Taro from '@tarojs/taro/types'\n\nconst TARO_TABBAR_PAGE_PATH = 'taro_tabbar'\nfunction isTabPage (url: string): boolean {\n return window.__taroAppConfig.tabBar?.list?.some(item => item.pagePath === url)\n}\n\nfunction parseURL (raw = ''): [string, Record<string, unknown>] {\n const [urlStr, queryStr = ''] = raw.split('?')\n const query: Record<string, unknown> = queryToJson(queryStr)\n let url = urlStr.replace(/^\\//, '')\n\n // 处理相对路径\n if (url.indexOf('.') === 0) {\n const page = router.getState()\n const parts = page.path.split('/')\n parts.pop()\n url.split('/').forEach((item) => {\n if (item === '.') {\n return\n }\n item === '..' ? parts.pop() : parts.push(item)\n })\n url = parts.join('/')\n }\n\n if (isTabPage(url)) {\n query.$page = url\n url = TARO_TABBAR_PAGE_PATH\n }\n return [url, query]\n}\n\nconst getRouterFunc = (method): typeof Taro.navigateTo => {\n const methodName = method === 'navigateTo' ? 'pushUrl' : 'replaceUrl'\n\n return function (options) {\n const [url, params = {}] = parseURL(options.url)\n\n return new Promise((resolve, reject) => {\n router[methodName]({\n url,\n params\n }, (error) => {\n const res: { code?: number, errMsg: string } = { errMsg: `${method}:ok` }\n if (error) {\n const { code, message } = error\n res.code = code\n res.errMsg = `${method}:failed, ${message}`\n callAsyncFail(reject, res, options)\n\n return\n }\n\n callAsyncSuccess(resolve, res, options)\n })\n })\n }\n}\n\nexport const navigateTo = getRouterFunc('navigateTo')\nexport const redirectTo = getRouterFunc('redirectTo')\n\nexport function navigateBack (options: Taro.navigateBack.Option & { url?: string }): Promise<any> {\n return new Promise(resolve => {\n if (!options?.url) {\n router.back()\n } else {\n const [url] = parseURL(options.url)\n router.back({ url })\n }\n\n const res = { errMsg: 'navigateBack:ok' }\n callAsyncSuccess(resolve, res, options)\n })\n}\n\nexport const reLaunch: typeof Taro.reLaunch = (options) => {\n return new Promise(resolve => {\n redirectTo({ url: options.url })\n router.clear()\n const res = { errMsg: 'reLaunch:ok' }\n callAsyncSuccess(resolve, res, options)\n })\n}\n\nexport const switchTab: typeof Taro.switchTab = (options) => {\n return new Promise((resolve, reject) => {\n const stack = AppStorage.prop('__TARO_PAGE_STACK').get()\n const [url, params] = parseURL(options.url)\n\n if (url !== TARO_TABBAR_PAGE_PATH) {\n const res = { errMsg: 'switchTab:failed' }\n callAsyncFail(reject, res, options)\n return\n }\n\n if (stack[stack.length - 1]?.path === url) {\n // Note: 当前为 Tab 页时,触发 switch 事件\n eventCenter.trigger('__taroSwitchTab', { url, params })\n router.getLength() > 1 && router.clear()\n } else if (stack.some(item => item.path === url)) {\n // Note: 寻找路由栈中的 Tab 页,如果找到,则使用 navigateBack\n router.back({ url, params })\n router.getLength() > 1 && router.clear()\n } else {\n // Note: 未找到页面时,使用 reLaunch\n reLaunch({ url: options.url })\n }\n\n const res = { errMsg: 'switchTab:ok' }\n callAsyncSuccess(resolve, res, options)\n })\n}\n\nexport const getLength = () => {\n return router.getLength()\n}\n\nexport const getState = () => {\n return router.getState()\n}\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\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","/**\n * 从API Version 6开始,该模块不再维护,可以使用模块@ohos.data.storage。在API Version 9后,推荐使用新模块@ohos.data.preferences。\n * https://developer.harmonyos.com/cn/docs/documentation/doc-references-V3/js-apis-data-preferences-0000001427745052-V3\n*/\nimport bundleManager from '@ohos.bundle.bundleManager'\nimport dataPreferences from '@ohos.data.preferences'\nimport hilog from '@ohos.hilog'\nimport { Current } from '@tarojs/runtime'\n\nimport { temporarilyNotSupport, validateParams } from '../utils'\nimport { MethodHandler } from '../utils/handler'\n\nimport type Taro from '@tarojs/taro/types'\n\nlet context\nlet preferences: any\n\n(Current as any).contextPromise.then((ctx) => {\n context = ctx\n return context\n})\n\nfunction getPreferences () {\n try {\n if (!preferences) {\n const data = bundleManager.getBundleInfoForSelfSync(bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_APPLICATION)\n preferences = dataPreferences.getPreferencesSync(context, { name: `${data.appInfo.uid}Store` })\n }\n } catch (error) {\n hilog.error(0x0000, 'TaroFailedTag', 'Failed to load the storage. Cause: %{public}s', error.code ? JSON.stringify(error) : error.message || error)\n }\n\n return preferences\n}\n\nconst storageSchema = {\n key: 'String'\n}\n\nexport function getStorage<T = any> (options: Taro.getStorage.Option<T>) {\n const { key, success, fail, complete } = options || {}\n const handle = new MethodHandler<{data: any}>({ name: 'getStorage', success, fail, complete })\n\n return new Promise((resolve, reject) => {\n try {\n validateParams('getStorage', options, storageSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return handle.fail(res, { resolve, reject })\n }\n\n const preferences = getPreferences()\n \n if (!preferences) return handle.fail({}, { resolve, reject })\n\n const data = preferences.getSync(key, null)\n if (data) {\n return handle.success({ data }, { resolve, reject })\n } else {\n return handle.success({ errMsg: 'data not found' }, { resolve, reject })\n }\n })\n}\n\nexport function getStorageSync (key: string) {\n if (!key) {\n throw new Error('getStorageSync:fail parameter error: parameter should be String')\n }\n\n const preferences = getPreferences()\n \n if (!preferences) {\n throw new Error('getStorageSync:fail:preferences is null')\n }\n\n const data = preferences.getSync(key, null)\n if (data) {\n return data\n } else {\n throw new Error('data not found')\n }\n}\n\nexport function setStorage (options: Taro.setStorage.Option) {\n const { key, data, success, fail, complete } = options || {}\n const handle = new MethodHandler({ name: 'setStorage', success, fail, complete })\n\n return new Promise((resolve, reject) => {\n try {\n validateParams('setStorage', options, storageSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return handle.fail(res, { resolve, reject })\n }\n\n const preferences = getPreferences()\n\n if (!preferences) return handle.fail({}, { resolve, reject })\n\n preferences.putSync(key, data)\n preferences.flush()\n\n return handle.success({}, { resolve, reject })\n })\n}\n\nexport function setStorageSync (key: string, data: any) {\n if (!key) {\n throw new Error('setStorageSync:fail key error: key should be String')\n }\n\n const preferences = getPreferences()\n \n if (!preferences) {\n throw new Error('setStorageSync:fail:preferences is null')\n }\n\n preferences.putSync(key, data)\n preferences.flush()\n}\n\nexport function removeStorage (options: Taro.removeStorage.Option) {\n const { key, success, fail, complete } = options || {}\n const handle = new MethodHandler({ name: 'removeStorage', success, fail, complete })\n\n return new Promise((resolve, reject) => {\n try {\n validateParams('removeStorage', options, storageSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return handle.fail(res, { resolve, reject })\n }\n\n const preferences = getPreferences()\n\n if (!preferences) return handle.fail({}, { resolve, reject })\n\n preferences.deleteSync(key)\n preferences.flush()\n\n return handle.success({}, { resolve, reject })\n })\n}\n\nexport function removeStorageSync (key: string) {\n if (!key) {\n throw new Error('removeStorageSync:fail key error: key should be String')\n }\n\n const preferences = getPreferences()\n \n if (!preferences) {\n throw new Error('removeStorageSync:fail:preferences is null')\n }\n\n preferences.deleteSync(key)\n preferences.flush()\n}\n\nexport function clearStorage (options: Taro.clearStorage.Option) {\n const { success, fail, complete } = options || {}\n const handle = new MethodHandler({ name: 'clearStorage', success, fail, complete })\n\n return new Promise((resolve, reject) => {\n const preferences = getPreferences()\n\n if (!preferences) return handle.fail({}, { resolve, reject })\n\n preferences.clearSync()\n preferences.flush()\n \n return handle.success({}, { resolve, reject })\n })\n}\n\nexport function clearStorageSync () {\n const preferences = getPreferences()\n \n if (!preferences) {\n throw new Error('clearStorageSync:fail:preferences is null')\n }\n\n preferences.clearSync()\n preferences.flush()\n}\n\nexport const getStorageInfoSync = temporarilyNotSupport('getStorageInfoSync')\nexport const getStorageInfo = temporarilyNotSupport('getStorageInfo')\n\nexport const createBufferURL = /* @__PURE__ */ temporarilyNotSupport('createBufferURL')\nexport const revokeBufferURL = /* @__PURE__ */ temporarilyNotSupport('revokeBufferURL')\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'\n","import matrix4 from '@ohos.matrix4'\n\nimport { temporarilyNotSupport } from '../../utils'\n\nimport type Taro from '@tarojs/taro/types'\n\ninterface IAnimationAttr {\n duration: number\n delay: number\n timingFunction: string\n transformOrigin: string\n}\n\ntype TStep = {\n delay: number\n duration: number\n timingFunction: string\n transformOrigin: string\n rule: TRule\n}\n\ntype TRule = Record<string, any>\n\nexport class Animation implements Taro.Animation {\n\n unit: string\n DEFAULT: IAnimationAttr\n\n // 组合动画\n steps: TStep[] = []\n // 属性组合\n rule: TRule = {}\n\n constructor({\n duration = 400,\n delay = 0,\n timingFunction = 'linear',\n transformOrigin = '50% 50% 0',\n unit = 'px'\n }: Taro.createAnimation.Option = {}) {\n this.unit = unit\n this.setDefault(duration, delay, timingFunction, transformOrigin)\n }\n\n // 设置默认值\n setDefault (duration, delay, timingFunction, transformOrigin) {\n this.DEFAULT = { duration, delay, timingFunction, transformOrigin }\n }\n\n export (): { actions: any[] } {\n const actions = this.steps.slice()\n this.steps = []\n this.rule = {}\n return {\n actions\n }\n }\n\n step (arg: Partial<IAnimationAttr> = {}): Taro.Animation {\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 this.steps.push({\n duration,\n delay,\n timingFunction,\n transformOrigin,\n rule: Object.assign({}, this.rule)\n })\n return this\n }\n\n matrix (a: number, b: number, c: number, d: number, tx: number, ty: number): Taro.Animation {\n this.rule.transform = matrix4.init([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): Taro.Animation {\n this.rule.transform = matrix4.init([a1, b1, c1, d1, a2, b2, c2, d2, a3, b3, c3, d3, a4, b4, c4, d4])\n return this\n }\n\n rotate (angle: number): Taro.Animation {\n this.rule.rotate = { x: 0, y: 0, z: 1, angle }\n return this\n }\n\n rotate3d (x: number, y?: number | undefined, z?: number | undefined, angle?: number | undefined): Taro.Animation {\n this.rule.rotate = { x, y, z, angle }\n return this\n }\n\n rotateX (angle: number): Taro.Animation {\n this.rule.rotate = { x: 1, y: 0, z: 0, angle }\n return this\n }\n\n rotateY (angle: number): Taro.Animation {\n this.rule.rotate = { x: 0, y: 1, z: 0, angle }\n return this\n }\n\n rotateZ (angle: number): Taro.Animation {\n this.rule.rotate = { x: 0, y: 0, z: 1, angle }\n return this\n }\n\n scale (sx: number, sy?: number | undefined): Taro.Animation {\n this.rule.scale = { x: sx, y: sy }\n return this\n }\n\n scale3d (sx: number, sy: number, sz: number): Taro.Animation {\n this.rule.scale = { x: sx, y: sy, z: sz }\n return this\n }\n\n scaleX (scale: number): Taro.Animation {\n this.rule.scale = { x: scale }\n return this\n }\n\n scaleY (scale: number): Taro.Animation {\n this.rule.scale = { y: scale }\n return this\n }\n\n scaleZ (scale: number): Taro.Animation {\n this.rule.scale = { z: scale }\n return this\n }\n\n skew (ax: number, ay: number): Taro.Animation {\n this.rule.skew = { x: ax, y: ay }\n return this\n }\n\n skewX (angle: number): Taro.Animation {\n this.rule.skew = { x: angle }\n return this\n }\n\n skewY (angle: number): Taro.Animation {\n this.rule.skew = { y: angle }\n return this\n }\n\n translate (tx?: number | undefined, ty?: number | undefined): Taro.Animation {\n this.rule.translate = { x: tx, y: ty }\n return this\n }\n\n translate3d (tx?: number | undefined, ty?: number | undefined, tz?: number | undefined): Taro.Animation {\n this.rule.translate = { x: tx, y: ty, z: tz }\n return this\n }\n\n translateX (translation: number): Taro.Animation {\n this.rule.translate = { x: translation }\n return this\n }\n\n translateY (translation: number): Taro.Animation {\n this.rule.translate = { y: translation }\n return this\n }\n\n translateZ (translation: number): Taro.Animation {\n this.rule.translate = { z: translation }\n return this\n }\n\n opacity (value: number): Taro.Animation {\n this.rule.opacity = value\n return this\n }\n\n backgroundColor (value: string): Taro.Animation {\n this.rule.backgroundColor = value\n return this\n }\n\n width (value: string | number): Taro.Animation {\n this.rule.size = {\n ...this.rule.size,\n width: value\n }\n return this\n }\n\n height (value: string | number): Taro.Animation {\n this.rule.size = {\n ...this.rule.size,\n height: value\n }\n return this\n }\n\n left (value: string | number): Taro.Animation {\n temporarilyNotSupport('animation.left:' + value)(value)\n return this\n }\n\n right (value: string | number): Taro.Animation {\n temporarilyNotSupport('animation.right:' + value)(value)\n return this\n }\n\n top (value: string | number): Taro.Animation {\n temporarilyNotSupport('animation.top:' + value)(value)\n return this\n }\n\n bottom (value: string | number): Taro.Animation {\n temporarilyNotSupport('animation.bottom:' + value)(value)\n return this\n }\n}\n","import { Animation } from './animation'\n\nimport type Taro from '@tarojs/taro/types'\n\nexport const createAnimation = (option: Taro.createAnimation.Option) => {\n return new Animation(option)\n}\n","import { eventCenter } from '@tarojs/runtime/dist/runtime.esm'\n\nimport { temporarilyNotSupport } from '../utils'\nimport { MethodHandler } from '../utils/handler'\n\nexport const setBackgroundTextStyle = /* @__PURE__ */ temporarilyNotSupport('setBackgroundTextStyle')\n\nexport function setBackgroundColor(options: Taro.setBackgroundColor.Option) {\n const { success, fail, complete } = options || {}\n const handle = new MethodHandler({ name: 'setBackgroundColor', success, fail, complete })\n\n return new Promise((resolve, reject) => {\n eventCenter.trigger('__taroPageStyle', {\n backgroundColor: options.backgroundColor || options.backgroundColorTop || options.backgroundColorBottom,\n })\n\n return handle.success({}, { resolve, reject })\n })\n}\n","import type Taro from '@tarojs/taro/types'\n\n// 自定义组件\nexport const nextTick: typeof Taro.nextTick = (cb: (...args: any[]) => any, ctx?: Record<string, any>) => {\n setTimeout(function () {\n ctx ? cb.call(ctx) : cb()\n }, 1)\n}\n","import { temporarilyNotSupport } from '../utils'\n\n// 字体\nexport const loadFontFace = /* @__PURE__ */ temporarilyNotSupport('getMenuButtonBoundingClientRect')\n","import prompt from '@ohos.prompt'\n\nimport { callAsyncFail, callAsyncSuccess, temporarilyNotSupport, validateParams } from '../../utils'\n\nconst resCallback = (res) => {\n return { errMsg: `${res}:ok` }\n}\n\nconst showToastSchema = {\n title: 'String',\n duration: 'Number',\n bottom: 'String'\n}\n\nexport function showToast (options) {\n return new Promise((resolve, reject) => {\n const _default = {\n title: '',\n duration: 1500,\n bottom: '50%'\n }\n\n options = { ..._default, ...options }\n\n try {\n validateParams<any>('showToast', options, showToastSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callAsyncFail(reject, res, options)\n }\n\n prompt.showToast({\n message: options.title,\n duration: options.duration,\n bottom: options.bottom\n })\n callAsyncSuccess(resolve, resCallback('showToast'), options)\n })\n}\n\nexport function showModal (options) {\n const _default = {\n title: '',\n content: '',\n showCancel: true,\n cancelText: '取消',\n cancelColor: '#000000',\n confirmText: '确定',\n confirmColor: '#3CC51F'\n }\n\n options = { ..._default, ...options }\n\n const {\n title, content, cancelText, confirmText,\n cancelColor, confirmColor, showCancel\n } = options\n\n const buttons: any = []\n\n if (cancelText !== '' && showCancel) {\n buttons.push({\n text: cancelText,\n color: cancelColor\n })\n }\n\n if (confirmText !== '') {\n buttons.push({\n text: confirmText,\n color: confirmColor\n })\n }\n\n return new Promise(resolve => {\n const modalOptions = {\n title,\n message: content,\n buttons: buttons,\n success: (data) => {\n if (data.index === 1 || !showCancel) {\n callAsyncSuccess(\n resolve,\n {\n ...resCallback('showModal'),\n confirm: true,\n cancel: false,\n content: null\n },\n options\n )\n } else {\n callAsyncSuccess(\n resolve,\n {\n ...resCallback('showModal'),\n confirm: false,\n cancel: true\n },\n options\n )\n }\n },\n // 鸿蒙没有失败方法,只有取消\n cancel: (_) => {\n callAsyncSuccess(\n resolve,\n {\n ...resCallback('showModal'),\n confirm: false,\n cancel: true\n },\n options\n )\n }\n }\n\n prompt.showDialog(modalOptions)\n })\n}\n\nconst showActionSheetSchema = {\n title: 'String',\n itemList: 'Array'\n}\n\nexport function showActionSheet (options) {\n return new Promise((resolve, reject) => {\n const _default = {\n title: '',\n itemList: [],\n itemColor: '#000000'\n }\n\n options = { ..._default, ...options }\n\n try {\n validateParams<any>('showActionSheet', options, showActionSheetSchema)\n } catch (error) {\n const res = { errMsg: error.message }\n return callAsyncFail(reject, res, options)\n }\n\n const { title, itemList, itemColor } = options\n\n const buttons = itemList.map(res => {\n return {\n text: res,\n color: itemColor\n }\n })\n\n const actionSheetOptions = {\n title,\n buttons,\n success: (data) => {\n callAsyncSuccess(\n resolve,\n {\n ...data,\n ...resCallback('showActionSheet')\n },\n options\n )\n },\n // 取消方法,并非失败\n fail: (data) => {\n callAsyncFail(\n reject,\n {\n ...data,\n errMsg: data.errMsg.replace('showActionMenu', 'showActionSheet')\n },\n options\n )\n }\n }\n\n prompt.showActionMenu(actionSheetOptions)\n })\n}\n\nexport function hideToast (options) {\n return new Promise(resolve => {\n prompt.showToast({\n message: '关闭中',\n duration: 10,\n bottom: '9999px'\n })\n callAsyncSuccess(resolve, resCallback('hideToast'), options)\n })\n}\n\nexport const showLoading = temporarilyNotSupport('showLoading')\nexport const hideLoading = temporarilyNotSupport('hideLoading')\n\nexport const enableAlertBeforeUnload = /* @__PURE__ */ temporarilyNotSupport('enableAlertBeforeUnload')\nexport const disableAlertBeforeUnload = /* @__PURE__ */ temporarilyNotSupport('disableAlertBeforeUnload')\n","import { temporarilyNotSupport } from '../utils'\n\n// 菜单\nexport const getMenuButtonBoundingClientRect = /* @__PURE__ */ temporarilyNotSupport('getMenuButtonBoundingClientRect')\n","import { eventCenter } from '@tarojs/runtime/dist/runtime.esm'\n\nimport { MethodHandler } from '../../utils/handler'\n\nimport type Taro from '@tarojs/taro/types'\n\nexport const setNavigationBarTitle: typeof Taro.setNavigationBarTitle = function (options) {\n const { success, fail, complete } = options || {}\n const handle = new MethodHandler({ name: 'setNavigationBarTitle', success, fail, complete })\n\n return new Promise((resolve, reject) => {\n eventCenter.trigger('__taroNavigationStyle', {\n title: options.title,\n })\n\n return handle.success({}, { resolve, reject })\n })\n}\n\nexport const setNavigationBarColor: typeof Taro.setNavigationBarColor = function (options) {\n const { success, fail, complete } = options || {}\n const handle = new MethodHandler({ name: 'setNavigationBarTitle', success, fail, complete })\n\n return new Promise((resolve, reject) => {\n eventCenter.trigger('__taroNavigationStyle', {\n animation: options.animation,\n backgroundColor: options.backgroundColor,\n frontColor: options.frontColor,\n })\n\n return handle.success({}, { resolve, reject })\n })\n}\n\nexport const showNavigationBarLoading: typeof Taro.setNavigationBarColor = function (options) {\n const { success, fail, complete } = options || {}\n const handle = new MethodHandler({ name: 'showNavigationBarLoading', success, fail, complete })\n\n return new Promise((resolve, reject) => {\n eventCenter.trigger('__taroNavigationStyle', {\n loading: true,\n })\n\n return handle.success({}, { resolve, reject })\n })\n}\n\nexport const hideNavigationBarLoading: typeof Taro.hideNavigationBarLoading = function (options) {\n const { success, fail, complete } = options || {}\n const handle = new MethodHandler({ name: 'hideNavigationBarLoading', success, fail, complete })\n\n return new Promise((resolve, reject) => {\n eventCenter.trigger('__taroNavigationStyle', {\n loading: false,\n })\n\n return handle.success({}, { resolve, reject })\n })\n}\n\nexport const hideHomeButton: typeof Taro.hideHomeButton = function (options) {\n const { success, fail, complete } = options || {}\n const handle = new MethodHandler({ name: 'hideHomeButton', success, fail, complete })\n\n return new Promise((resolve, reject) => {\n eventCenter.trigger('__taroNavigationStyle', {\n home: false,\n })\n\n return handle.success({}, { resolve, reject })\n })\n}\n","import { Current } from '@tarojs/runtime'\n\nimport { callAsyncSuccess } from '../utils'\n\nimport type Taro from '@tarojs/taro/types'\n\nexport const startPullDownRefresh: typeof Taro.startPullDownRefresh = function (options) {\n return new Promise(resolve => {\n const taro = (Current as any).taro\n const page = taro.getCurrentInstance().page\n\n if (page.isRefreshing instanceof Array) {\n const index = page.tabBarCurrentIndex || 0\n page.isRefreshing[index] = true\n } else {\n page.isRefreshing = true\n }\n\n const res = { errMsg: 'startPullDownRefresh:ok' }\n page.$set?.('isRefreshing', true)\n callAsyncSuccess(resolve, res, options)\n })\n}\n\nexport const stopPullDownRefresh: typeof Taro.stopPullDownRefresh = function (options) {\n return new Promise(resolve => {\n const taro = (Current as any).taro\n const page = taro.getCurrentInstance().page\n\n if (page.isRefreshing instanceof Array) {\n const index = page.tabBarCurrentIndex || 0\n page.isRefreshing[index] = false\n } else {\n page.isRefreshing = false\n }\n\n const res = { errMsg: 'stopPullDownRefresh:ok' }\n page.$set?.('isRefreshing', false)\n callAsyncSuccess(resolve, res, options)\n })\n}\n","/**\n * 鸿蒙SDK API Version 6\n * 将页面滚动到目标位置\n * - 支持选择器(只支持id选择器和 class 选择器,暂不支持子选择器、后代选择器、跨自定义组件选择器、多选择器并集)\n * - 滚动距离\n * 文档地址 https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-framework-syntax-js-0000000000611432\n */\nimport { AREA_CHANGE_EVENT_NAME, Current, findChildNodeWithDFS, getPageScrollerOrNode, setNodeEventCallbackAndTriggerComponentUpdate } from '@tarojs/runtime'\nimport { pxTransformHelper } from '@tarojs/taro'\n\nimport { MethodHandler } from '../../utils/handler'\n\nimport type Taro from '@tarojs/taro/types'\n\n/**\n * 将页面滚动到目标位置\n */\nexport const pageScrollTo: typeof Taro.pageScrollTo = (options) => {\n const { scrollTop, selector = '', duration = 300, offsetTop = 0, success, fail, complete } = options || {}\n const handle = new MethodHandler({ name: 'pageScrollTo', success, fail, complete })\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async (resolve, reject) => {\n if (scrollTop === undefined && !selector) {\n return handle.fail({\n errMsg: 'scrollTop\" 或 \"selector\" 需要其之一'\n }, { resolve, reject })\n }\n\n if (scrollTop && selector) {\n console.warn('\"scrollTop\" 或 \"selector\" 建议只设一个值,全部设置会忽略selector')\n }\n\n const taro = (Current as any).taro\n const page = taro.getCurrentInstance().page\n\n let scrollValue = -1\n let scroller = page.scroller\n const currentPageNode = getPageScrollerOrNode(page.node, page)\n\n if (scrollTop || typeof scrollTop === 'number') {\n scrollValue = scrollTop\n } else if (selector) {\n const node = findChildNodeWithDFS(currentPageNode, selector)\n\n if (!node) return\n\n // 获取 areaInfo,需要先调用 setNodeEventCallbackAndTriggerComponentUpdate 更新一次组件并获取组件信息\n await setNodeEventCallbackAndTriggerComponentUpdate(node, AREA_CHANGE_EVENT_NAME, null, true)\n\n const { areaInfo } = node._nodeInfo || {}\n\n let parent = node?.parentNode\n while (!!parent && parent !== currentPageNode) {\n if (parent?.scroller) {\n scroller = parent.scroller\n break\n }\n parent = parent?.parentNode\n }\n\n scroller = getPageScrollerOrNode(scroller, page)\n\n const { yOffset } = scroller.currentOffset()\n\n if (areaInfo) {\n scrollValue = areaInfo.globalPosition.y + yOffset + pxTransformHelper(offsetTop, 'px', true)\n }\n }\n const { xOffset } = scroller.currentOffset()\n\n if (scrollValue === -1) {\n return handle.fail({\n errMsg: '请检查传入的 scrollTop 或 selector 是否合法'\n }, { resolve, reject })\n }\n\n try {\n scroller.scrollTo({\n xOffset,\n yOffset: scrollValue,\n animation: {\n duration: duration,\n // @ts-ignore\n curve: Curve.Linear\n }\n })\n\n setTimeout(() => {\n handle.success({}, { resolve, reject })\n }, duration)\n } catch (err) {\n return handle.fail({\n errMsg: err.message\n }, { resolve, reject })\n }\n })\n}\n","import { temporarilyNotSupport } from '../utils'\n\n// 置顶\nexport const setTopBarText = /* @__PURE__ */ temporarilyNotSupport('setTopBarText')\n","import { Current } from '@tarojs/runtime' // eslint-disable-line import/no-duplicates\nimport { eventCenter } from '@tarojs/runtime/dist/runtime.esm' // eslint-disable-line import/no-duplicates\n\nimport { callAsyncFail, callAsyncSuccess } from '../utils'\n\nimport type Taro from '@tarojs/taro/types'\n\ninterface ShowTabBar {\n type: 'show'\n fn: typeof Taro.showTabBar\n}\n\ninterface HideTabBar {\n type: 'hide'\n fn: typeof Taro.hideTabBar\n}\n\ntype ToggleAPIs = ShowTabBar | HideTabBar\n\nconst toggleTabBar = function<T extends ToggleAPIs['type']> (type: T): Extract<ToggleAPIs, {type: T}>['fn'] {\n return function (options) {\n return new Promise((resolve, reject) => {\n const taro = (Current as any).taro\n const page = taro.getCurrentInstance().page\n const currentData = page._data?.taroTabBar || page.tabBar\n const res = { errMsg: `${type}TabBar:ok` }\n const error = { errMsg: `${type}TabBar:fail not TabBar page` }\n\n if (!currentData) {\n callAsyncFail(reject, error, options)\n } else {\n const isShow = type === 'show'\n const event = isShow ? '__taroShowTabBar' : '__taroHideTabBar'\n eventCenter.trigger(event, {\n animation: options?.animation,\n })\n page.$set?.('isShowTaroTabBar', isShow)\n callAsyncSuccess(resolve, res, options)\n }\n })\n }\n}\n\nexport const showTabBar = toggleTabBar('show')\n\nexport const hideTabBar = toggleTabBar('hide')\n\nexport const setTabBarStyle: typeof Taro.setTabBarStyle = function (options = {}) {\n return new Promise((resolve, reject) => {\n const taro = (Current as any).taro\n const page = taro.getCurrentInstance().page\n const currentData = page._data?.taroTabBar || page.tabBar\n const res = { errMsg: 'setTabBarStyle:ok' }\n const error = { errMsg: 'setTabBarStyle:fail not TabBar page' }\n\n if (!currentData) {\n callAsyncFail(reject, error, options)\n } else {\n const data = Object.assign({}, currentData)\n\n if (options.color) data.color = options.color\n if (options.selectedColor) data.selectedColor = options.selectedColor\n if (options.backgroundColor) data.backgroundColor = options.backgroundColor\n if (options.borderStyle) data.borderStyle = options.borderStyle\n\n eventCenter.trigger('__taroSetTabBarStyle', options)\n page.$set?.('taroTabBar', data)\n callAsyncSuccess(resolve, res, options)\n }\n })\n}\n\nexport const setTabBarItem: typeof Taro.setTabBarItem = function (options) {\n return new Promise((resolve, reject) => {\n const taro = (Current as any).taro\n const page = taro.getCurrentInstance().page\n const currentData = page._data?.taroTabBar || page.tabBar\n const res = { errMsg: 'setTabBarItem:ok' }\n const error = { errMsg: 'setTabBarItem:fail not TabBar page' }\n\n if (!currentData) {\n callAsyncFail(reject, error, options)\n } else {\n const index = options.index\n const item = Object.assign({}, currentData.list[index])\n\n if (options.text) item.text = options.text\n if (options.iconPath) item.iconPath = options.iconPath\n if (options.selectedIconPath) item.selectedIconPath = options.selectedIconPath\n\n const list = [\n ...currentData.list.slice(0, index),\n item,\n ...currentData.list.slice(index + 1)\n ]\n const data = Object.assign({}, currentData, { list })\n\n eventCenter.trigger('__taroSetTabBarItem', options)\n page.$set?.('taroTabBar', data)\n callAsyncSuccess(resolve, res, options)\n }\n })\n}\n\nexport function showTabBarRedDot (options) {\n const res = { errMsg: 'showTabBarRedDot:ok' }\n return new Promise((resolve) => {\n eventCenter.trigger('__taroShowTabBarRedDotHandler', {\n index: options?.index || 0,\n })\n callAsyncSuccess(resolve, res, options)\n })\n}\n\nexport function hideTabBarRedDot (options) {\n const res = { errMsg: 'hideTabBarRedDot:ok' }\n return new Promise((resolve) => {\n eventCenter.trigger('__taroHideTabBarRedDotHandler', {\n index: options?.index || 0,\n })\n callAsyncSuccess(resolve, res, options)\n })\n}\n\nexport function setTabBarBadge (options) {\n const res = { errMsg: 'setTabBarBadge:ok' }\n return new Promise((resolve) => {\n const text = options?.text || ''\n eventCenter.trigger('__taroSetTabBarBadge', {\n index: options?.index || 0,\n text: text.replace(/[\\u0391-\\uFFE5]/g, 'aa').length > 4 ? '...' : text,\n })\n callAsyncSuccess(resolve, res, options)\n })\n}\n\nexport function removeTabBarBadge (options) {\n const res = { errMsg: 'removeTabBarBadge:ok' }\n return new Promise((resolve) => {\n eventCenter.trigger('__taroRemoveTabBarBadge', {\n index: options?.index || 0,\n })\n callAsyncSuccess(resolve, res, options)\n })\n}\n","import { temporarilyNotSupport } from '../utils'\r\n\r\nimport type Taro from '@tarojs/taro/types'\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 = /* @__PURE__ */ temporarilyNotSupport('onWindowResize')\r\n\r\n/**\r\n * 取消监听窗口尺寸变化事件\r\n */\r\nexport const offWindowResize: typeof Taro.offWindowResize = /* @__PURE__ */ temporarilyNotSupport('offWindowResize')\r\n\r\nexport const checkIsPictureInPictureActive = /* @__PURE__ */ temporarilyNotSupport('checkIsPictureInPictureActive')\r\n","import { temporarilyNotSupport } from '../utils'\n\n// Worker\nexport const createWorker = /* @__PURE__ */ temporarilyNotSupport('createWorker')\n","import { Current, disconnectEvent, findChildNodeWithDFS, getPageScrollerOrNode, setNodeEventCallbackAndTriggerComponentUpdate, TaroElement, VISIBLE_CHANGE_EVENT_NAME } from '@tarojs/runtime'\n\nimport { temporarilyNotSupport } from '../utils'\n\nimport type Taro from '@tarojs/taro/types'\n\nexport class IntersectionObserver implements Taro.IntersectionObserver {\n // 自定义组件实例\n private _component: any\n // 监听的nodes\n private _observerNodes: TaroElement[] | TaroElement | null\n // 选项\n private _options = {\n thresholds: [0],\n initialRatio: 0,\n observeAll: false\n }\n\n constructor(component: any, options: Taro.createIntersectionObserver.Option = {}) {\n const taro = (Current as any).taro\n const page = taro.getCurrentInstance().page\n\n this._component = component || getPageScrollerOrNode(page?.node, page)\n Object.assign(this._options, options)\n }\n\n public disconnect (): void {\n if (this._observerNodes && this._component) {\n if (this._observerNodes instanceof Array) {\n this._observerNodes.forEach((n: TaroElement & any) => {\n disconnectEvent(n, VISIBLE_CHANGE_EVENT_NAME)\n // @ts-ignore\n n._nodeInfo?.thresholds = null\n })\n } else {\n disconnectEvent(this._observerNodes, VISIBLE_CHANGE_EVENT_NAME)\n // @ts-ignore\n if (this._observerNodes._nodeInfo) {\n // @ts-ignore\n this._observerNodes._nodeInfo?.thresholds = null\n }\n }\n }\n }\n\n public observe (targetSelector: string, callback: Taro.IntersectionObserver.ObserveCallback): void {\n if (!this._component) return\n \n const { observeAll, thresholds } = this._options\n const node = findChildNodeWithDFS(this._component, targetSelector, observeAll)\n this._observerNodes = node\n\n if (node) {\n if (node instanceof Array) {\n node.forEach(n => {\n // @ts-ignore\n n._nodeInfo?.thresholds = thresholds\n\n setNodeEventCallbackAndTriggerComponentUpdate(n, VISIBLE_CHANGE_EVENT_NAME, (isVisible: boolean, currentRatio: number) => {\n callback(this.handleResult(isVisible, currentRatio))\n })\n })\n } else {\n // @ts-ignore\n node._nodeInfo?.thresholds = thresholds\n\n setNodeEventCallbackAndTriggerComponentUpdate(node, VISIBLE_CHANGE_EVENT_NAME, (isVisible: boolean, currentRatio: number) => {\n callback(this.handleResult(isVisible, currentRatio))\n })\n }\n }\n }\n\n public relativeTo (): Taro.IntersectionObserver {\n temporarilyNotSupport('relativeTo')()\n return this\n }\n\n public relativeToViewport (): Taro.IntersectionObserver {\n temporarilyNotSupport('relativeToViewport')()\n return this\n }\n\n // @ts-ignore\n private handleResult (isVisible: boolean, currentRatio: number): Taro.IntersectionObserver.ObserveCallbackResult {\n const result = {\n intersectionRatio: currentRatio,\n // TODO 未做,等待能拿到element的info信息\n boundingClientRect: {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n height: 0,\n width: 0\n },\n // TODO 未做,等待能拿到element和监听_component的info信息做运算\n intersectionRect: {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n height: 0,\n width: 0\n },\n // TODO 未做,等待能拿到element和监听_component的info信息做运算\n relativeRect: { left: 0, right: 0, top: 0, bottom: 0 },\n time: new Date().getTime()\n }\n return result\n }\n}\n","import { SelectorQuery } from './selectorQuery'\n\nimport type Taro from '@tarojs/taro/types'\n\nexport class NodesRef implements Taro.NodesRef {\n _component?: any\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?: Taro.NodesRef.NodeCallback) {\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?: Taro.NodesRef.BoundingClientRectCallback) {\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: Taro.NodesRef.Fields, cb?: Taro.NodesRef.FieldsCallback) {\n const { _selector, _component, _single, _selectorQuery } = this\n const { id, dataset, rect, size, scrollOffset, properties = [], computedStyle = [] } = fields\n _selectorQuery._push(_selector, _component, _single, {\n id,\n dataset,\n rect,\n size,\n scrollOffset,\n properties,\n computedStyle\n }, cb)\n return _selectorQuery\n }\n}\n","import { AREA_CHANGE_EVENT_NAME, Current, getPageScrollerOrNode, setNodeEventCallbackAndTriggerComponentUpdate } from '@tarojs/runtime'\n\nimport { NodesRef } from './nodesRef'\n\nimport type Taro from '@tarojs/taro/types'\n\ninterface ISelectorQueryQueue {\n component: any\n selector: string\n single: boolean\n fields\n}\n\ntype TSelectorQueryQueueCallback = (res: ISelectorQueryQueue) => void\n\nlet arr: any = []\n\n// 深度搜索 rootDom 下的所有节点,存放在 arr 中\nfunction traversalDFSDom (rootDom) {\n if (!rootDom) return\n arr.push(rootDom)\n\n if (rootDom.childNodes.length === 0) return\n for (let i = 0; i < rootDom.childNodes.length; i++) {\n traversalDFSDom(rootDom.childNodes[i])\n }\n}\n\n// 从 arr 中寻找所有符合 selector 的节点\nfunction parseHandler (selector, selectAll) {\n const domList: any = []\n if (arr.length === 0) return null\n\n let selectedId, clsList\n switch (selector.charAt(0)) {\n case '#': // id selector\n selectedId = selector.substring(1)\n for (let i = 0; i < arr.length; i++) {\n if (arr[i].id === selectedId) {\n domList.push(arr[i])\n if (!selectAll) {\n break\n }\n }\n }\n break\n case '.':\n clsList = selector.split('.').filter((item) => item !== '')\n if (clsList.length === 0) break\n\n for (let i = 0; i < arr.length; i++) {\n for (let j = 0; j < clsList.length; j++) {\n if (arr[i].className?.includes(clsList[j])) {\n domList.push(arr[i])\n if (!selectAll) {\n break\n }\n }\n }\n }\n break\n default:\n console.warn('unSupport selector')\n break\n }\n if (selectAll) {\n return domList\n } else if (domList.length > 0) {\n return [domList[0]]\n }\n return []\n}\n\n// 从 TaroNode 里找到对应的 fields 内容\nfunction filter (fields, dom) {\n if (!dom) return null\n const {\n id,\n // dataset,\n rect,\n size,\n scrollOffset,\n properties = [],\n computedStyle = [],\n nodeCanvasType,\n node,\n context\n } = fields\n const res: any = {}\n\n if (nodeCanvasType && node) { // Node节点获取处理\n const typeName = dom.nodeName\n res.node = {\n id: dom.id,\n $taroElement: dom\n }\n if (/^canvas/i.test(typeName)) {\n // harmony todo canvas attr type\n const canvasType = dom._attrs.type || ''\n res.nodeCanvasType = canvasType\n if (/^(2d|webgl)/i.test(canvasType) && dom) {\n res.node = dom\n } else {\n res.node = null\n }\n } else {\n // TODO https://developers.weixin.qq.com/miniprogram/dev/component/scroll-view.html\n // if (/^taro-scroll-view-core/i.test(tagName))\n res.nodeCanvasType = ''\n res.node = dom\n }\n return res\n }\n if (context) {\n // TODO: 暂未实现获取 context\n // const typeName = dom.type\n // if (/^video/i.test(typeName)) {\n // return { context: dom }\n // } else if (/^canvas/i.test(typeName)) {\n // const type = dom.type || '2d'\n // // harmony todo canvas context\n // const ctx = dom?.getContext(type)\n // return { context: ctx }\n // } else if (/^taro-live-player-core/i.test(typeName)) {\n // console.error('暂时不支持通过 NodesRef.context 获取 LivePlayerContext')\n // } else if (/^taro-editor-core/i.test(typeName)) {\n // console.error('暂时不支持通过 NodesRef.context 获取 EditorContext')\n // } else if (/^taro-map-core/i.test(typeName)) {\n // console.error('暂时不支持通过 NodesRef.context 获取 MapContext')\n // }\n }\n if (id) res.id = dom.id\n\n // TODO harmony dataset\n // if (dataset) res.dataset = Object.assign({}, dom.dataset)\n\n if (rect || size) {\n const { areaInfo } = dom?._nodeInfo || {}\n\n if (areaInfo) {\n if (rect) {\n res.top = vp2px(areaInfo.globalPosition.y)\n res.left = vp2px(areaInfo.globalPosition.x)\n res.right = vp2px(areaInfo.globalPosition.x + areaInfo.width)\n res.bottom = vp2px(areaInfo.globalPosition.y + areaInfo.height)\n }\n\n if (size) {\n res.width = vp2px(areaInfo.width)\n res.height = vp2px(areaInfo.height)\n }\n }\n }\n if (scrollOffset) {\n const scroller = dom.scroller\n\n if (scroller) {\n const { xOffset, yOffset } = scroller.currentOffset()\n\n res.scrollLeft = vp2px(xOffset)\n res.scrollTop = vp2px(yOffset)\n }\n }\n if (properties.length) {\n properties.forEach(prop => {\n const attrs = dom._attrs\n if (attrs[prop]) res[prop] = attrs[prop]\n })\n }\n if (computedStyle.length) {\n const styles = dom._st\n computedStyle.forEach(key => {\n const value = styles[key]\n if (value) res[key] = value\n })\n }\n return res\n}\n\nfunction querySelector (selector, selectAll) {\n if (typeof selector === 'string') {\n return parseHandler(selector, selectAll)\n }\n return null\n}\n\nfunction queryBat (queue, cb) {\n const result: any = []\n const taro = (Current as any).taro\n const page = taro.getCurrentInstance().page\n const element = getPageScrollerOrNode(page.node, page)\n\n if (element == null) return null\n\n arr = []\n traversalDFSDom(element)\n queue.forEach(item => {\n const { selector, single, fields } = item\n const nodeList = querySelector(selector, !single)\n\n result.push(nodeList.map(dom => {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async resolve => {\n await setNodeEventCallbackAndTriggerComponentUpdate(dom, AREA_CHANGE_EVENT_NAME, null, true)\n\n resolve(filter(fields, dom))\n })\n }))\n })\n\n Promise.all(result.map(item => {\n return Promise.all(item)\n })).then(data => {\n cb(data)\n })\n}\n\nexport class SelectorQuery implements Taro.SelectorQuery {\n _queue: ISelectorQueryQueue[]\n _queueCb: (TSelectorQueryQueueCallback | null)[]\n _component?: any\n\n constructor () {\n this._queue = []\n this._queueCb = []\n // this._component\n }\n\n /**\n * 设置选择器的选取范围\n * @param component 指定组件\n * @return selectQuery 返回查询对象\n */\n in = (_: any) => {\n this._component = null\n console.warn('暂不支持 in 操作')\n // this._component = component\n return this\n }\n\n /**\n * 在当前页面下选择第一个匹配选择器selector的节点\n * @param selector\n * @return nodesRef 返回一个NodesRef 对象实例,可以用于获取节点信息\n */\n select (selector: string) {\n return new NodesRef(selector, this, true)\n }\n\n /**\n * 在当前页面下选择匹配选择器selector的所有节点\n * @param selector\n */\n selectAll (selector: string) {\n return new NodesRef(selector, this, false)\n }\n\n /**\n * 选择显示区域。可用于获取显示区域的尺寸、滚动位置等信息\n */\n selectViewport () {\n return new NodesRef('.taro_page', this, true)\n }\n\n exec (cb?: (...args: any[]) => any) {\n queryBat(this._queue, res => {\n const _queueCb = this._queueCb\n res.forEach((item, index) => {\n const cb = _queueCb[index]\n typeof cb === 'function' && cb.call(this, item)\n })\n typeof cb === 'function' && cb.call(this, res)\n })\n return this as any\n }\n\n _push (selector, component, single, fields, callback: Taro.NodesRef.FieldsCallback | null = null) {\n this._queue.push({\n component,\n selector,\n single,\n fields\n })\n this._queueCb.push(callback)\n }\n}\n","import { temporarilyNotSupport } from '../utils'\nimport { IntersectionObserver } from './IntersectionObserver'\nimport { SelectorQuery } from './selectorQuery'\n\nimport type Taro from '@tarojs/taro/types'\n\nexport const createSelectorQuery = () => {\n return new SelectorQuery()\n}\n\nexport const createIntersectionObserver: typeof Taro.createIntersectionObserver = (component, options) => {\n return new IntersectionObserver(component, options)\n}\n\nexport const createMediaQueryObserver = /* @__PURE__ */ temporarilyNotSupport('createMediaQueryObserver')\n\nexport { IntersectionObserver }\n","import _display from '@ohos.display'\nimport { Current, hooks } from '@tarojs/runtime'\nimport { isFunction, PLATFORM_TYPE } from '@tarojs/shared'\n\nimport * as apis from './apis'\nimport { permanentlyNotSupport } from './utils'\n\nconst taro = Object.assign({}, apis)\n\nconst requirePlugin = /* @__PURE__ */ permanentlyNotSupport('requirePlugin')\nexport function initNativeApi (taro) {\n (Current as any).taro = taro\n taro.requirePlugin = requirePlugin\n taro.getApp = getApp\n taro.pxTransform = pxTransform\n taro.initPxTransform = initPxTransform\n taro.canIUseWebp = canIUseWebp\n taro.getAppInfo = getAppInfo\n\n if (hooks.isExist('initNativeApi')) {\n hooks.call('initNativeApi', taro)\n }\n}\n\nconst defaultDesignWidth = 750\nconst defaultDesignRatio: Record<string | number, number> = {\n 640: 2.34 / 2,\n 750: 1,\n 828: 1.81 / 2\n}\nconst defaultBaseFontSize = 20\nconst defaultUnitPrecision = 5\nconst defaultTargetUnit = 'vp'\n\nexport function getApp () {\n return Current.app || {}\n}\n\nexport function initPxTransform ({\n designWidth = defaultDesignWidth,\n deviceRatio = defaultDesignRatio,\n baseFontSize = defaultBaseFontSize,\n unitPrecision = defaultUnitPrecision,\n targetUnit = defaultTargetUnit\n}) {\n const taro = (Current as any).taro\n\n if (taro) {\n taro.config ||= {}\n const config = taro.config\n config.designWidth = designWidth\n config.deviceRatio = deviceRatio\n config.baseFontSize = baseFontSize\n config.targetUnit = targetUnit\n config.unitPrecision = unitPrecision\n }\n}\n\nconst display = _display.getDefaultDisplaySync()\n\nlet designWidthFunc: (input: number) => number\nfunction getRatio (value: number) {\n const config = (Current as any).taro?.config || {}\n if (!isFunction(designWidthFunc)) {\n designWidthFunc = isFunction(config.designWidth)\n ? config.designWidth\n : () => config.designWidth\n }\n const designWidth = designWidthFunc(value) || defaultDesignWidth\n const deviceRatio = config.deviceRatio || defaultDesignRatio\n if (!(designWidth in deviceRatio)) {\n throw new Error(`deviceRatio 配置中不存在 ${designWidth} 的设置!`)\n }\n return Math.min(display.width, display.height) / designWidth / deviceRatio[designWidth]\n}\n\n// Note: 设置为 style 单位时会自动完成设计稿转换,设计开发者调用 API 时也许抹平差异,例如 pageScrollTo[option.offsetTop]\nexport function pxTransformHelper (size: number, unit?: string, isNumber = false): number | string {\n const config = (Current as any).taro?.config || {}\n const targetUnit = unit || config.targetUnit || defaultTargetUnit\n\n const ratio = getRatio(size)\n let val = size * ratio\n\n switch (targetUnit) {\n case 'vp':\n // Note: 在应用创建前调用无效\n val = px2vp(val)\n break\n default:\n }\n return isNumber ? val : val + targetUnit\n}\n\nexport function pxTransform (size: number): number {\n const config = (Current as any).taro?.config || {}\n const targetUnit = config.targetUnit || defaultTargetUnit\n\n let val = size\n switch (targetUnit) {\n case 'vp':\n val = px2vp(size)\n break\n default:\n // NOTE: 鸿蒙环境下 style 会自动完成设计稿转换,无需在方法内二次调整\n }\n return val + config.targetUnit\n}\n\nexport function canIUseWebp () {\n return true\n}\n\nexport function getAppInfo () {\n const config = (Current as any).taro?.config\n return {\n platform: process.env.TARO_PLATFORM || PLATFORM_TYPE.HARMONY,\n taroVersion: process.env.TARO_VERSION || 'unknown',\n designWidth: config?.designWidth,\n }\n}\n\ninitNativeApi(taro)\n\nexport * from './apis'\nexport default taro\n","import { singleQuote } from '@tarojs/shared'\n\nexport const components = {\n Checkbox: {\n 'group-id': '',\n cn: ''\n },\n Span: {},\n Tabs: {\n index: '0',\n vertical: 'false',\n bindchange: ''\n },\n TabBar: {\n mode: singleQuote('scrollable')\n },\n TabContent: {\n scrollable: 'true'\n },\n List: {\n scrollpage: 'false',\n cachedcount: '0',\n scrollbar: 'off',\n scrolleffect: singleQuote('spring'),\n indexer: 'false',\n indexercircle: '',\n indexermulti: 'false',\n indexerbubble: 'true',\n divider: 'false',\n shapemode: singleQuote('default'),\n itemscale: 'true',\n itemcenter: 'false',\n updateeffect: 'false',\n chainanimation: 'false',\n scrollvibrate: 'true',\n initialindex: '0',\n initialoffset: '0',\n selected: '',\n bindindexerchange: '',\n bindscroll: '',\n bindscrollbottom: '',\n bindscrolltop: '',\n bindscrollend: '',\n bindscrolltouchup: '',\n bindrequestitem: ''\n },\n ListItem: {\n type: singleQuote('default'),\n primary: 'false',\n section: '',\n sticky: singleQuote('none'),\n stickyradius: singleQuote('1000px'),\n clickeffect: 'true',\n bindsticky: ''\n },\n Switch: {\n showtext: 'false',\n texton: singleQuote('On'),\n textoff: singleQuote('Off')\n },\n Textarea: {\n headericon: '',\n showcounter: 'false',\n menuoptions: '[]',\n softkeyboardenabled: 'true',\n bindtranslate: '',\n bindshare: '',\n bindsearch: '',\n bindoptionselect: '',\n bindselectchange: ''\n },\n Progress: {\n 'active-color': singleQuote('#09BB07'),\n 'background-color': singleQuote('#EBEBEB'),\n type: singleQuote('horizontal'),\n 'font-size': singleQuote('25px'),\n secondarypercent: '0',\n clockwise: 'true'\n },\n Slider: {\n showsteps: 'false',\n showtips: 'false'\n },\n Input: {\n 'placeholder-color': singleQuote('#99000000')\n },\n Video: {\n speed: '1',\n bindloadedmetadata: '',\n bindprogress: '',\n bindtap: ''\n },\n Image: {\n alt: ''\n },\n Radio: {\n 'group-id': ''\n },\n Picker: {\n selected: '',\n hours: '',\n containsecond: 'false',\n vibrate: 'true',\n lunar: 'false',\n lunarswitch: 'false'\n },\n PickerView: {\n mode: '',\n range: '',\n selected: '',\n hours: '',\n indicatorprefix: '',\n indicatorsuffix: '',\n containsecond: 'false',\n vibrate: 'true',\n lunar: 'false',\n lunarswitch: 'false',\n bindcolumnchange: '',\n cn: ''\n }\n}\n","import { internalComponents, isArray } from '@tarojs/shared'\n\nimport { initNativeApi } from './apis'\n\ndeclare const getApp: any\n\nexport { initNativeApi }\nexport * from './components'\n\nconst BUBBLE_EVENTS = new Set([\n 'touchStart',\n 'touchMove',\n 'touchEnd',\n 'touchCancel',\n 'click',\n 'longTap'\n])\n\nexport const hostConfig = {\n initNativeApi,\n modifyTaroEvent (event, node) {\n const comps = Object.keys(internalComponents).map(c => c.toLowerCase())\n const tagName = node.tagName.toLowerCase()\n if (event.type === 'click' && comps.includes(tagName)) {\n event.type = 'tap'\n }\n\n // getters & setters\n const { mpEvent } = event\n // Note: Harmony ACE API 8 开发板该方法不存在\n const getOwnPropertyDescriptors = typeof Object.getOwnPropertyDescriptors === 'function' ? Object.getOwnPropertyDescriptors : (arg = {}) => ({ ...arg })\n // eslint-disable-next-line no-proto\n const mpEventDescs = { ...(getOwnPropertyDescriptors(mpEvent) || {}), ...(getOwnPropertyDescriptors(mpEvent.__proto__) || {}) }\n const descs = {}\n for (const key in mpEventDescs) {\n const item = mpEventDescs[key]\n if ((item.get || item.set) && key !== 'type') {\n descs[key] = item\n }\n }\n Object.defineProperties(event, descs)\n },\n getPathIndex (indexOfNode) {\n return indexOfNode\n },\n getSpecialNodes () {\n return []\n },\n getMiniLifecycle (config) {\n config.app[0] = 'onCreate'\n config.page[0] = 'onInit'\n config.page[1] = 'onDestroy'\n config.page[5] = [\n 'onActive',\n 'onInactive',\n 'onBackPress',\n 'onNewRequest',\n 'onStartContinuation',\n 'onSaveData',\n 'onRestoreData',\n 'onCompleteContinuation',\n 'onPullDownRefresh'\n ]\n return config\n },\n modifyPageObject (config) {\n const originOnInit = config.onInit\n config.onInit = function () {\n // 对接小程序规范的 setData 到 harmony 规范的 $set\n this.setData = function (normalUpdate: Record<string, any>, cb) {\n Object.keys(normalUpdate).forEach(path => {\n this.$set(path, normalUpdate[path])\n })\n cb()\n }\n\n // 处理路由参数\n const options = {}\n Object.keys(this._data).forEach(key => {\n if (!/^root\\b/.test(key) && !/^\\$i18n\\b/.test(key)) {\n options[key] = this._data[key]\n }\n })\n\n // 调用 onInit\n originOnInit.call(this, options)\n\n // 手动记录路由堆栈\n const app = getApp()\n const pagePath = this.$taroPath.split('?')[0]\n if (!app.pageStack) {\n app.pageStack = []\n }\n app.pageStack.push(pagePath)\n\n // 根据 page.config 初始化 navbar\n const appConfig = app.config\n const pageConfig = this.config\n const window = Object.assign({}, appConfig.window, pageConfig)\n\n this.$set('taroNavBar', {\n background: window.navigationBarBackgroundColor || '#000000',\n textStyle: window.navigationBarTextStyle || 'white',\n title: window.navigationBarTitleText || '',\n style: window.navigationStyle || 'default'\n })\n\n // 初始化下拉刷新组件\n this.$set('enablePullDownRefresh', Boolean(window.enablePullDownRefresh))\n this.$set('isRefreshing', false)\n\n // 根据 app.config 初始化 tabbar\n if (appConfig.tabBar) {\n const list = appConfig.tabBar.list\n for (const idx in list) {\n const item = list[idx]\n if (item.pagePath === pagePath) {\n this.$set('selected', idx)\n this.$set('isShowTaroTabBar', true)\n this.$set('taroTabBar', appConfig.tabBar)\n break\n }\n }\n }\n }\n\n const originOnPullDownRefresh = config.onPullDownRefresh\n config.onPullDownRefresh = function (e) {\n this.$set('isRefreshing', e.refreshing)\n\n // 调用 onPullDownRefresh\n originOnPullDownRefresh.call(this)\n }\n\n const originOnDestroy = config.onDestroy\n config.onDestroy = function () {\n // 页面销毁时 执行路由堆栈 出栈\n const app = getApp()\n if (isArray(app.pageStack)) {\n // 不能用 pop,因为 onInit 会比 onDestroy 先触发,考虑一种情况:\n // current stack: [A, B], action: redirectTo C\n // [C onInit], push C, stack: [A, B, C]\n // [B onDestroy], pop C, stack: [A, B]\n // 可见 pop 会导致路由栈错误,上述例子中正确的路由栈应该是 [A, C],而不是 [A, B]\n const pagePath = this.$taroPath.split('?')[0]\n const stack: string[] = app.pageStack\n const len = stack.length\n let targetIdx = -1\n for (let i = 0; i < len; i++) {\n if (stack[i] === pagePath) targetIdx = i\n }\n targetIdx >= 0 && stack.splice(targetIdx, 1)\n }\n\n // 调用 OnDestroy\n originOnDestroy.call(this)\n }\n config.data = { root: { cn: [] } }\n },\n isBubbleEvents (eventName) {\n return BUBBLE_EVENTS.has(eventName)\n }\n}\n","import { mergeInternalComponents, mergeReconciler } from '@tarojs/shared'\n\nimport { components, hostConfig } from './runtime-utils'\n\nmergeReconciler(hostConfig)\nmergeInternalComponents(components)\n"],"names":["callbackManager","filePathSchema","getFileInfo","getSavedFileList","saveFile","removeSavedFile","requirePlugin","document","request","getApp"],"mappings":"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"}
|