From 73c83066a52ff1cc16806c6aa93e578e0db78077 Mon Sep 17 00:00:00 2001 From: git_robot Date: Mon, 2 Dec 2024 10:39:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20utsJson.json=E3=80=81utsAp?= =?UTF-8?q?iJson.json=E3=80=81utsComJson.json=E3=80=81utsUnicloudApiJson.j?= =?UTF-8?q?son?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/.vuepress/utils/utsApiJson.json | 2 +- docs/.vuepress/utils/utsComJson.json | 2 +- docs/.vuepress/utils/utsJson.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/.vuepress/utils/utsApiJson.json b/docs/.vuepress/utils/utsApiJson.json index f6e410b1..68b2dc03 100644 --- a/docs/.vuepress/utils/utsApiJson.json +++ b/docs/.vuepress/utils/utsApiJson.json @@ -1 +1 @@ -{"getApp":{"name":"## function getApp\\(): UniApp & { globalData: AppInstance\\\\['globalData'] vm: AppInstance\\ $vm: AppInstance\\ } @getapp","description":"`getApp()` 函数用于获取当前应用实例,可通过应用实例调用 App.uvue methods 中定义的方法, [详见](#appmethods)。","compatibility":"### getApp 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | √ | √ | 4.31 |\n","param":"","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| [UniApp](#uniapp-values) |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| vm | ComponentPublicInstance | 是 | - | | App vue 实例对象 |\n@| globalData | any | 是 | - | | 全局对象 |\n@| ~~$vm~~ | ComponentPublicInstance | 是 | - | | App vue 实例对象 **已废弃,仅为了向下兼容保留** |\n#### UniApp 的方法 @uniapp-values \n\n#### getAndroidApplication(): Application @getandroidapplication\n获取 Android 应用 Application 上下文\n##### getAndroidApplication 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.31 | x |\n\n\n##### 返回值 \n\n| 类型 |\n| :- |\n| Application |\n \n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.global.getApp)\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/tutorial/page.html#getapp)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getApp&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getApp&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getApp&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getApp&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getApp&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getApp)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getApp&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/get-app/get-app.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/get-app/get-app\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/get-app/get-app\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\r\n\n```\n\n>Script\n```uts\n\r\n import { state, setLifeCycleNum } from '@/store/index.uts'\r\n\r\n type MyGlobalData = {\r\n str : string,\r\n num : number,\r\n bool : boolean,\r\n obj : UTSJSONObject,\r\n null : string | null,\r\n arr : number[],\r\n mySet : string[],\r\n myMap : UTSJSONObject,\r\n func : () => string\r\n }\r\n\r\n export default {\r\n data() {\r\n return {\r\n originGlobalData: {\r\n str: '',\r\n num: 0,\r\n bool: false,\r\n obj: {\r\n str: '',\r\n num: 0,\r\n bool: false\r\n } as UTSJSONObject,\r\n null: null,\r\n arr: [] as number[],\r\n mySet: [] as string[],\r\n myMap: {},\r\n func: () : string => ''\r\n } as MyGlobalData,\r\n originGlobalDataFuncRes: '',\r\n newGlobalData: {\r\n str: '',\r\n num: 0,\r\n bool: false,\r\n obj: {\r\n str: '',\r\n num: 0,\r\n bool: false\r\n } as UTSJSONObject,\r\n null: null,\r\n arr: [] as number[],\r\n mySet: [] as string[],\r\n myMap: {},\r\n func: () : string => ''\r\n } as MyGlobalData,\r\n newGlobalDataFuncRes: '',\r\n lifeCycleNum: 0,\r\n androidApplication: null as any | null\r\n }\r\n },\r\n onReady() {\r\n this.lifeCycleNum = state.lifeCycleNum\r\n },\r\n methods: {\r\n getGlobalData() {\r\n const app = getApp()\r\n\r\n this.originGlobalData.str = app.globalData.str\r\n this.originGlobalData.num = app.globalData.num\r\n this.originGlobalData.bool = app.globalData.bool\r\n this.originGlobalData.obj = app.globalData.obj\r\n this.originGlobalData.null = app.globalData.null\r\n this.originGlobalData.arr = app.globalData.arr\r\n app.globalData.mySet.forEach((value : string) => {\r\n this.originGlobalData.mySet.push(value)\r\n })\r\n app.globalData.myMap.forEach((value : any, key : string) => {\r\n this.originGlobalData.myMap[key] = value\r\n })\r\n this.originGlobalData.func = app.globalData.func\r\n this.originGlobalDataFuncRes = this.originGlobalData.func()\r\n },\r\n setGlobalData() {\r\n const app = getApp()\r\n\r\n app.globalData.str = 'new globalData str'\r\n app.globalData.num = 100\r\n app.globalData.bool = true\r\n app.globalData.obj = {\r\n str: 'new globalData obj str',\r\n num: 200,\r\n bool: true\r\n }\r\n app.globalData.null = 'not null'\r\n app.globalData.arr = [1, 2, 3]\r\n app.globalData.mySet = new Set(['a', 'b', 'c'])\r\n app.globalData.myMap = new Map([\r\n ['a', 1],\r\n ['b', 2],\r\n ['c', 3]\r\n ])\r\n app.globalData.func = () : string => {\r\n return 'new globalData func'\r\n }\r\n\r\n this.newGlobalData.str = app.globalData.str\r\n this.newGlobalData.num = app.globalData.num\r\n this.newGlobalData.bool = app.globalData.bool\r\n this.newGlobalData.obj = app.globalData.obj\r\n this.newGlobalData.null = app.globalData.null\r\n this.newGlobalData.arr = app.globalData.arr\r\n app.globalData.mySet.forEach((value : string) => {\r\n this.newGlobalData.mySet.push(value)\r\n })\r\n app.globalData.myMap.forEach((value : any, key : string) => {\r\n this.newGlobalData.myMap[key] = value\r\n })\r\n this.newGlobalData.func = app.globalData.func\r\n this.newGlobalDataFuncRes = this.newGlobalData.func()\r\n },\r\n _increasetLifeCycleNum: function () {\r\n const app = getApp()\r\n app.vm!.increasetLifeCycleNum()\r\n this.lifeCycleNum = state.lifeCycleNum\r\n },\r\n // 自动化测试\r\n setLifeCycleNum(num : number) {\r\n setLifeCycleNum(num)\r\n },\r\n getAndroidApplication() : boolean {\r\n const app = getApp()\r\n this.androidApplication = app.getAndroidApplication()\r\n return this.androidApplication !== null\r\n }\r\n },\r\n }\r\n\n```\n\n:::"},"getCurrentPages":{"name":"## () => UniPage[\\] @getcurrentpages","description":"`getCurrentPages()` 函数用于获取当前页面栈的实例,以数组形式按栈的顺序给出,数组中的元素为页面实例,第一个元素为首页,最后一个元素为当前页面。","compatibility":"### getCurrentPages 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 3.9 | 4.11 | 4.31 |\n","param":"","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| Array\\<[UniPage](#unipage-values)\\> |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| route | string | 是 | - | | 页面的路由地址 |\n@| options | UTSJSONObject | 是 | - | | 页面的路由参数信息 |\n@| vm | ComponentPublicInstance | 否 | - | | UniPage vue 实例对象 |\n@| ~~$vm~~ | ComponentPublicInstance | 否 | - | | UniPage vue 实例对象 **已废弃,仅为了向下兼容保留** |\n#### UniPage 的方法 @unipage-values \n\n#### getPageStyle(): UTSJSONObject @getpagestyle\n获取当前页面样式。详细属性配置请参考PageStyle\n##### getPageStyle 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.31 | 4.31 | 4.31 | 4.31 |\n\n\n##### 返回值 \n\n| 类型 |\n| :- |\n| UTSJSONObject |\n \n\n#### setPageStyle(style: UTSJSONObject): void @setpagestyle\n设置当前页面样式。详细属性配置请参考PageStyle\n##### setPageStyle 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.31 | 4.31 | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| style | UTSJSONObject | 是 | - | - | - | \n\n\n#### getParentPage(): UniPage \\| null @getparentpage\n用于 dialogPage 获取所属父页面\n##### getParentPage 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.31 | 4.31 | 4.31 | 4.31 |\n\n\n##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniPage](#unipage-values) | 否 |\n \n\n#### getDialogPages(): UniPage[\\] @getdialogpages\n获取当前页面的 dialog 子页面集合\n##### getDialogPages 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.31 | 4.31 | 4.31 | 4.31 |\n\n\n##### 返回值 \n\n| 类型 |\n| :- |\n| Array\\<[UniPage](#unipage-values)\\> |\n \n\n#### getElementById(id: string.IDString \\| string): UniElement \\| null @getelementbyid\n返回一个匹配特定 ID 的元素, 如果不存在,返回 null。\\\n如果需要获取指定的节点类型,需要使用 as 进行类型转换。\\\nID 区分大小写,且应该是唯一的。如果存在多个匹配的元素,则返回第一个匹配的元素。\n\n##### getElementById 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.31 | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| id | [string.IDString](/uts/data-type.md#ide-string) \\\\| string | 是 | - | - | - | \n\n##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniElement](/dom/unielement.md) | 否 |\n \n\n#### getAndroidView(): View \\| null @getandroidview\n返回 android 平台页面根 view\n\n##### getAndroidView 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.31 | x |\n\n\n##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| View | 否 |\n \n\n#### getIOSView(): UIView \\| null @getiosview\n返回 ios 平台页面根 view\n\n##### getIOSView 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| x | x | x | 4.33 |\n\n\n##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| UIView | 否 |\n \n\n#### getHTMLElement(): UniElement \\| null @gethtmlelement\n返回页面 HTML Element 对象\n\n##### getHTMLElement 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.31 | x | x |\n\n\n##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniElement](/dom/unielement.md) | 否 |\n \n\n#### ~~$setPageStyle(style: UTSJSONObject): void~~ @$setpagestyle\n设置当前页面样式。详细属性配置请参考PageStyle **已废弃,仅为了向下兼容保留**\n##### $setPageStyle 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.13 | 4.13 | 4.13 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| style | UTSJSONObject | 是 | - | - | - | \n\n\n#### ~~$getPageStyle(): UTSJSONObject~~ @$getpagestyle\n获取当前页面样式。详细属性配置请参考PageStyle **已废弃,仅为了向下兼容保留**\n##### $getPageStyle 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.13 | 4.13 | 4.13 |\n\n\n##### 返回值 \n\n| 类型 |\n| :- |\n| UTSJSONObject |\n \n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.global.getCurrentPages)\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/tutorial/page.html#getcurrentpages)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getCurrentPages&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getCurrentPages&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getCurrentPages&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getCurrentPages&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getCurrentPages&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getCurrentPages)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getCurrentPages&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/get-current-pages/get-current-pages.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/get-current-pages/get-current-pages\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/get-current-pages/get-current-pages\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\r\n\n```\n\n>Script\n```uts\n\r\n import { PageStyleItem, PageStyleArray } from './page-style.uts';\r\n\r\n class Page {\r\n constructor(public route : string) {\r\n }\r\n }\r\n\r\n export default {\r\n data() {\r\n return {\r\n checked: false,\r\n pages: [] as Page[],\r\n PageStyleArray: PageStyleArray as PageStyleItem[],\r\n currentPageStyle: {} as UTSJSONObject,\r\n testing: false\r\n }\r\n },\r\n computed: {\r\n pageStyleText() : string {\r\n return JSON.stringify(this.currentPageStyle)\r\n }\r\n },\r\n onLoad(options : OnLoadOptions) {\r\n // #ifndef APP-ANDROID\r\n if (options instanceof UTSJSONObject) {\r\n this.checked = true\r\n }\r\n // #endif\r\n // #ifdef APP-ANDROID\r\n this.checked = true\r\n // #endif\r\n this.getPageStyle();\r\n },\r\n onPullDownRefresh() {\r\n setTimeout(() => {\r\n uni.stopPullDownRefresh()\r\n }, 2000)\r\n },\r\n methods: {\r\n startPullDownRefresh() {\r\n uni.startPullDownRefresh()\r\n },\r\n _getCurrentPages: function () {\r\n this.pages.length = 0\r\n const pages = getCurrentPages()\r\n this.pages.push(new Page(pages[0].route))\r\n if (this.checked && (this.pages[0].route.includes('/tabBar/') || this.pages[0].route == '/')) {\r\n this.checked = true\r\n }\r\n for (let i = 1; i < pages.length; i++) {\r\n this.pages.push(new Page(pages[i].route))\r\n if (pages[i].route.includes('/tabBar/')) {\r\n this.checked = false\r\n }\r\n }\r\n },\r\n /// get-set-page-style\r\n radioChange(key : string, e : RadioGroupChangeEvent) {\r\n this.setStyleValue(key, e.detail.value);\r\n },\r\n sliderChange(key : string, e : UniSliderChangeEvent) {\r\n this.setStyleValue(key, e.detail.value);\r\n },\r\n switchChange(key : string, e : UniSwitchChangeEvent) {\r\n this.setStyleValue(key, e.detail.value);\r\n },\r\n setStyleValue(key : string, value : any) {\r\n const style = {}\r\n style[key] = value\r\n this.setPageStyle(style)\r\n this.getPageStyle()\r\n },\r\n getPageStyle() : UTSJSONObject {\r\n const pages = getCurrentPages();\r\n const currentPage = pages[pages.length - 1];\r\n this.currentPageStyle = currentPage.getPageStyle()\r\n return this.currentPageStyle;\r\n },\r\n setPageStyle(style : UTSJSONObject) {\r\n console.log('setPageStyle:', style);\r\n const pages = getCurrentPages();\r\n const currentPage = pages[pages.length - 1];\r\n currentPage.setPageStyle(style);\r\n },\r\n goSetDisablePullDownRefresh() {\r\n uni.navigateTo({\r\n url: '/pages/API/get-current-pages/set-page-style-disable-pull-down-refresh'\r\n });\r\n },\r\n getCurrentPage() : UniPage {\r\n const pages = getCurrentPages()\r\n return pages[pages.length - 1]\r\n },\r\n check$page() : boolean {\r\n const page = this.getCurrentPage()\r\n let res = this.$page === page\r\n if (this.testing && res) {\r\n res = page.options['test'] == '123'\r\n if (res) {\r\n // #ifdef WEB\r\n res = page.route == '/pages/API/get-current-pages/get-current-pages'\r\n // #endif\r\n // #ifndef WEB\r\n res = page.route == 'pages/API/get-current-pages/get-current-pages'\r\n // #endif\r\n }\r\n }\r\n console.log('check $page', res)\r\n uni.showToast(res ? { title: 'check success' } : { title: 'check fail', icon: 'error' })\r\n return res\r\n },\r\n checkGetParentPage() : boolean {\r\n const page = this.getCurrentPage()\r\n const parentPage = page.getParentPage()\r\n const res = parentPage == null\r\n console.log('check getParentPage', res)\r\n uni.showToast(res ? { title: 'check success' } : { title: 'check fail', icon: 'error' })\r\n return res\r\n },\r\n checkGetDialogPages() : boolean {\r\n const page = this.getCurrentPage()\r\n const dialogPages = page.getDialogPages()\r\n const res = Array.isArray(dialogPages) && dialogPages.length == 0\r\n uni.showToast(res ? { title: 'check success' } : { title: 'check fail', icon: 'error' })\r\n console.log('check getDialogPages', res)\r\n return res\r\n },\r\n checkGetElementById() : boolean {\r\n const page = this.getCurrentPage()\r\n const element = page.getElementById('check-get-element-by-id-btn')\r\n let res = element != null\r\n // #ifndef APP-ANDROID\r\n if (res) {\r\n const elPage = element!.getPage()\r\n console.log('elPage', elPage)\r\n res = elPage === page\r\n }\r\n // #endif\r\n console.log('check getElementById', res)\r\n uni.showToast(res ? { title: 'check success' } : { title: 'check fail', icon: 'error' })\r\n return res\r\n },\r\n checkGetAndroidView() : boolean {\r\n const page = this.getCurrentPage()\r\n const androidView = page.getAndroidView()\r\n const res = androidView != null\r\n console.log('check getAndroidView', res)\r\n uni.showToast(res ? { title: 'check success' } : { title: 'check fail', icon: 'error' })\r\n return res\r\n },\r\n },\r\n }\r\n\n```\n\n:::"},"env":{"name":"## env","description":"环境变量","param":"### env 的属性值 @env-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| USER_DATA_PATH | string | 是 | - | | 应用专属存储空间的外置存储空间根目录下的files目录 |\n| CACHE_PATH | string | 是 | - | | 应用专属存储空间的外置存储空间根目录下的cache目录 |\n| SANDBOX_PATH | string | 是 | - | | 应用专属存储空间的外置存储空间根目录(caches/files) |\n| ANDROID_INTERNAL_SANDBOX_PATH | string | 是 | - | | 应用专属存储空间的内置存储空间根目录 |\n","compatibility":"","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.base.env)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=env&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=env&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=env&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=env&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=env&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=env)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=env&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/env/env.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/env/env\n```uvue\n\r\n\r\n\r\n\r\n\n\n```\n:::"},"$on":{"name":"## uni.$on(eventName, callback) @$on","description":"监听自定义事件。事件可以由 uni.$emit 触发。回调函数会接收 uni.$emit 传递的参数。\n4.31+ 开始支持返回事件监听器 id, 用于 off 事件监听器。\n","compatibility":"### $on 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 3.91 | 4.11 | 4.31 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| eventName | string | 是 | - | - | 事件名称 |\n| callback | () => void | 是 | - | - | 事件回调 | \n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| number |\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.base.eventBus.$on)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/window/communication.html#on)"},"$once":{"name":"## uni.$once(eventName, callback) @$once","description":"监听一个自定义事件。事件只触发一次,在第一次触发之后移除事件监听器。\n4.31+ 开始支持返回事件监听器 id, 用于 off 事件监听器。\n","compatibility":"### $once 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 3.91 | 4.11 | 4.31 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| eventName | string | 是 | - | - | 事件名称 |\n| callback | () => void | 是 | - | - | 事件回调 | \n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| number |\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.base.eventBus.$once)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/window/communication.html#once)"},"$off":{"name":"## uni.$off(eventName, callback?) @$off","description":"移除自定义事件监听器。如果提供了事件名和回调,则只移除这个回调的监听器。\n4.13+ 开始支持第二个参数为可选,如果仅提供事件名,则移除该事件的所有监听器。\n4.31+ 开始第二个参数的类型由 `Function | null` 调整为 `any | null`, 支持传入 `uni.$on`、`uni.$once` 返回的事件监听器 id, 移除指定事件监听器。","compatibility":"### $off 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 3.91 | 4.11 | 4.31 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| eventName | string | 是 | - | - | 事件名称 |\n| callback | any | 否 | - | - | 要移除的事件回调或事件监听器 id | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.base.eventBus.$off)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/window/communication.html#off)"},"$emit":{"name":"## uni.$emit(eventName, args?) @$emit","description":"触发自定义事件,附加的参数会传递给事件监听器。\n","compatibility":"### $emit 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 3.91 | 4.11 | 4.31 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| eventName | string | 是 | - | - | 事件名称 |\n| args | Array\\ | 否 | - | - | 触发事件时传递的参数 | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.base.eventBus.$emit)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/window/communication.html#emit)"},"eventBus":{"example":"## 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/event-bus/event-bus.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/event-bus/event-bus\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/event-bus/event-bus\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\r\n\n```\n\n>Script\n```uts\n\r\nexport default {\r\n data() {\r\n return {\r\n log: [] as string[],\r\n objArg: {},\r\n }\r\n },\r\n methods: {\r\n fn(res : string) {\r\n this.log.push(res)\r\n },\r\n fn2(res : string) {\r\n this.log.push(res)\r\n },\r\n on() {\r\n uni.$on('test', this.fn)\r\n },\r\n on2() {\r\n uni.$on('test', this.fn2)\r\n },\r\n onObj() {\r\n uni.$on('test-obj', (res : UTSJSONObject) => {\r\n this.objArg = res\r\n })\r\n },\r\n once() {\r\n uni.$once('test', this.fn)\r\n },\r\n off() {\r\n uni.$off('test', this.fn)\r\n },\r\n offAll() {\r\n uni.$off('test')\r\n },\r\n emit() {\r\n uni.$emit('test', 'msg:' + Date.now())\r\n },\r\n emitWithObj() {\r\n uni.$emit('test-obj', { a: 1, b: 2 })\r\n },\r\n clear() {\r\n this.log.length = 0\r\n },\r\n testReturnId(){\r\n const id1 = uni.$on('test-return-id', this.fn)\r\n uni.$emit('test-return-id', '触发 test-return-id $on fn')\r\n uni.$off('test-return-id', id1)\r\n uni.$emit('test-return-id', '触发 test-return-id $on fn')\r\n\r\n uni.$once('test-return-id', this.fn)\r\n uni.$emit('test-return-id', '触发 test-return-id $once fn')\r\n uni.$emit('test-return-id', '触发 test-return-id $once fn')\r\n const id2 = uni.$once('test-id', this.fn)\r\n uni.$off('test-return-id', id2)\r\n uni.$emit('test-return-id', '触发 test-return-id $once fn')\r\n },\r\n testEmitNoArgs() {\r\n uni.$on('test-emit-no-args', () => {\r\n this.log.push('test-emit-no-args')\r\n })\r\n uni.$emit('test-emit-no-args')\r\n uni.$off('test-emit-no-args')\r\n },\r\n testEmitMultipleArgs() {\r\n uni.$on('test-emit-multiple-args', (arg1 : string, arg2 : number) => {\r\n this.log.push(`${arg1}_${arg2}`)\r\n })\r\n uni.$emit('test-emit-multiple-args', 'arg1', 2)\r\n uni.$off('test-emit-multiple-args')\r\n }\r\n },\r\n}\r\n\n```\n\n:::"},"base64ToArrayBuffer":{"name":"## uni.base64ToArrayBuffer(base64) @base64toarraybuffer","description":"将 Base64 字符串转成 ArrayBuffer 对象\n","compatibility":"### base64ToArrayBuffer 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| base64 | string | 是 | - | - | - | \n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| ArrayBuffer |\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.base.base64.base64ToArrayBuffer)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/base64ToArrayBuffer.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=base64ToArrayBuffer&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=base64ToArrayBuffer&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=base64ToArrayBuffer&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=base64ToArrayBuffer&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=base64ToArrayBuffer&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=base64ToArrayBuffer)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=base64ToArrayBuffer&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"arrayBufferToBase64":{"name":"## uni.arrayBufferToBase64(arrayBuffer) @arraybuffertobase64","description":"将 ArrayBuffer 对象转成 Base64 字符串\n","compatibility":"### arrayBufferToBase64 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| arrayBuffer | ArrayBuffer | 是 | - | - | - | \n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| string |\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.base.base64.arrayBufferToBase64)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/arrayBufferToBase64.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=arrayBufferToBase64&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=arrayBufferToBase64&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=arrayBufferToBase64&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=arrayBufferToBase64&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=arrayBufferToBase64&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=arrayBufferToBase64)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=arrayBufferToBase64&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"addInterceptor":{"name":"## uni.addInterceptor(name, interceptor) @addinterceptor","description":"添加拦截器","compatibility":"### addInterceptor 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.97 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| name | string | 是 | - | - | 需要拦截的 API 名称 |\n| interceptor | Interceptor | 是 | - | - | 拦截器 | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.base.interceptor.addInterceptor)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/interceptor.html)"},"removeInterceptor":{"name":"## uni.removeInterceptor(name, interceptor?) @removeinterceptor","description":"删除拦截器","compatibility":"### removeInterceptor 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.97 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| name | string | 是 | - | - | 需要删除拦截器的 API 名称 |\n| interceptor | Interceptor | 否 | - | - | 拦截器 | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.base.interceptor.removeInterceptor)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/interceptor.html#removeinterceptor)"},"interceptor":{"example":"## 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/interceptor/interceptor.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/interceptor/interceptor\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/interceptor/interceptor\n\n>Template\n```vue\n\r\n\r\n\r\n\n```\n\n>Script\n```uts\n\r\n const navigateToInterceptor = {\r\n invoke: function (options : NavigateToOptions) {\r\n console.log('拦截 navigateTo 接口传入参数为:', options)\r\n const url = './page2'\r\n uni.showToast({\r\n title: `重定向到页面:${url}`\r\n })\r\n options.url = url\r\n },\r\n success: function (res : NavigateToSuccess) {\r\n console.log('拦截 navigateTo 接口 success 返回参数为:', res)\r\n },\r\n fail: function (err : NavigateToFail) {\r\n console.log('拦截 navigateTo 接口 fail 返回参数为:', err)\r\n },\r\n complete: function (res : NavigateToComplete) {\r\n console.log('拦截 navigateTo 接口 complete 返回参数为:', res)\r\n }\r\n } as AddInterceptorOptions\r\n\r\n const switchTabInterceptor = {\r\n invoke: function (options : SwitchTabOptions) {\r\n console.log('拦截 switchTab 接口传入参数为:', options)\r\n options.url = '/pages/tabBar/API'\r\n },\r\n success: function (res : SwitchTabSuccess) {\r\n console.log('拦截 switchTab 接口 success 返回参数为:', res)\r\n },\r\n fail: function (err : SwitchTabFail) {\r\n console.log('拦截 switchTab 接口 fail 返回参数为:', err)\r\n },\r\n complete: function (res : SwitchTabComplete) {\r\n console.log('拦截 switchTab 接口 complete 返回参数为:', res)\r\n }\r\n } as AddInterceptorOptions\r\n\r\n export default {\r\n data() {\r\n return {\r\n msg: \"会跳转到测试页面1\"\r\n }\r\n },\r\n beforeUnmount() {\r\n // 移除 navigateTo 所有拦截器\r\n uni.removeInterceptor('navigateTo')\r\n uni.removeInterceptor('switchTab')\r\n },\r\n methods: {\r\n addInterceptor() {\r\n uni.addInterceptor('navigateTo', navigateToInterceptor)\r\n uni.showToast({\r\n title: '页面跳转/切换tabbar已拦截'\r\n })\r\n this.msg = \",路由被劫持到测试页面2\"\r\n },\r\n removeInterceptor() {\r\n uni.removeInterceptor('navigateTo', navigateToInterceptor)\r\n uni.showToast({\r\n title: '拦截器已移除'\r\n })\r\n this.msg = \"会跳转到测试页面1\"\r\n },\r\n addSwitchTabInterceptor() {\r\n uni.addInterceptor('switchTab', switchTabInterceptor)\r\n },\r\n removeSwitchTabInterceptor() {\r\n uni.removeInterceptor('switchTab', switchTabInterceptor)\r\n },\r\n navigateTo() {\r\n uni.navigateTo({\r\n url: './page1',\r\n success(res) {\r\n console.log('res:', res)\r\n },\r\n fail(err) {\r\n console.error('err:', err)\r\n },\r\n complete(res) {\r\n console.log('res:', res)\r\n }\r\n })\r\n },\r\n switchTab() {\r\n uni.switchTab({\r\n url: '/pages/tabBar/component',\r\n success(res) {\r\n console.log('res:', res)\r\n },\r\n fail(err) {\r\n console.error('err:', err)\r\n },\r\n complete(res) {\r\n console.log('res:', res)\r\n }\r\n })\r\n }\r\n }\r\n }\r\n\n```\n\n:::"},"getLaunchOptionsSync":{"name":"## uni.getLaunchOptionsSync() @getlaunchoptionssync","description":"获取首次启动时的参数。返回值与App.onLaunch的回调参数一致\n","compatibility":"### getLaunchOptionsSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.91 | 4.11 |\n","param":"","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| **OnLaunchOptions** |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| path | string | 是 | - | | 首次启动时的页面路径。返回值与App.onLaunch的回调参数一致
|\n@| appScheme | string | 否 | - | | 首次启动时的Scheme。返回值与App.onLaunch的回调参数一致
|\n@| appLink | string | 否 | - | | 首次启动时的appLink。返回值与App.onLaunch的回调参数一致
| \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.base.launch.getLaunchOptionsSync)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/getLaunchOptionsSync.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getLaunchOptionsSync&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getLaunchOptionsSync&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getLaunchOptionsSync&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getLaunchOptionsSync&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getLaunchOptionsSync&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getLaunchOptionsSync)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getLaunchOptionsSync&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/get-launch-options-sync/get-launch-options-sync.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/get-launch-options-sync/get-launch-options-sync\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/get-launch-options-sync/get-launch-options-sync\n\n>Template\n```vue\n\n\n\n\n```\n\n>Script\n```uts\n\n export default {\n data() {\n return {\n checked: false,\n homePagePath: 'pages/tabBar/component',\n launchOptionsPath: '',\n launchOptionsString: '',\n testResult: false\n }\n },\n onReady() {\n this.compareOnLaunchRes()\n },\n methods: {\n compareOnLaunchRes() {\n const launchOptions = uni.getLaunchOptionsSync();\n this.launchOptionsString = JSON.stringify(launchOptions, null, 2)\n\n const app = getApp()\n const appOnLaunch = app.globalData.launchOptions\n\n const isPathSame = launchOptions.path == appOnLaunch.path\n const isAppSchemeSame = launchOptions.appScheme == appOnLaunch.appScheme\n const isAppLinkSame = launchOptions.appLink == appOnLaunch.appLink\n this.testResult = isPathSame && isAppSchemeSame && isAppLinkSame\n },\n\n getLaunchOptionsSync() {\n const launchOptions = uni.getLaunchOptionsSync()\n this.launchOptionsPath = launchOptions.path\n if (launchOptions.path == this.homePagePath) {\n this.checked = true\n }\n },\n },\n }\n\n```\n\n:::"},"getEnterOptionsSync":{"name":"## uni.getEnterOptionsSync() @getenteroptionssync","description":"获取本次启动时的参数。返回值与App.onShow的回调参数一致\n","compatibility":"### getEnterOptionsSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.25 | 4.25 |\n","param":"","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| **OnShowOptions** |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| path | string | 是 | - | | 本次启动时页面的路径
|\n@| appScheme | string | 否 | - | | 本次启动时的Scheme。返回值与App.onShow的回调参数一致
|\n@| appLink | string | 否 | - | | 本次启动时的appLink。返回值与App.onShow的回调参数一致
| \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.base.launch.getEnterOptionsSync)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getEnterOptionsSync&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getEnterOptionsSync&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getEnterOptionsSync&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getEnterOptionsSync&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getEnterOptionsSync&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getEnterOptionsSync)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getEnterOptionsSync&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/get-enter-options-sync/get-enter-options-sync.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/get-enter-options-sync/get-enter-options-sync\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/get-enter-options-sync/get-enter-options-sync\n\n>Template\n```vue\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n enterOptionsString: '',\r\n testResult: false\r\n }\r\n },\r\n onReady() {\r\n const app = getApp()\r\n const appOnShow = app.globalData.onShowOption\r\n const onShowOption = uni.getEnterOptionsSync()\r\n this.enterOptionsString = JSON.stringify(onShowOption, null, 2)\r\n this.testResult = (onShowOption.path == appOnShow.path && onShowOption.appScheme == appOnShow.appScheme && onShowOption.appLink == appOnShow.appLink)\r\n }\r\n }\r\n\n```\n\n:::"},"exit":{"name":"## uni.exit(options?) @exit","description":"退出当前应用","compatibility":"### exit 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| x | 3.91 | 3.91 | 4.33 | 4.33 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **ExitOptions** | 否 | - | - | uni.exit参数定义 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (res: [ExitSuccess](#exitsuccess-values)) => void | 否 | - | - | uni.exit成功回调函数定义 |\n@| fail | (res: [IExitError](#iexiterror-values)) => void | 否 | - | - | uni.exit失败回调函数定义 |\n@| complete | (res: any) => void | 否 | - | - | uni.exit完成回调函数定义 | \n\n#### ExitSuccess 的属性值 @exitsuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n\n#### IExitError 的属性值 @iexiterror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 12001 | - | 系统不支持 |\n@| 12002 | - | 未知错误 |\n@| 12003 | - | iOS平台,仅在uni-app x SDK模式中支持应用退出 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.base.exit)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=exit&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=exit&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=exit&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=exit&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=exit&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=exit)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=exit&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/exit/exit.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/exit/exit\n```uvue\n\r\n\r\n\r\n\r\n\n\n```\n:::"},"getProviderSync":{"name":"## uni.getProviderSync(options) @getprovidersync","description":"getProvider的同步方法","compatibility":"### getProviderSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.25 | 4.25 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **GetProviderSyncOptions** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| service | string | 是 | - | | 服务类型
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| payment | | 支付 (alipay、wxpay) |\n@@| location | | 定位 (system、tencent) |\n@@| oauth | | 授权登录 | \n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| **GetProviderSyncSuccess** |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| service | string | 是 | - | | 服务类型
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| payment | | 支付 (alipay、wxpay) |\n@@| location | | 定位 (system、tencent) |\n@@| oauth | | 授权登录 |\n@| providerIds | Array\\ | 是 | - | | 得到的服务供应商 |\n@| providerObjects | Array\\<[UniProvider](/api/provider.md#uniprovider)\\> | 是 | - | | 得到的服务供应商服务对象 | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.base.getProvider)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/plugins/provider.html#getprovider)"},"getProvider":{"name":"## uni.~~getProvider(options)~~ @getprovider","description":"获取服务供应商 **已废弃,4.25及以后版本请使用getProviderSync()方法代替**","compatibility":"### getProvider 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.11 | 4.18 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **GetProviderOptions** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| service | string | 是 | - | | 服务类型:支付 (payment)
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| payment | | 支付 (alipay、wxpay) |\n@@| oauth | | 授权登录 |\n@| success | (result: [GetProviderSuccess](#getprovidersuccess-values)) => void | 否 | - | | 接口调用成功的回调 |\n@| fail | (result: [IGetProviderFail](#igetproviderfail-values)) => void | 否 | - | | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | - | | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### GetProviderSuccess 的属性值 @getprovidersuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| service | string | 是 | - | | 服务类型:支付 (payment)
|\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| payment | | 支付 (alipay、wxpay) |\n@| oauth | | 授权登录 |\n| provider | Array\\ | 是 | - | | 得到的服务供应商 |\n| providers | Array\\<[UniProvider](/api/provider.md#uniprovider)\\> | 是 | - | | 得到的服务供应商服务对象 |\n\n#### IGetProviderFail 的属性值 @igetproviderfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码:
110600:服务类型参数无效。 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.base.getProviderSync)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/plugins/provider.html#getprovider)"},"provider":{"example":"## 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/provider/provider.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/provider/provider\n```uvue\n\r\n\r\n\r\n\r\n\n\n```\n:::"},"getPerformance":{"name":"## uni.getPerformance() @getperformance","description":"返回一个Performance对象实例\n","compatibility":"### getPerformance 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.91 | 4.25 |\n","param":"","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| [Performance](#performance-values) |\n\n#### Performance 的方法 @performance-values \n\n#### createObserver(callback: PerformanceObserverCallback): PerformanceObserver @createobserver\n创建全局性能事件监听器\n##### createObserver 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (entries: [PerformanceObserverEntryList](#performanceobserverentrylist-values)) => void | 是 | - | - | - | \n\n##### PerformanceObserverEntryList 的方法 @performanceobserverentrylist-values \n\n##### getEntries(): PerformanceEntry[\\] @getentries\n该方法返回当前列表中的所有性能数据\n###### getEntries 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n\n###### 返回值 \n\n| 类型 |\n| :- |\n| Array\\<**PerformanceEntry**\\> |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| entryType | string | 是 | - | - | 指标类型 |\n@| name | string | 是 | - | - | 指标名称 |\n@| duration | number | 是 | - | - | 耗时 ms。仅对于表示阶段的指标有效。 |\n@| startTime | number | 是 | - | - | 开始时间,不同指标的具体含义会有差异。 |\n@| path | string | 否 | - | - | 页面路径。仅 render 和 navigation 类型指标有效。 |\n@| referrerPath | string | 否 | - | - | 页面跳转来源页面路径。仅 route 指标有效。 |\n@| pageId | number | 否 | - | - | path 对应页面实例 Id(随机生成,不保证递增)。仅 render/navigation 指标有效。 |\n@| referrerPageId | number | 否 | - | - | referrerPath对应页面实例 Id(随机生成,不保证递增)。仅 route 指标有效。 |\n@| navigationStart | number | 否 | - | - | 路由真正响应开始时间。仅 navigation 类型指标有效。 |\n@| navigationType | string | 否 | - | - | 路由详细类型,与路由方法对应。仅 navigation 类型指标有效。 |\n@| initDataRecvTime | number | 否 | - | - | 首次渲染参数在渲染层收到的时间。仅 firstRender 指标有效。 |\n@| viewLayerRenderEndTime | number | 否 | - | - | 渲染层执行渲染结束时间。仅 firstRender 指标有效。 | \n\n##### getEntriesByType(entryType: string): PerformanceEntry[\\] @getentriesbytype\n获取当前列表中所有类型为 \\[entryType]的性能数据\n###### getEntriesByType 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| entryType | string | 是 | - | - | - | \n\n###### 返回值 \n\n| 类型 |\n| :- |\n| Array\\<[PerformanceEntry](#performanceentry-values)\\> |\n \n\n##### getEntriesByName(name: string, entryType: string): PerformanceEntry[\\] @getentriesbyname\n获取当前列表中所有名称为 \\[name] 且类型为 [entryType]的性能数据\n###### getEntriesByName 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| name | string | 是 | - | - | - |\n| entryType | string | 是 | - | - | - | \n\n###### 返回值 \n\n| 类型 |\n| :- |\n| Array\\<[PerformanceEntry](#performanceentry-values)\\> |\n \n\n##### 返回值 \n\n| 类型 |\n| :- |\n| [PerformanceObserver](#performanceobserver-values) |\n\n###### PerformanceObserver 的方法 @performanceobserver-values \n\n###### observe(options: PerformanceObserverOptions): void @observe\n开始监听\n###### observe 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **PerformanceObserverOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| buffered | boolean | 否 | - | - | - |\n@| entryTypes | Array\\ | 否 | - | - | - |\n@| type | string | 否 | - | - | - | \n\n\n###### disconnect(): void @disconnect\n停止监听\n###### disconnect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n\n \n\n#### getEntries(): PerformanceEntry[\\] @getentries\n该方法返回当前缓冲区中的所有性能数据\n##### getEntries 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n\n##### 返回值 \n\n| 类型 |\n| :- |\n| Array\\<[PerformanceEntry](#performanceentry-values)\\> |\n \n\n#### getEntriesByType(entryType: string): PerformanceEntry[\\] @getentriesbytype\n获取当前缓冲区中所有类型为 \\[entryType]的性能数据\n##### getEntriesByType 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| entryType | string | 是 | - | - | - | \n\n##### 返回值 \n\n| 类型 |\n| :- |\n| Array\\<[PerformanceEntry](#performanceentry-values)\\> |\n \n\n#### getEntriesByName(name: string, entryType: string): PerformanceEntry[\\] @getentriesbyname\n获取当前缓冲区中所有名称为 \\[name] 且类型为 [entryType]的性能数据\n##### getEntriesByName 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| name | string | 是 | - | - | - |\n| entryType | string | 是 | - | - | - | \n\n##### 返回值 \n\n| 类型 |\n| :- |\n| Array\\<[PerformanceEntry](#performanceentry-values)\\> |\n \n\n#### setBufferSize(size: number): void @setbuffersize\n设置缓冲区大小,默认缓冲 30 条性能数据\n##### setBufferSize 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| size | number | 是 | - | - | - | \n\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.base.get-performance)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getPerformance&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getPerformance&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getPerformance&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getPerformance&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getPerformance&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getPerformance)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getPerformance&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"getPrivacySetting":{"name":"## uni.getPrivacySetting(options) @getprivacysetting","description":"获取隐私协议状态","compatibility":"### getPrivacySetting 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.31 | 4.31 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **GetPrivacySettingOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (result: [GetPrivacySettingSuccessResult](#getprivacysettingsuccessresult-values)) => void | 否 | null | | 接口调用成功的回调函数 |\n@| fail | (result: any) => void | 否 | null | | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### GetPrivacySettingSuccessResult 的属性值 @getprivacysettingsuccessresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| needAuthorization | boolean | 是 | - | | 是否需要用户授权隐私协议(用户之前同意过返回false,没同意过则返回true) |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.base.privacy.getPrivacySetting)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getPrivacySetting&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getPrivacySetting&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getPrivacySetting&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getPrivacySetting&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getPrivacySetting&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getPrivacySetting)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getPrivacySetting&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"resetPrivacyAuthorization":{"name":"## uni.resetPrivacyAuthorization() @resetprivacyauthorization","description":"重置隐私协议状态为未同意","compatibility":"### resetPrivacyAuthorization 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.31 | 4.31 |\n","param":"","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.base.privacy.resetPrivacyAuthorization)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=resetPrivacyAuthorization&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=resetPrivacyAuthorization&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=resetPrivacyAuthorization&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=resetPrivacyAuthorization&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=resetPrivacyAuthorization&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=resetPrivacyAuthorization)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=resetPrivacyAuthorization&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"onPrivacyAuthorizationChange":{"name":"## uni.onPrivacyAuthorizationChange(callback) @onprivacyauthorizationchange","description":"开启监听隐私协议状态改变","compatibility":"### onPrivacyAuthorizationChange 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.31 | 4.31 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (res: [PrivacyChangeResult](#privacychangeresult-values)) => void | 是 | - | - | - | \n\n### PrivacyChangeResult 的属性值 @privacychangeresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| needAuthorization | boolean | 是 | - | | 是否需要用户授权隐私协议(用户之前同意过返回false,没同意过则返回true) |\n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| number |\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.base.privacy.onPrivacyAuthorizationChange)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=onPrivacyAuthorizationChange&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=onPrivacyAuthorizationChange&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=onPrivacyAuthorizationChange&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=onPrivacyAuthorizationChange&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=onPrivacyAuthorizationChange&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=onPrivacyAuthorizationChange)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=onPrivacyAuthorizationChange&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"offPrivacyAuthorizationChange":{"name":"## uni.offPrivacyAuthorizationChange(id) @offprivacyauthorizationchange","description":"取消监听隐私协议状态改变","compatibility":"### offPrivacyAuthorizationChange 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.31 | 4.31 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| id | number | 是 | - | - | 开启监听隐私协议状态改变返回的id | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.base.privacy.offPrivacyAuthorizationChange)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=offPrivacyAuthorizationChange&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=offPrivacyAuthorizationChange&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=offPrivacyAuthorizationChange&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=offPrivacyAuthorizationChange&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=offPrivacyAuthorizationChange&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=offPrivacyAuthorizationChange)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=offPrivacyAuthorizationChange&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"privacy":{"example":"## 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/privacy/privacy.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/privacy/privacy\n```uvue\n\n\n\n\n\n\n```\n:::"},"navigateTo":{"name":"## uni.navigateTo(options) @navigateto","description":"保留当前页面,跳转到应用内的某个页面\n","compatibility":"### navigateTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | √ | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **NavigateToOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| url | string ([string.PageURIString](/uts/data-type.md#ide-string)) | 是 | - | | 需要跳转的应用内非 tabBar 的页面的路径 , 路径后可以带参数 |\n@| animationType | string | 否 | - | | 窗口显示的动画类型
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| auto | | 自动选择动画效果 |\n@@| none | | 无动画效果 |\n@@| slide-in-right | | 从右侧横向滑动效果 |\n@@| slide-in-left | | 从左侧横向滑动效果 |\n@@| slide-in-top | | 从上侧竖向滑动效果 |\n@@| slide-in-bottom | | 从下侧竖向滑动效果 |\n@@| fade-in | | 从完全透明到不透明逐渐显示 |\n@@| zoom-out | | 在屏幕中间从小到大逐渐放大显示 |\n@@| zoom-fade-out | | 从大逐渐缩小并且从不透明到透明逐渐隐藏关闭动画 |\n@@| pop-in | | 从右侧平移出栈动画效果 |\n@| events | any | 否 | - | | 页面间通信接口,用于监听被打开页面发送到当前页面的数据 |\n@| success | (result: [AsyncApiSuccessResult](#asyncapisuccessresult-values)) => void | 否 | - | | 接口调用成功的回调函数 |\n@| fail | (result: [NavigateToFail](#navigatetofail-values)) => void | 否 | - | | 接口调用失败的回调函数 |\n@| complete | (result: [AsyncApiResult](#asyncapiresult-values)) => void | 否 | - | | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### AsyncApiSuccessResult 的属性值 @asyncapisuccessresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n\n#### NavigateToFail 的属性值 @navigatetofail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 路由错误码
- 4: 框架内部异常 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n#### AsyncApiResult 的属性值 @asyncapiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Promise\\<**AsyncApiSuccessResult**> | 否 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| errMsg | string | 是 | - | - | - | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.page.navigator.navigateTo)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/router.html#navigateto)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=navigateTo&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=navigateTo&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=navigateTo&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=navigateTo&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=navigateTo&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=navigateTo)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=navigateTo&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"reLaunch":{"name":"## uni.reLaunch(options) @relaunch","description":"关闭所有页面,打开到应用内的某个页面\n","compatibility":"### reLaunch 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | √ | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **ReLaunchOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| url | string ([string.PageURIString](/uts/data-type.md#ide-string)) | 是 | - | | 需要跳转的应用内页面路径 , 路径后可以带参数。参数与路径之间使用?分隔,参数键与参数值用=相连,不同参数用&分隔;如 'path?key=value&key2=value2',如果跳转的页面路径是 tabBar 页面则不能带参数 |\n@| success | (result: [AsyncApiSuccessResult](#asyncapisuccessresult-values)) => void | 否 | - | | 接口调用成功的回调函数 |\n@| fail | (result: [ReLaunchFail](#relaunchfail-values)) => void | 否 | - | | 接口调用失败的回调函数 |\n@| complete | (result: [AsyncApiResult](#asyncapiresult-values)) => void | 否 | - | | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### ReLaunchFail 的属性值 @relaunchfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 路由错误码
- 4: 框架内部异常 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n#### AsyncApiResult 的属性值 @asyncapiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Promise\\<**AsyncApiSuccessResult**> | 否 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| errMsg | string | 是 | - | - | - | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.page.navigator.reLaunch)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/router.html#relaunch)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=reLaunch&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=reLaunch&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=reLaunch&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=reLaunch&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=reLaunch&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=reLaunch)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=reLaunch&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"navigateBack":{"name":"## uni.navigateBack(options?) @navigateback","description":"关闭当前页面,返回上一页面或多级页面\n","compatibility":"### navigateBack 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | √ | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **NavigateBackOptions** | 否 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| delta | number | 否 | - | | 返回的页面数,如果 delta 大于现有页面数,则返回到首页 |\n@| animationType | string | 否 | - | | 窗口关闭的动画类型
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| auto | | 自动选择动画效果 |\n@@| none | | 无动画效果 |\n@@| slide-out-right | | 横向向右侧滑出屏幕动画 |\n@@| slide-out-left | | 横向向左侧滑出屏幕动画 |\n@@| slide-out-top | | 竖向向上侧滑出屏幕动画 |\n@@| slide-out-bottom | | 竖向向下侧滑出屏幕动画 |\n@@| fade-out | | 从不透明到透明逐渐隐藏动画 |\n@@| zoom-in | | 从大逐渐缩小关闭动画 |\n@@| zoom-fade-in | | 从大逐渐缩小并且从不透明到透明逐渐隐藏关闭动画 |\n@@| pop-out | | 从右侧平移出栈动画效果 |\n@| animationDuration | number | 否 | - | | 窗口关闭动画的持续时间,单位为 ms |\n@| success | (result: [AsyncApiSuccessResult](#asyncapisuccessresult-values)) => void | 否 | - | | 接口调用成功的回调函数 |\n@| fail | (result: [NavigateBackFail](#navigatebackfail-values)) => void | 否 | - | | 接口调用失败的回调函数 |\n@| complete | (result: [AsyncApiResult](#asyncapiresult-values)) => void | 否 | - | | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### NavigateBackFail 的属性值 @navigatebackfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 路由错误码
- 4: 框架内部异常 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n#### AsyncApiResult 的属性值 @asyncapiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Promise\\<**AsyncApiSuccessResult**> | 否 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| errMsg | string | 是 | - | - | - | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.page.navigator.navigateBack)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/router.html#navigateback)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=navigateBack&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=navigateBack&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=navigateBack&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=navigateBack&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=navigateBack&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=navigateBack)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=navigateBack&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"redirectTo":{"name":"## uni.redirectTo(options) @redirectto","description":"关闭当前页面,跳转到应用内的某个页面\n","compatibility":"### redirectTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | √ | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **RedirectToOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| url | string ([string.PageURIString](/uts/data-type.md#ide-string)) | 是 | - | | 需要跳转的应用内非 tabBar 的页面的路径 , 路径后可以带参数 |\n@| success | (result: [AsyncApiSuccessResult](#asyncapisuccessresult-values)) => void | 否 | - | | 接口调用成功的回调函数 |\n@| fail | (result: [RedirectToFail](#redirecttofail-values)) => void | 否 | - | | 接口调用失败的回调函数 |\n@| complete | (result: [AsyncApiResult](#asyncapiresult-values)) => void | 否 | - | | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### RedirectToFail 的属性值 @redirecttofail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 路由错误码
- 4: 框架内部异常 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n#### AsyncApiResult 的属性值 @asyncapiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Promise\\<**AsyncApiSuccessResult**> | 否 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| errMsg | string | 是 | - | - | - | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.page.navigator.redirectTo)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/router.html#redirectto)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=redirectTo&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=redirectTo&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=redirectTo&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=redirectTo&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=redirectTo&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=redirectTo)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=redirectTo&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"switchTab":{"name":"## uni.switchTab(options) @switchtab","description":"跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面\n","compatibility":"### switchTab 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | √ | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **SwitchTabOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| url | string ([string.PageURIString](/uts/data-type.md#ide-string)) | 是 | - | | 需要跳转的 tabBar 页面的路径,路径后不能带参数 |\n@| success | (result: [AsyncApiSuccessResult](#asyncapisuccessresult-values)) => void | 否 | - | | 接口调用成功的回调函数 |\n@| fail | (result: [SwitchTabFail](#switchtabfail-values)) => void | 否 | - | | 接口调用失败的回调函数 |\n@| complete | (result: [AsyncApiResult](#asyncapiresult-values)) => void | 否 | - | | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### SwitchTabFail 的属性值 @switchtabfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 路由错误码
- 4: 框架内部异常 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n#### AsyncApiResult 的属性值 @asyncapiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Promise\\<**AsyncApiSuccessResult**> | 否 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| errMsg | string | 是 | - | - | - | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.page.navigator.switchTab)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/router.html#switchtab)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=switchTab&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=switchTab&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=switchTab&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=switchTab&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=switchTab&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=switchTab)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=switchTab&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"navigator":{"example":"## 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/navigator/navigator.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/navigator/navigator\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/navigator/navigator\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\r\n\n```\n\n>Script\n```uts\n\r\n import { state, setLifeCycleNum } from '@/store/index.uts'\r\n type AnimationType = \"slide-in-right\" | \"slide-in-left\" | \"slide-in-top\" | \"slide-in-bottom\" | \"pop-in\" | \"fade-in\" | \"zoom-out\" | \"zoom-fade-out\" | \"none\" | \"auto\"\r\n\r\n export default {\r\n data() {\r\n return {\r\n onLoadTime: 0,\r\n onShowTime: 0,\r\n onReadyTime: 0,\r\n onHideTime: 0,\r\n animationTypeList: [\r\n 'slide-in-right',\r\n 'slide-in-left',\r\n 'slide-in-top',\r\n 'slide-in-bottom',\r\n 'pop-in',\r\n 'fade-in',\r\n 'zoom-out',\r\n 'zoom-fade-out',\r\n 'none'\r\n ]\r\n }\r\n },\r\n onLoad() {\r\n this.onLoadTime = Date.now()\r\n console.log('onLoad', this.onLoadTime)\r\n },\r\n onShow() {\r\n this.onShowTime = Date.now()\r\n console.log('onShow', this.onShowTime)\r\n },\r\n onReady() {\r\n this.onReadyTime = Date.now()\r\n console.log('onReady', this.onReadyTime)\r\n },\r\n onHide() {\r\n this.onHideTime = Date.now()\r\n console.log('onHide', this.onHideTime)\r\n },\r\n onBackPress(options : OnBackPressOptions) : boolean | null {\r\n console.log('onBackPress', Date.now())\r\n console.log('onBackPress from', options.from)\r\n return null\r\n },\r\n onUnload() {\r\n console.log('onUnload', Date.now())\r\n },\r\n methods: {\r\n reLaunch() {\r\n uni.reLaunch({\r\n url: '/pages/tabBar/component',\r\n success(result) {\r\n console.log('reLaunch success', result.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n fail(error) {\r\n console.log('reLaunch fail', error.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum - 1)\r\n },\r\n complete(result) {\r\n console.log('reLaunch complete', result.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n })\r\n },\r\n navigateTo() {\r\n uni.navigateTo({\r\n url: '/pages/API/navigator/new-page/new-page-1?data=Hello',\r\n success(result) {\r\n console.log('navigateTo success', result.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n fail(error) {\r\n console.log('navigateTo fail', error.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum - 1)\r\n },\r\n complete(result) {\r\n console.log('navigateTo complete', result.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n })\r\n },\r\n navigateToAnimationType(animationType : AnimationType) {\r\n uni.navigateTo({\r\n url: '/pages/API/navigator/new-page/new-page-1?data=Hello',\r\n animationType: animationType,\r\n success(result) {\r\n console.log('navigateTo success', result.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n fail(error) {\r\n console.log('navigateTo fail', error.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum - 1)\r\n },\r\n complete(result) {\r\n console.log('navigateTo complete', result.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n })\r\n },\r\n navigateToErrorPage() {\r\n uni.navigateTo({\r\n url: '/pages/error-page/error-page',\r\n success(result) {\r\n console.log('navigateTo success', result.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum - 1)\r\n },\r\n fail(error) {\r\n console.log('navigateTo fail', error.errMsg)\r\n uni.showToast({\r\n title: error.errMsg,\r\n icon: 'none',\r\n })\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n complete(result) {\r\n console.log('navigateTo complete', result.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n })\r\n },\r\n navigateToDebounce() {\r\n uni.navigateTo({\r\n url: '/pages/API/navigator/new-page/new-page-1?data=debounce',\r\n success(result) {\r\n console.log('navigateTo success', result.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n fail(error) {\r\n console.log('navigateTo fail', error.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum - 1)\r\n },\r\n complete(result) {\r\n console.log('navigateTo complete', result.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n })\r\n uni.navigateTo({\r\n url: '/pages/API/navigator/new-page/new-page-1?data=debounce',\r\n success(result) {\r\n console.log('navigateTo success', result.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum - 1)\r\n },\r\n fail(error) {\r\n console.log('navigateTo fail', error.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n complete(result) {\r\n console.log('navigateTo complete', result.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n })\r\n },\r\n // 自动化测试\r\n navigateToRelativePath1() {\r\n uni.navigateTo({\r\n url: 'new-page/new-page-1?data=new-page/new-page-1',\r\n success() {\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n fail() {\r\n setLifeCycleNum(state.lifeCycleNum - 1)\r\n },\r\n complete() {\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n })\r\n },\r\n // 自动化测试\r\n navigateToRelativePath2() {\r\n uni.navigateTo({\r\n url: './new-page/new-page-1?data=./new-page/new-page-1',\r\n success() {\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n fail() {\r\n setLifeCycleNum(state.lifeCycleNum - 1)\r\n },\r\n complete() {\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n })\r\n },\r\n // 自动化测试\r\n navigateToRelativePath3() {\r\n uni.navigateTo({\r\n url: '../navigator/new-page/new-page-1?data=../navigator/new-page/new-page-1',\r\n success() {\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n fail() {\r\n setLifeCycleNum(state.lifeCycleNum - 1)\r\n },\r\n complete() {\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n })\r\n },\r\n navigateBack() {\r\n uni.navigateBack({\r\n success(result) {\r\n console.log('navigateBack success', result.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n fail(error) {\r\n console.log('navigateBack fail', error.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum - 1)\r\n },\r\n complete(result) {\r\n console.log('navigateBack complete', result.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n })\r\n },\r\n navigateBackWithDelta1() {\r\n uni.navigateTo({\r\n url: '/pages/API/navigator/new-page/new-page-1',\r\n success() {\r\n uni.navigateBack({\r\n delta: 1,\r\n success(result) {\r\n console.log('navigateBack success', result.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n fail(error) {\r\n console.log('navigateBack fail', error.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum - 1)\r\n },\r\n complete(result) {\r\n console.log('navigateBack complete', result.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n })\r\n },\r\n })\r\n },\r\n navigateBackWithDelta100() {\r\n uni.navigateTo({\r\n url: '/pages/API/navigator/new-page/new-page-1',\r\n success() {\r\n uni.navigateBack({\r\n delta: 100,\r\n success(result) {\r\n console.log('navigateBack success', result.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n fail(error) {\r\n console.log('navigateBack fail', error.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum - 1)\r\n },\r\n complete(result) {\r\n console.log('navigateBack complete', result.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n })\r\n },\r\n })\r\n },\r\n redirectTo() {\r\n uni.redirectTo({\r\n url: '/pages/API/navigator/new-page/new-page-1?data=Hello',\r\n success(result) {\r\n console.log('redirectTo success', result.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n fail(error) {\r\n console.log('redirectTo fail', error.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum - 1)\r\n },\r\n complete(result) {\r\n console.log('redirectTo complete', result.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n })\r\n },\r\n switchTab() {\r\n uni.switchTab({\r\n url: '/pages/tabBar/template',\r\n success(result) {\r\n console.log('switchTab success', result.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n fail(error) {\r\n console.log('switchTab fail', error.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum - 1)\r\n },\r\n complete(result) {\r\n console.log('switchTab complete', result.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n })\r\n },\r\n // 自动化测试\r\n getLifeCycleNum() : number {\r\n return state.lifeCycleNum\r\n },\r\n // 自动化测试\r\n setLifeCycleNum(num : number) {\r\n setLifeCycleNum(num)\r\n },\r\n },\r\n }\r\n\n```\n\n:::"},"openDialogPage":{"name":"## uni.openDialogPage(options) @opendialogpage","description":"打开模态弹窗页面","compatibility":"### openDialogPage 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.31 | 4.31 | 4.31 | 4.31 | 4.31 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **OpenDialogPageOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| url | string ([string.PageURIString](/uts/data-type.md#ide-string)) | 是 | - | | 需要跳转的应用内非 tabBar 的页面的路径 , 路径后可以带参数 |\n@| animationType | string | 否 | - | | 窗口显示的动画类型
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| auto | - | 自动选择动画效果 |\n@@| none | - | 无动画效果 |\n@@| slide-in-right | - | 从右侧横向滑动效果 |\n@@| slide-in-left | - | 左侧横向滑动效果 |\n@@| slide-in-top | - | 从上侧竖向滑动效果 |\n@@| slide-in-bottom | - | 从下侧竖向滑动效果 |\n@@| fade-in | - | 从透明到不透明逐渐显示效果 |\n@@| zoom-out | - | 从小到大逐渐放大显示效果 |\n@@| zoom-fade-out | - | 从小到大逐渐放大并且从透明到不透明逐渐显示效果 |\n@| animationDuration | number | 否 | - | | 窗口关闭动画的持续时间,单位为 ms |\n@| disableEscBack | boolean | 否 | - | | 是否禁用按键盘 ESC 时关闭 |\n@| parentPage | [UniPage](#unipage-values) | 否 | - | | 要绑定的父级页面实例 |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| route | string | 是 | - | | 页面的路由地址 |\n@@| options | UTSJSONObject | 是 | - | | 页面的路由参数信息 |\n@@| vm | ComponentPublicInstance | 否 | - | | UniPage vue 实例对象 |\n@@| ~~$vm~~ | ComponentPublicInstance | 否 | - | | UniPage vue 实例对象 **已废弃,仅为了向下兼容保留** |\n@| success | (result: [AsyncApiSuccessResult](#asyncapisuccessresult-values)) => void | 否 | - | | 接口调用成功的回调函数 |\n@| fail | (result: [OpenDialogPageFail](#opendialogpagefail-values)) => void | 否 | - | | 接口调用失败的回调函数 |\n@| complete | (result: [AsyncApiResult](#asyncapiresult-values)) => void | 否 | - | | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### UniPage 的方法 @unipage-values \n\n#### getPageStyle(): UTSJSONObject @getpagestyle\n获取当前页面样式。详细属性配置请参考PageStyle\n##### getPageStyle 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.31 | 4.31 | 4.31 | 4.31 |\n\n\n##### 返回值 \n\n| 类型 |\n| :- |\n| UTSJSONObject |\n \n\n#### setPageStyle(style: UTSJSONObject): void @setpagestyle\n设置当前页面样式。详细属性配置请参考PageStyle\n##### setPageStyle 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.31 | 4.31 | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| style | UTSJSONObject | 是 | - | - | - | \n\n\n#### getParentPage(): UniPage \\| null @getparentpage\n用于 dialogPage 获取所属父页面\n##### getParentPage 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.31 | 4.31 | 4.31 | 4.31 |\n\n\n##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniPage](#unipage-values) | 否 |\n \n\n#### getDialogPages(): UniPage[\\] @getdialogpages\n获取当前页面的 dialog 子页面集合\n##### getDialogPages 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.31 | 4.31 | 4.31 | 4.31 |\n\n\n##### 返回值 \n\n| 类型 |\n| :- |\n| Array\\<[UniPage](#unipage-values)\\> |\n \n\n#### getElementById(id: string.IDString \\| string): UniElement \\| null @getelementbyid\n返回一个匹配特定 ID 的元素, 如果不存在,返回 null。\\\n如果需要获取指定的节点类型,需要使用 as 进行类型转换。\\\nID 区分大小写,且应该是唯一的。如果存在多个匹配的元素,则返回第一个匹配的元素。\n\n##### getElementById 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.31 | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| id | [string.IDString](/uts/data-type.md#ide-string) \\\\| string | 是 | - | - | - | \n\n##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniElement](/dom/unielement.md) | 否 |\n \n\n#### getAndroidView(): View \\| null @getandroidview\n返回 android 平台页面根 view\n\n##### getAndroidView 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.31 | x |\n\n\n##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| View | 否 |\n \n\n#### getIOSView(): UIView \\| null @getiosview\n返回 ios 平台页面根 view\n\n##### getIOSView 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| x | x | x | 4.33 |\n\n\n##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| UIView | 否 |\n \n\n#### getHTMLElement(): UniElement \\| null @gethtmlelement\n返回页面 HTML Element 对象\n\n##### getHTMLElement 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.31 | x | x |\n\n\n##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniElement](/dom/unielement.md) | 否 |\n \n\n#### ~~$setPageStyle(style: UTSJSONObject): void~~ @$setpagestyle\n设置当前页面样式。详细属性配置请参考PageStyle **已废弃,仅为了向下兼容保留**\n##### $setPageStyle 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.13 | 4.13 | 4.13 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| style | UTSJSONObject | 是 | - | - | - | \n\n\n#### ~~$getPageStyle(): UTSJSONObject~~ @$getpagestyle\n获取当前页面样式。详细属性配置请参考PageStyle **已废弃,仅为了向下兼容保留**\n##### $getPageStyle 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.13 | 4.13 | 4.13 |\n\n\n##### 返回值 \n\n| 类型 |\n| :- |\n| UTSJSONObject |\n \n\n#### OpenDialogPageFail 的属性值 @opendialogpagefail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 路由错误码
- 4: 框架内部异常 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n#### AsyncApiResult 的属性值 @asyncapiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniPage](#unipage-values) | 否 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| route | string | 是 | - | | 页面的路由地址 |\n@| options | UTSJSONObject | 是 | - | | 页面的路由参数信息 |\n@| vm | ComponentPublicInstance | 否 | - | | UniPage vue 实例对象 |\n@| ~~$vm~~ | ComponentPublicInstance | 否 | - | | UniPage vue 实例对象 **已废弃,仅为了向下兼容保留** |\n#### UniPage 的方法 @unipage-values \n\n#### getPageStyle(): UTSJSONObject @getpagestyle\n获取当前页面样式。详细属性配置请参考PageStyle\n##### getPageStyle 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.31 | 4.31 | 4.31 | 4.31 |\n\n\n##### 返回值 \n\n| 类型 |\n| :- |\n| UTSJSONObject |\n \n\n#### setPageStyle(style: UTSJSONObject): void @setpagestyle\n设置当前页面样式。详细属性配置请参考PageStyle\n##### setPageStyle 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.31 | 4.31 | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| style | UTSJSONObject | 是 | - | - | - | \n\n\n#### getParentPage(): UniPage \\| null @getparentpage\n用于 dialogPage 获取所属父页面\n##### getParentPage 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.31 | 4.31 | 4.31 | 4.31 |\n\n\n##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniPage](#unipage-values) | 否 |\n \n\n#### getDialogPages(): UniPage[\\] @getdialogpages\n获取当前页面的 dialog 子页面集合\n##### getDialogPages 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.31 | 4.31 | 4.31 | 4.31 |\n\n\n##### 返回值 \n\n| 类型 |\n| :- |\n| Array\\<[UniPage](#unipage-values)\\> |\n \n\n#### getElementById(id: string.IDString \\| string): UniElement \\| null @getelementbyid\n返回一个匹配特定 ID 的元素, 如果不存在,返回 null。\\\n如果需要获取指定的节点类型,需要使用 as 进行类型转换。\\\nID 区分大小写,且应该是唯一的。如果存在多个匹配的元素,则返回第一个匹配的元素。\n\n##### getElementById 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.31 | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| id | [string.IDString](/uts/data-type.md#ide-string) \\\\| string | 是 | - | - | - | \n\n##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniElement](/dom/unielement.md) | 否 |\n \n\n#### getAndroidView(): View \\| null @getandroidview\n返回 android 平台页面根 view\n\n##### getAndroidView 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.31 | x |\n\n\n##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| View | 否 |\n \n\n#### getIOSView(): UIView \\| null @getiosview\n返回 ios 平台页面根 view\n\n##### getIOSView 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| x | x | x | 4.33 |\n\n\n##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| UIView | 否 |\n \n\n#### getHTMLElement(): UniElement \\| null @gethtmlelement\n返回页面 HTML Element 对象\n\n##### getHTMLElement 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.31 | x | x |\n\n\n##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniElement](/dom/unielement.md) | 否 |\n \n\n#### ~~$setPageStyle(style: UTSJSONObject): void~~ @$setpagestyle\n设置当前页面样式。详细属性配置请参考PageStyle **已废弃,仅为了向下兼容保留**\n##### $setPageStyle 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.13 | 4.13 | 4.13 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| style | UTSJSONObject | 是 | - | - | - | \n\n\n#### ~~$getPageStyle(): UTSJSONObject~~ @$getpagestyle\n获取当前页面样式。详细属性配置请参考PageStyle **已废弃,仅为了向下兼容保留**\n##### $getPageStyle 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.13 | 4.13 | 4.13 |\n\n\n##### 返回值 \n\n| 类型 |\n| :- |\n| UTSJSONObject |\n \n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.page.dialogPage.openDialogPage)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=openDialogPage&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=openDialogPage&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=openDialogPage&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=openDialogPage&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=openDialogPage&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=openDialogPage)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=openDialogPage&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"closeDialogPage":{"name":"## uni.closeDialogPage(options?) @closedialogpage","description":"关闭模态弹窗页面\r\n","compatibility":"### closeDialogPage 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.31 | 4.31 | 4.31 | 4.31 | 4.31 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **CloseDialogPageOptions** | 否 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| dialogPage | [UniPage](#unipage-values) | 否 | - | | 要关闭的 dialogPage 实例 |\n@| animationType | string | 否 | - | | 窗口关闭的动画类型
- auto: 自动选择动画效果
- none: 无动画效果
- slide-out-right: 横向向右侧滑出屏幕动画
- slide-out-left: 横向向左侧滑出屏幕动画
- slide-out-top: 竖向向上侧滑出屏幕动画
- slide-out-bottom: 竖向向下侧滑出屏幕动画
- fade-out: 从不透明到透明逐渐隐藏动画
- zoom-in: 从大逐渐缩小关闭动画
- zoom-fade-in: 从大逐渐缩小并且从不透明到透明逐渐隐藏关闭动画
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| auto | - | 自动选择动画效果 |\n@@| none | - | 无动画效果 |\n@@| slide-out-right | - | 横向向右侧滑出屏幕动画 |\n@@| slide-out-left | - | 横向向左侧滑出屏幕动画 |\n@@| slide-out-top | - | 竖向向上侧滑出屏幕动画 |\n@@| slide-out-bottom | - | 竖向向下侧滑出屏幕动画 |\n@@| fade-out | - | 从不透明到透明逐渐隐藏动画 |\n@@| zoom-in | - | 从大逐渐缩小关闭动画 |\n@@| zoom-fade-in | - | 从大逐渐缩小并且从不透明到透明逐渐隐藏关闭动画 |\n@| animationDuration | number | 否 | - | | 窗口关闭动画的持续时间,单位为 ms |\n@| success | (result: [AsyncApiSuccessResult](#asyncapisuccessresult-values)) => void | 否 | - | | 接口调用成功的回调函数 |\n@| fail | (result: [CloseDialogPageFail](#closedialogpagefail-values)) => void | 否 | - | | 接口调用失败的回调函数 |\n@| complete | (result: [AsyncApiResult](#asyncapiresult-values)) => void | 否 | - | | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### AsyncApiSuccessResult 的属性值 @asyncapisuccessresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n\n#### CloseDialogPageFail 的属性值 @closedialogpagefail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 路由错误码
- 4: 框架内部异常 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n#### AsyncApiResult 的属性值 @asyncapiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| null |\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.page.dialogPage.closeDialogPage)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=closeDialogPage&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=closeDialogPage&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=closeDialogPage&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=closeDialogPage&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=closeDialogPage&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=closeDialogPage)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=closeDialogPage&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"dialogPage":{"example":"## 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/dialog-page/dialog-page.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/dialog-page/dialog-page\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/dialog-page/dialog-page\n\n>Template\n```vue\n\r\n\r\n\r\n\n```\n\n>Script\n```uts\n\r\n import {\r\n state,\r\n setLifeCycleNum\r\n } from '@/store/index.uts'\r\n\r\n export default {\n data() {\n return {\n jest_click_x: -1,\n jest_click_y: -1\n }\n },\r\n onLoad() {\r\n console.log('dialogPage parent onLoad')\r\n },\r\n onShow() {\r\n console.log('dialogPage parent onShow')\r\n setLifeCycleNum(state.lifeCycleNum + 10)\r\n },\r\n onReady() {\r\n console.log('dialogPage parent onReady')\r\n },\r\n onHide() {\r\n console.log('dialogPage parent onHide')\r\n setLifeCycleNum(state.lifeCycleNum - 10)\r\n },\r\n onUnload() {\r\n console.log('dialogPage parent onUnload')\r\n },\r\n methods: {\r\n goNextPage() {\r\n uni.navigateTo({\r\n url: '/pages/API/dialog-page/next-page'\r\n })\r\n },\r\n openDialog1() {\r\n uni.openDialogPage({\r\n url: '/pages/API/dialog-page/dialog-1?name=dialog1',\r\n success(res) {\r\n console.log('openDialogPage1 success', res)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n fail(err) {\r\n console.log('openDialogPage1 fail', err)\r\n setLifeCycleNum(state.lifeCycleNum - 4)\r\n },\r\n complete(res) {\r\n console.log('openDialogPage1 complete', res)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n }\r\n })\r\n },\r\n openDialog2() {\r\n uni.openDialogPage({\r\n url: '/pages/API/dialog-page/dialog-2',\r\n disableEscBack: true,\r\n success(res) {\r\n console.log('openDialog2 success', res)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n fail(err) {\r\n console.log('openDialog2 fail', err)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum - 4)\r\n },\r\n complete(res) {\r\n console.log('openDialog2 complete', res)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n }\r\n })\r\n },\r\n openDialog1WrongPath() {\r\n uni.openDialogPage({\r\n url: '/pages/API/dialog-page/dialog-11?name=dialog1',\r\n success(res) {\r\n console.log('openDialogPage1 success', res)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n fail(err) {\r\n console.log('openDialogPage1 fail', err)\r\n setLifeCycleNum(state.lifeCycleNum - 4)\r\n },\r\n complete(res) {\r\n console.log('openDialogPage1 complete', res)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n }\r\n })\r\n },\r\n goNextPageOpenDialog1() {\r\n uni.navigateTo({\r\n url: '/pages/API/dialog-page/next-page',\r\n success() {\r\n setTimeout(() => {\r\n uni.openDialogPage({\r\n url: '/pages/API/dialog-page/dialog-1?name=dialog1',\r\n success(res) {\r\n console.log('openDialogPage1 success', res)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n fail(err) {\r\n console.log('openDialogPage1 fail', err)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum - 4)\r\n },\r\n complete(res) {\r\n console.log('openDialogPage1 complete', res)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n }\r\n })\r\n }, 1000)\r\n }\r\n })\r\n },\r\n closeDialog() {\r\n uni.closeDialogPage({\r\n success(res) {\r\n console.log('closeDialog success', res)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n fail(err) {\r\n console.log('closeDialog fail', err)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum - 4)\r\n },\r\n complete(res) {\r\n console.log('closeDialog complete', res)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n }\r\n })\r\n },\r\n closeSpecifiedDialog(index: number) {\r\n const dialogPages = this.$page.getDialogPages()\r\n uni.closeDialogPage({\r\n dialogPage: dialogPages[index],\r\n success(res) {\r\n console.log('closeSomeOneDialog success', res)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n fail(err) {\r\n console.log('closeSomeOneDialog fail', err)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum - 4)\r\n },\r\n complete(res) {\r\n console.log('closeSomeOneDialog complete', res)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n }\r\n })\r\n },\r\n setLifeCycleNum(value: number) {\r\n setLifeCycleNum(value)\r\n },\r\n getLifeCycleNum(): number {\r\n return state.lifeCycleNum\r\n },\n jest_OpenDialog1(){\n uni.openDialogPage({\n url: '/pages/API/dialog-page/dialog-1?name=dialog1'\n })\n },\n jest_CloseDialog1(){\n uni.closeDialogPage({})\n },\n jest_getTapPoint(){\n const systemInfo = uni.getSystemInfoSync()\n let ratio = 1\n if (systemInfo.platform == 'android'){\n ratio = systemInfo.devicePixelRatio\n }\n this.jest_click_x = systemInfo.screenWidth / 2 * ratio\n this.jest_click_y = systemInfo.statusBarHeight * ratio + 10\n },\n openDialog2ForTest() {\n uni.openDialogPage({\n url: '/pages/API/dialog-page/dialog-2'\n });\n },\n closeDialog2ForTest() {\n uni.closeDialogPage({});\n },\n setPageStyleForTest(style : UTSJSONObject) {\n const pages = this.$page.getDialogPages();\n if (pages.length > 0) pages[pages.length - 1].setPageStyle(style);\n }\r\n }\r\n }\r\n\n```\n\n:::"},"setNavigationBarColor":{"name":"## uni.setNavigationBarColor(options) @setnavigationbarcolor","description":"设置导航条、状态栏颜色\n","compatibility":"### setNavigationBarColor 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | √ | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **SetNavigationBarColorOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| frontColor | string | 是 | - | | 前景颜色值,包括按钮、标题、状态栏的颜色,仅支持 #ffffff 和 #000000 |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| #ffffff | - | - |\n@@| #000000 | - | - |\n@| backgroundColor | [string.ColorString](/uts/data-type.md#ide-string) | 是 | - | | 背景颜色值,有效值为十六进制颜色 |\n@| success | (result: [AsyncApiSuccessResult](#asyncapisuccessresult-values)) => void | 否 | - | | 接口调用成功的回调函数 |\n@| fail | (error: [SetNavigationBarColorFail](#setnavigationbarcolorfail-values)) => void | 否 | - | | 接口调用失败的回调函数 |\n@| complete | (res: [AsyncApiResult](#asyncapiresult-values)) => void | 否 | - | | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### AsyncApiSuccessResult 的属性值 @asyncapisuccessresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n\n#### SetNavigationBarColorFail 的属性值 @setnavigationbarcolorfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 设置导航栏字体颜色错误码
- 4: 框架内部异常 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n#### AsyncApiResult 的属性值 @asyncapiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Promise\\<**AsyncApiSuccessResult**> | 否 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| errMsg | string | 是 | - | - | - | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.page.setNavigationBarColor)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/navigationbar.html#setnavigationbarcolor)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=setNavigationBarColor&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=setNavigationBarColor&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=setNavigationBarColor&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=setNavigationBarColor&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=setNavigationBarColor&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=setNavigationBarColor)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=setNavigationBarColor&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/set-navigation-bar-color/set-navigation-bar-color.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/set-navigation-bar-color/set-navigation-bar-color\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/set-navigation-bar-color/set-navigation-bar-color\n\n>Template\n```vue\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n import { state, setLifeCycleNum } from '@/store/index.uts'\r\n\r\n export default {\r\n methods: {\r\n setNavigationBarColor1() {\r\n uni.setNavigationBarColor({\r\n frontColor: '#ffffff',\r\n backgroundColor: '#00ff00',\r\n success: () => {\r\n console.log('setNavigationBarColor success')\r\n this.setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n fail: () => {\r\n console.log('setNavigationBarColor fail')\r\n this.setLifeCycleNum(state.lifeCycleNum - 1)\r\n },\r\n complete: () => {\r\n console.log('setNavigationBarColor complete')\r\n this.setLifeCycleNum(state.lifeCycleNum + 1)\r\n }\r\n })\r\n },\r\n setNavigationBarColor2() {\r\n uni.setNavigationBarColor({\r\n frontColor: '#000000',\r\n backgroundColor: '#ff0000',\r\n success: () => {\r\n console.log('setNavigationBarColor success')\r\n this.setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n fail: () => {\r\n console.log('setNavigationBarColor fail')\r\n this.setLifeCycleNum(state.lifeCycleNum - 1)\r\n },\r\n complete: () => {\r\n console.log('setNavigationBarColor complete')\r\n this.setLifeCycleNum(state.lifeCycleNum + 1)\r\n }\r\n })\r\n },\r\n // 自动化测试\r\n getLifeCycleNum() : number {\r\n return state.lifeCycleNum\r\n },\r\n // 自动化测试\r\n setLifeCycleNum(num : number) {\r\n setLifeCycleNum(num)\r\n },\r\n goNavbarLite() {\r\n uni.navigateTo({\r\n url: '/pages/template/navbar-lite/navbar-lite'\r\n })\r\n }\r\n },\r\n }\r\n\n```\n\n:::"},"setNavigationBarTitle":{"name":"## uni.setNavigationBarTitle(options) @setnavigationbartitle","description":"动态设置当前页面的标题\n","compatibility":"### setNavigationBarTitle 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.97 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **SetNavigationBarTitleOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| title | string | 是 | - | | 页面标题 |\n@| success | (result: [AsyncApiSuccessResult](#asyncapisuccessresult-values)) => void | 否 | - | | 接口调用成功的回调函数 |\n@| fail | (error: [SetNavigationBarTitleFail](#setnavigationbartitlefail-values)) => void | 否 | - | | 接口调用失败的回调函数 |\n@| complete | (res: [AsyncApiResult](#asyncapiresult-values)) => void | 否 | - | | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### SetNavigationBarTitleFail 的属性值 @setnavigationbartitlefail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 设置导航栏标题错误码
- 4: 框架内部异常 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n#### AsyncApiResult 的属性值 @asyncapiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Promise\\<**AsyncApiSuccessResult**> | 否 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| errMsg | string | 是 | - | - | - | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.page.setNavigationBarTitle)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/navigationbar.html#setnavigationbartitle)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=setNavigationBarTitle&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=setNavigationBarTitle&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=setNavigationBarTitle&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=setNavigationBarTitle&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=setNavigationBarTitle&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=setNavigationBarTitle)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=setNavigationBarTitle&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/set-navigation-bar-title/set-navigation-bar-title.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/set-navigation-bar-title/set-navigation-bar-title\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/set-navigation-bar-title/set-navigation-bar-title\n\n>Template\n```vue\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n import { state, setLifeCycleNum } from '@/store/index.uts'\r\n\r\n export default {\r\n data() {\r\n return {\r\n newTitle: 'new title',\r\n longTitle: 'long title long title long title long title long title long title long title long title long title long title'\r\n }\r\n },\r\n methods: {\r\n setNavigationBarNewTitle() {\r\n uni.setNavigationBarTitle({\r\n title: this.newTitle,\r\n success: () => {\r\n console.log('setNavigationBarTitle success')\r\n this.setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n fail: () => {\r\n console.log('setNavigationBarTitle fail')\r\n this.setLifeCycleNum(state.lifeCycleNum - 1)\r\n },\r\n complete: () => {\r\n console.log('setNavigationBarTitle complete')\r\n this.setLifeCycleNum(state.lifeCycleNum + 1)\r\n }\r\n })\r\n },\r\n setNavigationBarLongTitle() {\r\n uni.setNavigationBarTitle({\r\n title: this.longTitle,\r\n success() {\r\n console.log('setNavigationBarTitle success')\r\n },\r\n fail() {\r\n console.log('setNavigationBarTitle fail')\r\n },\r\n complete() {\r\n console.log('setNavigationBarTitle complete')\r\n }\r\n })\r\n },\r\n // 自动化测试\r\n getLifeCycleNum() : number {\r\n return state.lifeCycleNum\r\n },\r\n // 自动化测试\r\n setLifeCycleNum(num : number) {\r\n setLifeCycleNum(num)\r\n }\r\n },\r\n }\r\n\n```\n\n:::"},"showTabBar":{"name":"## uni.showTabBar(options?) @showtabbar","description":"显示 tabBar\n","compatibility":"### showTabBar 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.91 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **ShowTabBarOptions** | 否 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| animation | boolean | 否 | - | - | 是否需要动画效果 |\n@| success | (result: [AsyncApiSuccessResult](#asyncapisuccessresult-values)) => void | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (result: [SetTabBarFail](#settabbarfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (result: [AsyncApiResult](#asyncapiresult-values)) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### SetTabBarFail 的属性值 @settabbarfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 100 | - | TabBar 不存在 |\n@| 200 | - | 参数错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n#### AsyncApiResult 的属性值 @asyncapiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Promise\\<**AsyncApiSuccessResult**> | 否 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| errMsg | string | 是 | - | - | - | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.page.setTabBar.showTabBar)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/tabbar.html#showtabbar)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=showTabBar&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=showTabBar&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=showTabBar&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=showTabBar&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=showTabBar&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=showTabBar)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=showTabBar&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"hideTabBar":{"name":"## uni.hideTabBar(options?) @hidetabbar","description":"隐藏 tabBar\n","compatibility":"### hideTabBar 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.91 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **HideTabBarOptions** | 否 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| animation | boolean | 否 | - | - | 是否需要动画效果 |\n@| success | (result: [AsyncApiSuccessResult](#asyncapisuccessresult-values)) => void | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (result: [SetTabBarFail](#settabbarfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (result: [AsyncApiResult](#asyncapiresult-values)) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### SetTabBarFail 的属性值 @settabbarfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 100 | - | TabBar 不存在 |\n@| 200 | - | 参数错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n#### AsyncApiResult 的属性值 @asyncapiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Promise\\<**AsyncApiSuccessResult**> | 否 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| errMsg | string | 是 | - | - | - | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.page.setTabBar.hideTabBar)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/tabbar.html#hidetabbar)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=hideTabBar&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=hideTabBar&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=hideTabBar&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=hideTabBar&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=hideTabBar&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=hideTabBar)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=hideTabBar&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"showTabBarRedDot":{"name":"## uni.showTabBarRedDot(options) @showtabbarreddot","description":"显示 tabBar 某一项的右上角的红点\n","compatibility":"### showTabBarRedDot 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.91 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **ShowTabBarRedDotOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| index | number | 是 | - | - | tabBar的哪一项,从左边算起,索引从0开始 |\n@| success | (result: [AsyncApiSuccessResult](#asyncapisuccessresult-values)) => void | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (result: [SetTabBarFail](#settabbarfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (result: [AsyncApiResult](#asyncapiresult-values)) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### SetTabBarFail 的属性值 @settabbarfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 100 | - | TabBar 不存在 |\n@| 200 | - | 参数错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n#### AsyncApiResult 的属性值 @asyncapiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Promise\\<**AsyncApiSuccessResult**> | 否 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| errMsg | string | 是 | - | - | - | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.page.setTabBar.showTabBarRedDot)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/tabbar.html#showtabbarreddot)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=showTabBarRedDot&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=showTabBarRedDot&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=showTabBarRedDot&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=showTabBarRedDot&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=showTabBarRedDot&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=showTabBarRedDot)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=showTabBarRedDot&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"hideTabBarRedDot":{"name":"## uni.hideTabBarRedDot(options) @hidetabbarreddot","description":"隐藏 tabBar 某一项的右上角的红点\n","compatibility":"### hideTabBarRedDot 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.91 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **HideTabBarRedDotOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| index | number | 是 | - | - | tabBar的哪一项,从左边算起,索引从0开始 |\n@| success | (result: [AsyncApiSuccessResult](#asyncapisuccessresult-values)) => void | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (result: [SetTabBarFail](#settabbarfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (result: [AsyncApiResult](#asyncapiresult-values)) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### SetTabBarFail 的属性值 @settabbarfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 100 | - | TabBar 不存在 |\n@| 200 | - | 参数错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n#### AsyncApiResult 的属性值 @asyncapiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Promise\\<**AsyncApiSuccessResult**> | 否 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| errMsg | string | 是 | - | - | - | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.page.setTabBar.hideTabBarRedDot)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/tabbar.html#hidetabbarreddot)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=hideTabBarRedDot&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=hideTabBarRedDot&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=hideTabBarRedDot&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=hideTabBarRedDot&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=hideTabBarRedDot&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=hideTabBarRedDot)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=hideTabBarRedDot&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"setTabBarBadge":{"name":"## uni.setTabBarBadge(options) @settabbarbadge","description":"为 tabBar 某一项的右上角添加文本\n","compatibility":"### setTabBarBadge 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.91 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **SetTabBarBadgeOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| index | number | 是 | - | - | tabBar的哪一项,从左边算起,索引从0开始 |\n@| text | string | 是 | - | - | 显示的文本,不超过 3 个半角字符 |\n@| success | (result: [AsyncApiSuccessResult](#asyncapisuccessresult-values)) => void | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (result: [SetTabBarFail](#settabbarfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (result: [AsyncApiResult](#asyncapiresult-values)) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### SetTabBarFail 的属性值 @settabbarfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 100 | - | TabBar 不存在 |\n@| 200 | - | 参数错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n#### AsyncApiResult 的属性值 @asyncapiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Promise\\<**AsyncApiSuccessResult**> | 否 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| errMsg | string | 是 | - | - | - | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.page.setTabBar.setTabBarBadge)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/tabbar.html#settabbarbadge)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=setTabBarBadge&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=setTabBarBadge&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=setTabBarBadge&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=setTabBarBadge&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=setTabBarBadge&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=setTabBarBadge)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=setTabBarBadge&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"removeTabBarBadge":{"name":"## uni.removeTabBarBadge(options) @removetabbarbadge","description":"移除 tabBar 某一项右上角的文本\n","compatibility":"### removeTabBarBadge 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.91 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **RemoveTabBarBadgeOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| index | number | 是 | - | - | tabBar的哪一项,从左边算起,索引从0开始 |\n@| success | (result: [AsyncApiSuccessResult](#asyncapisuccessresult-values)) => void | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (result: [SetTabBarFail](#settabbarfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (result: [AsyncApiResult](#asyncapiresult-values)) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### SetTabBarFail 的属性值 @settabbarfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 100 | - | TabBar 不存在 |\n@| 200 | - | 参数错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n#### AsyncApiResult 的属性值 @asyncapiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Promise\\<**AsyncApiSuccessResult**> | 否 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| errMsg | string | 是 | - | - | - | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.page.setTabBar.removeTabBarBadge)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/tabbar.html#removetabbarbadge)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=removeTabBarBadge&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=removeTabBarBadge&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=removeTabBarBadge&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=removeTabBarBadge&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=removeTabBarBadge&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=removeTabBarBadge)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=removeTabBarBadge&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"setTabBarStyle":{"name":"## uni.setTabBarStyle(options) @settabbarstyle","description":"动态设置 tabBar 的整体样式\n","compatibility":"### setTabBarStyle 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.91 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **SetTabBarStyleOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| color | string ([string.ColorString](/uts/data-type.md#ide-string)) | 否 | - | - | tab 上的文字默认颜色 |\n@| selectedColor | string ([string.ColorString](/uts/data-type.md#ide-string)) | 否 | - | - | tab 上的文字选中时的颜色 |\n@| backgroundColor | string ([string.ColorString](/uts/data-type.md#ide-string)) | 否 | - | - | tab 的背景色 |\n@| backgroundImage | string | 否 | - | - | 图片背景 |\n@| backgroundRepeat | string | 否 | - | - | 背景图平铺方式 |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| repeat | - | 背景图片在垂直方向和水平方向平铺 |\n@@| repeat-x | - | 背景图片在水平方向平铺,垂直方向拉伸 |\n@@| repeat-y | - | 背景图片在垂直方向平铺,水平方向拉伸 |\n@@| no-repeat | - | 背景图片在垂直方向和水平方向都拉伸 |\n@| borderColor | string ([string.ColorString](/uts/data-type.md#ide-string)) | 否 | - | | tabbar上边框的颜色(优先级高于 borderStyle) |\n@| borderStyle | string | 否 | - | - | tabbar上边框的颜色 |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| black | - | - |\n@@| white | - | - |\n@| success | (result: [AsyncApiSuccessResult](#asyncapisuccessresult-values)) => void | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (result: [SetTabBarFail](#settabbarfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (result: [AsyncApiResult](#asyncapiresult-values)) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### SetTabBarFail 的属性值 @settabbarfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 100 | - | TabBar 不存在 |\n@| 200 | - | 参数错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n#### AsyncApiResult 的属性值 @asyncapiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Promise\\<**AsyncApiSuccessResult**> | 否 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| errMsg | string | 是 | - | - | - | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.page.setTabBar.setTabBarStyle)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/tabbar.html#settabbarstyle)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=setTabBarStyle&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=setTabBarStyle&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=setTabBarStyle&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=setTabBarStyle&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=setTabBarStyle&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=setTabBarStyle)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=setTabBarStyle&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"setTabBarItem":{"name":"## uni.setTabBarItem(options) @settabbaritem","description":"动态设置 tabBar 某一项的内容\n","compatibility":"### setTabBarItem 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.91 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **SetTabBarItemOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| index | number | 是 | - | - | tabBar 的哪一项,从左边算起,索引从0开始 |\n@| text | string | 否 | - | - | tab 上按钮文字 |\n@| iconPath | string | 否 | - | - | 图片路径 |\n@| selectedIconPath | string | 否 | - | - | 选中时的图片路径 |\n@| pagePath | string | 否 | - | - | 页面绝对路径 |\n@| iconfont | **SetTabBarItemIconFontOptions** | 否 | - | - | 字体图标,优先级高于 iconPath |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| text | string | 是 | - | - | 字库 Unicode 码 |\n@@| selectedText | string | 是 | - | - | 选中后字库 Unicode 码 |\n@@| fontSize | string | 否 | - | - | 字体图标字号(px) |\n@@| color | string | 否 | - | - | 字体图标颜色 |\n@@| selectedColor | string | 否 | - | - | 字体图标选中颜色 |\n@| visible | boolean | 否 | - | - | tab 是否显示 |\n@| success | (result: [AsyncApiSuccessResult](#asyncapisuccessresult-values)) => void | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (result: [SetTabBarFail](#settabbarfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (result: [AsyncApiResult](#asyncapiresult-values)) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### SetTabBarFail 的属性值 @settabbarfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 100 | - | TabBar 不存在 |\n@| 200 | - | 参数错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n#### AsyncApiResult 的属性值 @asyncapiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Promise\\<**AsyncApiSuccessResult**> | 否 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| errMsg | string | 是 | - | - | - | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.page.setTabBar.setTabBarItem)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/tabbar.html#settabbaritem)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=setTabBarItem&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=setTabBarItem&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=setTabBarItem&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=setTabBarItem&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=setTabBarItem&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=setTabBarItem)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=setTabBarItem&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"startPullDownRefresh":{"name":"## uni.startPullDownRefresh(options?) @startpulldownrefresh","description":"开始下拉刷新\n","compatibility":"### startPullDownRefresh 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.91 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **StartPullDownRefreshOptions** | 否 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (result: [AsyncApiSuccessResult](#asyncapisuccessresult-values)) => void | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (result: [StartPullDownRefreshFail](#startpulldownrefreshfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (result: [AsyncApiResult](#asyncapiresult-values)) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### StartPullDownRefreshFail 的属性值 @startpulldownrefreshfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 下拉刷新错误码
- 4: 框架内部异常 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n#### AsyncApiResult 的属性值 @asyncapiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Promise\\<**AsyncApiSuccessResult**> | 否 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| errMsg | string | 是 | - | - | - | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.page.pullDownRefresh.startPullDownRefresh)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/pulldown.html#startpulldownrefresh)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=startPullDownRefresh&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=startPullDownRefresh&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=startPullDownRefresh&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=startPullDownRefresh&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=startPullDownRefresh&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=startPullDownRefresh)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=startPullDownRefresh&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"stopPullDownRefresh":{"name":"## uni.stopPullDownRefresh() @stoppulldownrefresh","description":"停止当前页面下拉刷新\n","compatibility":"### stopPullDownRefresh 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.91 | 4.11 |\n","param":"","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.page.pullDownRefresh.stopPullDownRefresh)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/pulldown.html#stoppulldownrefresh)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=stopPullDownRefresh&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=stopPullDownRefresh&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=stopPullDownRefresh&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=stopPullDownRefresh&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=stopPullDownRefresh&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=stopPullDownRefresh)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=stopPullDownRefresh&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"pullDownRefresh":{"example":"## 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/pull-down-refresh/pull-down-refresh.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/pull-down-refresh/pull-down-refresh\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/pull-down-refresh/pull-down-refresh\n\n>Template\n```vue\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n data: [] as Array,\r\n loadMoreText: \"加载中...\",\r\n showLoadMore: false,\r\n max: 0,\r\n pulldownRefreshTriggered: false\r\n }\r\n },\r\n onReady() {\r\n uni.startPullDownRefresh();\r\n this.initData();\r\n },\r\n onReachBottom() {\r\n console.log(\"onReachBottom\");\r\n if (this.max > 40) {\r\n this.loadMoreText = \"没有更多数据了!\"\r\n return;\r\n }\r\n this.showLoadMore = true;\r\n setTimeout(() => {\r\n this.setListData();\r\n }, 300);\r\n },\r\n onPullDownRefresh() {\r\n console.log('onPullDownRefresh');\r\n this.pulldownRefreshTriggered = true\r\n this.initData();\r\n },\r\n methods: {\r\n initData() {\r\n setTimeout(() => {\r\n this.max = 0;\r\n this.data = [];\r\n let data : Array = [];\r\n this.max += 20;\r\n for (let i : number = this.max - 19; i < this.max + 1; i++) {\r\n data.push(i)\r\n }\r\n this.data = this.data.concat(data);\r\n uni.stopPullDownRefresh();\r\n }, 1000);\r\n },\r\n setListData() {\r\n let data : Array = [];\r\n this.max += 10;\r\n for (let i : number = this.max - 9; i < this.max + 1; i++) {\r\n data.push(i)\r\n }\r\n this.data = this.data.concat(data);\r\n }\r\n }\r\n }\r\n\n```\n\n:::"},"pageScrollTo":{"name":"## uni.pageScrollTo(options) @pagescrollto","description":"将页面滚动到目标位置\n","compatibility":"### pageScrollTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.91 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **PageScrollToOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| scrollTop | number | 否 | - | - | 滚动到页面的目标位置 |\n@| selector | string | 否 | - | - | 选择器 |\n@| offsetTop | number | 否 | - | | 偏移距离,可以滚动到 selector 加偏移距离的位置 |\n@| duration | number | 否 | - | - | 滚动动画的时长 |\n@| success | (result: [AsyncApiSuccessResult](#asyncapisuccessresult-values)) => void | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (result: [PageScrollToFail](#pagescrolltofail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (result: [AsyncApiResult](#asyncapiresult-values)) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### AsyncApiSuccessResult 的属性值 @asyncapisuccessresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n\n#### PageScrollToFail 的属性值 @pagescrolltofail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 设置页面滚动错误码
- 4: 框架内部异常 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n#### AsyncApiResult 的属性值 @asyncapiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Promise\\<**AsyncApiSuccessResult**> | 否 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| errMsg | string | 是 | - | - | - | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.page.pageScrollTo)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/scroll.html#pagescrollto)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=pageScrollTo&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=pageScrollTo&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=pageScrollTo&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=pageScrollTo&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=pageScrollTo&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=pageScrollTo)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=pageScrollTo&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/page-scroll-to/page-scroll-to.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/page-scroll-to/page-scroll-to\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/page-scroll-to/page-scroll-to\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n title: 'pageScrollTo',\r\n }\r\n },\r\n methods: {\r\n scrollTo() {\r\n uni.pageScrollTo({\r\n scrollTop: 100,\r\n duration: 300,\r\n success: () => {\r\n console.log('success')\r\n },\r\n })\r\n },\r\n scrollToElement() {\r\n uni.pageScrollTo({\r\n selector: '.custom-element',\r\n duration: 300,\r\n success: () => {\r\n console.log('success')\r\n },\r\n })\r\n },\r\n },\r\n }\r\n\n```\n\n:::"},"onTabBarMidButtonTap":{"name":"## uni.onTabBarMidButtonTap(options) @ontabbarmidbuttontap","description":"监听中间按钮的点击事件","compatibility":"### onTabBarMidButtonTap 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | () => void | 是 | - | - | - | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.page.onTabBarMidButtonTap)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/tabbar.html#ontabbarmidbuttontap)"},"getElementById":{"name":"## uni.getElementById(id) @getelementbyid","description":"返回一个匹配特定 ID 的元素, 如果不存在,返回 null。\\\n如果需要获取指定的节点类型,需要使用 as 进行类型转换。\\\nID 区分大小写,且应该是唯一的。如果存在多个匹配的元素,则返回第一个匹配的元素。\n","compatibility":"### getElementById 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 3.91 | 4.11 | 4.25 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| id | [string.IDString](/uts/data-type.md#ide-string) \\\\| string | 是 | - | - | - | \n","returnValue":"### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniElement](/dom/unielement.md) | 否 |\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.dom.getElementById)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/get-element-by-id/get-element-by-id.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/get-element-by-id/get-element-by-id\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/get-element-by-id/get-element-by-id\n\n>Template\n```vue\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n checked: false,\r\n homePagePath: '/pages/tabBar/component',\r\n launchOptionsPath: '',\r\n }\r\n },\r\n methods: {\r\n getElementByNotExistId() : Element | null {\r\n return uni.getElementById('not-exist-id')\r\n },\r\n changePageHeadBackgroundColor() {\r\n const pageHead = uni.getElementById('page-head')!\r\n pageHead.style.setProperty('background-color', 'red')\r\n },\r\n changeTextColor() {\r\n const text = uni.getElementById('text')!\r\n text.style.setProperty('color', 'red')\r\n },\r\n changeViewStyle() {\r\n const view = uni.getElementById('view')\r\n if (view !== null) {\r\n view.style.setProperty('width', '90%')\r\n view.style.setProperty('height', '50px')\r\n view.style.setProperty('background-color', '#007AFF')\r\n }\r\n },\r\n goMultipleRootNode() {\r\n uni.navigateTo({ url: '/pages/API/get-element-by-id/get-element-by-id-multiple-root-node' })\r\n },\r\n //自动化测试获取text元素的offsetLeft属性值\r\n getTextOffsetLeft() : number {\r\n const text = uni.getElementById('text')!\r\n return text.offsetLeft\r\n }\r\n }\r\n }\r\n\n```\n\n:::"},"createSelectorQuery":{"name":"## uni.createSelectorQuery() @createselectorquery","description":"返回一个SelectorQuery对象实例\n","compatibility":"### createSelectorQuery 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.91 | 4.11 |\n","param":"","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| [SelectorQuery](#selectorquery-values) |\n\n#### SelectorQuery 的方法 @selectorquery-values \n\n#### in(component: any \\| null): SelectorQuery @in\n将选择器的选取范围更改为自定义组件component内\n##### in 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| component | any | 否 | - | - | | \n\n##### 返回值 \n\n| 类型 |\n| :- |\n| [SelectorQuery](#selectorquery-values) |\n \n\n#### select(selector: string): NodesRef @select\n在当前页面下选择第一个匹配选择器selector的节点\n##### select 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| selector | string | 是 | - | - | - | \n\n##### 返回值 \n\n| 类型 |\n| :- |\n| [NodesRef](#nodesref-values) |\n\n###### NodesRef 的方法 @nodesref-values \n\n###### boundingClientRect( callback: SelectorQueryNodeInfoCallback \\| null, ): SelectorQuery @boundingclientrect\n添加节点的布局位置的查询请求,相对于显示区域,以像素为单位\n###### boundingClientRect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 否 | - | - | | \n\n###### 返回值 \n\n| 类型 |\n| :- |\n| [SelectorQuery](#selectorquery-values) |\n \n\n###### scrollOffset(callback: SelectorQueryNodeInfoCallback): SelectorQuery @scrolloffset\n添加节点的滚动位置查询请求,以像素为单位\n###### scrollOffset 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | | \n\n###### 返回值 \n\n| 类型 |\n| :- |\n| [SelectorQuery](#selectorquery-values) |\n \n\n###### fields( fields: NodeField, callback: SelectorQueryNodeInfoCallback \\| null, ): SelectorQuery @fields\n获取节点的相关信息,需要获取的字段在fields中指定\n###### fields 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| fields | **NodeField** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| id | boolean | 否 | - | - | 是否返回节点 id |\n@| dataset | boolean | 否 | - | - | 是否返回节点 dataset |\n@| rect | boolean | 否 | - | - | 是否返回节点布局位置(left right top bottom) |\n@| size | boolean | 否 | - | - | 是否返回节点尺寸(width height) |\n@| scrollOffset | boolean | 否 | - | - | 是否返回节点的 scrollLeft scrollTop,节点必须是 scroll-view 或者 viewport |\n@| properties | Array\\ | 否 | - | - | 指定属性名列表,返回节点对应属性名的当前属性值(只能获得组件文档中标注的常规属性值,id class style 和事件绑定的属性值不可获取) |\n@| computedStyle | Array\\ | 否 | - | - | 指定样式名列表,返回节点对应样式名的当前值 |\n@| context | boolean | 否 | - | | 是否返回节点对应的 Context 对象 |\n@| node | boolean | 否 | - | - | 是否返回节点对应的 Node 实例 |\n| callback | (result: any) => void | 否 | - | - | | \n\n###### 返回值 \n\n| 类型 |\n| :- |\n| [SelectorQuery](#selectorquery-values) |\n \n\n###### context(callback: SelectorQueryNodeInfoCallback): SelectorQuery @context\n添加节点的 Context 对象查询请求\n###### context 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | | \n\n###### 返回值 \n\n| 类型 |\n| :- |\n| [SelectorQuery](#selectorquery-values) |\n \n\n###### node(callback: (result: any) => void): SelectorQuery @node\n获取 Node 节点实例。目前支持 Canvas 的获取。\n获取节点的相关信息,需要获取的字段在fields中指定\n###### node 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n###### 返回值 \n\n| 类型 |\n| :- |\n| [SelectorQuery](#selectorquery-values) |\n \n \n\n#### selectAll(selector: string): NodesRef @selectall\n在当前页面下选择匹配选择器selector的所有节点\n##### selectAll 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| selector | string | 是 | - | - | - | \n\n##### 返回值 \n\n| 类型 |\n| :- |\n| [NodesRef](#nodesref-values) |\n \n\n#### selectViewport(): NodesRef @selectviewport\n选择显示区域\n##### selectViewport 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n\n##### 返回值 \n\n| 类型 |\n| :- |\n| [NodesRef](#nodesref-values) |\n \n\n#### exec(callback: (result: Array\\) => void \\| null): NodesRef \\| null @exec\n执行所有的请求\n##### exec 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: Array\\) => void | 是 | - | - | - | \n\n##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [NodesRef](#nodesref-values) | 否 |\n \n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.dom.createSelectorQuery)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/nodes-info.html#createselectorquery)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=createSelectorQuery&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=createSelectorQuery&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=createSelectorQuery&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=createSelectorQuery&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=createSelectorQuery&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=createSelectorQuery)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=createSelectorQuery&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/create-selector-query/create-selector-query.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/create-selector-query/create-selector-query\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/create-selector-query/create-selector-query\n\n>Template\n```vue\n\n\n\n\n\n\n```\n\n>Script\n```uts\n\n import nodeChild from './nodes-info-child.uvue'\n import multiChild from './selector-query-child-multi.uvue'\n\n type NodeInfoType = {\n left : number | null,\n top : number | null,\n right : number | null,\n bottom : number | null,\n width : number | null,\n height : number | null,\n }\n\n export default {\n components: {\n nodeChild,\n multiChild\n },\n data() {\n return {\n title: 'createSelectorQuery',\n nodeInfoList: [] as NodeInfoType[],\n // 仅用于自动化测试\n rootNodeInfo: null as NodeInfoType | null,\n //供自动化测试使用\n // resizeRectValid: false\n // TODO\n selectCount: 0,\n selectAllCount: 0,\n fieldsResultContainNode: false,\n nodeResultContainNode: false\n }\n },\n onReady() {\n const instance2 = (this.$refs['multi-child'] as ComponentPublicInstance)\n this.selectCount = instance2.$data['selectCount'] as number\n this.selectAllCount = instance2.$data['selectAllCount'] as number\n\n this.testFields()\n this.testNode()\n },\n onResize() {\n //供自动化测试使用\n /* var rect12Element = uni.getElementById(\"rect-1-2\")\n if(rect12Element != null) {\n var domRect = rect12Element.getBoundingClientRect()\n if(domRect.width > 100) {\n this.resizeRectValid = true\n }\n } */\n },\n methods: {\n // 仅用于自动化测试\n getRootNodeInfo(selector : string) {\n uni.createSelectorQuery().select(selector).boundingClientRect().exec((ret) => {\n if (ret.length == 1) {\n const nodeInfo = ret[0] as NodeInfo;\n const nodeType = {\n left: nodeInfo.left,\n top: nodeInfo.top,\n right: nodeInfo.right,\n bottom: nodeInfo.bottom,\n width: nodeInfo.width,\n height: nodeInfo.height,\n } as NodeInfoType;\n this.rootNodeInfo = nodeType\n }\n })\n },\n getNodeInfo() {\n uni.createSelectorQuery().select('.rect1').boundingClientRect().exec((ret) => {\n this.nodeInfoList.length = 0\n const i = ret[0] as NodeInfo\n this.nodeInfoList.push({\n left: i.left,\n top: i.top,\n right: i.right,\n bottom: i.bottom,\n width: i.width,\n height: i.height,\n } as NodeInfoType)\n })\n },\n getAllNodeInfo() {\n uni.createSelectorQuery().selectAll('.rect').boundingClientRect().exec((ret) => {\n this.nodeInfoList.length = 0\n const array = ret[0] as NodeInfo[]\n array.forEach((i) => {\n this.nodeInfoList.push({\n left: i.left,\n top: i.top,\n right: i.right,\n bottom: i.bottom,\n width: i.width,\n height: i.height,\n } as NodeInfoType)\n })\n })\n },\n // test .fields\n testFields() {\n uni.createSelectorQuery().select('.rect1').fields({\n node: true\n } as NodeField, (ret) => {\n const isElement = (ret as NodeInfo).node instanceof UniElement\n if (isElement) {\n this.fieldsResultContainNode = true\n } else {\n this.fieldsResultContainNode = false\n }\n }).exec()\n },\n // test .node\n testNode() {\n uni.createSelectorQuery().select('#canvas1').node((ret) => {\n const isElement = (ret as NodeInfo).node instanceof UniElement\n const isCanvasElement = ((ret as NodeInfo).node as UniCanvasElement).tagName == 'CANVAS'\n if (isElement && isCanvasElement) {\n this.nodeResultContainNode = true\n } else {\n this.nodeResultContainNode = false\n }\n }).exec()\n },\n }\n }\n\n```\n\n:::"},"createIntersectionObserver":{"name":"## uni.createIntersectionObserver(component, options) @createintersectionobserver","description":"创建并返回一个 IntersectionObserver 对象实例\n","compatibility":"### createIntersectionObserver 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| component | any | 是 | - | - | - |\n| options | **CreateIntersectionObserverOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| thresholds | Array\\ | 否 | - | - | 所有阈值 |\n@| initialRatio | number | 否 | - | - | 初始的相交比例 |\n@| observeAll | boolean | 否 | - | - | 是否同时观测多个参照节点(而非一个) | \n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| [IntersectionObserver](#intersectionobserver-values) |\n\n#### IntersectionObserver 的方法 @intersectionobserver-values \n\n#### relativeTo(selector: string, margins?: any): IntersectionObserver; @relativeto\n使用选择器指定一个节点,作为参照区域之一\n##### relativeTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| selector | string | 是 | - | - | - |\n| margins | any | 否 | - | - | - | \n\n##### 返回值 \n\n| 类型 |\n| :- |\n| [IntersectionObserver](#intersectionobserver-values) |\n \n\n#### relativeToViewport(margins?: any): IntersectionObserver; @relativetoviewport\n指定页面显示区域作为参照区域之一\n##### relativeToViewport 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| margins | any | 否 | - | - | - | \n\n##### 返回值 \n\n| 类型 |\n| :- |\n| [IntersectionObserver](#intersectionobserver-values) |\n \n\n#### observe(targetSelector: string, callback: ObserveCallback): void; @observe\n指定目标节点并开始监听相交状态变化情况\n##### observe 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| targetSelector | string | 是 | - | - | - |\n| callback | (result: [ObserveResult](#observeresult-values)) => void | 是 | - | - | - | \n\n##### ObserveResult 的属性值 @observeresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| intersectionRatio | number | 是 | - | - | 相交比例 |\n| intersectionRect | any | 是 | - | - | 相交区域的边界 |\n| boundingClientRect | **ObserveNodeRect** | 是 | - | - | 目标节点布局区域的边界 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| left | number | 是 | - | - | left |\n@| right | number | 是 | - | - | right |\n@| top | number | 是 | - | - | top |\n@| bottom | number | 是 | - | - | bottom |\n| relativeRect | [ObserveNodeRect](#observenoderect-values) | 是 | - | - | 参照区域的边界 |\n| time | number | 是 | - | - | 相交检测时的时间戳 |\n\n\n#### disconnect(): void; @disconnect\n停止监听\n##### disconnect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.ui.createIntersectionObserver)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/intersection-observer.html#createintersectionobserver)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=createIntersectionObserver&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=createIntersectionObserver&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=createIntersectionObserver&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=createIntersectionObserver&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=createIntersectionObserver&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=createIntersectionObserver)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=createIntersectionObserver&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"showActionSheet":{"name":"## uni.showActionSheet(options) @showactionsheet","description":"从底部向上弹出操作菜单","compatibility":"### showActionSheet 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **ShowActionSheetOptions** | 是 | - | - | uni.showActionSheet函数参数定义 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| title | string | 否 | - | - | 菜单标题 |\n@| alertText | string | 否 | - | - | 警示文案(同菜单标题, app无效) |\n@| itemList | Array\\ | 是 | - | - | 按钮的文字数组 |\n@| itemColor | [string.ColorString](/uts/data-type.md#ide-string) | 否 | - | - | 按钮的文字颜色,字符串格式(iOS默认为系统控件颜色) |\n@| popover | **Popover** | 否 | - | - | 大屏设备弹出原生选择按钮框的指示区域,默认居中显示 |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| top | number | 是 | - | - | 指示区域坐标,使用原生 navigationBar 时一般需要加上 navigationBar 的高度 |\n@@| left | number | 是 | - | - | 指示区域坐标 |\n@@| width | number | 是 | - | - | 指示区域宽度 |\n@@| height | number | 是 | - | - | 指示区域高度 |\n@| success | (res: [ShowActionSheetSuccess](#showactionsheetsuccess-values)) => void | 否 | - | - | uni.showActionSheet成功回调函数定义 |\n@| fail | (res: [IPromptError](#iprompterror-values)) => void | 否 | - | - | uni.showActionSheet成功回调函数定义 |\n@| complete | (res: any) => void | 否 | - | - | uni.showActionSheet成功回调函数定义 | \n\n#### ShowActionSheetSuccess 的属性值 @showactionsheetsuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| tapIndex | number | 否 | - | - | 用户点击的按钮,从上到下的顺序,从0开始 |\n\n#### IPromptError 的属性值 @iprompterror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 1 | - | 撤销 |\n@| 1001 | - | 请求参数非法 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.ui.showActionSheet)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/prompt.html#showactionsheet)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=showActionSheet&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=showActionSheet&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=showActionSheet&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=showActionSheet&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=showActionSheet&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=showActionSheet)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=showActionSheet&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/show-action-sheet/show-action-sheet.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/show-action-sheet/show-action-sheet\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/show-action-sheet/show-action-sheet\n\n>Template\n```vue\n\r\n\n\n```\n\n>Script\n```uts\n\r\n type ItemType = {\r\n value : string,\r\n name : string,\r\n }\r\n export default {\r\n data() {\r\n return {\r\n title: 'action-sheet',\r\n itemColorCustom: false,\r\n itemContentLarge: false,\r\n itemNumLargeSelect: false,\r\n showErrorToast: true,\r\n items: [{\r\n value: '标题',\r\n name: '有标题'\r\n },\r\n {\r\n value: '',\r\n name: '无标题'\r\n },\r\n {\r\n value: '超长标题测试内容,测试超过显示最大范围之后的样式-超长标题测试内容,测试超过显示最大范围之后的样式',\r\n name: '超长标题'\r\n }\r\n ] as ItemType[],\r\n current: 0,\r\n }\r\n },\r\n onLoad() {\r\n uni.showActionSheet({\r\n title: \"onLoad 调用示例,请手动取消\",\r\n itemList: ['item1', 'item2'],\r\n })\r\n },\r\n methods: {\r\n //自动化测试例专用\r\n jest_getWindowInfo() : GetWindowInfoResult {\r\n return uni.getWindowInfo();\r\n },\r\n radioChange(e : UniRadioGroupChangeEvent) {\r\n for (let i = 0; i < this.items.length; i++) {\r\n if (this.items[i].value === e.detail.value) {\r\n this.current = i;\r\n break;\r\n }\r\n }\r\n },\r\n itemContentLargeChange: function (e : UniSwitchChangeEvent) {\r\n this.itemContentLarge = e.detail.value\r\n },\r\n itemColorChange: function (e : UniSwitchChangeEvent) {\r\n this.itemColorCustom = e.detail.value\r\n },\r\n itemNumLargeChange: function (e : UniSwitchChangeEvent) {\r\n this.itemNumLargeSelect = e.detail.value\r\n },\r\n actionSheetTap() {\r\n\r\n let itemInfo = ['item1', 'item2', 'item3', 'item4']\r\n\r\n if (this.itemContentLarge) {\r\n itemInfo = ['两个黄鹂鸣翠柳,一行白鹭上青天。窗含西岭千秋雪,门泊东吴万里船', '水光潋滟晴方好,山色空蒙雨亦奇。 欲把西湖比西子,淡妆浓抹总相宜', '']\r\n }\r\n\r\n if (this.itemNumLargeSelect) {\r\n // 大量选项测试,不能超过6个元素 https://uniapp.dcloud.net.cn/api/ui/prompt.html#showactionsheet\r\n itemInfo = []\r\n for (var i = 1; i <= 10; i++) {\r\n itemInfo.push('两个黄鹂鸣翠柳,一行白鹭上青天');\r\n }\r\n }\r\n\r\n const that = this\r\n if (this.itemColorCustom) {\r\n uni.showActionSheet({\r\n title: this.items[this.current].value,\r\n itemList: itemInfo,\r\n itemColor: \"#ff00ff\",\r\n success: (e) => {\r\n console.log(e.tapIndex);\r\n uni.showToast({\r\n title: \"点击了第\" + e.tapIndex + \"个选项\",\r\n icon: \"none\"\r\n })\r\n },\r\n fail: (e) => {\r\n if (this.showErrorToast) {\r\n uni.showToast({\r\n title: e.errMsg,\r\n icon: \"none\"\r\n })\r\n }\r\n console.log(e);\r\n }\r\n })\r\n } else {\r\n uni.showActionSheet({\r\n title: this.items[this.current].value,\r\n itemList: itemInfo,\r\n success: (e) => {\r\n console.log(e.tapIndex);\r\n uni.showToast({\r\n title: \"点击了第\" + e.tapIndex + \"个选项\",\r\n icon: \"none\"\r\n })\r\n },\r\n fail: (e) => {\r\n console.log(e);\r\n if (this.showErrorToast) {\r\n uni.showToast({\r\n title: e.errMsg,\r\n icon: \"none\"\r\n })\r\n }\r\n }\r\n })\r\n }\r\n },\r\n }\r\n }\r\n\n```\n\n:::"},"showModal":{"name":"## uni.showModal(options) @showmodal","description":"显示模态弹窗,可以只有一个确定按钮,也可以同时有确定和取消按钮。类似于一个API整合了 html 中:alert、confirm。","compatibility":"### showModal 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **ShowModalOptions** | 是 | - | - | uni.showModal 参数定义 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| title | string | 否 | - | - | 提示的标题 |\n@| content | string | 否 | - | - | 提示的内容 |\n@| showCancel | boolean | 否 | true
是否显示取消按钮,默认为 true | - | |\n@| cancelText | string | 否 | - | - | 取消按钮的文字,默认为\"取消\" |\n@| cancelColor | [string.ColorString](/uts/data-type.md#ide-string) | 否 | - | - | 取消按钮的文字颜色,默认为\"#000000\" |\n@| confirmText | string | 否 | - | - | 确定按钮的文字,默认为\"确定\" |\n@| confirmColor | [string.ColorString](/uts/data-type.md#ide-string) | 否 | - | - | 确定按钮的文字颜色 |\n@| editable | boolean | 否 | false
是否显示输入框 | - | |\n@| placeholderText | string | 否 | - | - | 显示输入框时的提示文本 |\n@| success | (res: [ShowModalSuccess](#showmodalsuccess-values)) => void | 否 | - | - | uni.showModal成功回调函数定义 |\n@| fail | (res: [IPromptError](#iprompterror-values)) => void | 否 | - | - | uni.showModal失败回调函数定义 |\n@| complete | (res: any) => void | 否 | - | - | uni.showModal完成回调函数定义 | \n\n#### ShowModalSuccess 的属性值 @showmodalsuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| confirm | boolean | 是 | - | - | 为 true 时,表示用户点击了确定按钮 |\n| cancel | boolean | 是 | - | - | 为 true 时,表示用户点击了取消(用于 Android 系统区分点击蒙层关闭还是点击取消按钮关闭) |\n| content | string | 否 | - | - | editable 为 true 时,用户输入的文本 |\n\n#### IPromptError 的属性值 @iprompterror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 1 | - | 撤销 |\n@| 1001 | - | 请求参数非法 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.ui.showModal)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/prompt.html#showmodal)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=showModal&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=showModal&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=showModal&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=showModal&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=showModal&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=showModal)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=showModal&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/show-modal/show-modal.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/show-modal/show-modal\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/show-modal/show-modal\n\n>Template\n```vue\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n type ItemType = {\r\n value : string,\r\n name : string,\r\n }\r\n export default {\r\n data() {\r\n return {\r\n title: 'modal',\r\n showCancelSelect: false,\r\n cancelTextSelect: false,\r\n confirmTextSelect: false,\r\n editableSelect: false,\r\n placeholderTextSelect: false,\r\n exeRet: \"\",\r\n items: [{\r\n value: '标题',\r\n name: '有标题'\r\n },\r\n {\r\n value: '',\r\n name: '无标题'\r\n },\r\n {\r\n value: '超长标题测试内容,测试超过显示最大范围之后的样式-超长标题测试内容,测试超过显示最大范围之后的样式',\r\n name: '超长标题'\r\n }\r\n ] as ItemType[],\r\n current: 0\r\n }\r\n },\r\n onLoad() {\r\n uni.showModal({\r\n title: \"onLoad 调用示例,请手动取消\",\r\n showCancel: false\r\n })\r\n },\r\n methods: {\r\n //自动化测试例专用\r\n jest_getWindowInfo() : GetWindowInfoResult {\r\n return uni.getWindowInfo();\r\n },\r\n showCancelChange: function (e : UniSwitchChangeEvent) {\r\n this.showCancelSelect = e.detail.value\r\n },\r\n cancelTextChange: function (e : UniSwitchChangeEvent) {\r\n this.cancelTextSelect = e.detail.value\r\n },\r\n confirmTextChange: function (e : UniSwitchChangeEvent) {\r\n this.confirmTextSelect = e.detail.value\r\n },\r\n editableChange: function (e : UniSwitchChangeEvent) {\r\n this.editableSelect = e.detail.value\r\n },\r\n placeholderTextChange: function (e : UniSwitchChangeEvent) {\r\n this.placeholderTextSelect = e.detail.value\r\n },\r\n radioChange(e : UniRadioGroupChangeEvent) {\r\n for (let i = 0; i < this.items.length; i++) {\r\n if (this.items[i].value === e.detail.value) {\r\n this.current = i;\r\n break;\r\n }\r\n }\r\n },\r\n modalTap: function () {\r\n let cancelTextVal : string\r\n let cancelColorVal = ''\r\n if (this.cancelTextSelect) {\r\n cancelTextVal = \"修改后的取消文本\"\r\n cancelColorVal = \"#ff00ff\"\r\n } else {\r\n cancelTextVal = \"取消\"\r\n }\r\n\r\n let confirmTextVal = '确定'\r\n let confirmColorVal = ''\r\n if (this.confirmTextSelect) {\r\n confirmTextVal = \"修改后的确定文本\"\r\n confirmColorVal = \"#00ffff\"\r\n }\r\n\r\n let placeholderTextVal = ''\r\n let contentVal = \"弹窗内容,告知当前状态、信息和解决方法,描述文字尽量控制在三行内\"\r\n if (this.placeholderTextSelect) {\r\n placeholderTextVal = \"定制提示信息\"\r\n contentVal = \"\"\r\n }\r\n uni.showModal({\r\n title: this.items[this.current].value,\r\n editable: this.editableSelect,\r\n placeholderText: placeholderTextVal,\r\n content: contentVal,\r\n showCancel: this.showCancelSelect,\r\n cancelText: cancelTextVal,\r\n cancelColor: cancelColorVal,\r\n confirmText: confirmTextVal,\r\n confirmColor: confirmColorVal,\r\n success: (res) => {\r\n this.exeRet = JSON.stringify(res)\r\n },\r\n fail: (res) => {\r\n this.exeRet = JSON.stringify(res)\r\n }\r\n })\r\n }\r\n }\r\n }\r\n\n```\n\n:::"},"showLoading":{"name":"## uni.showLoading(options) @showloading","description":"显示 loading 提示框, 需主动调用 uni.hideLoading 才能关闭提示框。","compatibility":"### showLoading 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **ShowLoadingOptions** | 是 | - | - | uni.showLoading参数定义 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| title | string | 是 | - | - | 提示的内容,长度与 icon 取值有关。 |\n@| mask | boolean | 否 | - | - | 是否显示透明蒙层,防止触摸穿透,默认:false |\n@| success | (res: ShowLoadingSuccess) => void | 否 | - | - | uni.showLoading成功回调函数定义 |\n@| fail | (res: [IPromptError](#iprompterror-values)) => void | 否 | - | - | uni.showLoading失败回调函数定义 |\n@| complete | (res: any) => void | 否 | - | - | uni.showLoading完成回调函数定义 | \n\n#### IPromptError 的属性值 @iprompterror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 1 | - | 撤销 |\n@| 1001 | - | 请求参数非法 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.ui.showLoading.showLoading)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/prompt.html#showloading)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=showLoading&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=showLoading&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=showLoading&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=showLoading&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=showLoading&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=showLoading)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=showLoading&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/show-loading/show-loading.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/show-loading/show-loading\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/show-loading/show-loading\n\n>Template\n```vue\n\r\n\n\n```\n\n>Script\n```uts\n\r\n type ItemType = {\r\n value : string\r\n name : string\r\n }\r\n export default {\r\n data() {\r\n return {\r\n title: 'loading',\r\n items: [\r\n {\r\n value: 'null',\r\n name: '无标题',\r\n },\r\n {\r\n value: '三秒后自动关闭',\r\n name: '普通标题',\r\n },\r\n {\r\n value: '超长文本内容,测试超出范围-超长文本内容,测试超出范围-三秒后自动关闭',\r\n name: '长标题',\r\n },\r\n ] as ItemType[],\r\n current: 0,\r\n maskSelect: false,\r\n titleSelect: \"null\"\r\n }\r\n },\r\n onLoad() {\r\n uni.showLoading({\r\n title: 'onLoad 调用示例,2秒后消失'\r\n })\r\n setTimeout(function () {\r\n uni.hideLoading()\r\n }, 2000);\r\n },\r\n methods: {\r\n //自动化测试例专用\r\n jest_getWindowInfo() : GetWindowInfoResult {\r\n return uni.getWindowInfo();\r\n },\r\n\r\n radioChange(e : UniRadioGroupChangeEvent) {\r\n const selected = this.items.find((item) : boolean => {\r\n return item.value == e.detail.value\r\n })\r\n if (selected != null) {\r\n this.titleSelect = selected.value\r\n }\r\n },\r\n maskChange: function (e : UniSwitchChangeEvent) {\r\n this.maskSelect = e.detail.value\r\n },\r\n showLoading: function () {\r\n\r\n console.log(this.titleSelect)\r\n if (this.titleSelect == \"null\") {\r\n uni.showLoading({\r\n title: \"\",\r\n mask: this.maskSelect\r\n });\r\n } else {\r\n uni.showLoading({\r\n title: this.titleSelect,\r\n mask: this.maskSelect\r\n });\r\n }\r\n setTimeout(() => {\r\n this.hideLoading();\r\n }, 3000);\r\n },\r\n hideLoading: function () {\r\n uni.hideLoading();\r\n }\r\n }\r\n }\r\n\n```\n\n:::"},"hideLoading":{"name":"## uni.hideLoading() @hideloading","description":"隐藏 loading 提示框。","compatibility":"### hideLoading 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n","param":"","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.ui.showLoading.hideLoading)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/prompt.html#hideloading)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=hideLoading&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=hideLoading&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=hideLoading&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=hideLoading&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=hideLoading&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=hideLoading)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=hideLoading&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"showToast":{"name":"## uni.showToast(options) @showtoast","description":"显示消息提示框","compatibility":"### showToast 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **ShowToastOptions** | 是 | - | - | uni.showToast参数定义 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| title | string | 是 | - | | 提示的内容,长度与 icon 取值有关。 |\n@| icon | string | 否 | \"success\" | | icon值说明 |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| success | | 显示成功图标 |\n@@| error | | 显示错误图标 |\n@@| fail | | 显示错误图标,此时title文本无长度显示 |\n@@| exception | | 显示异常图标,此时title文本无长度显示 |\n@@| loading | | 显示加载图标 |\n@@| none | | 不显示图标 |\n@| image | [string.ImageURIString](/uts/data-type.md#ide-string) | 否 | - | | 自定义图标的本地路径(app端暂不支持gif) |\n@| mask | boolean | 否 | false | | 是否显示透明蒙层,防止触摸穿透 |\n@| duration | number | 否 | 1500 | | 提示的延迟时间,单位毫秒 |\n@| position | string | 否 | \"bottom\" | | position值说明。纯文本轻提示显示位置,填写有效值后只有 title 属性生效,且不支持通过 uni.hideToast 隐藏。 |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| top | | 居上显示 |\n@@| center | | 居中显示 |\n@@| bottom | | 居底显示 |\n@| success | (res: ShowToastSuccess) => void | 否 | - | | uni.showToast成功回调函数定义 |\n@| fail | (res: [IPromptError](#iprompterror-values)) => void | 否 | - | | uni.showToast失败回调函数定义 |\n@| complete | (res: any) => void | 否 | - | | uni.showToast完成回调函数定义 | \n\n#### IPromptError 的属性值 @iprompterror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 1 | - | 撤销 |\n@| 1001 | - | 请求参数非法 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.ui.showToast.showToast)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/prompt.html#showtoast)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=showToast&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=showToast&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=showToast&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=showToast&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=showToast&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=showToast)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=showToast&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/show-toast/show-toast.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/show-toast/show-toast\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/show-toast/show-toast\n\n>Template\n```vue\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n type IconItemType = {\r\n value : \"success\" | \"error\" | \"fail\" | \"exception\" | \"loading\" | \"none\";\r\n name : string\r\n }\r\n type PositionItemType = {\r\n value : \"top\" | \"center\" | \"bottom\";\r\n name : string\r\n }\r\n export default {\r\n data() {\r\n return {\r\n title: 'toast',\r\n exeRet: '',\r\n imageSelect: false,\r\n maskSelect: false,\r\n intervalSelect: 1500,\r\n position_current: 0,\r\n position_enum: [\r\n { \"value\": \"top\", \"name\": \"top: 居上显示(Android 暂不支持)\" },\r\n { \"value\": \"center\", \"name\": \"center: 居中显示(Android 暂不支持)\" },\r\n { \"value\": \"bottom\", \"name\": \"bottom: 居底显示\" },\r\n ] as PositionItemType[],\r\n icon_current: 0,\r\n icon_enum: [\r\n {\r\n value: 'success',\r\n name: '显示成功图标',\r\n },\r\n {\r\n value: 'error',\r\n name: '显示错误图标',\r\n },\r\n // {\r\n // value: 'fail',\r\n // name: '显示错误图标',\r\n // },\r\n // {\r\n // value: 'exception',\r\n // name: '显示异常图标,此时title文本无长度显示',\r\n // },\r\n {\r\n value: 'loading',\r\n name: '显示加载图标',\r\n },\r\n {\r\n value: 'none',\r\n name: '不显示图标',\r\n },\r\n ] as IconItemType[],\r\n }\r\n },\r\n onLoad() {\r\n uni.showToast({\r\n title: 'onLoad 调用示例,2秒后消失'\r\n })\r\n setTimeout(function () {\r\n uni.hideToast()\r\n }, 2000);\r\n },\r\n methods: {\r\n //自动化测试例专用\r\n jest_getWindowInfo() : GetWindowInfoResult {\r\n return uni.getWindowInfo();\r\n },\r\n radioChangeIcon(e : UniRadioGroupChangeEvent) {\r\n for (let i = 0; i < this.icon_enum.length; i++) {\r\n if (this.icon_enum[i].value === e.detail.value) {\r\n this.icon_current = i;\r\n break;\r\n }\r\n }\r\n },\r\n change_image_boolean: function (e : UniSwitchChangeEvent) {\r\n this.imageSelect = e.detail.value\r\n },\r\n change_mask_boolean: function (e : UniSwitchChangeEvent) {\r\n this.maskSelect = e.detail.value\r\n },\r\n sliderChange(e : UniSliderChangeEvent) {\r\n this.intervalSelect = e.detail.value\r\n },\r\n radioChangePosition(e : UniRadioGroupChangeEvent) {\r\n for (let i = 0; i < this.position_enum.length; i++) {\r\n if (this.position_enum[i].value === e.detail.value) {\r\n this.position_current = i;\r\n break;\r\n }\r\n }\r\n },\r\n toast1Tap: function () {\r\n uni.showToast({\r\n title: \"默认\",\r\n icon: this.icon_enum[this.icon_current].value,\r\n duration: this.intervalSelect,\r\n image: this.imageSelect ? \"/static/uni.png\" : null,\r\n mask: this.maskSelect,\r\n success: (res) => {\r\n // console.log('success:',res)\r\n this.exeRet = \"success:\" + JSON.stringify(res)\r\n },\r\n fail: (res) => {\r\n this.exeRet = \"fail:\" + JSON.stringify(res)\r\n },\r\n })\r\n },\n toast3Tap: function () {\n uni.showToast({\n title: \"默认\",\n icon: 'none',\n duration: this.intervalSelect,\n image: this.imageSelect ? \"/static/uni.png\" : null,\n mask: this.maskSelect,\n success: (res) => {\n // console.log('success:',res)\n this.exeRet = \"success:\" + JSON.stringify(res)\n },\n fail: (res) => {\n this.exeRet = \"fail:\" + JSON.stringify(res)\n },\n })\n },\r\n // #ifdef APP\r\n toast2Tap: function () {\r\n let positionValue = this.position_enum[this.position_current].value\r\n uni.showToast({\r\n title: \"显示一段轻提示,position:\" + positionValue,\r\n position: positionValue,\r\n success: (res) => {\r\n this.exeRet = \"success:\" + JSON.stringify(res)\r\n },\r\n fail: (res) => {\r\n this.exeRet = \"fail:\" + JSON.stringify(res)\r\n },\r\n })\r\n },\r\n // #endif\r\n hideToast: function () {\r\n uni.hideToast()\r\n }\r\n }\r\n }\r\n\n```\n\n:::"},"hideToast":{"name":"## uni.hideToast() @hidetoast","description":"隐藏消息提示框。","compatibility":"### hideToast 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n","param":"","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.ui.showToast.hideToast)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/prompt.html#hidetoast)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=hideToast&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=hideToast&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=hideToast&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=hideToast&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=hideToast&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=hideToast)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=hideToast&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"loadFontFace":{"name":"## uni.loadFontFace(options) @loadfontface","description":"动态加载网络字体\n","compatibility":"### loadFontFace 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | √ | 4.10 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **LoadFontFaceOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| global | boolean | 否 | - | | 是否全局生效。微信小程序 '2.10.0'起支持全局生效,需在 app.vue 中调用。 |\n@| family | string | 是 | - | | 定义的字体名称 |\n@| source | [string.FontURIString](/uts/data-type.md#ide-string) | 是 | - | | 字体资源的地址, App-Android 平台不支持 woff、woff2 格式字体文件 |\n@| desc | **LoadFontFaceOptionDesc** | 否 | - | | 可选的字体描述符 |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| style | string | 否 | - | - | |\n@@| weight | string | 否 | - | - | |\n@@| variant | string | 否 | - | - | |\n@| success | (result: [AsyncApiSuccessResult](#asyncapisuccessresult-values)) => void | 否 | - | | 接口调用成功的回调函数 |\n@| fail | (error: [LoadFontFaceFail](#loadfontfacefail-values)) => void | 否 | - | | 接口调用失败的回调函数 |\n@| complete | (res: [AsyncApiResult](#asyncapiresult-values)) => void | 否 | - | | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### AsyncApiSuccessResult 的属性值 @asyncapisuccessresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n\n#### LoadFontFaceFail 的属性值 @loadfontfacefail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 4 | - | 框架内部异常 |\n@| 99 | - | page is not ready |\n@| 101 | - | 参数错误 |\n@| 100001 | - | family is null |\n@| 100002 | - | source is null |\n@| 200001 | - | local font not found |\n@| 300001 | - | same source task is loading |\n@| 300002 | - | download fail |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n#### AsyncApiResult 的属性值 @asyncapiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Promise\\<**AsyncApiSuccessResult**> | 否 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| errMsg | string | 是 | - | - | - | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.ui.loadFontFace)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/font.html#loadfontface)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=loadFontFace&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=loadFontFace&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=loadFontFace&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=loadFontFace&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=loadFontFace&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=loadFontFace)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=loadFontFace&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/load-font-face/load-font-face.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/load-font-face/load-font-face\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/load-font-face/load-font-face\n\n>Template\n```vue\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n uniIcon1: '\\ue100',\r\n uniIcon2: '\\ue101',\n uniIcon3: '\\ue102'\r\n }\r\n },\r\n onLoad() {\r\n uni.loadFontFace({\r\n global: true,\r\n family: 'UniFontFamily',\r\n source: \"url('/static/font/uni.ttf')\",\r\n success() {\r\n console.log('global loadFontFace uni.ttf success')\r\n },\r\n fail(error) {\r\n console.warn('global loadFontFace uni.ttf fail', error.errMsg)\r\n },\r\n })\n uni.loadFontFace({\n family: 'UniFontFamily2',\n source: \"url(data:font/ttf;charset=utf-8;base64,AAEAAAAKAIAAAwAgT1MvMjpAVPQAAACsAAAAYGNtYXAADeKoAAABDAAAAUJnbHlmUL6yUwAAAlAAAAEYaGVhZBeGAMAAAANoAAAANmhoZWED3gOCAAADoAAAACRobXR4BCEAAAAAA8QAAAAGbG9jYQCMAAYAAAPMAAAABm1heHABEQBiAAAD1AAAACBuYW1le6YhIAAAA/QAAAMecG9zdNTj4UYAAAcUAAAAMAAEBAABkAAFAAACiQLMAAAAjwKJAswAAAHrADIBCAAAAgAFAwAAAAAAAAAAAAAQAAAAAAAAAAAAAABQZkVkAEDhAuECA4D/gABcA4AAgAAAAAEAAAAAAgACzQAAAAAAAAAAAAMAAAADAAAAHAABAAAAAAA8AAMAAQAAABwABAAgAAAABAAEAAEAAOEC//8AAOEC//8e/wABAAAAAAAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFACH/rAPgA1QACwAXACwAOABVAAABPgE3LgEnDgEHHgE3LgEnPgE3HgEXDgEHIgYHFhc2Nx4BFxYnIQYHIRYnLgEBPgE3LgEnDgEHHgE3IiY9ASMuATQ2OwE1NDYyFh0BMzIWFAYHIxUUBgJpTmkCAmhPTmkCAmlOMUIBAUIxMUIBAUIxOmUpGxU/WZScAQER/oUBCgFyagECxP3iW3wCAntcXHsDA3tcCxFSCw8PC1IRFxBSCw8PC1IQAccCclVVbQICb1NVcj8BTDs5SQEBSTk6TXcZFhYcHwEGiTsNASEgAUZbsf4hAnxcXHsCAntcXXtKDg1YAQ8WD1kMDg4MWQ8WDwFYDQ4AAAAAAQAAAAEAAKwmoyNfDzz1AAsEAAAAAADaMRNzAAAAANo0qVAAIf+sA+ADVAAAAAgAAgAAAAAAAAABAAADgP+AAFwEAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQQAAAAAIQAAAAAABgCMAAAAAQAAAAIAVgAFAAAAAAACAAAACgAKAAAA/wAAAAAAAAAAABIA3gABAAAAAAAAABMAAAABAAAAAAABAAgAEwABAAAAAAACAAcAGwABAAAAAAADABUAIgABAAAAAAAEAAgANwABAAAAAAAFADsAPwABAAAAAAAGAAgAegABAAAAAAAKACsAggABAAAAAAALABMArQADAAEECQAAACYAwAADAAEECQABABAA5gADAAEECQACAA4A9gADAAEECQADACoBBAADAAEECQAEABABLgADAAEECQAFAHYBPgADAAEECQAGABABtAADAAEECQAKAFYBxAADAAEECQALACYCGkNyZWF0ZWQgYnkgaWNvbmZvbnR1bmlpY29uc1JlZ3VsYXJ1bmlpY29uczpWZXJzaW9uIDEuMDB1bmlpY29uc1ZlcnNpb24gMS4wMDtKYW51YXJ5IDMsIDIwMjA7Rm9udENyZWF0b3IgMTIuMC4wLjI1MzUgNjQtYml0dW5paWNvbnNHZW5lcmF0ZWQgYnkgc3ZnMnR0ZiBmcm9tIEZvbnRlbGxvIHByb2plY3QuaHR0cDovL2ZvbnRlbGxvLmNvbQBDAHIAZQBhAHQAZQBkACAAYgB5ACAAaQBjAG8AbgBmAG8AbgB0AHUAbgBpAGkAYwBvAG4AcwBSAGUAZwB1AGwAYQByAHUAbgBpAGkAYwBvAG4AcwA6AFYAZQByAHMAaQBvAG4AIAAxAC4AMAAwAHUAbgBpAGkAYwBvAG4AcwBWAGUAcgBzAGkAbwBuACAAMQAuADAAMAA7AEoAYQBuAHUAYQByAHkAIAAzACwAIAAyADAAMgAwADsARgBvAG4AdABDAHIAZQBhAHQAbwByACAAMQAyAC4AMAAuADAALgAyADUAMwA1ACAANgA0AC0AYgBpAHQAdQBuAGkAaQBjAG8AbgBzAEcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAAcwB2AGcAMgB0AHQAZgAgAGYAcgBvAG0AIABGAG8AbgB0AGUAbABsAG8AIABwAHIAbwBqAGUAYwB0AC4AaAB0AHQAcAA6AC8ALwBmAG8AbgB0AGUAbABsAG8ALgBjAG8AbQAAAAIAAAAAAAAACgABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgAAAQIJcGVyc29uYWRk)\",\n success() {\n console.log('loadFontFace uni.ttf(base64 format) success')\n },\n fail(error) {\n console.warn('loadFontFace uni.ttf(base64 format) fail', error.errMsg)\n },\n })\r\n uni.loadFontFace({\r\n family: 'AlimamaDaoLiTiTTF',\r\n source:\r\n \"url('https://qiniu-web-assets.dcloud.net.cn/uni-app-x/static/font/AlimamaDaoLiTi.ttf')\",\r\n success() {\r\n console.log('loadFontFace Remote AlimamaDaoLiTi.ttf success')\r\n },\r\n fail(error) {\r\n console.warn('loadFontFace Remote AlimamaDaoLiTi.ttf fail', error.errMsg)\r\n },\r\n })\r\n uni.loadFontFace({\r\n family: 'AlimamaDaoLiTiOTF',\r\n source: \"url('/static/font/AlimamaDaoLiTi.otf')\",\r\n success() {\r\n console.log('loadFontFace AlimamaDaoLiTi.otf success')\r\n },\r\n fail(error) {\r\n console.warn('loadFontFace AlimamaDaoLiTi.otf fail', error.errMsg)\r\n },\r\n })\r\n uni.loadFontFace({\r\n family: 'AlimamaDaoLiTiWOFF',\r\n source: \"url('/static/font/AlimamaDaoLiTi.woff')\",\r\n success() {\r\n console.log('loadFontFace AlimamaDaoLiTi.woff success')\r\n },\r\n fail(error) {\r\n console.warn('loadFontFace AlimamaDaoLiTi.woff fail', error.errMsg)\r\n },\r\n })\r\n uni.loadFontFace({\r\n family: 'AlimamaDaoLiTiWOFF2',\r\n source: \"url('/static/font/AlimamaDaoLiTi.woff2')\",\r\n success() {\r\n console.log('loadFontFace AlimamaDaoLiTi.woff2 success')\r\n },\r\n fail(error) {\r\n console.warn('loadFontFace AlimamaDaoLiTi.woff2 fail', error.errMsg)\r\n },\r\n })\r\n },\r\n methods: {\r\n navigateToChild() {\r\n uni.navigateTo({\r\n url: '/pages/API/load-font-face/load-font-face-child',\r\n })\r\n },\r\n },\r\n }\r\n\n```\n\n:::"},"rpx2px":{"name":"## uni.rpx2px(number) @rpx2px","description":"将rpx单位值转换成px","compatibility":"### rpx2px 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.02 | 4.02 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| number | number | 是 | - | - | - | \n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| number |\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.ui.rpx2px)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/font.html#upx2px)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/rpx2px/rpx2px.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/rpx2px/rpx2px\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/rpx2px/rpx2px\n\n>Template\n```vue\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n title: 'rpx2px',\r\n rpxValue: 750,\r\n pxValue: 0,\r\n result: false\r\n }\r\n },\r\n methods: {\r\n rpx2px: function () {\r\n this.pxValue = uni.rpx2px(this.rpxValue);\r\n\r\n // 仅限自动化测试\r\n const windowInfo = uni.getWindowInfo();\r\n if (windowInfo.windowWidth == this.pxValue) {\r\n this.result = true\r\n }\r\n }\r\n }\r\n }\r\n\n```\n\n:::"},"setAppTheme":{"name":"## uni.setAppTheme(options) @setapptheme","description":"设置应用主题","compatibility":"### setAppTheme 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.18 | 4.18 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **SetAppThemeOptions** | 是 | - | | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| theme | string | 是 | - | | 主题 |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| light | - | - |\n@@| dark | - | - |\n@@| auto | - | - |\n@| success | (result: [SetAppThemeSuccessResult](#setappthemesuccessresult-values)) => void | 否 | null | | 接口调用成功的回调函数 |\n@| fail | (result: [IAppThemeFail](#iappthemefail-values)) => void | 否 | null | | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### SetAppThemeSuccessResult 的属性值 @setappthemesuccessresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| theme | string | 是 | - | - | - |\n\n#### IAppThemeFail 的属性值 @iappthemefail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | | 错误码
- 702001 参数错误
- 2002000 未知错误 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 702001 | - | - |\n@| 2002000 | - | - |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.ui.themeChange.setAppTheme)"},"onOsThemeChange":{"name":"## uni.onOsThemeChange(callback) @onosthemechange","description":"开启监听系统主题变化","compatibility":"### onOsThemeChange 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.18 | 4.18 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (res: [OsThemeChangeResult](#osthemechangeresult-values)) => void | 是 | - | - | - | \n\n### OsThemeChangeResult 的属性值 @osthemechangeresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| osTheme | string | 是 | - | | 系统主题 |\n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| number |\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.ui.themeChange.onOsThemeChange)"},"offOsThemeChange":{"name":"## uni.offOsThemeChange(id) @offosthemechange","description":"取消监听系统主题变化","compatibility":"### offOsThemeChange 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.18 | 4.18 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| id | number | 是 | - | - | - | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.ui.themeChange.offOsThemeChange)"},"onAppThemeChange":{"name":"## uni.onAppThemeChange(callback) @onappthemechange","description":"开启监听应用主题变化","compatibility":"### onAppThemeChange 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.18 | 4.18 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (res: [AppThemeChangeResult](#appthemechangeresult-values)) => void | 是 | - | - | - | \n\n### AppThemeChangeResult 的属性值 @appthemechangeresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| appTheme | string | 是 | - | | 应用主题 |\n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| number |\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.ui.themeChange.onAppThemeChange)"},"offAppThemeChange":{"name":"## uni.offAppThemeChange(id) @offappthemechange","description":"取消监听应用主题变化","compatibility":"### offAppThemeChange 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.18 | 4.18 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| id | number | 是 | - | - | - | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.ui.themeChange.offAppThemeChange)"},"themeChange":{"example":"## 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/theme-change/theme-change.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/theme-change/theme-change\n```uvue\n\r\n\r\n\r\n\r\n\n\n```\n:::"},"getLocale":{"name":"## uni.getLocale() @getlocale","description":"获取当前设置的语言\n","compatibility":"### getLocale 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","param":"","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| string |\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.ui.locale.getLocale)\n - [参见uni-app相关文档](https://uniapp.dcloud.io/api/ui/locale.html#getlocale)"},"setLocale":{"name":"## uni.setLocale(locale) @setlocale","description":"设置当前语言\n","compatibility":"### setLocale 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| locale | string | 是 | - | - | - | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.ui.locale.setLocale)\n - [参见uni-app相关文档](https://uniapp.dcloud.io/api/ui/locale.html#setlocale)"},"onLocaleChange":{"name":"## uni.onLocaleChange(callback) @onlocalechange","description":"设置当前语言\n","compatibility":"### onLocaleChange 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [OnLocaleChangeCallbackResult](#onlocalechangecallbackresult-values)) => void | 是 | - | - | - | \n\n### OnLocaleChangeCallbackResult 的属性值 @onlocalechangecallbackresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| locale | string | 否 | - | - | 当前语言 |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.ui.locale.onLocaleChange)\n - [参见uni-app相关文档](https://uniapp.dcloud.io/api/ui/locale.html#onlocalechange)"},"request":{"name":"## uni.request(param) @request","description":"发起网络请求。","compatibility":"### request 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| param | [RequestOptions\\](#requestoptions-values) | 是 | - | - | 网络请求参数 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| url | string | 是 | - | | 开发者服务器接口地址
|\n@| data | any | 否 | null | | 请求的参数 在`app-android端,参数类型只能为`UTSJSONObject`或者`string`类型 |\n@| header | UTSJSONObject | 否 | null | | 设置请求的 header,header 中不能设置 Referer |\n@| method | string | 否 | \"GET\" | | 请求方法 |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| GET | - | GET方法请求一个指定资源的表示形式,使用 GET 的请求应该只被用于获取数据。 |\n@@| POST | - | POST方法用于将实体提交到指定的资源,通常导致在服务器上的状态变化或副作用。 |\n@@| PUT | - | PUT方法用有效载荷请求替换目标资源的所有当前表示。 |\n@@| PATCH | - | PATCH方法用于对资源应用部分修改。 |\n@@| DELETE | - | DELETE方法删除指定的资源。 |\n@@| HEAD | - | HEAD方法请求一个与GET请求的响应相同的响应,但没有响应体。 |\n@@| OPTIONS | - | OPTIONS 方法用于描述目标资源的通信选项。 |\n@| timeout | number | 否 | 60000 | | 超时时间,单位 ms |\n@| withCredentials | boolean | 否 | - | | 跨域请求时是否携带凭证(cookies)
|\n@| firstIpv4 | boolean | 否 | false | | DNS解析时优先使用ipv4 |\n@| success | (option: [RequestSuccess\\](#requestsuccess-values)) => void | 否 | null | - | 网络请求成功回调。 |\n@| fail | (option: [RequestFail](#requestfail-values)) => void | 否 | null | - | 网络请求失败回调。 |\n@| complete | (option: any) => void | 否 | null | - | 网络请求完成回调,成功或者失败都会调用。 | \n\n#### RequestSuccess\\ 的属性值 @requestsuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| data | T | 否 | - | | 开发者服务器返回的数据 |\n| statusCode | number | 是 | - | | 开发者服务器返回的 HTTP 状态码 |\n| header | any | 是 | - | | 开发者服务器返回的 HTTP Response Header |\n| cookies | Array\\ | 是 | - | | 开发者服务器返回的 cookies,格式为字符串数组 |\n\n#### RequestFail 的属性值 @requestfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 5 | - | 接口超时 |\n@| 1000 | - | 服务端系统错误 |\n@| 100001 | - | json数据解析错误 |\n@| 100002 | - | 错误信息json解析失败 |\n@| 600003 | - | 网络中断 |\n@| 600008 | - | data参数类型不合法 |\n@| 600009 | - | URL格式不合法 |\n@| 602001 | - | request系统错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| [RequestTask](#requesttask-values) |\n\n#### RequestTask 的方法 @requesttask-values \n\n#### abort(): void @abort\n中断网络请求。\n##### abort 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n\n\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.network.request)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/request/request.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=request&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=request&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=request&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=request&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=request&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=request)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=request&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/request/request.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/request/request\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/request/request\n\n>Template\n```vue\n\r\n\r\n\n```\n\n>Script\n```uts\n\r\n // #ifdef APP\r\n import {\r\n testInovkeRequest,\r\n CommonOptions\r\n } from '@/uni_modules/test-invoke-network-api'\r\n // #endif\r\n\r\n class GETDataType {\r\n data : UTSJSONObject | null = null\r\n }\r\n\r\n const duration = 2000\r\n const methodMap = {\r\n \"GET\": \"/api/http/method/get\",\r\n \"POST\": \"/api/http/method/post\",\r\n \"PUT\": \"/api/http/method/put\",\r\n \"DELETE\": \"/api/http/method/delete\",\r\n \"PATCH\": \"/api/http/method/patch\",\r\n \"OPTIONS\": \"/api/http/method/options\",\r\n \"HEAD\": \"/api/http/method/head\"\r\n }\r\n\r\n\r\n export default {\r\n data() {\r\n return {\r\n title: 'request',\r\n res: '',\r\n task: null as RequestTask | null,\r\n host: \"https://request.dcloud.net.cn\",\r\n url: \"/api/http/method/get\",\r\n method: \"GET\" as RequestMethod | null,\r\n data: null as any | null,\r\n header: null as UTSJSONObject | null,\r\n errorCodeUrls: [\r\n \"/api/http/statusCode/200\",\r\n \"/api/http/statusCode/204\",\r\n \"/api/http/statusCode/301\",\r\n \"/api/http/statusCode/302\",\r\n \"/api/http/statusCode/307\",\r\n \"/api/http/statusCode/400\",\r\n \"/api/http/statusCode/401\",\r\n \"/api/http/statusCode/403\",\r\n \"/api/http/statusCode/404\",\r\n \"/api/http/statusCode/405\",\r\n \"/api/http/statusCode/500\",\r\n \"/api/http/statusCode/502\",\r\n \"/api/http/statusCode/503\",\r\n \"/api/http/statusCode/504\",\r\n ],\r\n headerUrls: [\r\n \"/api/http/header/ua\",\r\n \"/api/http/header/referer\",\r\n \"/api/http/header/requestCookie\",\r\n \"/api/http/header/setCookie\",\r\n \"/api/http/header/deleteCookie\"\r\n ],\r\n contentTypeUrls: [\r\n \"/api/http/contentType/text/plain\",\r\n \"/api/http/contentType/text/html\",\r\n \"/api/http/contentType/text/xml\",\r\n \"/api/http/contentType/image/gif\",\r\n \"/api/http/contentType/image/jpeg\",\r\n \"/api/http/contentType/image/png\",\r\n \"/api/http/contentType/application/json\",\r\n \"/api/http/contentType/application/octetStream\",\r\n ],\r\n postUrls: [\r\n \"/api/http/contentType/json\",\r\n \"/api/http/contentType/xWwwFormUrlencoded\",\r\n ],\r\n //自动化测试例专用\r\n jest_result: false,\r\n jest_result_data: \"\"\r\n }\r\n },\r\n onLoad() {\r\n },\r\n onUnload() {\r\n uni.hideLoading();\r\n this.task?.abort();\r\n },\r\n methods: {\r\n changeMethod(e : RequestMethod) {\r\n this.method = e;\r\n this.url = methodMap[e] as string;\r\n this.data = null;\r\n this.header = null;\r\n },\r\n changeUrl(e : string) {\r\n this.method = \"GET\";\r\n this.url = e;\r\n this.data = null;\r\n this.header = null;\r\n },\r\n changeUrlFromPost(e : string) {\r\n this.method = \"POST\";\r\n this.url = e;\r\n switch (e) {\r\n case \"/api/http/contentType/json\":\r\n this.header = {\r\n \"Content-Type\": \"application/json\"\r\n };\r\n this.data = {\r\n \"hello\": \"world\"\r\n };\r\n break;\r\n case \"/api/http/contentType/xWwwFormUrlencoded\":\r\n this.header = {\r\n \"Content-Type\": \"application/x-www-form-urlencoded\"\r\n };\r\n this.data = \"hello=world\";\r\n break;\r\n }\r\n },\r\n sendRequest() {\r\n uni.showLoading({\r\n title: \"请求中...\"\r\n })\r\n this.task = uni.request({\r\n url: this.host + this.url,\r\n // dataType: \"json\",\r\n // responseType: \"json\",\r\n method: this.method,\r\n data: this.data,\r\n header: this.header,\r\n timeout: 6000,\r\n sslVerify: false,\r\n withCredentials: false,\r\n firstIpv4: false,\r\n success: (res) => {\r\n console.log('request success', JSON.stringify(res.data))\r\n console.log('request success header is :', JSON.stringify(res.header))\r\n uni.showToast({\r\n title: '请求成功',\r\n icon: 'success',\r\n mask: true,\r\n duration: duration\r\n });\r\n this.res = '请求结果 : ' + JSON.stringify(res);\r\n },\r\n fail: (err) => {\r\n console.log('request fail', err);\r\n uni.showModal({\r\n content: err.errMsg,\r\n showCancel: false\r\n });\r\n },\r\n complete: () => {\r\n uni.hideLoading()\r\n this.task = null\r\n },\r\n });\r\n },\r\n //自动化测试例专用\r\n jest_request() {\r\n uni.request({\r\n url: this.host + this.url,\r\n // dataType: \"json\",\r\n // responseType: \"json\",\r\n method: this.method,\r\n data: this.data,\r\n header: this.header,\r\n timeout: 6000,\r\n sslVerify: false,\r\n withCredentials: false,\r\n firstIpv4: false,\r\n success: () => {\r\n this.jest_result = true;\r\n },\r\n fail: () => {\r\n this.jest_result = false;\r\n },\r\n });\r\n },\r\n jest_set_cookie() {\r\n uni.request({\r\n url: this.host + \"/api/http/header/setCookie\",\r\n method: \"GET\",\r\n timeout: 6000,\r\n sslVerify: false,\r\n withCredentials: false,\r\n firstIpv4: false,\r\n success: () => {\r\n this.jest_cookie_request(true)\r\n },\r\n fail: () => {\r\n this.jest_result = false;\r\n },\r\n });\r\n },\r\n jest_set_cookie_expires() {\r\n uni.request({\r\n url: this.host + \"/api/http/header/setCookie?expires=5\",\r\n method: \"GET\",\r\n timeout: 6000,\r\n sslVerify: false,\r\n withCredentials: false,\r\n firstIpv4: false,\r\n success: () => {\r\n this.jest_cookie_request(true)\r\n },\r\n fail: () => {\r\n this.jest_result = false;\r\n },\r\n });\r\n },\r\n jest_delete_cookie() {\r\n uni.request({\r\n url: this.host + \"/api/http/header/deleteCookie\",\r\n method: \"GET\",\r\n timeout: 6000,\r\n sslVerify: false,\r\n withCredentials: false,\r\n firstIpv4: false,\r\n success: () => {\r\n this.jest_cookie_request(false)\r\n },\r\n fail: () => {\r\n this.jest_result = false;\r\n },\r\n });\r\n },\r\n jest_cookie_request(needCookie : boolean) {\r\n uni.request({\r\n url: this.host + \"/api/http/header/requestCookie\",\r\n method: \"GET\",\r\n timeout: 6000,\r\n sslVerify: false,\r\n withCredentials: false,\r\n firstIpv4: false,\r\n success: (res) => {\r\n const requestCookie = (res.data as UTSJSONObject).getJSON(\"data\")?.getAny(\"requestCookie\")\r\n this.jest_result_data = JSON.stringify(requestCookie)\r\n if (requestCookie instanceof Array) {\r\n this.jest_result = needCookie ? requestCookie.length > 0 : requestCookie.length == 0\r\n } else {\r\n this.jest_result = needCookie ? (requestCookie as UTSJSONObject).toMap().size > 0 : (requestCookie as UTSJSONObject).toMap().size == 0\r\n }\r\n },\r\n fail: () => {\r\n this.jest_result = false;\r\n },\r\n });\r\n },\r\n jest_timeout_null() {\r\n uni.request({\r\n url: this.host + (methodMap['GET'] as string),\r\n method: \"GET\",\r\n timeout: null,\r\n sslVerify: false,\r\n withCredentials: false,\r\n firstIpv4: false,\r\n success: () => {\r\n this.jest_result = true;\r\n },\r\n fail: () => {\r\n this.jest_result = false;\r\n },\r\n });\r\n },\r\n jest_get_with_data() {\r\n uni.request({\r\n url: \"https://unidemo.dcloud.net.cn/api/banner/36kr\",\r\n method: \"GET\",\r\n data: {\r\n column: 'id,post_id,title,author_name,cover,published_at' //需要的字段名\r\n },\r\n timeout: 6000,\r\n sslVerify: false,\r\n withCredentials: false,\r\n firstIpv4: false,\r\n success: () => {\r\n this.jest_result = true;\r\n },\r\n fail: () => {\r\n this.jest_result = false;\r\n },\r\n });\r\n },\r\n jest_get_with_generics() {\r\n uni.request({\r\n url: this.host + (methodMap['GET'] as string),\r\n method: \"GET\",\r\n timeout: null,\r\n sslVerify: false,\r\n withCredentials: false,\r\n firstIpv4: false,\r\n success: (res : RequestSuccess) => {\r\n this.jest_result = true;\r\n },\r\n fail: () => {\r\n this.jest_result = false;\r\n },\r\n });\r\n },\r\n jest_get_array() {\r\n uni.request({\r\n url: 'https://unidemo.dcloud.net.cn/api/news?column=title,author_name,cover,published_at',\r\n method: \"GET\",\r\n success: (res : RequestSuccess) => {\r\n if (res.statusCode == 200 && Array.isArray(res.data)) {\r\n this.jest_result = true\r\n } else {\r\n this.jest_result = false\r\n }\r\n },\r\n fail: () => {\r\n this.jest_result = false\r\n }\r\n });\r\n },\r\n jest_uts_module_invoked() {\r\n // #ifdef APP\r\n testInovkeRequest({\r\n success: (res : any) => {\r\n this.jest_result = true\r\n },\r\n fail: (err : any) => {\r\n this.jest_result = false\r\n }\r\n } as CommonOptions)\r\n // #endif\r\n },\r\n jest_respone_json_string() {\r\n uni.request({\r\n url: \"https://request.dcloud.net.cn/api/http/contentType/text/json\",\r\n success: (res : RequestSuccess) => {\r\n this.jest_result = typeof res.data == \"object\"\r\n },\r\n fail: (e : RequestFail) => {\r\n this.jest_result = false\r\n }\r\n })\r\n },\r\n jest_respone_with_string_generics() {\r\n uni.request({\r\n url: this.host + (methodMap['GET'] as string),\r\n method: \"GET\",\r\n timeout: null,\r\n sslVerify: false,\r\n withCredentials: false,\r\n firstIpv4: false,\r\n success: (res : RequestSuccess) => {\r\n this.jest_result = true;\r\n },\r\n fail: () => {\r\n this.jest_result = false;\r\n },\r\n });\r\n }\r\n }\r\n }\r\n\n```\n\n:::"},"uploadFile":{"name":"## uni.uploadFile(options) @uploadfile","description":"将本地资源上传到开发者服务器。","compatibility":"### uploadFile 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **UploadFileOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| url | string | 是 | - | | 开发者服务器 url |\n@| filePath | string | 否 | null | | 要上传文件资源的路径, 支持uni.env |\n@| name | string | 否 | null | | 文件对应的 key , 开发者在服务器端通过这个 key 可以获取到文件二进制内容 |\n@| files | Array\\<**UploadFileOptionFiles**\\> | 否 | null | | 需要上传的文件列表。 |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| name | string | 否 | \"file\" | | multipart 提交时,表单的项目名,默认为 file,如果 name 不填或填的值相同,可能导致服务端读取文件时只能读取到一个文件。 |\n@@| uri | string | 是 | - | | 要上传文件资源的路径 |\n@@| file | any | 否 | - | | 要上传的文件对象 |\n@| header | UTSJSONObject | 否 | null | | HTTP 请求 Header, header 中不能设置 Referer |\n@| formData | UTSJSONObject | 否 | null | | HTTP 请求中其他额外的 form data |\n@| timeout | number | 否 | 120000 | | 超时时间,单位 ms |\n@| success | (result: [UploadFileSuccess](#uploadfilesuccess-values)) => void | 否 | null | - | 成功返回的回调函数 |\n@| fail | (result: [UploadFileFail](#uploadfilefail-values)) => void | 否 | null | - | 失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | - | 结束的回调函数(调用成功、失败都会执行) | \n\n#### UploadFileSuccess 的属性值 @uploadfilesuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| data | string | 是 | - | | 开发者服务器返回的数据 |\n| statusCode | number | 是 | - | | 开发者服务器返回的 HTTP 状态码 |\n\n#### UploadFileFail 的属性值 @uploadfilefail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 5 | - | 接口超时 |\n@| 1000 | - | 服务端系统错误 |\n@| 100001 | - | json数据解析错误 |\n@| 100002 | - | 错误信息json解析失败 |\n@| 600003 | - | 网络中断 |\n@| 600008 | - | data参数类型不合法 |\n@| 600009 | - | URL格式不合法 |\n@| 602001 | - | request系统错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| [UploadTask](#uploadtask-values) |\n\n#### UploadTask 的方法 @uploadtask-values \n\n#### abort(): void, @abort\n中断上传任务。\n##### abort 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n\n\n\n#### onProgressUpdate(callback: UploadFileProgressUpdateCallback): void, @onprogressupdate\n监听上传进度变化。\n##### onProgressUpdate 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [OnProgressUpdateResult](#onprogressupdateresult-values)) => void | 是 | - | - | - | \n\n##### OnProgressUpdateResult 的属性值 @onprogressupdateresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| progress | number | 是 | - | | 上传进度百分比 |\n| totalBytesSent | number | 是 | - | | 已经上传的数据长度,单位 Bytes |\n| totalBytesExpectedToSend | number | 是 | - | | 预期需要上传的数据总长度,单位 Bytes |\n\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.network.uploadFile)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/request/network-file.html#uploadfile)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=uploadFile&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=uploadFile&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=uploadFile&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=uploadFile&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=uploadFile&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=uploadFile)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=uploadFile&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/upload-file/upload-file.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/upload-file/upload-file\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/upload-file/upload-file\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\n```\n\n>Script\n```uts\n\r\n // #ifdef APP\r\n import {\r\n testInovkeUploadFile,\r\n CommonOptions\r\n } from '@/uni_modules/test-invoke-network-api'\r\n // #endif\r\n\r\n export default {\r\n data() {\r\n return {\r\n title: 'uploadFile',\r\n imageSrc: '',\r\n task: null as UploadTask | null,\r\n //自动化测试例专用\r\n jest_result: false,\r\n }\r\n },\r\n onLoad() {\r\n },\r\n onUnload() {\r\n this.imageSrc = '';\r\n uni.hideLoading();\r\n this.task?.abort();\r\n },\r\n methods: {\r\n chooseImage: function () {\r\n uni.chooseImage({\r\n count: 1,\r\n sizeType: ['compressed'],\r\n sourceType: ['album'],\r\n success: (res) => {\r\n console.log('chooseImage success, temp path is', res.tempFilePaths[0])\r\n var imageSrc = res.tempFilePaths[0]\r\n uni.showLoading({\r\n title: '上传中'\r\n })\r\n this.task = uni.uploadFile({\r\n url: 'https://unidemo.dcloud.net.cn/upload', //仅为示例,非真实的接口地址\r\n filePath: imageSrc,\r\n name: 'file',\r\n formData: {\r\n 'user': 'test'\r\n },\r\n success: (res) => {\r\n console.log('uploadImage success, res is:', res)\r\n uni.showToast({\r\n title: '上传成功',\r\n icon: 'success',\r\n duration: 1000\r\n })\r\n this.imageSrc = imageSrc\r\n },\r\n fail: (err) => {\r\n console.log('uploadImage fail', err);\r\n uni.showModal({\r\n content: err.errMsg,\r\n showCancel: false\r\n });\r\n },\r\n complete: (res) => {\r\n uni.hideLoading();\r\n this.task = null\r\n }\r\n });\r\n },\r\n fail: (err) => {\r\n console.log('chooseImage fail', err)\r\n }\r\n })\r\n },\r\n //自动化测试例专用\r\n jest_uploadFile() {\r\n const imageSrc = \"/static/uni.png\";\r\n uni.uploadFile({\r\n url: 'https://unidemo.dcloud.net.cn/upload', //仅为示例,非真实的接口地址\r\n filePath: imageSrc,\r\n name: 'file',\r\n formData: {\r\n 'user': 'test'\r\n },\r\n success: () => {\r\n this.jest_result = true;\r\n },\r\n fail: () => {\r\n this.jest_result = false;\r\n },\r\n })\r\n },\r\n jest_uploadFile_with_uni_env() {\r\n const filePath = `${uni.env.CACHE_PATH}/download/uni-app.png`\r\n uni.downloadFile({\r\n url: \"https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/uni-app.png\",\r\n filePath: filePath,\r\n success: () => {\r\n uni.uploadFile({\r\n url: 'https://unidemo.dcloud.net.cn/upload', //仅为示例,非真实的接口地址\r\n filePath: filePath,\r\n name: 'file',\r\n success: () => {\r\n this.jest_result = true;\r\n },\r\n fail: () => {\r\n this.jest_result = false;\r\n },\r\n })\r\n },\r\n fail: () => {\r\n this.jest_result = false\r\n }\r\n });\r\n },\r\n jest_set_cookie() {\r\n uni.request({\r\n url: \"https://request.dcloud.net.cn/api/http/header/setCookie\",\r\n method: \"GET\",\r\n timeout: 6000,\r\n sslVerify: false,\r\n withCredentials: false,\r\n firstIpv4: false,\r\n success: () => {\r\n this.jest_cookie_upload(true)\r\n },\r\n fail: () => {\r\n this.jest_result = false;\r\n },\r\n });\r\n },\r\n\r\n jest_delete_cookie() {\r\n uni.request({\r\n url: \"https://request.dcloud.net.cn/api/http/header/deleteCookie\",\r\n method: \"GET\",\r\n timeout: 6000,\r\n sslVerify: false,\r\n withCredentials: false,\r\n firstIpv4: false,\r\n success: () => {\r\n this.jest_cookie_upload(false)\r\n },\r\n fail: () => {\r\n this.jest_result = false;\r\n },\r\n });\r\n },\r\n jest_cookie_upload(needCookie : boolean) {\r\n const imageSrc = \"/static/uni.png\";\r\n uni.uploadFile({\r\n url: 'https://request.dcloud.net.cn/api/http/header/upload',\r\n filePath: imageSrc,\r\n name: 'file',\r\n success: (res : UploadFileSuccess) => {\r\n const data = JSON.parseObject(res.data)\r\n const errCode = data?.getNumber(\"errCode\")\r\n if (errCode != null && errCode == 1000) {\r\n this.jest_result = needCookie ? false : true;\r\n } else {\r\n this.jest_result = needCookie ? true : false;\r\n }\r\n },\r\n fail: () => {\r\n this.jest_result = false;\r\n },\r\n })\r\n },\r\n jest_files_upload() {\r\n const imageSrc = \"/static/uni.png\";\r\n uni.uploadFile({\r\n url: 'https://unidemo.dcloud.net.cn/upload',\r\n files: [\r\n {\r\n name: \"file1\",\r\n uri: imageSrc\r\n } as UploadFileOptionFiles,\r\n {\r\n name: \"file2\",\r\n uri: imageSrc\r\n } as UploadFileOptionFiles\r\n ],\r\n success: (res : UploadFileSuccess) => {\r\n if (res.statusCode == 200) {\r\n this.jest_result = true;\r\n }\r\n },\r\n fail: () => {\r\n this.jest_result = false;\r\n },\r\n })\r\n },\r\n jest_uts_module_invoked() {\r\n // #ifdef APP\r\n testInovkeUploadFile({\r\n success: (res : any) => {\r\n this.jest_result = true\r\n },\r\n fail: (err : any) => {\r\n this.jest_result = false\r\n }\r\n } as CommonOptions)\r\n // #endif\r\n }\r\n }\r\n }\r\n\n```\n\n:::"},"downloadFile":{"name":"## uni.downloadFile(options) @downloadfile","description":"下载文件资源到本地,客户端直接发起一个 HTTP GET 请求,返回文件的本地临时路径。","compatibility":"### downloadFile 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **DownloadFileOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| url | string | 是 | - | | 下载资源的 url |\n@| header | UTSJSONObject | 否 | null | | HTTP 请求 Header,header 中不能设置 Referer |\n@| filePath | string | 否 | null | | 指定文件下载路径
支持相对路径与绝对路径,例:
`/imgs/pic.png`、`/storage/emulated/0/Android/data/io.dcloud.HBuilder/apps/HBuilder/temp/imgs/pic.png`
并且支持指定下载目录,例:
`/imgs/`
支持uni.env的平台兼容性:Android自3.9开始支持uni.env,iOS自4.13开始支持uni.env |\n@| timeout | number | 否 | 120000 | | 超时时间,单位 ms |\n@| success | (result: [DownloadFileSuccess](#downloadfilesuccess-values)) => void | 否 | null | - | 下载成功后以 tempFilePath 的形式传给页面,res = {tempFilePath: '文件的临时路径'} |\n@| fail | (result: [DownloadFileFail](#downloadfilefail-values)) => void | 否 | null | - | 失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | - | 结束的回调函数(调用成功、失败都会执行) | \n\n#### DownloadFileSuccess 的属性值 @downloadfilesuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| tempFilePath | string | 是 | - | | 临时文件路径,下载后的文件会存储到一个临时文件 |\n| statusCode | number | 是 | - | | 开发者服务器返回的 HTTP 状态码 |\n\n#### DownloadFileFail 的属性值 @downloadfilefail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 5 | - | 接口超时 |\n@| 1000 | - | 服务端系统错误 |\n@| 100001 | - | json数据解析错误 |\n@| 100002 | - | 错误信息json解析失败 |\n@| 600003 | - | 网络中断 |\n@| 600008 | - | data参数类型不合法 |\n@| 600009 | - | URL格式不合法 |\n@| 602001 | - | request系统错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| [DownloadTask](#downloadtask-values) |\n\n#### DownloadTask 的方法 @downloadtask-values \n\n#### abort(): void, @abort\n中断下载任务\n##### abort 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n\n\n\n#### onProgressUpdate(callback: DownloadFileProgressUpdateCallback): void, @onprogressupdate\n监听下载进度变化。\n##### onProgressUpdate 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [OnProgressDownloadResult](#onprogressdownloadresult-values)) => void | 是 | - | - | - | \n\n##### OnProgressDownloadResult 的属性值 @onprogressdownloadresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| progress | number | 是 | - | | 下载进度百分比 |\n| totalBytesWritten | number | 是 | - | | 已经下载的数据长度,单位 Bytes |\n| totalBytesExpectedToWrite | number | 是 | - | | 预期需要下载的数据总长度,单位 Bytes |\n\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.network.downloadFile)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/request/network-file.html#downloadfile)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=downloadFile&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=downloadFile&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=downloadFile&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=downloadFile&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=downloadFile&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=downloadFile)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=downloadFile&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/download-file/download-file.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/download-file/download-file\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/download-file/download-file\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\n```\n\n>Script\n```uts\n\r\n // #ifdef APP\r\n import {\r\n testInovkeDownloadFile,\r\n CommonOptions\r\n } from '@/uni_modules/test-invoke-network-api'\r\n // #endif\r\n\r\n export default {\r\n data() {\r\n return {\r\n title: 'downloadFile',\r\n imageSrc: '',\r\n task: null as DownloadTask | null,\r\n //自动化测试例专用\r\n jest_result: false\r\n }\r\n },\r\n onLoad() {\r\n },\r\n onUnload() {\r\n // this.imageSrc = '';\r\n uni.hideLoading();\r\n this.task?.abort();\r\n },\r\n methods: {\r\n downloadImage: function () {\r\n uni.showLoading({\r\n title: '下载中'\r\n })\r\n var self = this\r\n this.task = uni.downloadFile({\r\n url: \"https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/uni-app.png\",\r\n success: (res) => {\r\n console.log('downloadFile success, res is', res.tempFilePath)\r\n self.imageSrc = res.tempFilePath;\r\n },\r\n fail: (err) => {\r\n console.log('downloadFile fail, err is:', err)\r\n },\r\n complete: (res) => {\r\n uni.hideLoading();\r\n this.task = null;\r\n }\r\n });\r\n this.task?.onProgressUpdate((update) => {\r\n console.log(\"progress : \", update.progress);\r\n })\r\n },\n downloadErrorFilename(){\n uni.downloadFile({\n url:\"https://qiniu-web-assets.dcloud.net.cn/uni-app-x/static/file/test9.txt\",\n success: (res) => {\n console.log('downloadFile success, res is', res.tempFilePath)\n },\n fail: (err) => {\n console.log('downloadFile fail, err is:', err)\n }\n })\n },\r\n //自动化测试例专用\r\n jest_downloadFile() {\r\n uni.downloadFile({\r\n url: \"https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/uni-app.png\",\r\n success: () => {\r\n this.jest_result = true\r\n },\r\n fail: () => {\r\n this.jest_result = false\r\n }\r\n });\r\n },\r\n\r\n jest_downloadFile_with_uni_env() {\r\n uni.downloadFile({\r\n url: \"https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/uni-app.png\",\r\n filePath: `${uni.env.CACHE_PATH}/a/b/`,\r\n success: () => {\r\n this.jest_result = true\r\n },\r\n fail: () => {\r\n this.jest_result = false\r\n }\r\n });\r\n },\r\n\r\n jest_set_cookie() {\r\n uni.request({\r\n url: \"https://request.dcloud.net.cn/api/http/header/setCookie\",\r\n method: \"GET\",\r\n timeout: 6000,\r\n sslVerify: false,\r\n withCredentials: true,\r\n firstIpv4: false,\r\n success: () => {\r\n this.jest_cookie_download(true)\r\n },\r\n fail: () => {\r\n this.jest_result = false;\r\n },\r\n });\r\n },\r\n\r\n jest_delete_cookie() {\r\n uni.request({\r\n url: \"https://request.dcloud.net.cn/api/http/header/deleteCookie\",\r\n method: \"GET\",\r\n timeout: 6000,\r\n sslVerify: false,\r\n withCredentials: true,\r\n firstIpv4: false,\r\n success: () => {\r\n this.jest_cookie_download(false)\r\n },\r\n fail: () => {\r\n this.jest_result = false;\r\n },\r\n });\r\n },\r\n jest_cookie_download(needCookie : boolean) {\r\n uni.downloadFile({\r\n url: \"https://request.dcloud.net.cn/api/http/header/download\",\r\n success: () => {\r\n this.jest_result = needCookie ? true : false;\r\n },\r\n fail: () => {\r\n this.jest_result = needCookie ? false : true;\r\n }\r\n });\r\n },\r\n jest_uts_module_invoked() {\r\n // #ifdef APP\r\n testInovkeDownloadFile({\r\n success: (res : any) => {\r\n this.jest_result = true\r\n },\r\n fail: (err : any) => {\r\n this.jest_result = false\r\n }\r\n } as CommonOptions)\r\n // #endif\r\n },\r\n jest_special_characters_download() {\r\n uni.downloadFile({\r\n url: \"https://web-ext-storage.dcloud.net.cn/hello-uni-app-x/1789834995055525889-你好%23你好.png\",\r\n success: (res : DownloadFileSuccess) => {\r\n this.jest_result = true;\r\n },\r\n fail: () => {\r\n this.jest_result = false;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\n```\n\n:::"},"getNetworkType":{"name":"## uni.getNetworkType(options) @getnetworktype","description":"获取网络类型","compatibility":"### getNetworkType 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **GetNetworkTypeOptions** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (result: [GetNetworkTypeSuccess](#getnetworktypesuccess-values)) => void | 否 | null | - | 接口调用成功的回调函数 |\n@| fail | (result: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | null | - | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### GetNetworkTypeSuccess 的属性值 @getnetworktypesuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| networkType | string | 是 | - | - | 网络类型 |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.network.getNetworkType)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/network.html#getnetworktype)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getNetworkType&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getNetworkType&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getNetworkType&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getNetworkType&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getNetworkType&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getNetworkType)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getNetworkType&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/get-network-type/get-network-type.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/get-network-type/get-network-type\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/get-network-type/get-network-type\n\n>Template\n```vue\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n title: 'getNetworkType',\r\n hasNetworkType: false,\r\n networkType: '',\r\n connectedWifi: '',\r\n //自动化测试例专用\r\n jest_result: false,\r\n }\r\n },\r\n onLoad() {\r\n },\r\n onUnload: function () {\r\n this.networkType = '';\r\n this.hasNetworkType = false;\r\n },\r\n methods: {\r\n getNetworkType: function () {\r\n uni.getNetworkType({\r\n success: (res) => {\r\n console.log(res)\r\n this.hasNetworkType = true;\r\n this.networkType = res.networkType\r\n },\r\n fail: () => {\r\n uni.showModal({\r\n content: '获取失败!',\r\n showCancel: false\r\n })\r\n }\r\n })\r\n },\r\n clear: function () {\r\n this.hasNetworkType = false;\r\n this.networkType = '';\r\n this.connectedWifi = '';\r\n },\r\n //自动化测试例专用\r\n jest_getNetworkType() {\r\n uni.getNetworkType({\r\n success: () => {\r\n this.jest_result = true;\r\n },\r\n fail: () => {\r\n this.jest_result = false;\r\n }\r\n })\r\n }\r\n }\r\n }\r\n\n```\n\n:::"},"connectSocket":{"name":"## uni.connectSocket(options) @connectsocket","description":"创建一个 WebSocket 连接。","compatibility":"### connectSocket 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **ConnectSocketOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| url | string | 是 | - | | 开发者服务器接口地址 |\n@| header | UTSJSONObject | 否 | null | | HTTP 请求 Header,header 中不能设置 Referer |\n@| protocols | Array\\ | 否 | null | | 子协议数组 |\n@| success | (result: [ConnectSocketSuccess](#connectsocketsuccess-values)) => void | 否 | null | - | 接口调用成功的回调函数 |\n@| fail | (result: [ConnectSocketFail](#connectsocketfail-values)) => void | 否 | null | - | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### ConnectSocketSuccess 的属性值 @connectsocketsuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n\n#### ConnectSocketFail 的属性值 @connectsocketfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码
- 600009 URL格式不合法 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| [SocketTask](#sockettask-values) |\n\n#### SocketTask 的方法 @sockettask-values \n\n#### send(options: SendSocketMessageOptions): void; @send\n通过 WebSocket 连接发送数据\n##### send 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **SendSocketMessageOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| data | any | 是 | - | | 需要发送的内容 |\n@| success | (result: [GeneralCallbackResult](#generalcallbackresult-values)) => void | 否 | null | - | 接口调用成功的回调函数 |\n@| fail | (result: [SendSocketMessageFail](#sendsocketmessagefail-values)) => void | 否 | null | - | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n###### SendSocketMessageFail 的属性值 @sendsocketmessagefail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 10001 | - | 发送数据超限,发送队列不能超过16M大小。 |\n@| 10002 | - | websocket未连接 |\n@| 602001 | - | websocket系统错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n\n#### close(options: CloseSocketOptions): void; @close\n关闭 WebSocket 连接\n##### close 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **CloseSocketOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| code | number | 否 | 1000 | | 一个数字值表示关闭连接的状态号,表示连接被关闭的原因。如果这个参数没有被指定,默认的取值是1000 (表示正常连接关闭) |\n@| reason | string | 否 | \"\" | | 一个可读的字符串,表示连接被关闭的原因。这个字符串必须是不长于123字节的UTF-8 文本(不是字符) |\n@| success | (result: [GeneralCallbackResult](#generalcallbackresult-values)) => void | 否 | null | - | 接口调用成功的回调函数 |\n@| fail | (result: [GeneralCallbackResult](#generalcallbackresult-values)) => void | 否 | null | - | 接口调用失败的回调函数 |\n@| complete | (result: [GeneralCallbackResult](#generalcallbackresult-values)) => void | 否 | null | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n\n#### onOpen(callback: (result: OnSocketOpenCallbackResult) => void): void; @onopen\n监听 WebSocket 连接打开事件\n##### onOpen 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [OnSocketOpenCallbackResult](#onsocketopencallbackresult-values)) => void | 是 | - | - | - | \n\n##### OnSocketOpenCallbackResult 的属性值 @onsocketopencallbackresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| header | any | 是 | - | | 连接成功的 HTTP 响应 Header |\n\n\n#### onClose(callback: (result: any) => void): void; @onclose\n监听 WebSocket 连接关闭事件\n##### onClose 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### onError(callback: (result: GeneralCallbackResult) => void): void; @onerror\n监听 WebSocket 错误\n##### onError 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [GeneralCallbackResult](#generalcallbackresult-values)) => void | 是 | - | - | - | \n\n\n#### onMessage(callback: (result: OnSocketMessageCallbackResult) => void): void; @onmessage\n监听 WebSocket 接受到服务器的消息事件\n##### onMessage 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [OnSocketMessageCallbackResult](#onsocketmessagecallbackresult-values)) => void | 是 | - | - | - | \n\n##### OnSocketMessageCallbackResult 的属性值 @onsocketmessagecallbackresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| data | any | 是 | - | | 服务器返回的消息 |\n\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.network.websocket.connectSocket)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/request/websocket.html#connectsocket)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=connectSocket&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=connectSocket&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=connectSocket&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=connectSocket&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=connectSocket&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=connectSocket)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=connectSocket&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"onSocketOpen":{"name":"## uni.onSocketOpen(options) @onsocketopen","description":"监听WebSocket连接打开事件。","compatibility":"### onSocketOpen 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | (result: [OnSocketOpenCallbackResult](#onsocketopencallbackresult-values)) => void | 是 | - | - | - | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.network.websocket.onSocketOpen)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/request/websocket.html#onsocketopen)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=onSocketOpen&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=onSocketOpen&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=onSocketOpen&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=onSocketOpen&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=onSocketOpen&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=onSocketOpen)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=onSocketOpen&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"onSocketError":{"name":"## uni.onSocketError(callback) @onsocketerror","description":"监听WebSocket错误。","compatibility":"### onSocketError 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [OnSocketErrorCallbackResult](#onsocketerrorcallbackresult-values)) => void | 是 | - | - | - | \n\n### OnSocketErrorCallbackResult 的属性值 @onsocketerrorcallbackresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | 错误信息 |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.network.websocket.onSocketError)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/request/websocket.html#onsocketerror)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=onSocketError&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=onSocketError&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=onSocketError&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=onSocketError&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=onSocketError&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=onSocketError)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=onSocketError&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"sendSocketMessage":{"name":"## uni.sendSocketMessage(options) @sendsocketmessage","description":"通过 WebSocket 连接发送数据,需要先 uni.connectSocket,并在 uni.onSocketOpen 回调之后才能发送。","compatibility":"### sendSocketMessage 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **SendSocketMessageOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| data | any | 是 | - | | 需要发送的内容 |\n@| success | (result: [GeneralCallbackResult](#generalcallbackresult-values)) => void | 否 | null | - | 接口调用成功的回调函数 |\n@| fail | (result: [SendSocketMessageFail](#sendsocketmessagefail-values)) => void | 否 | null | - | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### SendSocketMessageFail 的属性值 @sendsocketmessagefail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 10001 | - | 发送数据超限,发送队列不能超过16M大小。 |\n@| 10002 | - | websocket未连接 |\n@| 602001 | - | websocket系统错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.network.websocket.sendSocketMessage)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/request/websocket.html#sendsocketmessage)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=sendSocketMessage&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=sendSocketMessage&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=sendSocketMessage&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=sendSocketMessage&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=sendSocketMessage&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=sendSocketMessage)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=sendSocketMessage&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"onSocketMessage":{"name":"## uni.onSocketMessage(callback) @onsocketmessage","description":"监听WebSocket接受到服务器的消息事件。","compatibility":"### onSocketMessage 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [OnSocketMessageCallbackResult](#onsocketmessagecallbackresult-values)) => void | 是 | - | - | - | \n\n### OnSocketMessageCallbackResult 的属性值 @onsocketmessagecallbackresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| data | any | 是 | - | | 服务器返回的消息 |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.network.websocket.onSocketMessage)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/request/websocket.html#onsocketmessage)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=onSocketMessage&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=onSocketMessage&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=onSocketMessage&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=onSocketMessage&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=onSocketMessage&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=onSocketMessage)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=onSocketMessage&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"closeSocket":{"name":"## uni.closeSocket(options) @closesocket","description":"关闭 WebSocket 连接。","compatibility":"### closeSocket 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **CloseSocketOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| code | number | 否 | 1000 | | 一个数字值表示关闭连接的状态号,表示连接被关闭的原因。如果这个参数没有被指定,默认的取值是1000 (表示正常连接关闭) |\n@| reason | string | 否 | \"\" | | 一个可读的字符串,表示连接被关闭的原因。这个字符串必须是不长于123字节的UTF-8 文本(不是字符) |\n@| success | (result: [GeneralCallbackResult](#generalcallbackresult-values)) => void | 否 | null | - | 接口调用成功的回调函数 |\n@| fail | (result: [GeneralCallbackResult](#generalcallbackresult-values)) => void | 否 | null | - | 接口调用失败的回调函数 |\n@| complete | (result: [GeneralCallbackResult](#generalcallbackresult-values)) => void | 否 | null | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.network.websocket.closeSocket)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/request/websocket.html#closesocket)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=closeSocket&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=closeSocket&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=closeSocket&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=closeSocket&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=closeSocket&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=closeSocket)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=closeSocket&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"onSocketClose":{"name":"## uni.onSocketClose(callback) @onsocketclose","description":"监听WebSocket关闭。","compatibility":"### onSocketClose 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [OnSocketCloseCallbackResult](#onsocketclosecallbackresult-values)) => void | 是 | - | - | - | \n\n### OnSocketCloseCallbackResult 的属性值 @onsocketclosecallbackresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| code | number | 是 | - | | 一个数字值表示关闭连接的状态号,表示连接被关闭的原因。 |\n| reason | string | 是 | - | | 一个可读的字符串,表示连接被关闭的原因。 |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.network.websocket.onSocketClose)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/request/websocket.html#onsocketclose)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=onSocketClose&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=onSocketClose&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=onSocketClose&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=onSocketClose&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=onSocketClose&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=onSocketClose)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=onSocketClose&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"websocket":{"example":"## 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/websocket/websocket.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/websocket/websocket\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/websocket/websocket\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n connected: false,\r\n connecting: false,\r\n msg: '',\r\n roomId: '',\r\n platform: '',\r\n }\r\n },\r\n computed: {\r\n showMsg() : string {\r\n if (this.connected) {\r\n if (this.msg.length > 0) {\r\n return '收到消息:' + this.msg\r\n } else {\r\n return '等待接收消息'\r\n }\r\n } else {\r\n return '尚未连接'\r\n }\r\n },\r\n },\r\n onLoad() {\r\n this.platform = uni.getSystemInfoSync().platform\r\n },\r\n onUnload() {\r\n uni.closeSocket({\r\n code: 1000,\r\n reason: 'close reason from client',\r\n success: (res : any) => {\r\n console.log('uni.closeSocket success', res)\r\n },\r\n fail: (err : any) => {\r\n console.log('uni.closeSocket fail', err)\r\n },\r\n } as CloseSocketOptions)\r\n uni.hideLoading()\r\n },\r\n methods: {\r\n connect() {\r\n if (this.connected || this.connecting) {\r\n uni.showModal({\r\n content: '正在连接或者已经连接,请勿重复连接',\r\n showCancel: false,\r\n })\r\n return\r\n }\r\n this.connecting = true\r\n uni.showLoading({\r\n title: '连接中...',\r\n })\r\n uni.connectSocket({\r\n url: 'ws://websocket.dcloud.net.cn',\r\n header: null,\r\n protocols: null,\r\n success: (res : any) => {\r\n // 这里是接口调用成功的回调,不是连接成功的回调,请注意\r\n console.log('uni.connectSocket success', res)\r\n },\r\n fail: (err : any) => {\r\n // 这里是接口调用失败的回调,不是连接失败的回调,请注意\r\n console.log('uni.connectSocket fail', err)\r\n },\r\n })\r\n uni.onSocketOpen((res) => {\r\n this.connecting = false\r\n this.connected = true\r\n uni.hideLoading()\r\n\r\n uni.showToast({\r\n icon: 'none',\r\n title: '连接成功',\r\n })\r\n console.log('onOpen', res)\r\n })\r\n uni.onSocketError((err) => {\r\n this.connecting = false\r\n this.connected = false\r\n uni.hideLoading()\r\n\r\n uni.showModal({\r\n content: '连接失败,可能是websocket服务不可用,请稍后再试',\r\n showCancel: false,\r\n })\r\n console.log('onError', err)\r\n })\r\n uni.onSocketMessage((res) => {\r\n this.msg = res.data as string\r\n console.log('onMessage', res)\r\n })\r\n uni.onSocketClose((res) => {\r\n this.connected = false\r\n this.msg = ''\r\n console.log('onClose', res)\r\n })\r\n },\r\n send() {\r\n uni.sendSocketMessage({\r\n data:\r\n 'from ' +\r\n this.platform +\r\n ' : ' +\r\n parseInt((Math.random() * 10000).toString()).toString(),\r\n success: (res : any) => {\r\n console.log(res)\r\n },\r\n fail: (err : any) => {\r\n console.log(err)\r\n },\r\n } as SendSocketMessageOptions)\r\n },\r\n close() {\r\n uni.closeSocket({\r\n code: 1000,\r\n reason: 'close reason from client',\r\n success: (res : any) => {\r\n console.log('uni.closeSocket success', res)\r\n },\r\n fail: (err : any) => {\r\n console.log('uni.closeSocket fail', err)\r\n },\r\n } as CloseSocketOptions)\r\n },\r\n goSocketTask() {\r\n uni.navigateTo({\r\n url: '/pages/API/websocket/socketTask',\r\n })\r\n }\r\n },\r\n }\r\n\n```\n\n:::"},"getSystemInfo":{"name":"## uni.getSystemInfo(options) @getsysteminfo","description":"异步获取系统信息","compatibility":"### getSystemInfo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **GetSystemInfoOptions** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (result: [GetSystemInfoResult](#getsysteminforesult-values)) => void | 否 | null | - | 接口调用成功的回调函数 |\n@| fail | (result: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | null | - | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### GetSystemInfoResult 的属性值 @getsysteminforesult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| SDKVersion | string | 是 | - | | 客户端基础库版本
|\n| appId | string | 是 | - | | `manifest.json` 中应用appid。
|\n| appLanguage | string | 是 | - | | 应用设置的语言。
|\n| appName | string | 是 | - | | `manifest.json` 中应用名称。
|\n| appVersion | string | 是 | - | | `manifest.json` 中应用版本名称。
|\n| appVersionCode | string | 是 | - | | `manifest.json` 中应用版本名号。
|\n| appWgtVersion | string | 否 | - | | 应用资源(wgt)的版本名称。
|\n| browserName | string | 是 | - | | 浏览器名称。`App` 端是系统 webview 的名字,比如 wkwebview、chrome。小程序端为空
|\n| browserVersion | string | 是 | - | | 浏览器版本、webview 版本。
|\n| deviceId | string | 是 | - | | 设备 ID
|\n| deviceBrand | string | 是 | - | | 设备品牌。如:`apple`、`huawei`。
|\n| deviceModel | string | 是 | - | | 设备型号
|\n| deviceType | string | 是 | - | | 设备类型。
|\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| phone | - | - |\n@| pad | - | - |\n@| tv | - | - |\n@| watch | - | - |\n@| pc | - | - |\n@| undefined | - | - |\n@| car | - | - |\n@| vr | - | - |\n@| appliance | - | - |\n| devicePixelRatio | number | 是 | - | | 设备像素比
|\n| deviceOrientation | string | 是 | - | | 设备方向。
|\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| portrait | - | 纵向 |\n@| landscape | - | 横向 |\n| osName | string | 是 | - | | 系统名称
|\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| ios | - | - |\n@| android | - | - |\n@| harmonyos | - | - |\n@| macos | - | - |\n@| windows | - | - |\n@| linux | - | - |\n| osVersion | string | 是 | - | | 操作系统版本。如 ios 版本,andriod 版本
|\n| osLanguage | string | 是 | - | | 操作系统语言
|\n| osTheme | string | 否 | - | | 操作系统主题
|\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| light | - | - |\n@| dark | - | - |\n| screenWidth | number | 是 | - | | 屏幕宽度,单位为px
|\n| screenHeight | number | 是 | - | | 屏幕高度,单位为px
|\n| statusBarHeight | number | 是 | - | | 状态栏的高度,单位为px
|\n| safeArea | **SafeArea** | 是 | - | | 在竖屏正方向下的安全区域
|\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| left | number | 是 | - | | 安全区域左上角横坐标,单位为px
|\n@| right | number | 是 | - | | 安全区域右下角横坐标,单位为px
|\n@| top | number | 是 | - | | 安全区域左上角纵坐标,单位为px
|\n@| bottom | number | 是 | - | | 安全区域右下角纵坐标,单位为px
|\n@| width | number | 是 | - | | 安全区域的宽度,单位为px
|\n@| height | number | 是 | - | | 安全区域的高度,单位为px
|\n| safeAreaInsets | **SafeAreaInsets** | 是 | - | | 在竖屏正方向下的安全区域插入位置
|\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| left | number | 是 | - | | 安全区域左侧插入位置(距离左边边界距离),单位为px
|\n@| right | number | 是 | - | | 安全区域右侧插入位置(距离右边边界距离),单位为px
|\n@| top | number | 是 | - | | 安全区顶部插入位置(距离顶部边界距离),单位为px
|\n@| bottom | number | 是 | - | | 安全区域底部插入位置(距离底部边界距离),单位为px
|\n| ua | string | 是 | - | | 用户标识。小程序端为空
|\n| uniCompilerVersion | string | 是 | - | | uni 编译器版本。
|\n| uniPlatform | string | 是 | - | | uni-app 运行平台,与条件编译平台相同。
|\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| app | - | - |\n@| web | - | - |\n@| mp-weixin | - | - |\n@| mp-alipay | - | - |\n@| mp-baidu | - | - |\n@| mp-toutiao | - | - |\n@| mp-lark | - | - |\n@| mp-qq | - | - |\n@| mp-kuaishou | - | - |\n@| mp-jd | - | - |\n@| mp-360 | - | - |\n@| quickapp-webview | - | - |\n@| quickapp-webview-union | - | - |\n@| quickapp-webview-huawei | - | - |\n| uniRuntimeVersion | string | 是 | - | | uni 运行时版本。
|\n| uniCompilerVersionCode | number | 是 | - | | uni 编译器版本号。
|\n| uniRuntimeVersionCode | number | 是 | - | | uni 运行时版本号。
|\n| romName | string | 是 | - | | rom 名称。Android 部分机型获取不到值。iOS 恒为 `ios`
|\n| romVersion | string | 是 | - | | rom 版本号。Android 部分机型获取不到值。iOS 为操作系统版本号(同 `osVersion`)。
|\n| windowWidth | number | 是 | - | | 可使用窗口宽度,单位为px
|\n| windowHeight | number | 是 | - | | 可使用窗口高度,单位为px
|\n| windowTop | number | 是 | - | | 内容区域距离顶部的距离(同CSS变量 `--window-top`),单位为px
|\n| windowBottom | number | 是 | - | | 内容区域距离底部的距离(同CSS变量 `--window-bottom`),单位为px
|\n| osAndroidAPILevel | number | 否 | - | | Android 系统API库的版本。
|\n| appTheme | string | 否 | - | | 当前App的主题
|\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| light | - | - |\n@| dark | - | - |\n@| auto | - | - |\n| ~~version~~ | string | 是 | - | | 引擎版本号。 **已废弃,仅为了向下兼容保留** |\n| ~~uniCompileVersionCode~~ | number | 是 | - | | uni 编译器版本号。 **已废弃,仅为了向下兼容保留** |\n| ~~uniCompileVersion~~ | string | 是 | - | | uni 编译器版本。 **已废弃,仅为了向下兼容保留** |\n| ~~system~~ | string | 是 | - | | 操作系统版本 **已废弃,仅为了向下兼容保留** |\n| ~~platform~~ | string | 是 | - | | 客户端平台 **已废弃,仅为了向下兼容保留** |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| ios | - | - |\n@| android | - | - |\n@| harmonyos | - | - |\n@| mac | - | - |\n@| windows | - | - |\n@| linux | - | - |\n| ~~pixelRatio~~ | number | 是 | - | | 设备像素比 **已废弃,仅为了向下兼容保留** |\n| ~~model~~ | string | 否 | - | | 手机型号 **已废弃,仅为了向下兼容保留** |\n| ~~language~~ | string | 是 | - | | 程序设置的语言 **已废弃,仅为了向下兼容保留** |\n| ~~brand~~ | string | 是 | - | | 手机品牌。 **已废弃,仅为了向下兼容保留** |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.getSystemInfo.getSystemInfo)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/info.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getSystemInfo&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getSystemInfo&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getSystemInfo&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getSystemInfo&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getSystemInfo&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getSystemInfo)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getSystemInfo&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/get-system-info/get-system-info.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/get-system-info/get-system-info\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/get-system-info/get-system-info\n\n>Template\n```vue\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n type Item = {\r\n label : string,\r\n value : string,\r\n }\r\n\r\n let globalScreenHeight = 0\r\n try {\r\n globalScreenHeight = uni.getSystemInfoSync().screenHeight\r\n } catch (e) {\r\n // 兼容本地测试\r\n console.error(e)\r\n }\r\n\r\n export default {\r\n data() {\r\n return {\r\n title: 'getSystemInfo',\r\n items: [] as Item[],\r\n screenHeightAtReady: 0,\r\n jest_result: false,\r\n }\r\n },\r\n onUnload: function () {\r\n },\r\n onReady() {\r\n this.screenHeightAtReady = uni.getSystemInfoSync().screenHeight\r\n console.log(`全局获取屏幕高度: ${globalScreenHeight} onReady内获取屏幕高度: ${this.screenHeightAtReady}`);\r\n },\r\n methods: {\r\n getSystemInfo: function () {\r\n uni.getSystemInfo({\r\n success: (res) => {\r\n this.items = [] as Item[];\r\n const res_str = JSON.stringify(res);\r\n const res_obj = JSON.parseObject(res_str);\r\n const res_map = res_obj!.toMap();\r\n let keys = [] as string[]\r\n res_map.forEach((_, key) => {\r\n keys.push(key);\r\n });\r\n keys.sort().forEach(key => {\r\n const value = res[key];\r\n if (value != null) {\r\n const item = {\r\n label: key,\r\n value: \"\" + ((typeof value == \"object\") ? JSON.stringify(value) : value)\r\n } as Item;\r\n this.items.push(item);\r\n }\r\n });\r\n },\r\n })\r\n },\r\n getSystemInfoSync: function () {\r\n this.items = [] as Item[];\r\n const res = uni.getSystemInfoSync()\r\n const res_str = JSON.stringify(res);\r\n const res_obj = JSON.parseObject(res_str);\r\n const res_map = res_obj!.toMap();\r\n let keys = [] as string[]\r\n res_map.forEach((_, key) => {\r\n keys.push(key);\r\n });\r\n keys.sort().forEach(key => {\r\n const value = res[key];\r\n if (value != null) {\r\n const item = {\r\n label: key,\r\n value: \"\" + ((typeof value == \"object\") ? JSON.stringify(value) : value)\r\n } as Item;\r\n this.items.push(item);\r\n }\r\n });\r\n },\r\n //自动化测试例专用\r\n jest_getSystemInfo() : GetSystemInfoResult {\r\n return uni.getSystemInfoSync();\r\n },\r\n jest_getScreenHeight_at_different_stages() {\r\n this.jest_result = (globalScreenHeight == this.screenHeightAtReady)\r\n }\r\n }\r\n }\r\n\n```\n\n:::"},"getSystemInfoSync":{"name":"## uni.getSystemInfoSync() @getsysteminfosync","description":"同步获取系统信息","compatibility":"### getSystemInfoSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","param":"","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| **GetSystemInfoResult** |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| SDKVersion | string | 是 | - | | 客户端基础库版本
|\n@| appId | string | 是 | - | | `manifest.json` 中应用appid。
|\n@| appLanguage | string | 是 | - | | 应用设置的语言。
|\n@| appName | string | 是 | - | | `manifest.json` 中应用名称。
|\n@| appVersion | string | 是 | - | | `manifest.json` 中应用版本名称。
|\n@| appVersionCode | string | 是 | - | | `manifest.json` 中应用版本名号。
|\n@| appWgtVersion | string | 否 | - | | 应用资源(wgt)的版本名称。
|\n@| browserName | string | 是 | - | | 浏览器名称。`App` 端是系统 webview 的名字,比如 wkwebview、chrome。小程序端为空
|\n@| browserVersion | string | 是 | - | | 浏览器版本、webview 版本。
|\n@| deviceId | string | 是 | - | | 设备 ID
|\n@| deviceBrand | string | 是 | - | | 设备品牌。如:`apple`、`huawei`。
|\n@| deviceModel | string | 是 | - | | 设备型号
|\n@| deviceType | string | 是 | - | | 设备类型。
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| phone | - | - |\n@@| pad | - | - |\n@@| tv | - | - |\n@@| watch | - | - |\n@@| pc | - | - |\n@@| null | - | - |\n@@| car | - | - |\n@@| vr | - | - |\n@@| appliance | - | - |\n@| devicePixelRatio | number | 是 | - | | 设备像素比
|\n@| deviceOrientation | string | 是 | - | | 设备方向。
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| portrait | - | 纵向 |\n@@| landscape | - | 横向 |\n@| osName | string | 是 | - | | 系统名称
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| ios | - | - |\n@@| android | - | - |\n@@| harmonyos | - | - |\n@@| macos | - | - |\n@@| windows | - | - |\n@@| linux | - | - |\n@| osVersion | string | 是 | - | | 操作系统版本。如 ios 版本,andriod 版本
|\n@| osLanguage | string | 是 | - | | 操作系统语言
|\n@| osTheme | string | 否 | - | | 操作系统主题
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| light | - | - |\n@@| dark | - | - |\n@| screenWidth | number | 是 | - | | 屏幕宽度,单位为px
|\n@| screenHeight | number | 是 | - | | 屏幕高度,单位为px
|\n@| statusBarHeight | number | 是 | - | | 状态栏的高度,单位为px
|\n@| safeArea | **SafeArea** | 是 | - | | 在竖屏正方向下的安全区域
|\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| left | number | 是 | - | | 安全区域左上角横坐标,单位为px
|\n@@| right | number | 是 | - | | 安全区域右下角横坐标,单位为px
|\n@@| top | number | 是 | - | | 安全区域左上角纵坐标,单位为px
|\n@@| bottom | number | 是 | - | | 安全区域右下角纵坐标,单位为px
|\n@@| width | number | 是 | - | | 安全区域的宽度,单位为px
|\n@@| height | number | 是 | - | | 安全区域的高度,单位为px
|\n@| safeAreaInsets | **SafeAreaInsets** | 是 | - | | 在竖屏正方向下的安全区域插入位置
|\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| left | number | 是 | - | | 安全区域左侧插入位置(距离左边边界距离),单位为px
|\n@@| right | number | 是 | - | | 安全区域右侧插入位置(距离右边边界距离),单位为px
|\n@@| top | number | 是 | - | | 安全区顶部插入位置(距离顶部边界距离),单位为px
|\n@@| bottom | number | 是 | - | | 安全区域底部插入位置(距离底部边界距离),单位为px
|\n@| ua | string | 是 | - | | 用户标识。小程序端为空
|\n@| uniCompilerVersion | string | 是 | - | | uni 编译器版本。
|\n@| uniPlatform | string | 是 | - | | uni-app 运行平台,与条件编译平台相同。
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| app | - | - |\n@@| web | - | - |\n@@| mp-weixin | - | - |\n@@| mp-alipay | - | - |\n@@| mp-baidu | - | - |\n@@| mp-toutiao | - | - |\n@@| mp-lark | - | - |\n@@| mp-qq | - | - |\n@@| mp-kuaishou | - | - |\n@@| mp-jd | - | - |\n@@| mp-360 | - | - |\n@@| quickapp-webview | - | - |\n@@| quickapp-webview-union | - | - |\n@@| quickapp-webview-huawei | - | - |\n@| uniRuntimeVersion | string | 是 | - | | uni 运行时版本。
|\n@| uniCompilerVersionCode | number | 是 | - | | uni 编译器版本号。
|\n@| uniRuntimeVersionCode | number | 是 | - | | uni 运行时版本号。
|\n@| romName | string | 是 | - | | rom 名称。Android 部分机型获取不到值。iOS 恒为 `ios`
|\n@| romVersion | string | 是 | - | | rom 版本号。Android 部分机型获取不到值。iOS 为操作系统版本号(同 `osVersion`)。
|\n@| windowWidth | number | 是 | - | | 可使用窗口宽度,单位为px
|\n@| windowHeight | number | 是 | - | | 可使用窗口高度,单位为px
|\n@| windowTop | number | 是 | - | | 内容区域距离顶部的距离(同CSS变量 `--window-top`),单位为px
|\n@| windowBottom | number | 是 | - | | 内容区域距离底部的距离(同CSS变量 `--window-bottom`),单位为px
|\n@| osAndroidAPILevel | number | 否 | - | | Android 系统API库的版本。
|\n@| appTheme | string | 否 | - | | 当前App的主题
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| light | - | - |\n@@| dark | - | - |\n@@| auto | - | - |\n@| ~~version~~ | string | 是 | - | | 引擎版本号。 **已废弃,仅为了向下兼容保留** |\n@| ~~uniCompileVersionCode~~ | number | 是 | - | | uni 编译器版本号。 **已废弃,仅为了向下兼容保留** |\n@| ~~uniCompileVersion~~ | string | 是 | - | | uni 编译器版本。 **已废弃,仅为了向下兼容保留** |\n@| ~~system~~ | string | 是 | - | | 操作系统版本 **已废弃,仅为了向下兼容保留** |\n@| ~~platform~~ | string | 是 | - | | 客户端平台 **已废弃,仅为了向下兼容保留** |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| ios | - | - |\n@@| android | - | - |\n@@| harmonyos | - | - |\n@@| mac | - | - |\n@@| windows | - | - |\n@@| linux | - | - |\n@| ~~pixelRatio~~ | number | 是 | - | | 设备像素比 **已废弃,仅为了向下兼容保留** |\n@| ~~model~~ | string | 否 | - | | 手机型号 **已废弃,仅为了向下兼容保留** |\n@| ~~language~~ | string | 是 | - | | 程序设置的语言 **已废弃,仅为了向下兼容保留** |\n@| ~~brand~~ | string | 是 | - | | 手机品牌。 **已废弃,仅为了向下兼容保留** | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.getSystemInfo.getSystemInfoSync)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/info.html#getsysteminfosync)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getSystemInfoSync&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getSystemInfoSync&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getSystemInfoSync&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getSystemInfoSync&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getSystemInfoSync&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getSystemInfoSync)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getSystemInfoSync&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"getDeviceInfo":{"name":"## uni.getDeviceInfo(options?) @getdeviceinfo","description":"获取设备信息","compatibility":"### getDeviceInfo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **GetDeviceInfoOptions** | 否 | 包含所有字段的过滤对象 | - | \\[options=包含所有字段的过滤对象]过滤的字段对象, 不传参数默认为获取全部字段。 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| filter | Array\\ | 是 | - | | 过滤字段的字符串数组,假如要获取指定字段,传入此数组。 | \n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| **GetDeviceInfoResult** |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| deviceBrand | string | 否 | - | | 设备品牌
|\n@| deviceId | string | 否 | - | | 设备 id 。由 uni-app 框架生成并存储,清空 Storage 会导致改变
|\n@| deviceModel | string | 否 | - | | 设备型号
|\n@| deviceType | string | 否 | - | | 设备类型phone、pad、pc
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| phone | - | - |\n@@| pad | - | - |\n@@| tv | - | - |\n@@| watch | - | - |\n@@| pc | - | - |\n@@| null | - | - |\n@@| car | - | - |\n@@| vr | - | - |\n@@| appliance | - | - |\n@| deviceOrientation | string | 否 | - | | 设备方向 竖屏 portrait、横屏 landscape
|\n@| devicePixelRatio | number | 否 | - | | 设备像素比
|\n@| system | string | 否 | - | | 操作系统及版本
|\n@| platform | string | 否 | - | | 客户端平台
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| ios | - | - |\n@@| android | - | - |\n@@| harmonyos | - | - |\n@@| mac | - | - |\n@@| windows | - | - |\n@@| linux | - | - |\n@| isRoot | boolean | 否 | - | | 是否root。iOS 为是否越狱
|\n@| isSimulator | boolean | 否 | - | | 是否是模拟器
|\n@| isUSBDebugging | boolean | 否 | - | | adb是否开启
|\n@| osName | string | 否 | - | | 系统名称
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| ios | - | - |\n@@| android | - | - |\n@@| harmonyos | - | - |\n@@| macos | - | - |\n@@| windows | - | - |\n@@| linux | - | - |\n@| osVersion | string | 否 | - | | 操作系统版本。如 ios 版本,andriod 版本
|\n@| osLanguage | string | 否 | - | | 操作系统语言
|\n@| osTheme | string | 否 | - | | 操作系统主题
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| light | - | - |\n@@| dark | - | - |\n@| osAndroidAPILevel | number | 否 | - | | Android 系统API库的版本。
|\n@| romName | string | 否 | - | | rom 名称。Android 部分机型获取不到值。iOS 恒为 `ios`
|\n@| romVersion | string | 否 | - | | rom 版本号。Android 部分机型获取不到值。iOS 为操作系统版本号(同 `osVersion`)。
|\n@| ~~model~~ | string | 否 | - | | 设备型号 **已废弃,仅为了向下兼容保留** |\n@| ~~brand~~ | string | 否 | - | | 设备品牌 **已废弃,仅为了向下兼容保留** | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.getDeviceInfo)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/getDeviceInfo.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getDeviceInfo&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getDeviceInfo&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getDeviceInfo&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getDeviceInfo&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getDeviceInfo&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getDeviceInfo)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getDeviceInfo&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/get-device-info/get-device-info.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/get-device-info/get-device-info\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/get-device-info/get-device-info\n\n>Template\n```vue\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n import { setDevicePixelRatio } from '@/store/index.uts'\r\n\r\n type Item = {\r\n label : string,\r\n value : string,\r\n }\r\n export default {\r\n data() {\r\n return {\r\n title: 'getDeviceInfo',\r\n items: [] as Item[],\r\n }\r\n },\r\n onUnload: function () {\r\n },\r\n methods: {\r\n getDeviceInfo: function () {\r\n const res = uni.getDeviceInfo();\r\n // 获取像素比, 供截图对比使用\r\n setDevicePixelRatio(res.devicePixelRatio !== null ? res.devicePixelRatio! : 1)\r\n this.items = [] as Item[];\r\n\r\n const res_str = JSON.stringify(res);\r\n const res_obj = JSON.parseObject(res_str);\r\n const res_map = res_obj!.toMap();\r\n let keys = [] as string[]\r\n res_map.forEach((_, key) => {\r\n keys.push(key);\r\n });\r\n keys.sort().forEach(key => {\r\n const value = res[key];\r\n if (value != null) {\r\n const item = {\r\n label: key,\r\n value: \"\" + ((typeof value == \"object\") ? JSON.stringify(value) : value)\r\n } as Item;\r\n this.items.push(item);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\n```\n\n:::"},"getWindowInfo":{"name":"## uni.getWindowInfo() @getwindowinfo","description":"同步获取窗口信息","compatibility":"### getWindowInfo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","param":"","returnValue":"### 返回值 \n\n| 类型 | 描述 |\n| :- | :- |\n| **GetWindowInfoResult** | result |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| pixelRatio | number | 是 | - | | 设备像素比
|\n@| screenWidth | number | 是 | - | | 屏幕宽度,单位为px
|\n@| screenHeight | number | 是 | - | | 屏幕高度,单位为px
|\n@| windowWidth | number | 是 | - | | 可使用窗口宽度,单位为px
|\n@| windowHeight | number | 是 | - | | 可使用窗口高度,单位为px
|\n@| statusBarHeight | number | 是 | - | | 状态栏的高度,单位为px
|\n@| windowTop | number | 是 | - | | 内容区域距离顶部的距离(同CSS变量 `--window-top`),单位为px
|\n@| windowBottom | number | 是 | - | | 内容区域距离底部的距离(同CSS变量 `--window-bottom`),单位为px
|\n@| safeArea | **SafeArea** | 是 | - | | 安全区域在屏幕中的位置信息
|\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| left | number | 是 | - | | 安全区域左上角横坐标,单位为px
|\n@@| right | number | 是 | - | | 安全区域右下角横坐标,单位为px
|\n@@| top | number | 是 | - | | 安全区域左上角纵坐标,单位为px
|\n@@| bottom | number | 是 | - | | 安全区域右下角纵坐标,单位为px
|\n@@| width | number | 是 | - | | 安全区域的宽度,单位为px
|\n@@| height | number | 是 | - | | 安全区域的高度,单位为px
|\n@| safeAreaInsets | **SafeAreaInsets** | 是 | - | | 安全区域插入位置(与屏幕边界的距离)信息
|\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| left | number | 是 | - | | 安全区域左侧插入位置(距离左边边界距离),单位为px
|\n@@| right | number | 是 | - | | 安全区域右侧插入位置(距离右边边界距离),单位为px
|\n@@| top | number | 是 | - | | 安全区顶部插入位置(距离顶部边界距离),单位为px
|\n@@| bottom | number | 是 | - | | 安全区域底部插入位置(距离底部边界距离),单位为px
|\n@| cutoutArea | Array\\<**CutoutRect**\\> | 否 | - | | 挖孔、刘海区域在屏幕中的位置信息
|\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| left | number | 是 | - | | 挖孔、刘海区域左上角横坐标,单位为px
|\n@@| right | number | 是 | - | | 挖孔、刘海区域右下角横坐标,单位为px
|\n@@| top | number | 是 | - | | 挖孔、刘海区域左上角纵坐标,单位为px
|\n@@| bottom | number | 是 | - | | 挖孔、刘海区域右下角纵坐标,单位为px
|\n@| ~~screenTop~~ | number | 是 | - | | 窗口上边缘的 y 值,单位为px
**已废弃,仅为了向下兼容保留** | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.getWindowInfo)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/getWindowInfo.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getWindowInfo&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getWindowInfo&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getWindowInfo&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getWindowInfo&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getWindowInfo&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getWindowInfo)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getWindowInfo&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/get-window-info/get-window-info.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/get-window-info/get-window-info\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/get-window-info/get-window-info\n\n>Template\n```vue\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n import { setStatusBarHeight, setSafeArea } from '@/store/index.uts'\r\n // #ifdef APP-ANDROID\r\n import type { SafeArea } from '@/store/index.uts'\r\n // #endif\r\n\r\n type Item = {\r\n label : string,\r\n value : string,\r\n }\r\n export default {\r\n data() {\r\n return {\r\n title: 'getWindowInfo',\r\n items: [] as Item[],\r\n }\r\n },\r\n onUnload: function () {\r\n },\r\n onReady() {\r\n this.getWindowInfo()\r\n },\r\n methods: {\r\n getWindowInfo: function () {\r\n const res = uni.getWindowInfo();\r\n // 获取状态栏高度, 供截图对比使用\r\n setStatusBarHeight(res.statusBarHeight);\r\n // 获取安全区信息,供截图使用\r\n // #ifdef APP-ANDROID\r\n setSafeArea({\r\n top: res.safeArea.top,\r\n left: res.safeArea.left,\r\n right: res.safeArea.right,\r\n bottom: res.safeArea.bottom,\r\n width: res.safeArea.width,\r\n height: res.safeArea.height,\r\n } as SafeArea);\r\n // #endif\r\n // #ifdef APP-IOS\r\n setSafeArea({\r\n top: res.safeArea.top,\r\n left: res.safeArea.left,\r\n right: res.safeArea.right,\r\n bottom: res.safeArea.bottom,\r\n width: res.safeArea.width,\r\n height: res.safeArea.height,\r\n });\r\n // #endif\r\n this.items = [] as Item[];\r\n\r\n const res_str = JSON.stringify(res);\r\n const res_obj = JSON.parseObject(res_str);\r\n const res_map = res_obj!.toMap();\r\n let keys = [] as string[]\r\n res_map.forEach((_, key) => {\r\n keys.push(key);\r\n });\r\n keys.sort().forEach(key => {\r\n const value = res[key];\r\n if (value != null) {\r\n const item = {\r\n label: key,\r\n value: \"\" + ((typeof value == \"object\") ? JSON.stringify(value) : value)\r\n } as Item;\r\n this.items.push(item);\r\n }\r\n });\r\n },\r\n //自动化测试例专用\r\n jest_getWindowInfo() : GetWindowInfoResult {\r\n return uni.getWindowInfo();\r\n },\r\n }\r\n }\r\n\n```\n\n:::"},"getAppBaseInfo":{"name":"## uni.getAppBaseInfo(options?) @getappbaseinfo","description":"获取app基本信息","compatibility":"### getAppBaseInfo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **GetAppBaseInfoOptions** | 否 | 包含所有字段的过滤对象 | - | \\[options=包含所有字段的过滤对象] 过滤的字段对象, 不传参数默认为获取全部字段。 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| filter | Array\\ | 是 | - | - | 过滤字段的字符串数组,假如要获取指定字段,传入此数组。 | \n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| **GetAppBaseInfoResult** |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| appId | string | 否 | - | | manifest.json 中应用appid,即DCloud appid。
|\n@| appName | string | 否 | - | | `manifest.json` 中应用名称。
|\n@| appVersion | string | 否 | - | | `manifest.json` 中应用版本名称。
|\n@| appVersionCode | string | 否 | - | | `manifest.json` 中应用版本名号。
|\n@| appLanguage | string | 否 | - | | 应用设置的语言en、zh-Hans、zh-Hant、fr、es
|\n@| language | string | 否 | - | | 应用设置的语言
|\n@| appWgtVersion | string | 否 | - | | 应用资源(wgt)的版本名称。
|\n@| hostLanguage | string | 否 | - | | 小程序宿主语言
|\n@| hostVersion | string | 否 | - | | App、小程序宿主版本。
|\n@| hostName | string | 否 | - | | 小程序宿主名称
|\n@| hostPackageName | string | 否 | - | | 小程序宿主包名
|\n@| hostSDKVersion | string | 否 | - | | uni小程序SDK版本、小程序客户端基础库版本
|\n@| hostTheme | string | 否 | - | | 系统当前主题,取值为light或dark。微信小程序全局配置\"darkmode\":true时才能获取,否则为 null (不支持小游戏)
|\n@| isUniAppX | boolean | 否 | - | | 是否uni-app x
|\n@| uniCompilerVersion | string | 否 | - | | uni 编译器版本
|\n@| uniPlatform | string | 否 | - | | uni-app 运行平台。
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| app | - | - |\n@@| web | - | - |\n@@| mp-weixin | - | - |\n@@| mp-alipay | - | - |\n@@| mp-baidu | - | - |\n@@| mp-toutiao | - | - |\n@@| mp-lark | - | - |\n@@| mp-qq | - | - |\n@@| mp-kuaishou | - | - |\n@@| mp-jd | - | - |\n@@| mp-360 | - | - |\n@@| quickapp-webview | - | - |\n@@| quickapp-webview-union | - | - |\n@@| quickapp-webview-huawei | - | - |\n@| uniRuntimeVersion | string | 否 | - | | uni 运行时版本
|\n@| uniCompilerVersionCode | number | 否 | - | | uni 编译器版本号
|\n@| uniRuntimeVersionCode | number | 否 | - | | uni 运行时版本号
|\n@| packageName | string | 否 | - | | Android的包名
|\n@| bundleId | string | 否 | - | | iOS的bundleId
|\n@| signature | string | 否 | - | | Android: 应用签名证书的SHA1值(全部为小写,中间不包含“:”)。
iOS: 应用签名证书中绑定的Bundle ID(AppleID)的md5值(全部为小写)。
|\n@| appTheme | string | 否 | - | | 当前App的主题
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| light | - | - |\n@@| dark | - | - |\n@@| auto | - | - |\n@| channel | string | 否 | - | | 当前应用分发的渠道
|\n@| ~~uniCompileVersionCode~~ | number | 否 | - | | uni 编译器版本号 **已废弃,仅为了向下兼容保留** |\n@| ~~uniCompileVersion~~ | string | 否 | - | | uni 编译器版本 **已废弃,仅为了向下兼容保留** |\n@| ~~version~~ | string | 否 | - | | 引擎版本号。已废弃,仅为了向下兼容保留 **已废弃,仅为了向下兼容保留** | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.getAppBaseInfo)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/getAppBaseInfo.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getAppBaseInfo&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getAppBaseInfo&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getAppBaseInfo&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getAppBaseInfo&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getAppBaseInfo&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getAppBaseInfo)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getAppBaseInfo&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/get-app-base-info/get-app-base-info.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/get-app-base-info/get-app-base-info\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/get-app-base-info/get-app-base-info\n\n>Template\n```vue\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n type Item = {\r\n label : string,\r\n value : string,\r\n }\r\n export default {\r\n data() {\r\n return {\r\n title: 'getAppBaseInfo',\r\n items: [] as Item[],\r\n }\r\n },\r\n onUnload: function () {\r\n },\r\n methods: {\r\n getAppBaseInfo: function () {\r\n const res = uni.getAppBaseInfo();\r\n const res_str = JSON.stringify(res);\r\n const res_obj = JSON.parseObject(res_str);\r\n const res_map = res_obj!.toMap();\r\n let keys = [] as string[]\r\n res_map.forEach((_, key) => {\r\n keys.push(key);\r\n });\r\n\r\n this.items = [] as Item[];\r\n keys.sort().forEach(key => {\r\n const value = res[key];\r\n if (value != null) {\r\n const item = {\r\n label: key,\r\n value: \"\" + ((typeof value == \"object\") ? JSON.stringify(value) : value)\r\n } as Item;\r\n this.items.push(item);\r\n }\r\n });\r\n\r\n }\r\n }\r\n }\r\n\n```\n\n:::"},"getAppAuthorizeSetting":{"name":"## uni.getAppAuthorizeSetting() @getappauthorizesetting","description":"获取 APP 授权设置。","compatibility":"### getAppAuthorizeSetting 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","param":"","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| **GetAppAuthorizeSettingResult** |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| albumAuthorized | string | 是 | - | | 允许 App 使用相册的开关
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| authorized | - | 已经获得授权,无需再次请求授权 |\n@@| denied | - | 请求授权被拒绝,无法再次请求授权。Android平台:需要申请相册相关权限;iOS平台:此情况需要引导用户打开系统设置,在设置页中打开权限 |\n@@| not determined | - | 尚未请求授权,会在App下一次调用系统相应权限时请求;(仅 iOS 会出现。此种情况下引导用户打开系统设置,不展示开关) |\n@@| config error | - | Android平台:表示没有配置[相册相关权限](https://doc.dcloud.net.cn/uni-app-x/native/permission/android_permission_adapter.html),[权限配置详情](https://uniapp.dcloud.net.cn/tutorial/app-nativeresource-android.html#permissions);iOS平台:当前应用没有配置相册权限描述 |\n@| bluetoothAuthorized | string | 是 | - | | 允许 App 使用蓝牙的开关
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| authorized | - | 已经获得授权,无需再次请求授权 |\n@@| denied | - | 请求授权被拒绝,无法再次请求授权。Android平台:需要申请相册相关权限;iOS平台:此情况需要引导用户打开系统设置,在设置页中打开权限 |\n@@| not determined | - | 尚未请求授权,会在App下一次调用系统相应权限时请求;(仅 iOS 会出现。此种情况下引导用户打开系统设置,不展示开关) |\n@@| config error | - | Android平台:表示没有配置[蓝牙相关权限](https://doc.dcloud.net.cn/uni-app-x/native/permission/android_permission_adapter.html),[权限配置详情](https://uniapp.dcloud.net.cn/tutorial/app-nativeresource-android.html#permissions);iOS平台:当前应用没有配置蓝牙权限描述 |\n@| cameraAuthorized | string | 是 | - | | 允许 App 使用摄像头的开关
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| authorized | - | 已经获得授权,无需再次请求授权 |\n@@| denied | - | 请求授权被拒绝,无法再次请求授权。Android平台:需要申请相册相关权限;iOS平台:此情况需要引导用户打开系统设置,在设置页中打开权限 |\n@@| not determined | - | 尚未请求授权,会在App下一次调用系统相应权限时请求;(仅 iOS 会出现。此种情况下引导用户打开系统设置,不展示开关) |\n@@| config error | - | Android平台:表示没有配置 `android.permission.CAMERA` 权限,[权限配置详情](https://uniapp.dcloud.net.cn/tutorial/app-nativeresource-android.html#permissions);iOS平台:当前应用没有配置相机权限描述 |\n@| locationAuthorized | string | 是 | - | | 允许 App 使用定位的开关
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| authorized | - | 已经获得授权,无需再次请求授权 |\n@@| denied | - | 请求授权被拒绝,无法再次请求授权。Android平台:需要申请相册相关权限;iOS平台:此情况需要引导用户打开系统设置,在设置页中打开权限 |\n@@| not determined | - | 尚未请求授权,会在App下一次调用系统相应权限时请求;(仅 iOS 会出现。此种情况下引导用户打开系统设置,不展示开关) |\n@@| config error | - | Android平台:表示没有配置 `android.permission.ACCESS_COARSE_LOCATION` 权限,[权限配置详情](https://uniapp.dcloud.net.cn/tutorial/app-nativeresource-android.html#permissions);iOS平台:当前应用没有配置定位权限描述 |\n@| locationAccuracy | string | 否 | - | | 定位准确度。
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| reduced | - | 模糊定位 |\n@@| full | - | 精准定位 |\n@@| unsupported | - | 不支持(包括用户拒绝定位权限和没有包含定位权限描述) |\n@| locationReducedAccuracy | boolean | 否 | - | | 定位准确度(推荐使用 locationAccuracy 属性)。true 表示模糊定位,false 表示精确定位(仅 iOS 支持) |\n@| microphoneAuthorized | string | 是 | - | | 允许 App 使用麦克风的开关
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| authorized | - | 已经获得授权,无需再次请求授权 |\n@@| denied | - | 请求授权被拒绝,无法再次请求授权。Android平台:需要申请相册相关权限;iOS平台:此情况需要引导用户打开系统设置,在设置页中打开权限 |\n@@| not determined | - | 尚未请求授权,会在App下一次调用系统相应权限时请求;(仅 iOS 会出现。此种情况下引导用户打开系统设置,不展示开关) |\n@@| config error | - | Android平台:表示没有配置 `android.permission.RECORD_AUDIO` 权限,[权限配置详情](https://uniapp.dcloud.net.cn/tutorial/app-nativeresource-android.html#permissions);iOS平台:当前应用没有配置麦克风权限描述 |\n@| notificationAuthorized | string | 是 | - | | 允许 App 通知的开关
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| authorized | - | 已经获得授权,无需再次请求授权 |\n@@| denied | - | 请求授权被拒绝,无法再次请求授权。Android平台:需要申请相册相关权限;iOS平台:此情况需要引导用户打开系统设置,在设置页中打开权限 |\n@@| not determined | - | 尚未请求授权,会在App下一次调用系统相应权限时请求;(仅 iOS 会出现。此种情况下引导用户打开系统设置,不展示开关) |\n@@| config error | - | Android平台没有该值;iOS平台:没有包含推送权限描述 |\n@| notificationAlertAuthorized | string | 否 | - | | 允许 App 通知带有提醒的开关(仅 iOS 支持)
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| authorized | - | 已经获得授权,无需再次请求授权 |\n@@| denied | - | 请求授权被拒绝,无法再次请求授权。Android平台:需要申请相册相关权限;iOS平台:此情况需要引导用户打开系统设置,在设置页中打开权限 |\n@@| not determined | - | 尚未请求授权,会在App下一次调用系统相应权限时请求;(仅 iOS 会出现。此种情况下引导用户打开系统设置,不展示开关) |\n@@| config error | - | 当前应用没有配置推送权限描述 |\n@| notificationBadgeAuthorized | string | 否 | - | | 允许 App 通知带有标记的开关(仅 iOS 支持)
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| authorized | - | 已经获得授权,无需再次请求授权 |\n@@| denied | - | 请求授权被拒绝,无法再次请求授权。Android平台:需要申请相册相关权限;iOS平台:此情况需要引导用户打开系统设置,在设置页中打开权限 |\n@@| not determined | - | 尚未请求授权,会在App下一次调用系统相应权限时请求;(仅 iOS 会出现。此种情况下引导用户打开系统设置,不展示开关) |\n@@| config error | - | 当前应用没有配置推送权限描述 |\n@| notificationSoundAuthorized | string | 否 | - | | 允许 App 通知带有声音的开关(仅 iOS 支持)
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| authorized | - | 已经获得授权,无需再次请求授权 |\n@@| denied | - | 请求授权被拒绝,无法再次请求授权。Android平台:需要申请相册相关权限;iOS平台:此情况需要引导用户打开系统设置,在设置页中打开权限 |\n@@| not determined | - | 尚未请求授权,会在App下一次调用系统相应权限时请求;(仅 iOS 会出现。此种情况下引导用户打开系统设置,不展示开关) |\n@@| config error | - | 当前应用没有配置推送权限描述 |\n@| phoneCalendarAuthorized | string | 否 | - | | 允许读写日历的开关(仅微信小程序支持)
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| authorized | - | 已经获得授权,无需再次请求授权 |\n@@| denied | - | 请求授权被拒绝,无法再次请求授权;(此情况需要引导用户打开系统设置,在设置页中打开权限) |\n@@| not determined | - | 尚未请求授权,会在App下一次调用系统相应权限时请求;(仅 iOS 会出现。此种情况下引导用户打开系统设置,不展示开关) | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.getAppAuthorizeSetting)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/getappauthorizesetting.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getAppAuthorizeSetting&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getAppAuthorizeSetting&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getAppAuthorizeSetting&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getAppAuthorizeSetting&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getAppAuthorizeSetting&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getAppAuthorizeSetting)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getAppAuthorizeSetting&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/get-app-authorize-setting/get-app-authorize-setting.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/get-app-authorize-setting/get-app-authorize-setting\n```uvue\n\r\n\r\n\r\n\n\n```\n:::"},"getSystemSetting":{"name":"## uni.getSystemSetting() @getsystemsetting","description":"获取系统设置","compatibility":"### getSystemSetting 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","param":"","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| **GetSystemSettingResult** |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| bluetoothEnabled | boolean | 否 | - | | 蓝牙是否开启
|\n@| bluetoothError | string | 否 | - | | 蓝牙的报错信息
|\n@| locationEnabled | boolean | 是 | - | | 位置是否开启
|\n@| wifiEnabled | boolean | 否 | - | | wifi是否开启
|\n@| wifiError | string | 否 | - | | wifi的报错信息
|\n@| deviceOrientation | string | 是 | - | | 设备方向
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| portrait | - | 纵向 |\n@@| landscape | - | 横向 | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.getSystemSetting)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/getsystemsetting.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getSystemSetting&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getSystemSetting&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getSystemSetting&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getSystemSetting&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getSystemSetting&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getSystemSetting)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getSystemSetting&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/get-system-setting/get-system-setting.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/get-system-setting/get-system-setting\n```uvue\n\r\n\r\n\r\n\r\n\n\n```\n:::"},"installApk":{"name":"## uni.installApk(options) @installapk","description":"安装apk","compatibility":"### installApk 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.94 | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **InstallApkOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| filePath | string | 是 | - | - | apk文件地址 |\n@| success | (res: [InstallApkSuccess](#installapksuccess-values)) => void | 否 | null | - | 接口调用成功的回调函数 |\n@| fail | (err: [InstallApkFail](#installapkfail-values)) => void | 否 | null | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | null | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### InstallApkSuccess 的属性值 @installapksuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | 安装成功消息 |\n\n#### InstallApkFail 的属性值 @installapkfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码
- 1300002 找不到文件 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.installApk)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/install-apk/install-apk.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/install-apk/install-apk\n```uvue\n\r\n\r\n\n\n```\n:::"},"getBatteryInfo":{"name":"## uni.getBatteryInfo(options) @getbatteryinfo","description":"获取电池电量信息\n\n\n> 本 API 是 [uni ext api](https://uniapp.dcloud.net.cn/api/extapi.html),需下载插件:[uni-getbatteryinfo](https://ext.dcloud.net.cn/plugin?name=uni-getbatteryinfo)\n","compatibility":"### getBatteryInfo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **GetBatteryInfoOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (res: [GetBatteryInfoSuccess](#getbatteryinfosuccess-values)) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) |\n@| fail | (res: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用成功的回调 | \n\n#### GetBatteryInfoSuccess 的属性值 @getbatteryinfosuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n| level | number | 是 | - | - | 设备电量,范围1 - 100 |\n| isCharging | boolean | 是 | - | - | 是否正在充电中 |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.getBatteryInfo.getBatteryInfo)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getBatteryInfo&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getBatteryInfo&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getBatteryInfo&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getBatteryInfo&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getBatteryInfo&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getBatteryInfo)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getBatteryInfo&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/get-battery-info/get-battery-info.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/get-battery-info/get-battery-info\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/get-battery-info/get-battery-info\n\n>Template\n```vue\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n level: 0,\r\n isCharging: false\r\n }\r\n },\r\n onLoad() {\r\n try {\r\n uni.getBatteryInfo({\r\n success: res => {\r\n this.level = res.level;\r\n this.isCharging = res.isCharging;\r\n }\r\n });\r\n } catch (e) {\r\n console.error((e as Error).message);\r\n uni.showModal({\r\n content: (e as Error).message,\r\n showCancel: false\r\n });\r\n }\r\n }\r\n }\r\n\n```\n\n:::"},"getBatteryInfoSync":{"name":"## uni.getBatteryInfoSync() @getbatteryinfosync","description":"同步获取电池电量信息\n\n\n> 本 API 是 [uni ext api](https://uniapp.dcloud.net.cn/api/extapi.html),需下载插件:[uni-getbatteryinfo](https://ext.dcloud.net.cn/plugin?name=uni-getbatteryinfo)\n","compatibility":"### getBatteryInfoSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n","param":"","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| **GetBatteryInfoResult** |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| level | number | 是 | - | - | 设备电量,范围1 - 100 |\n@| isCharging | boolean | 是 | - | - | 是否正在充电中 | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.getBatteryInfo.getBatteryInfoSync)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getBatteryInfoSync&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getBatteryInfoSync&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getBatteryInfoSync&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getBatteryInfoSync&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getBatteryInfoSync&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getBatteryInfoSync)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getBatteryInfoSync&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"makePhoneCall":{"name":"## uni.makePhoneCall(options) @makephonecall","description":"拨打电话\n","compatibility":"### makePhoneCall 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **MakePhoneCallOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| phoneNumber | string | 是 | - | - | 需要拨打的电话号码 |\n@| success | (result: MakePhoneCallSuccess) => void | 否 | - | - | 成功返回的回调函数 |\n@| fail | (result: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | - | - | 失败的回调函数 |\n@| complete | (result: any) => void | 否 | - | - | 结束的回调函数(调用成功、失败都会执行) | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.makePhoneCall)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/phone.html#makephonecall)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=makePhoneCall&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=makePhoneCall&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=makePhoneCall&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=makePhoneCall&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=makePhoneCall&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=makePhoneCall)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=makePhoneCall&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/make-phone-call/make-phone-call.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/make-phone-call/make-phone-call\n\n>Template\n```vue\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n title: 'makePhoneCall',\r\n disabled: true,\r\n inputValue: ''\r\n }\r\n },\r\n methods: {\r\n bindInput: function (e : UniInputEvent) {\r\n this.inputValue = e.detail.value\r\n if (this.inputValue.length > 0) {\r\n this.disabled = false\r\n } else {\r\n this.disabled = true\r\n }\r\n },\r\n makePhoneCall: function () {\r\n uni.makePhoneCall({\r\n phoneNumber: this.inputValue,\r\n success: () => {\r\n console.log(\"成功拨打电话\")\r\n }\r\n })\r\n }\r\n }\r\n }\r\n\n```\n\n:::"},"getClipboardData":{"name":"## uni.getClipboardData(options) @getclipboarddata","description":"获得系统剪贴板的内容\n","compatibility":"### getClipboardData 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **GetClipboardDataOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (result: [GetClipboardDataSuccess](#getclipboarddatasuccess-values)) => void | 否 | - | - | 成功返回的回调函数 |\n@| fail | (result: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | - | - | 失败的回调函数 |\n@| complete | (result: any) => void | 否 | - | - | 结束的回调函数(调用成功、失败都会执行) | \n\n#### GetClipboardDataSuccess 的属性值 @getclipboarddatasuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| data | string | 是 | - | - | 剪贴板的内容 |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.clipboard.getClipboardData)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/clipboard.html#getclipboarddata)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getClipboardData&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getClipboardData&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getClipboardData&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getClipboardData&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getClipboardData&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getClipboardData)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getClipboardData&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"setClipboardData":{"name":"## uni.setClipboardData(options) @setclipboarddata","description":"设置系统剪贴板的内容\n","compatibility":"### setClipboardData 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **SetClipboardDataOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| data | string | 是 | - | - | 需要设置的内容 |\n@| showToast | boolean | 否 | - | - | 是否弹出提示,默认弹出提示 |\n@| success | (result: SetClipboardDataSuccess) => void | 否 | - | - | 成功返回的回调函数 |\n@| fail | (result: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | - | - | 失败的回调函数 |\n@| complete | (result: any) => void | 否 | - | - | 结束的回调函数(调用成功、失败都会执行) | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.clipboard.setClipboardData)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/clipboard.html#setclipboarddata)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=setClipboardData&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=setClipboardData&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=setClipboardData&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=setClipboardData&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=setClipboardData&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=setClipboardData)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=setClipboardData&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"clipboard":{"example":"## 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/clipboard/clipboard.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/clipboard/clipboard\n\n>Template\n```vue\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n title: 'get/setClipboardData',\r\n data: '',\r\n // 自动化测试\r\n getDataTest: '',\r\n setClipboardTest: false\r\n }\r\n },\r\n methods: {\r\n dataChange: function (e) {\r\n this.data = e.detail.value\r\n },\r\n getClipboard: function () {\r\n uni.getClipboardData({\r\n success: (res) => {\r\n console.log(res.data);\r\n this.getDataTest = res.data;\r\n const content = res.data ? '剪贴板内容为:' + res.data : '剪贴板暂无内容';\r\n uni.showModal({\r\n content,\r\n title: '读取剪贴板',\r\n showCancel: false\r\n })\r\n },\r\n fail: () => {\r\n uni.showModal({\r\n content: '读取剪贴板失败!',\r\n showCancel: false\r\n })\r\n }\r\n });\r\n },\r\n setClipboard: function () {\r\n if (this.data.length === 0) {\r\n uni.showModal({\r\n title: '设置剪贴板失败',\r\n content: '内容不能为空',\r\n showCancel: false\r\n })\r\n } else {\r\n uni.setClipboardData({\r\n data: this.data,\r\n success: () => {\r\n this.setClipboardTest = true\r\n // 成功处理\r\n uni.showToast({\r\n title: '设置剪贴板成功',\r\n icon: \"success\",\r\n mask: !1\r\n })\r\n },\r\n fail: () => {\r\n // bug:自动化测试时设置成功也进入了fail\r\n this.setClipboardTest = false\r\n // 失败处理\r\n uni.showToast({\r\n title: '储存数据失败!',\r\n icon: \"none\",\r\n mask: !1\r\n })\r\n }\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\n```\n\n:::"},"onCompassChange":{"name":"## uni.onCompassChange(callback) @oncompasschange","description":"监听罗盘数据\n","compatibility":"### onCompassChange 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [OnCompassChangeSuccess](#oncompasschangesuccess-values)) => void | 是 | - | - | - | \n\n### OnCompassChangeSuccess 的属性值 @oncompasschangesuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| direction | number | 是 | - | - | 面对的方向度数 |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.onCompassChange)\n - [参见uni-app相关文档](https://uniapp.dcloud.io/api/system/compass.html#oncompasschange)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=onCompassChange&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=onCompassChange&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=onCompassChange&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=onCompassChange&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=onCompassChange&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=onCompassChange)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=onCompassChange&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"offCompassChange":{"name":"## uni.offCompassChange(callback) @offcompasschange","description":"取消监听罗盘数据\n","compatibility":"### offCompassChange 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.offCompassChange)\n - [参见uni-app相关文档](https://uniapp.dcloud.io/api/system/compass.html#offcompasschange)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=offCompassChange&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=offCompassChange&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=offCompassChange&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=offCompassChange&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=offCompassChange&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=offCompassChange)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=offCompassChange&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"startCompass":{"name":"## uni.startCompass(options?) @startcompass","description":"开始监听罗盘数据\n","compatibility":"### startCompass 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **StartCompassOptions** | 否 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (res: CompassSuccess) => void | 否 | - | - | uni.startCompass成功回调函数定义 |\n@| fail | (res: [ICompassError](#icompasserror-values)) => void | 否 | - | - | uni.startCompass失败回调函数定义 |\n@| complete | (res: any) => void | 否 | - | - | uni.startCompass完成回调函数定义 | \n\n#### ICompassError 的属性值 @icompasserror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | - |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.startCompass)\n - [参见uni-app相关文档](https://uniapp.dcloud.io/api/system/compass.html#startcompass)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=startCompass&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=startCompass&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=startCompass&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=startCompass&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=startCompass&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=startCompass)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=startCompass&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"stopCompass":{"name":"## uni.stopCompass(options?) @stopcompass","description":"停止监听罗盘数据\n","compatibility":"### stopCompass 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **StopCompassOptions** | 否 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (res: CompassSuccess) => void | 否 | - | - | 成功返回的回调函数 |\n@| fail | (res: [ICompassError](#icompasserror-values)) => void | 否 | - | - | 失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 结束的回调函数(调用成功、失败都会执行) | \n\n#### ICompassError 的属性值 @icompasserror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | - |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.stopCompass)\n - [参见uni-app相关文档](https://uniapp.dcloud.io/api/system/compass.html#stopcompass)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=stopCompass&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=stopCompass&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=stopCompass&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=stopCompass&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=stopCompass&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=stopCompass)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=stopCompass&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"compass":{"example":"## 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/compass/compass.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/compass/compass\n\n>Template\n```vue\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n title: 'onCompassChange',\r\n direction: 0\r\n }\r\n },\r\n onReady: function () {\r\n uni.onCompassChange((res) => {\r\n console.log('onCompassChange', res)\r\n this.direction = res.direction\r\n })\r\n },\r\n onUnload() {\r\n uni.stopCompass();\r\n this.direction = 0;\r\n }\r\n }\r\n\n```\n\n:::"},"startWifi":{"name":"## uni.startWifi(option) @startwifi","description":"初始化Wi-Fi模块\n\n\n> 本 API 是 [uni ext api](https://uniapp.dcloud.net.cn/api/extapi.html),需下载插件:[uni-wifi](https://ext.dcloud.net.cn/plugin?name=uni-wifi)\n","compatibility":"### startWifi 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| option | **WifiOption** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (res: [UniWifiResult](#uniwifiresult-values)) => void | 否 | - | - | - |\n@| fail | (res: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | - | - | - |\n@| complete | (res: any) => void | 否 | - | - | - | \n\n#### UniWifiResult 的属性值 @uniwifiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | - |\n| errSubject | string | 是 | - | - | - |\n| errMsg | string | 是 | - | - | - |\n| wifi | **UniWifiInfo** | 否 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| SSID | string | 是 | - | - | - |\n@| BSSID | string | 否 | - | - | - |\n@| secure | boolean | 否 | - | - | - |\n@| signalStrength | number | 否 | - | - | - |\n@| frequency | number | 否 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.wifi.startWifi)\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/wifi.html#startwifi)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=startWifi&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=startWifi&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=startWifi&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=startWifi&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=startWifi&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=startWifi)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=startWifi&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"stopWifi":{"name":"## uni.stopWifi(option) @stopwifi","description":"关闭 Wi-Fi 模块\n\n\n> 本 API 是 [uni ext api](https://uniapp.dcloud.net.cn/api/extapi.html),需下载插件:[uni-wifi](https://ext.dcloud.net.cn/plugin?name=uni-wifi)\n","compatibility":"### stopWifi 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | x | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| option | **WifiOption** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (res: [UniWifiResult](#uniwifiresult-values)) => void | 否 | - | - | - |\n@| fail | (res: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | - | - | - |\n@| complete | (res: any) => void | 否 | - | - | - | \n\n#### UniWifiResult 的属性值 @uniwifiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | - |\n| errSubject | string | 是 | - | - | - |\n| errMsg | string | 是 | - | - | - |\n| wifi | **UniWifiInfo** | 否 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| SSID | string | 是 | - | - | - |\n@| BSSID | string | 否 | - | - | - |\n@| secure | boolean | 否 | - | - | - |\n@| signalStrength | number | 否 | - | - | - |\n@| frequency | number | 否 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.wifi.stopWifi)\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/wifi.html#stopwifi)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=stopWifi&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=stopWifi&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=stopWifi&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=stopWifi&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=stopWifi&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=stopWifi)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=stopWifi&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"connectWifi":{"name":"## uni.connectWifi(option) @connectwifi","description":"","compatibility":"### connectWifi 兼容性 \n| Web | Android 系统版本 | Android | iOS |\n| :- | :- | :- | :- |\n| - | >=4.4 && <10.0 | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| option | **WifiConnectOption** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| SSID | string | 否 | - | - | - |\n@| BSSID | string | 否 | - | - | - |\n@| password | string | 否 | - | - | - |\n@| maunal | boolean | 否 | - | - | - |\n@| partialInfo | boolean | 否 | - | - | - |\n@| success | (res: [UniWifiResult](#uniwifiresult-values)) => void | 否 | - | - | - |\n@| fail | (res: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | - | - | - |\n@| complete | (res: any) => void | 否 | - | - | - | \n\n#### UniWifiResult 的属性值 @uniwifiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | - |\n| errSubject | string | 是 | - | - | - |\n| errMsg | string | 是 | - | - | - |\n| wifi | **UniWifiInfo** | 否 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| SSID | string | 是 | - | - | - |\n@| BSSID | string | 否 | - | - | - |\n@| secure | boolean | 否 | - | - | - |\n@| signalStrength | number | 否 | - | - | - |\n@| frequency | number | 否 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.wifi.connectWifi)\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/wifi.html#connectWifi)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=connectWifi&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=connectWifi&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=connectWifi&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=connectWifi&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=connectWifi&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=connectWifi)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=connectWifi&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"getWifiList":{"name":"## uni.getWifiList(option) @getwifilist","description":"请求获取 Wi-Fi 列表。wifiList 数据会在 onGetWifiList 注册的回调中返回。\n\n> 本 API 是 [uni ext api](https://uniapp.dcloud.net.cn/api/extapi.html),需下载插件:[uni-wifi](https://ext.dcloud.net.cn/plugin?name=uni-wifi)\n","compatibility":"### getWifiList 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| option | **WifiOption** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (res: [UniWifiResult](#uniwifiresult-values)) => void | 否 | - | - | - |\n@| fail | (res: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | - | - | - |\n@| complete | (res: any) => void | 否 | - | - | - | \n\n#### UniWifiResult 的属性值 @uniwifiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | - |\n| errSubject | string | 是 | - | - | - |\n| errMsg | string | 是 | - | - | - |\n| wifi | **UniWifiInfo** | 否 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| SSID | string | 是 | - | - | - |\n@| BSSID | string | 否 | - | - | - |\n@| secure | boolean | 否 | - | - | - |\n@| signalStrength | number | 否 | - | - | - |\n@| frequency | number | 否 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.wifi.getWifiList)\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/wifi.html#getWifiList)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getWifiList&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getWifiList&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getWifiList&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getWifiList&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getWifiList&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getWifiList)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getWifiList&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"onGetWifiList":{"name":"## uni.onGetWifiList(callback) @ongetwifilist","description":"监听获取到 Wi-Fi 列表数据事件。\n\n\n> 本 API 是 [uni ext api](https://uniapp.dcloud.net.cn/api/extapi.html),需下载插件:[uni-wifi](https://ext.dcloud.net.cn/plugin?name=uni-wifi)\n","compatibility":"### onGetWifiList 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (wifiInfo: Record\\) => void | 是 | - | - | | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.wifi.onGetWifiList)\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/wifi.html#onGetWifiList)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=onGetWifiList&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=onGetWifiList&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=onGetWifiList&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=onGetWifiList&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=onGetWifiList&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=onGetWifiList)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=onGetWifiList&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"offGetWifiList":{"name":"## uni.offGetWifiList(callback) @offgetwifilist","description":"移除获取到 Wi-Fi 列表数据事件的监听函数。\n\n\n> 本 API 是 [uni ext api](https://uniapp.dcloud.net.cn/api/extapi.html),需下载插件:[uni-wifi](https://ext.dcloud.net.cn/plugin?name=uni-wifi)\n","compatibility":"### offGetWifiList 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | () => void | 是 | - | - | | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.wifi.offGetWifiList)\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/wifi.html#offGetWifiList)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=offGetWifiList&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=offGetWifiList&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=offGetWifiList&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=offGetWifiList&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=offGetWifiList&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=offGetWifiList)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=offGetWifiList&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"getConnectedWifi":{"name":"## uni.getConnectedWifi(option) @getconnectedwifi","description":"获取已连接的 Wi-Fi 信息\n\n\n> 本 API 是 [uni ext api](https://uniapp.dcloud.net.cn/api/extapi.html),需下载插件:[uni-wifi](https://ext.dcloud.net.cn/plugin?name=uni-wifi)\n","compatibility":"### getConnectedWifi 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| option | **GetConnectedWifiOptions** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| partialInfo | boolean | 否 | - | - | - |\n@| success | (res: [UniWifiResult](#uniwifiresult-values)) => void | 否 | - | - | - |\n@| fail | (res: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | - | - | - |\n@| complete | (res: any) => void | 否 | - | - | - | \n\n#### UniWifiResult 的属性值 @uniwifiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | - |\n| errSubject | string | 是 | - | - | - |\n| errMsg | string | 是 | - | - | - |\n| wifi | **UniWifiInfo** | 否 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| SSID | string | 是 | - | - | - |\n@| BSSID | string | 否 | - | - | - |\n@| secure | boolean | 否 | - | - | - |\n@| signalStrength | number | 否 | - | - | - |\n@| frequency | number | 否 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.wifi.getConnectedWifi)\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/wifi.html#getConnectedWifi)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getConnectedWifi&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getConnectedWifi&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getConnectedWifi&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getConnectedWifi&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getConnectedWifi&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getConnectedWifi)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getConnectedWifi&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"onWifiConnected":{"name":"## uni.onWifiConnected(callback) @onwificonnected","description":"监听连接上 Wi-Fi 的事件\n\n\n> 本 API 是 [uni ext api](https://uniapp.dcloud.net.cn/api/extapi.html),需下载插件:[uni-wifi](https://ext.dcloud.net.cn/plugin?name=uni-wifi)\n","compatibility":"### onWifiConnected 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (wifiInfo: [UniWifiResult](#uniwifiresult-values)) => void | 是 | - | - | | \n\n### UniWifiResult 的属性值 @uniwifiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | - |\n| errSubject | string | 是 | - | - | - |\n| errMsg | string | 是 | - | - | - |\n| wifi | **UniWifiInfo** | 否 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| SSID | string | 是 | - | - | - |\n@| BSSID | string | 否 | - | - | - |\n@| secure | boolean | 否 | - | - | - |\n@| signalStrength | number | 否 | - | - | - |\n@| frequency | number | 否 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.wifi.onWifiConnected)\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/wifi.html#onWifiConnected)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=onWifiConnected&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=onWifiConnected&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=onWifiConnected&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=onWifiConnected&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=onWifiConnected&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=onWifiConnected)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=onWifiConnected&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"onWifiConnectedWithPartialInfo":{"name":"## uni.onWifiConnectedWithPartialInfo(callback) @onwificonnectedwithpartialinfo","description":"监听连接上 Wi-Fi 的事件。\n\n\n> 本 API 是 [uni ext api](https://uniapp.dcloud.net.cn/api/extapi.html),需下载插件:[uni-wifi](https://ext.dcloud.net.cn/plugin?name=uni-wifi)\n","compatibility":"### onWifiConnectedWithPartialInfo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (wifiInfo: [UniWifiInfoWithPartialInfo](#uniwifiinfowithpartialinfo-values)) => void | 是 | - | - | | \n\n### UniWifiInfoWithPartialInfo 的属性值 @uniwifiinfowithpartialinfo-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| SSID | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.wifi.onWifiConnectedWithPartialInfo)\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/wifi.html#onWifiConnectedWithPartialInfo)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=onWifiConnectedWithPartialInfo&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=onWifiConnectedWithPartialInfo&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=onWifiConnectedWithPartialInfo&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=onWifiConnectedWithPartialInfo&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=onWifiConnectedWithPartialInfo&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=onWifiConnectedWithPartialInfo)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=onWifiConnectedWithPartialInfo&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"offWifiConnected":{"name":"## uni.offWifiConnected(callback?) @offwificonnected","description":"移除连接上 Wi-Fi 的事件的监听函数。\n\n\n> 本 API 是 [uni ext api](https://uniapp.dcloud.net.cn/api/extapi.html),需下载插件:[uni-wifi](https://ext.dcloud.net.cn/plugin?name=uni-wifi)\n","compatibility":"### offWifiConnected 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | () => void | 否 | - | - | | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.wifi.offWifiConnected)\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/wifi.html#offWifiConnected)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=offWifiConnected&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=offWifiConnected&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=offWifiConnected&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=offWifiConnected&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=offWifiConnected&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=offWifiConnected)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=offWifiConnected&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"setWifiList":{"name":"## uni.setWifiList(option) @setwifilist","description":"SetWifiList 暂未实现\n\n\n> 本 API 是 [uni ext api](https://uniapp.dcloud.net.cn/api/extapi.html),需下载插件:[uni-wifi](https://ext.dcloud.net.cn/plugin?name=uni-wifi)\n","compatibility":"### setWifiList 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| option | **WifiOption** | 是 | - | - | Wifi 函数通用入参封装 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (res: [UniWifiResult](#uniwifiresult-values)) => void | 否 | - | - | - |\n@| fail | (res: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | - | - | - |\n@| complete | (res: any) => void | 否 | - | - | - | \n\n#### UniWifiResult 的属性值 @uniwifiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | - |\n| errSubject | string | 是 | - | - | - |\n| errMsg | string | 是 | - | - | - |\n| wifi | **UniWifiInfo** | 否 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| SSID | string | 是 | - | - | - |\n@| BSSID | string | 否 | - | - | - |\n@| secure | boolean | 否 | - | - | - |\n@| signalStrength | number | 否 | - | - | - |\n@| frequency | number | 否 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.wifi.setWifiList)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=setWifiList&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=setWifiList&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=setWifiList&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=setWifiList&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=setWifiList&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=setWifiList)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=setWifiList&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"onMemoryWarning":{"name":"## uni.onMemoryWarning(callback) @onmemorywarning","description":"开启监听内存警告\n\n\n> 本 API 是 [uni ext api](https://uniapp.dcloud.net.cn/api/extapi.html),需下载插件:[uni-memorywarning](https://ext.dcloud.net.cn/plugin?name=uni-memorywarning)\n","compatibility":"### onMemoryWarning 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (res: [MemoryWarningCallbackResult](#memorywarningcallbackresult-values)) => void | 是 | - | - | | \n\n### MemoryWarningCallbackResult 的属性值 @memorywarningcallbackresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| level | number | 是 | - | - | 内存警告等级(仅安卓平台有效,iOS始终是0) |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.memory.onMemoryWarning)\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/memory.html#onmemorywarning)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=onMemoryWarning&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=onMemoryWarning&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=onMemoryWarning&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=onMemoryWarning&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=onMemoryWarning&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=onMemoryWarning)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=onMemoryWarning&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"offMemoryWarning":{"name":"## uni.offMemoryWarning(callback?) @offmemorywarning","description":"取消监听内存不足告警事件\n\n\n> 本 API 是 [uni ext api](https://uniapp.dcloud.net.cn/api/extapi.html),需下载插件:[uni-memorywarning](https://ext.dcloud.net.cn/plugin?name=uni-memorywarning)\n","compatibility":"### offMemoryWarning 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (res: [MemoryWarningCallbackResult](#memorywarningcallbackresult-values)) => void | 否 | - | - | | \n\n### MemoryWarningCallbackResult 的属性值 @memorywarningcallbackresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| level | number | 是 | - | - | 内存警告等级(仅安卓平台有效,iOS始终是0) |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.memory.offMemoryWarning)\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/memory.html#offmemorywarning)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=offMemoryWarning&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=offMemoryWarning&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=offMemoryWarning&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=offMemoryWarning&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=offMemoryWarning&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=offMemoryWarning)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=offMemoryWarning&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"onUserCaptureScreen":{"name":"## uni.onUserCaptureScreen(callback?) @onusercapturescreen","description":"开启截屏监听\r\n\n\n> 本 API 是 [uni ext api](https://uniapp.dcloud.net.cn/api/extapi.html),需下载插件:[uni-usercapturescreen](https://ext.dcloud.net.cn/plugin?name=uni-usercapturescreen)\n","compatibility":"### onUserCaptureScreen 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (res: [OnUserCaptureScreenCallbackResult](#onusercapturescreencallbackresult-values)) => void | 否 | - | - | | \n\n### OnUserCaptureScreenCallbackResult 的属性值 @onusercapturescreencallbackresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| path | string | 否 | - | - | 截屏文件路径(仅Android返回) |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.captureScreen.onUserCaptureScreen)\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/capture-screen.html#onusercapturescreen)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=onUserCaptureScreen&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=onUserCaptureScreen&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=onUserCaptureScreen&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=onUserCaptureScreen&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=onUserCaptureScreen&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=onUserCaptureScreen)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=onUserCaptureScreen&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"offUserCaptureScreen":{"name":"## uni.offUserCaptureScreen(callback?) @offusercapturescreen","description":"关闭截屏监听\r\n\n\n> 本 API 是 [uni ext api](https://uniapp.dcloud.net.cn/api/extapi.html),需下载插件:[uni-usercapturescreen](https://ext.dcloud.net.cn/plugin?name=uni-usercapturescreen)\n","compatibility":"### offUserCaptureScreen 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (res: [OnUserCaptureScreenCallbackResult](#onusercapturescreencallbackresult-values)) => void | 否 | - | - | | \n\n### OnUserCaptureScreenCallbackResult 的属性值 @onusercapturescreencallbackresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| path | string | 否 | - | - | 截屏文件路径(仅Android返回) |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.captureScreen.offUserCaptureScreen)\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/capture-screen.html#offusercapturescreen)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=offUserCaptureScreen&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=offUserCaptureScreen&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=offUserCaptureScreen&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=offUserCaptureScreen&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=offUserCaptureScreen&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=offUserCaptureScreen)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=offUserCaptureScreen&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"setUserCaptureScreen":{"name":"## uni.setUserCaptureScreen(options) @setusercapturescreen","description":"设置防截屏\r\n\n\n> 本 API 是 [uni ext api](https://uniapp.dcloud.net.cn/api/extapi.html),需下载插件:[uni-usercapturescreen](https://ext.dcloud.net.cn/plugin?name=uni-usercapturescreen)\n","compatibility":"### setUserCaptureScreen 兼容性 \n| Web | Android | iOS 系统版本 | iOS |\n| :- | :- | :- | :- |\n| - | 3.9.0 | 13.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **SetUserCaptureScreenOptions** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| enable | boolean | 是 | - | - | true: 允许用户截屏 false: 不允许用户截屏,防止用户截屏到应用页面内容 |\n@| success | (res: SetUserCaptureScreenSuccess) => void | 否 | - | - | uni.setUserCaptureScreen成功回调函数定义 |\n@| fail | (res: [IUniError](#iunierror-values)) => void | 否 | - | - | uni.setUserCaptureScreen失败回调函数定义 |\n@| complete | (res: any) => void | 否 | - | - | uni.setUserCaptureScreen完成回调函数定义 | \n\n#### IUniError 的属性值 @iunierror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 统一错误码 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.captureScreen.setUserCaptureScreen)\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/capture-screen.html#setusercapturescreen)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=setUserCaptureScreen&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=setUserCaptureScreen&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=setUserCaptureScreen&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=setUserCaptureScreen&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=setUserCaptureScreen&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=setUserCaptureScreen)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=setUserCaptureScreen&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"createRequestPermissionListener":{"name":"## uni.createRequestPermissionListener() @createrequestpermissionlistener","description":"创建一个监听权限申请的对象。","compatibility":"### createRequestPermissionListener 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.0 | x |\n","param":"","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| [RequestPermissionListener](#requestpermissionlistener-values) |\n\n#### RequestPermissionListener 的方法 @requestpermissionlistener-values \n\n#### onRequest(callback : RequestPermissionListenerRequestCallback) : void @onrequest\n监听申请系统权限\n##### onRequest 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (permissions: Array\\) => void | 是 | - | - | 申请系统权限回调,permissions为触发权限申请的所有权限 | \n\n\n#### onConfirm(callback : RequestPermissionListenerConfirmCallback) : void @onconfirm\n监听弹出系统权限授权框\n##### onConfirm 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (permissions: Array\\) => void | 是 | - | - | 弹出系统权限授权框回调,permissions为触发弹出权限授权框的所有权限 | \n\n\n#### onComplete(callback : RequestPermissionListenerCompleteCallback) : void @oncomplete\n监听权限申请完成\n##### onComplete 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (permissions: Array\\) => void | 是 | - | - | 权限申请完成回调,permissions为申请完成的所有权限 | \n\n\n#### stop() : void @stop\n取消所有监听\n##### stop 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.createRequestPermissionListener)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/create-request-permission-listener.html)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/create-request-permission-listener/create-request-permission-listener.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/create-request-permission-listener/create-request-permission-listener\n```uvue\n\r\n\r\n\r\n\r\n\n\n```\n:::"},"scanCode":{"name":"## uni.scanCode(options?) @scancode","description":"扫码","compatibility":"### scanCode 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | - | - |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **ScanCodeOptions** | 否 | - | - | uni.scanCode参数定义 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| onlyFromCamera | boolean | 否 | - | - | 是否只能从相机扫码,不允许从相册选择图片 |\n@| scanType | Array\\<'barCode' \\| 'qrCode' \\| 'datamatrix' \\| 'pdf417'\\> | 否 | - | - | 扫码类型 |\n@| success | (res: [ScanCodeSuccess](#scancodesuccess-values)) => void | 否 | - | - | uni.scanCode成功回调函数定义 |\n@| fail | (res: ScanCodeFail) => void | 否 | - | - | uni.scanCode失败回调函数定义 |\n@| complete | (res: any) => void | 否 | - | - | uni.scanCode完成回调函数定义 | \n\n#### ScanCodeSuccess 的属性值 @scancodesuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| result | string | 是 | - | - | - |\n| scanType | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.scanCode)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=scanCode&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=scanCode&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=scanCode&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=scanCode&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=scanCode&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=scanCode)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=scanCode&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"chooseImage":{"name":"## uni.chooseImage(options) @chooseimage","description":"从本地相册选择图片或使用相机拍照","compatibility":"### chooseImage 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **ChooseImageOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| pageOrientation | string | 否 | - | | 屏幕方向。默认为page.json中的pageOrientation。 |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| auto | - | 自动 |\n@@| portrait | - | 竖屏显示 |\n@@| landscape | - | 横屏显示 |\n@| albumMode | string | 否 | \"custom\" | | 图片选择模式 |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| custom | - | 自定义媒体选择器 |\n@@| system | - | 系统媒体选择器 |\n@| count | number | 否 | 9 | - | 最多可以选择的图片张数,app端不限制,微信小程序最多可支持20个。 |\n@| sizeType | Array\\ | 否 | ['original','compressed'\\] | | original 原图,compressed 压缩图,默认二者都有 |\n@| sourceType | Array\\ | 否 | ['album','camera'\\] | - | album 从相册选图,camera 使用相机,默认二者都有 |\n@| extension | Array\\ | 否 | - | | 根据文件拓展名过滤,每一项都不能是空字符串。默认不过滤。仅H5支持 |\n@| crop | **ChooseImageCropOptions** | 否 | - | | 图像裁剪参数,设置后 sizeType 失效。 |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| width | number | 是 | - | - | 裁剪的宽度,单位为px,用于计算裁剪宽高比。 |\n@@| height | number | 是 | - | - | 裁剪的高度,单位为px,用于计算裁剪宽高比。 |\n@@| quality | number | 否 | 80 | - | 取值范围为1-100,数值越小,质量越低(仅对jpg格式有效)。默认值为80。 |\n@@| resize | boolean | 否 | - | - | 是否将width和height作为裁剪保存图片真实的像素值。默认值为true。注:设置为false时在裁剪编辑界面显示图片的像素值,设置为true时不显示。 |\n@| success | (callback: [ChooseImageSuccess](#chooseimagesuccess-values)) => void | 否 | - | - | 成功则返回图片的本地文件路径列表 tempFilePaths |\n@| fail | (callback: [IMediaError](#imediaerror-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (callback: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### ChooseImageSuccess 的属性值 @chooseimagesuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errSubject | string | 是 | - | - | 调用API的名称 |\n| errMsg | string | 是 | - | - | 描述信息 |\n| tempFilePaths | Array\\ | 是 | - | - | 图片的本地文件路径列表 |\n| tempFiles | Array\\<**ChooseImageTempFile**\\> | 是 | - | - | 图片的本地文件列表 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| path | string | 是 | - | - | 本地文件路径 |\n@| size | number | 是 | - | - | 本地文件大小,单位:B |\n@| name | string | 否 | - | - | 包含扩展名的文件名称,仅H5支持 |\n@| type | string | 否 | - | - | 文件类型,仅H5支持 |\n\n#### IMediaError 的属性值 @imediaerror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 1101001 | - | 用户取消 |\n@| 1101002 | - | urls至少包含一张图片地址 |\n@| 1101003 | - | 文件不存在 |\n@| 1101004 | - | 图片加载失败 |\n@| 1101005 | - | 未获取权限 |\n@| 1101006 | - | 图片或视频保存失败 |\n@| 1101007 | - | 图片裁剪失败 |\n@| 1101008 | - | 拍照或录像失败 |\n@| 1101009 | - | 图片压缩失败 |\n@| 1101010 | - | 其他错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.media.chooseImage)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/media/image.html#chooseimage)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=chooseImage&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=chooseImage&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=chooseImage&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=chooseImage&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=chooseImage&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=chooseImage)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=chooseImage&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/choose-image/choose-image.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/choose-image/choose-image\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/choose-image/choose-image\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n var sourceTypeArray = [\r\n ['camera'],\r\n ['album'],\r\n ['camera', 'album']\r\n ]\r\n var sizeTypeArray = [\r\n ['compressed'],\r\n ['original'],\r\n ['compressed', 'original']\r\n ]\n var orientationTypeArray = [\n 'portrait',\n 'landscape',\n 'auto'\n ]\r\n var albumModeTypeArray = [\r\n \"custom\",\r\n \"system\"\r\n ]\r\n export default {\r\n data() {\r\n return {\r\n title: 'chooseImage',\r\n imageList: [] as Array,\r\n sourceTypeIndex: 2,\r\n sourceType: ['拍照', '相册', '拍照或相册'],\r\n sizeTypeIndex: 2,\r\n sizeType: ['压缩', '原图', '压缩或原图'],\n orientationTypeIndex: 0,\n orientationType: ['竖屏', '横屏', '自动'],\r\n albumModeTypeIndex:0,\r\n albumModeType:[\"自定义相册\",\"系统相册\"],\r\n countIndex: 8,\r\n count: [1, 2, 3, 4, 5, 6, 7, 8, 9],\r\n isCrop: false,\r\n cropPercent: 80,\r\n cropWidth: 100,\r\n cropHeight: 100,\r\n cropResize: false\r\n }\r\n },\r\n onUnload() {\r\n this.imageList = [];\r\n this.sourceTypeIndex = 2\r\n this.sourceType = ['拍照', '相册', '拍照或相册']\r\n this.sizeTypeIndex = 2\r\n this.sizeType = ['压缩', '原图', '压缩或原图']\r\n this.countIndex = 8\n this.orientationTypeIndex = 0\n this.orientationType = ['竖屏', '横屏', '自动']\r\n },\r\n methods: {\r\n cropHeightConfim(e : InputConfirmEvent) {\r\n let value = parseInt(e.detail.value)\r\n if (value > 0) {\r\n this.cropHeight = value\r\n } else {\r\n uni.showToast({\r\n position: \"bottom\",\r\n title: \"裁剪高度需要大于0\"\r\n })\r\n }\r\n },\r\n cropWidthConfim(e : InputConfirmEvent) {\r\n let value = parseInt(e.detail.value)\r\n if (value > 0) {\r\n this.cropWidth = value\r\n } else {\r\n uni.showToast({\r\n position: \"bottom\",\r\n title: \"裁剪宽度需要大于0\"\r\n })\r\n }\r\n },\r\n cropPercentConfim(e : InputConfirmEvent) {\r\n let value = parseInt(e.detail.value)\r\n if (value > 0 && value <= 100) {\r\n this.cropPercent = value\r\n } else {\r\n uni.showToast({\r\n position: \"bottom\",\r\n title: \"请输入0~100之间的值\"\r\n })\r\n }\r\n },\r\n albumModeChange(){\r\n uni.showActionSheet({\r\n itemList: this.albumModeType,\r\n success: (e) => {\r\n this.albumModeTypeIndex = e.tapIndex!\r\n }\r\n })\r\n },\r\n cropResizeChange(e : UniSwitchChangeEvent) {\r\n this.cropResize = e.detail.value\r\n },\r\n switchCrop(e : UniSwitchChangeEvent) {\r\n this.isCrop = e.detail.value\r\n },\r\n removeImage(index : number) {\r\n this.imageList.splice(index, 1)\r\n },\r\n chooseImageSource() {\r\n uni.showActionSheet({\r\n itemList: ['拍照', '相册', '拍照或相册'],\r\n success: (e) => {\r\n this.sourceTypeIndex = e.tapIndex!\r\n }\r\n })\r\n },\r\n chooseImageType() {\r\n uni.showActionSheet({\r\n itemList: ['压缩', '原图', '压缩或原图'],\r\n success: (e) => {\r\n this.sizeTypeIndex = e.tapIndex!\r\n }\r\n })\r\n },\n chooseOrientationType(){\n uni.showActionSheet({\n itemList: ['竖屏', '横屏', '自动'],\n success: (e) => {\n this.orientationTypeIndex = e.tapIndex!\n }\n })\n },\r\n chooseImageCount(event : InputConfirmEvent) {\r\n let count = parseInt(event.detail.value) - 1\r\n if (count < 0) {\r\n uni.showToast({\r\n position: \"bottom\",\r\n title: \"图片数量应该大于0\"\r\n })\r\n return\r\n }\r\n this.countIndex = count\r\n },\r\n chooseImage: function () {\r\n // var cropOption:ChooseImageCropOptions|null = this.isCrop ? null : new ChooseImageCropOptions( )\r\n if (this.imageList.length >= 9) {\r\n uni.showToast({\r\n position: \"bottom\",\r\n title: \"已经有9张图片了,请删除部分图片之后重新选择\"\r\n })\r\n return\r\n }\r\n uni.chooseImage({\r\n sourceType: sourceTypeArray[this.sourceTypeIndex],\r\n sizeType: sizeTypeArray[this.sizeTypeIndex],\r\n crop: this.isCrop ? { \"quality\": this.cropPercent, \"width\": this.cropWidth, \"height\": this.cropHeight, \"resize\": this.cropResize } as ChooseImageCropOptions : null,\r\n count: this.imageList.length + this.count[this.countIndex] > 9 ? 9 - this.imageList.length : this.count[this.countIndex],\n // #ifdef APP\r\n pageOrientation: orientationTypeArray[this.orientationTypeIndex],\r\n // #endif\r\n // #ifdef APP-ANDROID\r\n albumMode: albumModeTypeArray[this.albumModeTypeIndex],\r\n // #endif\r\n success: (res) => {\r\n this.imageList = this.imageList.concat(res.tempFilePaths);\r\n },\r\n fail: (err) => {\r\n console.log(\"err: \", JSON.stringify(err));\r\n }\r\n })\r\n },\r\n previewImage: function (index : number) {\r\n uni.previewImage({\r\n current: index,\r\n urls: this.imageList\r\n })\r\n }\r\n }\r\n }\r\n\n```\n\n:::"},"previewImage":{"name":"## uni.previewImage(options) @previewimage","description":"预览图片","compatibility":"### previewImage 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **PreviewImageOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| current | any | 否 | - | - | current 为当前显示图片的链接/索引值,不填或填写的值无效则为 urls 的第一张。APP平台仅支持索引值。 |\n@| urls | Array\\<[string.ImageURIString](/uts/data-type.md#ide-string)\\> | 是 | - | - | 需要预览的图片链接列表 |\n@| showmenu | boolean | 否 | - | | 是否显示长按菜单
|\n@| indicator | \"default\" \\\\| \"number\" \\\\| \"none\" | 否 | - | | 图片指示器样式
|\n@| loop | boolean | 否 | - | | 是否可循环预览 |\n@| success | (callback: [PreviewImageSuccess](#previewimagesuccess-values)) => void | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (callback: [IMediaError](#imediaerror-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (callback: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### PreviewImageSuccess 的属性值 @previewimagesuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errSubject | string | 是 | - | - | 调用API的名称 |\n| errMsg | string | 是 | - | - | 描述信息 |\n\n#### IMediaError 的属性值 @imediaerror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 1101001 | - | 用户取消 |\n@| 1101002 | - | urls至少包含一张图片地址 |\n@| 1101003 | - | 文件不存在 |\n@| 1101004 | - | 图片加载失败 |\n@| 1101005 | - | 未获取权限 |\n@| 1101006 | - | 图片或视频保存失败 |\n@| 1101007 | - | 图片裁剪失败 |\n@| 1101008 | - | 拍照或录像失败 |\n@| 1101009 | - | 图片压缩失败 |\n@| 1101010 | - | 其他错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.media.previewImage.previewImage)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/media/image.html#unipreviewimageobject)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=previewImage&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=previewImage&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=previewImage&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=previewImage&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=previewImage&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=previewImage)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=previewImage&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/preview-image/preview-image.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/preview-image/preview-image\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/preview-image/preview-image\n\n>Template\n```vue\n\n\n\n\n\n\n```\n\n>Script\n```uts\n\n type Indicator = \"number\" | \"default\" | \"none\"\n type ItemType = {\n value : Indicator,\n name : string\n }\n export default {\n data() {\n return {\n imageList: [\"https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/uni@2x.png\", \"/static/uni.png\"],\n indicator: [{\n value: \"default\",\n name: \"圆点\"\n }, {\n value: \"number\",\n name: \"数字\"\n }, {\n value: \"none\",\n name: \"不显示\"\n }] as ItemType[],\n currentIndicator: \"default\" as Indicator,\n isLoop: true\n }\n },\n methods: {\n previewImage(index : number) {\n uni.previewImage({\n urls: this.imageList,\n current: index,\n indicator: this.currentIndicator,\n loop: this.isLoop\n })\n },\n chooseImage() {\n uni.chooseImage({\n sourceType: ['album'],\n success: (e) => {\n this.imageList = this.imageList.concat(e.tempFilePaths)\n },\n fail(_) {\n }\n })\n },\n onIndicatorChanged(e : UniRadioGroupChangeEvent) {\n this.currentIndicator = e.detail.value as Indicator\n },\n onCheckboxChange(_ : UniCheckboxGroupChangeEvent) {\n this.isLoop = !this.isLoop\n }\n }\n }\n\n```\n\n:::"},"closePreviewImage":{"name":"## uni.closePreviewImage(options) @closepreviewimage","description":"关闭图片预览","compatibility":"### closePreviewImage 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **ClosePreviewImageOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (callback: [ClosePreviewImageSuccess](#closepreviewimagesuccess-values)) => void | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (callback: [IMediaError](#imediaerror-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (callback: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### ClosePreviewImageSuccess 的属性值 @closepreviewimagesuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | 错误信息 |\n\n#### IMediaError 的属性值 @imediaerror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 1101001 | - | 用户取消 |\n@| 1101002 | - | urls至少包含一张图片地址 |\n@| 1101003 | - | 文件不存在 |\n@| 1101004 | - | 图片加载失败 |\n@| 1101005 | - | 未获取权限 |\n@| 1101006 | - | 图片或视频保存失败 |\n@| 1101007 | - | 图片裁剪失败 |\n@| 1101008 | - | 拍照或录像失败 |\n@| 1101009 | - | 图片压缩失败 |\n@| 1101010 | - | 其他错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.media.previewImage.closePreviewImage)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/media/image.html#closepreviewimage)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=closePreviewImage&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=closePreviewImage&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=closePreviewImage&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=closePreviewImage&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=closePreviewImage&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=closePreviewImage)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=closePreviewImage&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"saveImageToPhotosAlbum":{"name":"## uni.saveImageToPhotosAlbum(options) @saveimagetophotosalbum","description":"保存图片到系统相册","compatibility":"### saveImageToPhotosAlbum 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **SaveImageToPhotosAlbumOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| filePath | [string.ImageURIString](/uts/data-type.md#ide-string) | 是 | - | - | 图片文件路径,可以是临时文件路径也可以是永久文件路径,不支持网络图片路径 |\n@| success | (callback: [SaveImageToPhotosAlbumSuccess](#saveimagetophotosalbumsuccess-values)) => void | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (callback: [IMediaError](#imediaerror-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (callback: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### SaveImageToPhotosAlbumSuccess 的属性值 @saveimagetophotosalbumsuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| path | string | 是 | - | - | 保存到相册的图片路径 |\n\n#### IMediaError 的属性值 @imediaerror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 1101001 | - | 用户取消 |\n@| 1101002 | - | urls至少包含一张图片地址 |\n@| 1101003 | - | 文件不存在 |\n@| 1101004 | - | 图片加载失败 |\n@| 1101005 | - | 未获取权限 |\n@| 1101006 | - | 图片或视频保存失败 |\n@| 1101007 | - | 图片裁剪失败 |\n@| 1101008 | - | 拍照或录像失败 |\n@| 1101009 | - | 图片压缩失败 |\n@| 1101010 | - | 其他错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.media.saveImageToPhotosAlbum)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/media/image.html#saveimagetophotosalbum)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=saveImageToPhotosAlbum&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=saveImageToPhotosAlbum&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=saveImageToPhotosAlbum&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=saveImageToPhotosAlbum&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=saveImageToPhotosAlbum&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=saveImageToPhotosAlbum)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=saveImageToPhotosAlbum&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/save-image-to-photos-album/save-image-to-photos-album.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/save-image-to-photos-album/save-image-to-photos-album\n```uvue\n\r\n\r\n\r\n\r\n\n\n```\n:::"},"getImageInfo":{"name":"## uni.getImageInfo(options) @getimageinfo","description":"获取图片信息","compatibility":"### getImageInfo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.18 | 4.25 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **GetImageInfoOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| src | [string.ImageURIString](/uts/data-type.md#ide-string) | 是 | - | - | 图片的路径,可以是相对路径,临时文件路径,存储文件路径,网络图片路径 |\n@| success | (callback: [GetImageInfoSuccess](#getimageinfosuccess-values)) => void | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (callback: [IMediaError](#imediaerror-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (callback: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### GetImageInfoSuccess 的属性值 @getimageinfosuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| width | number | 是 | - | - | 图片宽度,单位px |\n| height | number | 是 | - | - | 图片高度,单位px |\n| path | string | 是 | - | - | 返回图片的本地路径 |\n| orientation | string | 否 | - | | 返回图片的方向 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| up | - | - |\n@| down | - | - |\n@| left | - | - |\n@| right | - | - |\n@| up-mirrored | - | - |\n@| down-mirrored | - | - |\n@| left-mirrored | - | - |\n@| right-mirrored | - | - |\n| type | string | 否 | - | | 返回图片的格式 |\n\n#### IMediaError 的属性值 @imediaerror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 1101001 | - | 用户取消 |\n@| 1101002 | - | urls至少包含一张图片地址 |\n@| 1101003 | - | 文件不存在 |\n@| 1101004 | - | 图片加载失败 |\n@| 1101005 | - | 未获取权限 |\n@| 1101006 | - | 图片或视频保存失败 |\n@| 1101007 | - | 图片裁剪失败 |\n@| 1101008 | - | 拍照或录像失败 |\n@| 1101009 | - | 图片压缩失败 |\n@| 1101010 | - | 其他错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.media.getImageInfo)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/media/image.html#getimageinfo)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getImageInfo&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getImageInfo&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getImageInfo&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getImageInfo&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getImageInfo&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getImageInfo)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getImageInfo&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/get-image-info/get-image-info.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/get-image-info/get-image-info\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/get-image-info/get-image-info\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n title: \"getImageInfo\",\r\n relativeImagePath: \"/static/test-image/logo.png\",\r\n relativeImageInfo: \"\",\r\n absoluteImagePath: \"\",\r\n absoluteImageInfo: \"\",\r\n remoteImagePath: \"https://qiniu-web-assets.dcloud.net.cn/uni-app-x/static/img/building.jpg\",\r\n remoteImageInfo: \"\",\r\n // 自动化测试\r\n imageInfoForTest: null as UTSJSONObject | null,\r\n }\r\n },\r\n methods: {\r\n chooseImage() {\r\n uni.chooseImage({\r\n count: 1,\r\n success: (res) => {\r\n this.absoluteImagePath = res.tempFilePaths[0];\r\n uni.getImageInfo({\r\n src: res.tempFilePaths[0],\r\n success: (_res) => {\r\n console.log(\"getImageInfo success\", JSON.stringify(_res));\r\n this.relativeImageInfo = `图片宽度: ${_res.width}\\n图片高度: ${_res.height}\\n图片路径: ${_res.path}\\n图片方向: ${_res.orientation}\\n图片格式: ${_res.type}`;\r\n },\r\n fail: (err) => {\r\n uni.showModal({\r\n title: \"获取图片信息失败\",\r\n content: JSON.stringify(err),\r\n showCancel: false\r\n });\r\n }\r\n });\r\n }\r\n });\r\n }\r\n },\r\n onReady() {\r\n uni.getImageInfo({\r\n src: this.relativeImagePath,\r\n success: (res) => {\r\n console.log(\"getImageInfo success\", JSON.stringify(res));\r\n this.absoluteImageInfo = `图片宽度: ${res.width}\\n图片高度: ${res.height}\\n图片路径: ${res.path}\\n图片方向: ${res.orientation}\\n图片格式: ${res.type}`;\r\n this.imageInfoForTest = {\r\n \"width\": res.width,\r\n \"height\": res.height,\r\n \"path\": res.path.slice(res.path.indexOf('/static')),\r\n \"orientation\": res.orientation,\r\n \"type\": res.type\r\n };\r\n },\r\n fail: (err) => {\r\n uni.showModal({\r\n title: \"获取图片信息失败\",\r\n content: JSON.stringify(err),\r\n showCancel: false\r\n });\r\n this.imageInfoForTest = null;\r\n }\r\n });\r\n uni.getImageInfo({\r\n src: this.remoteImagePath,\r\n success: (res) => {\r\n console.log(\"getImageInfo success\", JSON.stringify(res));\r\n this.remoteImageInfo = `图片宽度: ${res.width}\\n图片高度: ${res.height}\\n图片路径: ${res.path}\\n图片方向: ${res.orientation}\\n图片格式: ${res.type}`;\r\n },\r\n fail: (err) => {\r\n uni.showModal({\r\n title: \"获取图片信息失败\",\r\n content: JSON.stringify(err),\r\n showCancel: false\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\n```\n\n:::"},"compressImage":{"name":"## uni.compressImage(options) @compressimage","description":"压缩图片","compatibility":"### compressImage 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.18 | 4.25 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **CompressImageOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| src | [string.ImageURIString](/uts/data-type.md#ide-string) | 是 | - | - | 图片路径,图片的路径,可以是相对路径、临时文件路径、存储文件路径 |\n@| quality | number | 否 | - | - | 压缩质量,范围0~100,数值越小,质量越低,压缩率越高(仅对jpg有效) |\n@| rotate | number | 否 | - | - | 旋转度数,范围0~360 |\n@| compressedHeight | number | 否 | - | - | 压缩后图片的高度,单位为px,若不填写则默认以compressedWidth为准等比缩放 |\n@| compressedWidth | number | 否 | - | - | 压缩后图片的宽度,单位为px,若不填写则默认以compressedHeight为准等比缩放。 |\n@| success | (callback: [CompressImageSuccess](#compressimagesuccess-values)) => void | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (callback: [IMediaError](#imediaerror-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (callback: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) |\n@| ~~height~~ | string | 否 | - | - | 缩放图片的高度 **已废弃** |\n@| ~~width~~ | string | 否 | - | - | 缩放图片的宽度 **已废弃** | \n\n#### CompressImageSuccess 的属性值 @compressimagesuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| tempFilePath | string | 是 | - | - | 压缩后图片的临时文件路径 |\n\n#### IMediaError 的属性值 @imediaerror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 1101001 | - | 用户取消 |\n@| 1101002 | - | urls至少包含一张图片地址 |\n@| 1101003 | - | 文件不存在 |\n@| 1101004 | - | 图片加载失败 |\n@| 1101005 | - | 未获取权限 |\n@| 1101006 | - | 图片或视频保存失败 |\n@| 1101007 | - | 图片裁剪失败 |\n@| 1101008 | - | 拍照或录像失败 |\n@| 1101009 | - | 图片压缩失败 |\n@| 1101010 | - | 其他错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.media.compressImage)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/media/image.html#compressimage)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=compressImage&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=compressImage&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=compressImage&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=compressImage&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=compressImage&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=compressImage)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=compressImage&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/compress-image/compress-image.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/compress-image/compress-image\n```uvue\n\n\n\n\n\n\n```\n:::"},"chooseVideo":{"name":"## uni.chooseVideo(options) @choosevideo","description":"拍摄视频或从手机相册中选视频,返回视频的临时文件路径。","compatibility":"### chooseVideo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.18 | 4.18 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **ChooseVideoOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| pageOrientation | string | 否 | - | | 屏幕方向。默认为page.json中的pageOrientation。 |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| auto | - | 自动 |\n@@| portrait | - | 竖屏显示 |\n@@| landscape | - | 横屏显示 |\n@| albumMode | string | 否 | \"custom\" | | 视频选择模式 |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| custom | - | 自定义媒体选择器 |\n@@| system | - | 系统媒体选择器 |\n@| sourceType | Array\\ | 否 | - | - | album 从相册选视频,camera 使用相机拍摄,默认为:['album', 'camera'\\] |\n@| compressed | boolean | 否 | true | | 是否压缩所选的视频源文件,默认值为true,需要压缩 |\n@| maxDuration | number | 否 | - | | 拍摄视频最长拍摄时间,单位秒。最长支持 60 秒 |\n@| camera | string | 否 | - | | 摄像切换
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| front | - | 前置摄像头 |\n@@| back | - | 后置摄像头 |\n@| extension | Array\\ | 否 | - | | 根据文件拓展名过滤,每一项都不能是空字符串。默认不过滤。 |\n@| success | (callback: [ChooseVideoSuccess](#choosevideosuccess-values)) => void | 否 | - | - | 接口调用成功,返回视频文件的临时文件路径,详见返回参数说明 |\n@| fail | (callback: [IMediaError](#imediaerror-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (callback: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### ChooseVideoSuccess 的属性值 @choosevideosuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| tempFilePath | string | 是 | - | - | 选定视频的临时文件路径 |\n| duration | number | 是 | - | - | 选定视频的时间长度 |\n| size | number | 是 | - | - | 选定视频的数据量大小 |\n| height | number | 是 | - | - | 返回选定视频的长 |\n| width | number | 是 | - | - | 返回选定视频的宽 |\n\n#### IMediaError 的属性值 @imediaerror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 1101001 | - | 用户取消 |\n@| 1101002 | - | urls至少包含一张图片地址 |\n@| 1101003 | - | 文件不存在 |\n@| 1101004 | - | 图片加载失败 |\n@| 1101005 | - | 未获取权限 |\n@| 1101006 | - | 图片或视频保存失败 |\n@| 1101007 | - | 图片裁剪失败 |\n@| 1101008 | - | 拍照或录像失败 |\n@| 1101009 | - | 图片压缩失败 |\n@| 1101010 | - | 其他错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.media.chooseVideo)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/media/video.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=chooseVideo&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=chooseVideo&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=chooseVideo&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=chooseVideo&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=chooseVideo&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=chooseVideo)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=chooseVideo&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/choose-video/choose-video.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/choose-video/choose-video\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/choose-video/choose-video\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\r\n\n```\n\n>Script\n```uts\n\r\n import { ItemType } from '@/components/enum-data/enum-data-types';\r\n type Camera = \"back\" | \"front\"\r\n type Source = \"album\" | \"camera\"\r\n export default {\r\n data() {\r\n return {\r\n title: \"chooseVideo\",\r\n src: \"\",\r\n orientationTypeItemTypes: [{ \"value\": 0, \"name\": \"竖屏\" }, { \"value\": 1, \"name\": \"横屏\" }, { \"value\": 2, \"name\": \"自动\" }] as ItemType[],\r\n sourceTypeItemTypes: [{ \"value\": 0, \"name\": \"从相册中选择视频\" }, { \"value\": 1, \"name\": \"拍摄视频\" }, { \"value\": 2, \"name\": \"从相册中选择视频或拍摄视频\" }] as ItemType[],\r\n sourceTypeItems: [[\"album\"], [\"camera\"], [\"album\", \"camera\"]] as Source[][],\r\n cameraItemTypes: [{ \"value\": 0, \"name\": \"后置摄像头\" }, { \"value\": 1, \"name\": \"前置摄像头\" }] as ItemType[],\r\n albumModeTypes: [{ \"value\": 0, \"name\": \"自定义视频选择器\" }, { \"value\": 1, \"name\": \"系统视频选择器\" }] as ItemType[],\r\n albumModeTypeItems: [\"custom\", \"system\"],\r\n cameraItems: [\"back\", \"front\"] as Camera[],\r\n sourceType: [\"album\", \"camera\"] as Source[],\r\n orientationType: \"portrait\",\r\n orientationTypeItems: [\"portrait\", \"landscape\", \"auto\"],\r\n compressed: true,\r\n maxDuration: 60,\r\n camera: \"back\" as Camera,\r\n videoInfo: \"\",\r\n albumMode: \"custom\"\r\n }\r\n },\r\n methods: {\r\n chooseVideo() {\r\n uni.chooseVideo({\r\n sourceType: this.sourceType,\r\n // #ifdef APP\r\n compressed: this.compressed,\r\n pageOrientation: this.orientationType,\r\n // #endif\r\n maxDuration: this.maxDuration,\r\n // #ifdef APP-ANDROID\r\n albumMode: this.albumMode,\r\n // #endif\r\n camera: this.camera,\r\n success: (res) => {\r\n console.log(\"chooseVideo success\", JSON.stringify(res));\r\n this.src = res.tempFilePath;\r\n this.videoInfo = `视频长度: ${res.duration}s\\n视频大小: ${Math.ceil(res.size / 1024)}KB\\n视频宽度: ${res.width}\\n视频高度: ${res.height}\\n`;\r\n },\r\n fail: (err) => {\r\n uni.showModal({\r\n title: \"选择视频失败\",\r\n content: JSON.stringify(err),\r\n showCancel: false\r\n });\r\n }\r\n });\r\n },\r\n onOrientationTypeChange(value : number) {\r\n this.orientationType = this.orientationTypeItems[value];\r\n },\r\n onSourceTypeChange(value : number) {\r\n this.sourceType = this.sourceTypeItems[value];\r\n },\r\n onCompressedChange(value : boolean) {\r\n this.compressed = value;\r\n },\r\n onMaxDurationConfirm(value : number) {\r\n this.maxDuration = value;\r\n },\r\n onCameraChange(value : number) {\r\n this.camera = this.cameraItems[value];\r\n },\r\n onAlbumModeChange(value : number) {\r\n this.albumMode = this.albumModeTypeItems[value]\r\n }\r\n }\r\n }\r\n\n```\n\n:::"},"saveVideoToPhotosAlbum":{"name":"## uni.saveVideoToPhotosAlbum(options) @savevideotophotosalbum","description":"保存视频到系统相册","compatibility":"### saveVideoToPhotosAlbum 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.18 | 4.18 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **SaveVideoToPhotosAlbumOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| filePath | [string.VideoURIString](/uts/data-type.md#ide-string) | 是 | - | - | 视频文件路径,可以是临时文件路径也可以是永久文件路径 |\n@| success | (callback: SaveVideoToPhotosAlbumSuccess) => void | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (callback: [IMediaError](#imediaerror-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (callback: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### IMediaError 的属性值 @imediaerror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 1101001 | - | 用户取消 |\n@| 1101002 | - | urls至少包含一张图片地址 |\n@| 1101003 | - | 文件不存在 |\n@| 1101004 | - | 图片加载失败 |\n@| 1101005 | - | 未获取权限 |\n@| 1101006 | - | 图片或视频保存失败 |\n@| 1101007 | - | 图片裁剪失败 |\n@| 1101008 | - | 拍照或录像失败 |\n@| 1101009 | - | 图片压缩失败 |\n@| 1101010 | - | 其他错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.media.saveVideoToPhotosAlbum)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/media/video.html#savevideotophotosalbum)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=saveVideoToPhotosAlbum&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=saveVideoToPhotosAlbum&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=saveVideoToPhotosAlbum&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=saveVideoToPhotosAlbum&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=saveVideoToPhotosAlbum&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=saveVideoToPhotosAlbum)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=saveVideoToPhotosAlbum&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/save-video-to-photos-album/save-video-to-photos-album.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/save-video-to-photos-album/save-video-to-photos-album\n```uvue\n\r\n\r\n\r\n\r\n\n\n```\n:::"},"getVideoInfo":{"name":"## uni.getVideoInfo(options) @getvideoinfo","description":"获取视频详细信息","compatibility":"### getVideoInfo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.18 | 4.25 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **GetVideoInfoOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| src | [string.VideoURIString](/uts/data-type.md#ide-string) | 是 | - | - | 视频文件路径,可以是临时文件路径也可以是永久文件路径 |\n@| success | (callback: [GetVideoInfoSuccess](#getvideoinfosuccess-values)) => void | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (callback: [IMediaError](#imediaerror-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (callback: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### GetVideoInfoSuccess 的属性值 @getvideoinfosuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| orientation | string | 否 | - | | 画面方向 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| up | - | - |\n@| down | - | - |\n@| left | - | - |\n@| right | - | - |\n@| up-mirrored | - | - |\n@| down-mirrored | - | - |\n@| left-mirrored | - | - |\n@| right-mirrored | - | - |\n| type | string | 否 | - | | 视频格式 |\n| duration | number | 是 | - | - | 视频长度 |\n| size | number | 是 | - | - | 视频大小,单位 kB |\n| height | number | 是 | - | - | 视频的长,单位 px |\n| width | number | 是 | - | - | 视频的宽,单位 px |\n| fps | number | 否 | - | | 视频帧率 |\n| bitrate | number | 否 | - | | 视频码率,单位 kbps |\n\n#### IMediaError 的属性值 @imediaerror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 1101001 | - | 用户取消 |\n@| 1101002 | - | urls至少包含一张图片地址 |\n@| 1101003 | - | 文件不存在 |\n@| 1101004 | - | 图片加载失败 |\n@| 1101005 | - | 未获取权限 |\n@| 1101006 | - | 图片或视频保存失败 |\n@| 1101007 | - | 图片裁剪失败 |\n@| 1101008 | - | 拍照或录像失败 |\n@| 1101009 | - | 图片压缩失败 |\n@| 1101010 | - | 其他错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.media.getVideoInfo)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/media/video.html#getvideoinfo)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getVideoInfo&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getVideoInfo&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getVideoInfo&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getVideoInfo&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getVideoInfo&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getVideoInfo)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getVideoInfo&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/get-video-info/get-video-info.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/get-video-info/get-video-info\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/get-video-info/get-video-info\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n title: \"getVideoInfo\",\r\n relativeVideoPath: \"/static/test-video/10second-demo.mp4\",\r\n relativeVideoInfo: \"\",\r\n absoluteVideoPath: \"\",\r\n absoluteVideoInfo: \"\",\r\n // 自动化测试\r\n videoInfoForTest: null as UTSJSONObject | null\r\n }\r\n },\r\n onReady() {\r\n uni.getVideoInfo({\r\n src: this.relativeVideoPath,\r\n success: (res) => {\r\n console.log(\"getVideoInfo success\", JSON.stringify(res));\r\n this.relativeVideoInfo = `视频画面方向: ${res.orientation}\\n视频格式: ${res.type}\\n视频长度: ${res.duration}s\\n视频大小: ${res.size}KB\\n视频宽度: ${res.width}\\n视频高度: ${res.height}\\n视频帧率: ${res.fps}fps\\n视频码率: ${res.bitrate}kbps`;\r\n },\r\n fail: (err) => {\r\n uni.showModal({\r\n title: \"获取视频信息失败\",\r\n content: JSON.stringify(err),\r\n showCancel: false\r\n });\r\n }\r\n });\r\n },\r\n methods: {\r\n chooseVideo() {\r\n uni.chooseVideo({\r\n compressed: false,\r\n success: (res) => {\r\n this.absoluteVideoPath = res.tempFilePath;\r\n uni.getVideoInfo({\r\n src: res.tempFilePath,\r\n success: (_res) => {\r\n console.log(\"getVideoInfo success\", JSON.stringify(_res));\r\n this.absoluteVideoInfo = `视频画面方向: ${_res.orientation}\\n视频格式: ${_res.type}\\n视频长度: ${_res.duration}s\\n视频大小: ${_res.size}KB\\n视频宽度: ${_res.width}\\n视频高度: ${_res.height}\\n视频帧率: ${_res.fps}fps\\n视频码率: ${_res.bitrate}kbps`;\r\n },\r\n fail: (err) => {\r\n uni.showModal({\r\n title: \"获取视频信息失败\",\r\n content: JSON.stringify(err),\r\n showCancel: false\r\n });\r\n }\r\n });\r\n }\r\n });\r\n },\r\n testGetVideoInfo() {\r\n uni.getVideoInfo({\r\n src: '/static/test-video/10second-demo.mp4',\r\n success: (res) => {\r\n this.videoInfoForTest = {\r\n \"orientation\": res.orientation,\r\n \"type\": res.type,\r\n \"duration\": Math.trunc(res.duration),\r\n \"size\": res.size,\r\n \"width\": res.width,\r\n \"height\": res.height,\r\n \"fps\": res.fps,\r\n \"bitrate\": res.bitrate\r\n };\r\n },\r\n fail: (_) => {\r\n this.videoInfoForTest = null;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\n```\n\n:::"},"compressVideo":{"name":"## uni.compressVideo(options) @compressvideo","description":"压缩视频","compatibility":"### compressVideo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.18 | 4.25 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **CompressVideoOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| src | [string.VideoURIString](/uts/data-type.md#ide-string) | 是 | - | - | 视频文件路径,可以是临时文件路径也可以是永久文件路径 |\n@| quality | string | 否 | - | - | 压缩质量
|\n@| bitrate | number | 否 | - | | 码率,单位 kbps |\n@| fps | number | 否 | - | | 帧率 |\n@| resolution | number | 否 | - | - | 相对于原视频的分辨率比例,取值范围(0, 1\\] |\n@| success | (callback: [CompressVideoSuccess](#compressvideosuccess-values)) => void | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (callback: [IMediaError](#imediaerror-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (callback: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### CompressVideoSuccess 的属性值 @compressvideosuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| tempFilePath | string | 是 | - | - | 压缩后的临时文件地址 |\n| size | number | 是 | - | - | 压缩后的大小,单位 kB |\n\n#### IMediaError 的属性值 @imediaerror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 1101001 | - | 用户取消 |\n@| 1101002 | - | urls至少包含一张图片地址 |\n@| 1101003 | - | 文件不存在 |\n@| 1101004 | - | 图片加载失败 |\n@| 1101005 | - | 未获取权限 |\n@| 1101006 | - | 图片或视频保存失败 |\n@| 1101007 | - | 图片裁剪失败 |\n@| 1101008 | - | 拍照或录像失败 |\n@| 1101009 | - | 图片压缩失败 |\n@| 1101010 | - | 其他错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.media.compressVideo)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/media/video.html#compressvideo)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=compressVideo&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=compressVideo&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=compressVideo&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=compressVideo&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=compressVideo&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=compressVideo)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=compressVideo&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/compress-video/compress-video.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/compress-video/compress-video\n```uvue\n\n\n\n\n\n\n```\n:::"},"createInnerAudioContext":{"name":"## uni.createInnerAudioContext() @createinneraudiocontext","description":"创建并返回 audio 上下文 audioContext 对象\n","compatibility":"### createInnerAudioContext 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | x | x |\n","param":"","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| [InnerAudioContext](#inneraudiocontext-values) |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| duration | number | 是 | - | | 当前音频的长度(单位:s),只有在当前有合法的 src 时返回 |\n@| currentTime | number | 是 | - | | 当前音频的播放位置(单位:s),只有在当前有合法的 src 时返回 |\n@| paused | boolean | 是 | - | | 当前是是否暂停或停止状态,true 表示暂停或停止,false 表示正在播放 |\n@| src | string | 是 | - | | 音频的数据链接,用于直接播放 |\n@| startTime | number | 是 | - | | 音频开始播放的位置(单位:s) |\n@| buffered | number | 是 | - | | 音频缓冲的时间点,仅保证当前播放时间点到此时间点内容已缓冲 |\n@| autoplay | boolean | 是 | false | | 是否自动开始播放,默认 false |\n@| loop | boolean | 是 | false | | 是否循环播放,默认 false |\n@| obeyMuteSwitch | boolean | 是 | - | | 是否遵循系统静音开关,当此参数为 false 时,即使用户打开了静音开关,也能继续发出声音,默认值 true |\n@| volume | number | 是 | - | | 音量。范围 0~1。 |\n@| playbackRate | number | 否 | 1.0 | | 播放的倍率。可取值: 0.5/0.8/1.0/1.25/1.5/2.0,默认值为1.0。(仅 App 支持) |\n#### InnerAudioContext 的方法 @inneraudiocontext-values \n\n#### pause() : void; @pause\n暂停\n##### pause 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | x | x |\n\n\n\n#### stop() : void; @stop\n停止\n##### stop 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | x | x |\n\n\n\n#### play() : void; @play\n播放\n##### play 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | x | x |\n\n\n\n#### seek(position : number) : void; @seek\n跳转到指定位置,单位 s\n##### seek 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| position | number | 是 | - | - | - | \n\n\n#### destroy() : void; @destroy\n销毁当前实例\n##### destroy 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | x | x |\n\n\n\n#### onCanplay(callback : (result : any) => void) : void; @oncanplay\n音频进入可以播放状态,但不保证后面可以流畅播放\n##### onCanplay 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### onPlay(callback : (result : any) => void) : void; @onplay\n音频播放事件\n##### onPlay 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### onPause(callback : (result : any) => void) : void; @onpause\n音频暂停事件\n##### onPause 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### onStop(callback : (result : any) => void) : void; @onstop\n音频停止事件\n##### onStop 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### onEnded(callback : (result : any) => void) : void; @onended\n音频自然播放结束事件\n##### onEnded 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### onTimeUpdate(callback : (result : any) => void) : void; @ontimeupdate\n音频播放进度更新事件\n##### onTimeUpdate 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### onError(callback : (result : ICreateInnerAudioContextFail) => void) : void; @onerror\n音频播放错误事件\n##### onError 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [ICreateInnerAudioContextFail](#icreateinneraudiocontextfail-values)) => void | 是 | - | - | - | \n\n##### ICreateInnerAudioContextFail 的属性值 @icreateinneraudiocontextfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 1107601 | - | 系统错误 |\n@| 1107602 | - | 网络错误 |\n@| 1107603 | - | 文件错误 |\n@| 1107604 | - | 格式错误 |\n@| 1107605 | - | 未知错误 |\n@| 1107609 | - | 播放路径不能为空 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n\n#### onWaiting(callback : (result : any) => void) : void; @onwaiting\n音频加载中事件,当音频因为数据不足,需要停下来加载时会触发\n##### onWaiting 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### onSeeking(callback : (result : any) => void) : void; @onseeking\n音频进行 seek 操作事件\n##### onSeeking 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### onSeeked(callback : (result : any) => void) : void; @onseeked\n音频完成 seek 操作事件\n##### onSeeked 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### offCanplay(callback : (result : any) => void) : void; @offcanplay\n取消监听 onCanplay 事件\n##### offCanplay 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### offPlay(callback : (result : any) => void) : void; @offplay\n取消监听 onPlay 事件\n##### offPlay 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### offPause(callback : (result : any) => void) : void; @offpause\n取消监听 onPause 事件\n##### offPause 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### offStop(callback : (result : any) => void) : void; @offstop\n取消监听 onStop 事件\n##### offStop 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### offEnded(callback : (result : any) => void) : void; @offended\n取消监听 onEnded 事件\n##### offEnded 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### offTimeUpdate(callback : (result : any) => void) : void; @offtimeupdate\n取消监听 onTimeUpdate 事件\n##### offTimeUpdate 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### offError(callback : (result : ICreateInnerAudioContextFail) => void) : void; @offerror\n取消监听 onWaiting 事件\n##### offError 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [ICreateInnerAudioContextFail](#icreateinneraudiocontextfail-values)) => void | 是 | - | - | - | \n\n\n#### offWaiting(callback : (result : any) => void) : void; @offwaiting\n取消监听 onWaiting 事件\n##### offWaiting 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### offSeeking(callback : (result : any) => void) : void; @offseeking\n取消监听 onSeeking 事件\n##### offSeeking 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### offSeeked(callback : (result : any) => void) : void; @offseeked\n取消监听 onSeeked 事件\n##### offSeeked 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.media.createInnerAudioContext)\n - [参见uni-app相关文档](http://uniapp.dcloud.io/api/media/audio-context.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=createInnerAudioContext&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=createInnerAudioContext&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=createInnerAudioContext&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=createInnerAudioContext&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=createInnerAudioContext&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=createInnerAudioContext)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=createInnerAudioContext&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/create-inner-audio-context/create-inner-audio-context.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/create-inner-audio-context/create-inner-audio-context\n\n>Template\n```vue\n\n\n\n\n```\n\n>Script\n```uts\n\n\tconst audioUrl = 'https://web-ext-storage.dcloud.net.cn/uni-app/ForElise.mp3'\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\ttitle: \"innerAudioContext\",\n\t\t\t\tcurrentTime: 0,\n\t\t\t\tduration: 100,\n\t\t\t\tstartTime: 0,\n\t\t\t\tbuffered: 0,\n\t\t\t\tvolume: 0.5,\n\t\t\t\tisCanplay: false,\n\t\t\t\tisPlaying: false,\n\t\t\t\tisPaused: true,\n\t\t\t\tisPlayEnd: false,\n\t\t\t\t_isChanging: false,\n\t\t\t\t_audioContext: null as InnerAudioContext | null,\n\t\t\t\t// 自动化测试\n\t\t\t\tonSeekingTest: false,\n\t\t\t\tonSeekedTest: false,\n\t\t\t\tonWaitingTest: false,\n\t\t\t\tplaybackRateChecked: true,\n\t\t\t\tonTimeUpdateCb: (res : any) => { },\n\t\t\t\tonWaitingCb: (res : any) => { }\n\t\t\t}\n\t\t},\n\t\tcomputed: {\n\t\t\tposition() {\n\t\t\t\treturn this.isPlayEnd ? 0 : this.currentTime;\n\t\t\t},\n\t\t},\n\t\tonReady() {\n\t\t\tthis._audioContext = uni.createInnerAudioContext();\n\t\t\tthis._audioContext!.src = audioUrl;\n\t\t\tthis.volume = this._audioContext!.volume;\n\t\t\tthis.onCanplay()\n\t\t\tthis._audioContext!.onPlay(() => {\n\t\t\t\tthis.isPaused = false;\n\t\t\t\tthis.isPlaying = true;\n\t\t\t\tconsole.log('开始播放', this.isPaused);\n\t\t\t});\n\n\t\t\tthis.onTimeUpdateCb = (res : any) => {\n\t\t\t\tif (this._isChanging) { return; }\n\t\t\t\tthis.currentTime = this._audioContext!.currentTime;\n\t\t\t\tconsole.log('onTimeUpdateCb', this.currentTime)\n\t\t\t\tif (this.currentTime > this.buffered) {\n\t\t\t\t\tconsole.log('缓冲不足');\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tthis.onWaitingCb = (res : any) => {\n\t\t\t\tconsole.log('音频加载中事件');\n\t\t\t\tthis.onWaitingTest = true\n\t\t\t}\n\n\t\t\tthis.onTimeUpdate()\n\t\t\t// this.onWaiting()\n\t\t\tthis.onError()\n\t\t\tthis.onEnded()\n\t\t},\n\t\tonUnload() {\n\t\t\tif (this._audioContext != null) {\n\t\t\t\tif (this.isPlaying) {\n\t\t\t\t\tthis.stop();\n\t\t\t\t}\n\t\t\t\tthis._audioContext!.destroy()\n\t\t\t}\n\t\t},\n\t\tmethods: {\n\t\t\tonCanplay() {\n\t\t\t\tthis._audioContext!.onCanplay(() => {\n\t\t\t\t\tconsole.log('音频进入可以播放状态事件');\n\t\t\t\t\tthis.isCanplay = true;\n\t\t\t\t\t// 当音频可以播放时,获取缓冲信息\n\t\t\t\t\tthis.buffered = this._audioContext!.buffered;\n\t\t\t\t\tthis.duration = this._audioContext!.duration\n\t\t\t\t});\n\t\t\t},\n\t\t\tonchanging() {\n\t\t\t\tthis._isChanging = true;\n\t\t\t},\n\t\t\tonchange(e : UniSliderChangeEvent) {\n\t\t\t\tlet pos = e.detail.value;\n\t\t\t\tconsole.log('pos', pos);\n\t\t\t\tthis._audioContext!.seek(pos);\n\t\t\t\tthis.onSeeking()\n\t\t\t\tthis.onSeeked()\n\t\t\t\tthis._isChanging = false;\n\t\t\t},\n\t\t\tonchangeValue(pos : number) {\n\t\t\t\tthis._audioContext!.seek(pos);\n\t\t\t\tthis.onSeeking()\n\t\t\t\tthis.onSeeked()\n\t\t\t\tthis._isChanging = false;\n\t\t\t},\n\t\t\tstartTimeInput(e : UniInputEvent) {\n\t\t\t\tlet startTimeValue = parseInt(e.detail.value)\n\t\t\t\tthis._audioContext!.startTime = startTimeValue;\n\t\t\t\tthis.onchangeValue(startTimeValue)\n\t\t\t},\n\t\t\tsetAutoplay() {\n\t\t\t\tthis._audioContext!.autoplay = !this._audioContext!.autoplay;\n\t\t\t\tconsole.log(this._audioContext!.autoplay, 'autoplay');\n\t\t\t},\n\t\t\tsetLoop() {\n\t\t\t\tthis._audioContext!.loop = !this._audioContext!.loop;\n\t\t\t\tconsole.log(this._audioContext!.loop, 'loop');\n\t\t\t},\n\t\t\tplay() {\n\t\t\t\tif (!this.isCanplay) {\n\t\t\t\t\tuni.showToast({\n\t\t\t\t\t\ttitle: '音频未进入可以播放状态,请稍后再试',\n\t\t\t\t\t\ticon: 'error'\n\t\t\t\t\t});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.isPlaying = true;\n\t\t\t\tthis._audioContext!.play();\n\t\t\t\tthis.isPlayEnd = false;\n\t\t\t\tif (this._audioContext!.startTime > 0) {\n\t\t\t\t\tthis.onchangeValue(this._audioContext!.startTime)\n\t\t\t\t}\n\t\t\t},\n\t\t\tonSeeking() {\n\t\t\t\tthis._audioContext!.onSeeking(() => {\n\t\t\t\t\tconsole.log('音频进行 seek 操作事件');\n\t\t\t\t\tthis.onSeekingTest = true\n\t\t\t\t});\n\t\t\t},\n\t\t\tonSeeked() {\n\t\t\t\tthis._audioContext!.onSeeked(() => {\n\t\t\t\t\tconsole.log('音频完成 seek 操作事件');\n\t\t\t\t\tthis.onSeekedTest = true\n\t\t\t\t});\n\t\t\t},\n\t\t\tonWaiting() {\n\t\t\t\tthis._audioContext!.onWaiting(this.onWaitingCb);\n\t\t\t},\n\t\t\toffWaiting() {\n\t\t\t\tthis._audioContext!.offWaiting(this.onWaitingCb);\n\t\t\t},\n\t\t\tonTimeUpdate() {\n\t\t\t\tthis._audioContext!.onTimeUpdate(this.onTimeUpdateCb);\n\t\t\t},\n\t\t\toffTimeUpdate() {\n\t\t\t\tthis._audioContext!.offTimeUpdate(this.onTimeUpdateCb);\n\t\t\t},\n\t\t\tincreaseVolume() {\n\t\t\t\tthis.volume = Math.min(this.volume + 0.1, 1);\n\t\t\t\tthis.volume = parseFloat(this.volume.toFixed(1));\n\t\t\t\tthis._audioContext!.volume = this.volume\n\t\t\t\tconsole.log('增加音量', this.volume);\n\t\t\t},\n\t\t\tdecreaseVolume() {\n\t\t\t\tthis.volume = Math.max(this.volume - 0.1, 0);\n\t\t\t\tthis.volume = parseFloat(this.volume.toFixed(1));\n\t\t\t\tconsole.log('减少音量', this.volume);\n\t\t\t\tthis._audioContext!.volume = this.volume\n\t\t\t},\n\t\t\tonEnded() {\n\t\t\t\tthis._audioContext!.onEnded(() => {\n\t\t\t\t\tconsole.log('播放结束');\n\t\t\t\t\tthis.currentTime = 0;\n\t\t\t\t\tthis.startTime = 0\n\t\t\t\t\tthis.isPlaying = false;\n\t\t\t\t\tthis.isPaused = true;\n\t\t\t\t\tthis.isPlayEnd = true;\n\t\t\t\t\t(this.$refs[\"slider\"] as UniSliderElement).value = 0\n\t\t\t\t});\n\t\t\t},\n\t\t\tonError() {\n\t\t\t\tthis._audioContext!.onError((err) => {\n\t\t\t\t\tconsole.log('err', err);\n\t\t\t\t\tthis.isPlaying = false;\n\t\t\t\t\tthis.isPaused = true;\n\t\t\t\t});\n\t\t\t},\n\t\t\tpause() {\n\t\t\t\tthis._audioContext!.pause();\n\t\t\t\tthis._audioContext!.onPause(() => {\n\t\t\t\t\tconsole.log('音频暂停事件');\n\t\t\t\t\tthis.isPaused = true;\n\t\t\t\t});\n\t\t\t\tthis.isPlaying = false;\n\t\t\t},\n\t\t\tstop() {\n\t\t\t\tconsole.log('stop');\n\t\t\t\tthis._audioContext!.stop();\n\t\t\t\tthis._audioContext!.onStop(() => {\n\t\t\t\t\t// 第一次点停止时,不触发\n\t\t\t\t\tthis.isPaused = true;\n\t\t\t\t\tconsole.log('音频停止事件');\n\t\t\t\t});\n\t\t\t\tthis.isPlaying = false;\n\t\t\t\tconsole.log('stop', this.isPaused);\n\t\t\t},\n\t\t\tdestory() {\n\t\t\t\tif (this._audioContext != null) {\n\t\t\t\t\tthis.isPlaying = false;\n\t\t\t\t\tthis._audioContext!.destroy()\n\t\t\t\t}\n\t\t\t},\n\t\t\tplaybackRateChange(e : UniRadioGroupChangeEvent) {\n\t\t\t\t// if (this._audioContext != null && this.isPlaying) {\n\t\t\t\t\tconsole.log(parseFloat(e.detail.value))\n\t\t\t\t\tthis._audioContext!.playbackRate = parseFloat(e.detail.value)\n\t\t\t\t// }\n\t\t\t},\n //just for test\n setSrc(src:string){\n if(\tthis._audioContext!=null){\n this._audioContext!.src = src\n }\n }\n\t\t}\n\t}\n\n```\n\n:::"},"canvasToTempFilePath":{"name":"## uni.canvasToTempFilePath(options, componentInstance) @canvastotempfilepath","description":"把当前画布指定区域的内容导出生成指定大小的图片\n","compatibility":"### canvasToTempFilePath 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **CanvasToTempFilePathOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| x | number | 否 | - | - | 画布x轴起点(默认0) |\n@| y | number | 否 | - | - | 画布y轴起点(默认0) |\n@| width | number | 否 | - | - | 画布宽度(默认为canvas宽度-x) |\n@| height | number | 否 | - | - | 画布高度(默认为canvas高度-y) |\n@| destWidth | number | 否 | - | - | 输出图片宽度(默认为 width * 屏幕像素密度) |\n@| destHeight | number | 否 | - | - | 输出图片高度(默认为 height * 屏幕像素密度) |\n@| canvasId | string | 是 | - | - | 画布标识,传入 \\ 的 canvas-id |\n@| fileType | string | 否 | - | - | 目标文件的类型,默认为 'png' |\n@| quality | number | 否 | - | - | 图片的质量,取值范围为 (0, 1],不在范围内时当作1.0处理 |\n@| success | (result: [CanvasToTempFilePathSuccess](#canvastotempfilepathsuccess-values)) => void | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (result: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) |\n| componentInstance | any | 是 | - | - | - | \n\n#### CanvasToTempFilePathSuccess 的属性值 @canvastotempfilepathsuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| tempFilePath | string | 是 | - | - | 导出生成的图片路径 |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.canvas.canvasToTempFilePath)\n - [参见uni-app相关文档](https://uniapp.dcloud.io/api/canvas/canvasToTempFilePath.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=canvasToTempFilePath&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=canvasToTempFilePath&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=canvasToTempFilePath&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=canvasToTempFilePath&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=canvasToTempFilePath&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=canvasToTempFilePath)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=canvasToTempFilePath&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"createCanvasContextAsync":{"name":"## uni.createCanvasContextAsync(options) @createcanvascontextasync","description":"获取CanvasContext对象实例\n","compatibility":"### createCanvasContextAsync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.25 | 4.25 | 4.25 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **CreateCanvasContextAsyncOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| id | [string.IDString](/uts/data-type.md#ide-string) | 是 | - | | canvas 元素的 id 属性 |\n@| component | ComponentPublicInstance | 否 | - | | 组件或页面实例,限定在什么范围内查找id |\n@| success | (context: [CanvasContext](#canvascontext-values)) => void | 否 | - | | 接口调用成功的回调函数 |\n@| fail | (error: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | - | | 接口调用失败的回调函数 |\n@| complete | () => void | 否 | - | | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### CanvasContext 的方法 @canvascontext-values \n\n#### getContext(type: '2d'): CanvasRenderingContext2D \\| null @getcontext\n\n##### getContext 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | - | \n\n##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [CanvasRenderingContext2D](/api/canvasrenderingcontext2d.md) | 否 |\n \n\n#### toBlob(callback: CanvasContextToBlobCallback, type?: string, quality?: number): void @toblob\n创造 Blob 对象\n##### toBlob 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.25 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (blob: Blob) => void | 是 | - | - | - |\n| type | string | 否 | - | - | - |\n| quality | number | 否 | - | - | - | \n\n\n#### toDataURL(): string @todataurl\n返回一个包含图片展示的 data URI\n##### toDataURL 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.25 | 4.25 | 4.25 |\n\n\n##### 返回值 \n\n| 类型 |\n| :- |\n| string |\n \n\n#### createImage(): Image @createimage\n返回一个包含图片展示的 data URI\n##### createImage 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.25 | 4.25 | 4.25 |\n\n\n##### 返回值 \n\n| 类型 | 描述 |\n| :- | :- |\n| [Image](#image-values) | 重复的图像源,支持代码包路径和本地临时路径 (本地路径) |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| src | string | 是 | - | | 图片url |\n@| classList | Array\\ | 是 | - | | 只读属性 获取当前元素的的 class 属性的动态集合。 |\n@| firstChild | [UniElement](/dom/unielement.md) | 否 | - | | 只读属性 获取当前元素的的第一个子元素,如果元素是无子元素,则返回 null。 |\n@| lastChild | [UniElement](/dom/unielement.md) | 否 | - | | 只读属性 获取当前元素的最后一个子元素,如果没有子元素,则返回 null。 |\n@| parentElement | [UniElement](/dom/unielement.md) | 否 | - | | 只读属性 获取当前元素在 DOM 树中的父元素,如果没有父元素(如未添加到DOM树中),则返回null。 |\n@| previousSibling | [UniElement](/dom/unielement.md) | 否 | - | | 只读属性 获取当前元素的前一个同级元素,没有则返回null。 |\n@| nextElementSibling | [UniElement](/dom/unielement.md) | 否 | - | | 只读属性 获取在 DOM 树中紧跟在其后面的同级元素,如果指定的元素为最后一个元素,则返回 null。 |\n@| children | Array\\<[UniElement](/dom/unielement.md)\\> | 是 | - | | 只读属性 获取当前元素包含的子元素的集合 |\n@| tagName | string | 是 | - | | 只读属性 获取当前元素的标签名 |\n@| nodeName | string | 是 | - | | 只读属性 获取当前元素的元素名称 |\n@| dataset | Map\\ | 是 | - | | 只读属性 获取元素上自定义数据属性(data-*)的集合 |\n@| attributes | Map\\ | 是 | - | | 只读属性 获取元素上所有属性元素的集合 |\n@| style | [CSSStyleDeclaration](/dom/cssstyledeclaration.md) | 是 | - | | 只读属性 获取元素的CSS样式对象 |\n@| scrollWidth | number | 是 | - | | 只读属性 获取可滚动元素内容的总宽度,仅scroll-view、list-view组件支持,其他组件返回视图宽度 |\n@| scrollHeight | number | 是 | - | | 只读属性 获取可滚动元素内容的总高度,仅scroll-view、list-view组件支持,其他组件返回视图高度 |\n@| scrollLeft | number | 是 | - | | 获取或修改元素滚动条到元素左边的距离像素数,仅scroll-view、list-view组件支持。其他组件返回0 |\n@| scrollTop | number | 是 | - | | 获取或修改元素滚动条到元素顶部的距离像素数,仅scroll-view、list-view组件支持。其他组件返回0 |\n@| offsetLeft | number | 是 | - | | 只读属性 元素的左边界偏移值 单位px |\n@| offsetTop | number | 是 | - | | 只读属性 元素的顶部边界偏移值 单位px |\n@| offsetWidth | number | 是 | - | | 只读属性 元素的布局宽度,宽度包含border、padding的数据值 单位px |\n@| offsetHeight | number | 是 | - | | 只读属性 元素的布局高度,高度包含border、padding的数据值 单位px |\n@| ext | Map\\ | 是 | - | | 只读属性 扩展属性 |\n###### Image 的方法 @image-values \n\n###### onload(): void \\| null @onload\n图片加载完成事件\n###### onload 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.25 | 4.25 | x |\n\n\n\n###### takeSnapshot(options: TakeSnapshotOptions): void @takesnapshot\n对当前组件进行截图,调用此方法会将当前组件(包含子节点)渲染结果导出成图片。\n成功会返回图片对应的临时文件路径,目前默认png格式\n\n###### takeSnapshot 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| x | 3.93 | 4.11 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **TakeSnapshotOptions** | 是 | - | - | 组件截图的参数对象 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| type | string | 否 | \"file\" | - | 截图导出类型,目前仅支持 'file' 保存到临时文件目录 |\n@| format | string | 否 | \"png\" | - | 截图文件格式,目前仅支持 'png' |\n@| success | (res: [TakeSnapshotSuccess](#takesnapshotsuccess-values)) => void | 否 | - | - | 成功回调函数定义 |\n@| fail | (res: [TakeSnapshotFail](#takesnapshotfail-values)) => void | 否 | - | - | 失败回调函数定义 |\n@| complete | (res: any) => void | 否 | - | - | 完成回调函数定义 | \n\n###### TakeSnapshotSuccess 的属性值 @takesnapshotsuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| tempFilePath | string | 是 | - | - | 截图保存的临时文件路径 |\n\n###### TakeSnapshotFail 的属性值 @takesnapshotfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n\n\n###### appendChild(aChild: UniElement): void @appendchild\n将一个元素添加到指定父元素的子元素列表的末尾处。如果将被插入的元素已经存在于当前文档的文档树中,那么将会它从原先的位置移动到新的位置。\n###### appendChild 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| aChild | [UniElement](/dom/unielement.md) | 是 | - | - | 插入子元素对象 | \n\n\n###### insertBefore(newChild: UniElement, refChild?: UniElement \\| null): UniElement \\| null @insertbefore\n在参考元素之前插入一个拥有指定父元素的子元素。如果给定的子元素是对文档中现有元素的引用,insertBefore() 会将其从当前位置移动到新位置。\n###### insertBefore 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| newChild | [UniElement](/dom/unielement.md) | 是 | - | - | 插入子元素对象 |\n| refChild | [UniElement](/dom/unielement.md) | 否 | - | - | 已存在父元素的子元素对象 | \n\n###### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniElement](/dom/unielement.md) | 否 |\n \n\n###### setAttribute(key: string, value: string): void @setattribute\n设置指定元素上的某个属性值。如果设置的属性已经存在,则更新该属性值;否则使用指定的名称和值添加一个新的属性。\n###### setAttribute 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | 属性名称 |\n| value | string | 是 | - | - | 属性值域 | \n\n\n###### getAttribute(key: string): string \\| null @getattribute\n获取元素指定的属性值,如果指定的属性不存在则返回null。\n###### getAttribute 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | 属性名称 | \n\n###### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| string | 否 |\n \n\n###### hasAttribute(key: string): boolean @hasattribute\n返回改元素是否包含有指定的属性,属性存在则返回true,否则返回false。\n###### hasAttribute 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | 属性名称 | \n\n###### 返回值 \n\n| 类型 |\n| :- |\n| boolean |\n \n\n###### removeAttribute(key: string): void @removeattribute\n从元素中删除一个属性,如果指定的属性不存在,则不做任何操作,也不会产生错误。\n###### removeAttribute 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | 属性名称 | \n\n\n###### getBoundingClientRect(): DOMRect @getboundingclientrect\n获取元素的大小及其相对于窗口的位置信息。\n###### getBoundingClientRect 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n\n\n###### 返回值 \n\n| 类型 |\n| :- |\n| [DOMRect](/dom/domrect.md) |\n \n\n###### getDrawableContext(): DrawableContext \\| null @getdrawablecontext\n获取组件的绘制对象,仅uvue页面中的 view 组件支持,其它组件不支持则返回null。\n###### getDrawableContext 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| x | 3.9 | 4.11 | 4.25 |\n\n\n###### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [DrawableContext](/dom/drawablecontext.md) | 否 |\n \n\n###### removeChild(aChild: UniElement): UniElement \\| null @removechild\n从元素中删除一个子元素,返回删除的元素。\n###### removeChild 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| aChild | [UniElement](/dom/unielement.md) | 是 | - | - | 被删除子元素对象 | \n\n###### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniElement](/dom/unielement.md) | 否 |\n \n\n###### remove(): void @remove\n把元素对象从它所属的 DOM 树中删除。\n###### remove 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n\n\n\n###### scrollTo(x: number, y: number): void @scrollto\n使界面滚动到给定元素的指定坐标位置 仅scroll-view、list-view组件支持\n###### scrollTo 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | x轴要滚动到坐标位置(单位px) |\n| y | number | 是 | - | - | y轴要滚动到坐标位置(单位px) | \n\n\n###### scrollBy(x: number, y: number): void @scrollby\n使得元素滚动一段特定距离 仅scroll-view、list-view组件支持\n###### scrollBy 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | x轴要滚动的距离(单位px) |\n| y | number | 是 | - | - | y轴要滚动的距离(单位px) | \n\n\n###### querySelector(selector: string.cssSelectorString): UniElement \\| null @queryselector\n返回文档中与指定选择器或选择器组匹配的第一个 Element对象。如果找不到匹配项,则返回null\n###### querySelector 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| selector | [string.cssSelectorString](/uts/data-type.md#ide-string) | 是 | - | - | CSS 选择器字符串 | \n\n###### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniElement](/dom/unielement.md) | 否 |\n \n\n###### querySelectorAll(selector: string.cssSelectorString): UniElement[] \\| null @queryselectorall\n返回与指定的选择器组匹配的文档中的元素列表\n###### querySelectorAll 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| selector | [string.cssSelectorString](/uts/data-type.md#ide-string) | 是 | - | - | CSS 选择器字符串 | \n\n###### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Array\\<[UniElement](/dom/unielement.md)\\> | 否 |\n \n\n###### focus(): void @focus\n使元素获取焦点 仅input、Textarea组件支持\n###### focus 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n\n\n\n###### blur(): void @blur\n使元素丢失焦点 仅input、Textarea组件支持\n###### blur 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n\n\n\n###### getIOSView(): UIView \\| null @getiosview\n获取元素ios原生view\n###### getIOSView 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| - | x | x | x | 4.25 |\n\n\n###### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| UIView | 否 |\n \n\n###### getAndroidView(): View \\| null @getandroidview\n获取元素android原生view 可能返回null\n###### getAndroidView 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.25 | x |\n\n\n###### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| View | 否 |\n \n\n###### getAndroidActivity(): Activity \\| null @getandroidactivity\n获取元素android原生activity 可能返回null\n###### getAndroidActivity 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.25 | x |\n\n\n###### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Activity | 否 |\n \n\n###### getPage(): UniPage \\| null @getpage\n获取元素所属的页面对象\n###### getPage 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.31 | 4.31 | 4.31 |\n\n\n###### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniPage](#unipage-values) | 否 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| route | string | 是 | - | | 页面的路由地址 |\n@| options | UTSJSONObject | 是 | - | | 页面的路由参数信息 |\n@| vm | ComponentPublicInstance | 否 | - | | UniPage vue 实例对象 |\n@| ~~$vm~~ | ComponentPublicInstance | 否 | - | | UniPage vue 实例对象 **已废弃,仅为了向下兼容保留** |\n###### UniPage 的方法 @unipage-values \n\n###### getPageStyle(): UTSJSONObject @getpagestyle\n获取当前页面样式。详细属性配置请参考PageStyle\n###### getPageStyle 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.31 | 4.31 | 4.31 | 4.31 |\n\n\n###### 返回值 \n\n| 类型 |\n| :- |\n| UTSJSONObject |\n \n\n###### setPageStyle(style: UTSJSONObject): void @setpagestyle\n设置当前页面样式。详细属性配置请参考PageStyle\n###### setPageStyle 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.31 | 4.31 | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| style | UTSJSONObject | 是 | - | - | - | \n\n\n###### getParentPage(): UniPage \\| null @getparentpage\n用于 dialogPage 获取所属父页面\n###### getParentPage 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.31 | 4.31 | 4.31 | 4.31 |\n\n\n###### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniPage](#unipage-values) | 否 |\n \n\n###### getDialogPages(): UniPage[\\] @getdialogpages\n获取当前页面的 dialog 子页面集合\n###### getDialogPages 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.31 | 4.31 | 4.31 | 4.31 |\n\n\n###### 返回值 \n\n| 类型 |\n| :- |\n| Array\\<[UniPage](#unipage-values)\\> |\n \n\n###### getElementById(id: string.IDString \\| string): UniElement \\| null @getelementbyid\n返回一个匹配特定 ID 的元素, 如果不存在,返回 null。\\\n如果需要获取指定的节点类型,需要使用 as 进行类型转换。\\\nID 区分大小写,且应该是唯一的。如果存在多个匹配的元素,则返回第一个匹配的元素。\n\n###### getElementById 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.31 | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| id | [string.IDString](/uts/data-type.md#ide-string) \\\\| string | 是 | - | - | - | \n\n###### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniElement](/dom/unielement.md) | 否 |\n \n\n###### getAndroidView(): View \\| null @getandroidview\n返回 android 平台页面根 view\n\n###### getAndroidView 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.31 | x |\n\n\n###### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| View | 否 |\n \n\n###### getIOSView(): UIView \\| null @getiosview\n返回 ios 平台页面根 view\n\n###### getIOSView 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| x | x | x | 4.33 |\n\n\n###### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| UIView | 否 |\n \n\n###### getHTMLElement(): UniElement \\| null @gethtmlelement\n返回页面 HTML Element 对象\n\n###### getHTMLElement 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.31 | x | x |\n\n\n###### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniElement](/dom/unielement.md) | 否 |\n \n\n###### ~~$setPageStyle(style: UTSJSONObject): void~~ @$setpagestyle\n设置当前页面样式。详细属性配置请参考PageStyle **已废弃,仅为了向下兼容保留**\n###### $setPageStyle 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.13 | 4.13 | 4.13 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| style | UTSJSONObject | 是 | - | - | - | \n\n\n###### ~~$getPageStyle(): UTSJSONObject~~ @$getpagestyle\n获取当前页面样式。详细属性配置请参考PageStyle **已废弃,仅为了向下兼容保留**\n###### $getPageStyle 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.13 | 4.13 | 4.13 |\n\n\n###### 返回值 \n\n| 类型 |\n| :- |\n| UTSJSONObject |\n \n \n \n\n#### createPath2D(): Path2D @createpath2d\n返回一个包含图片展示的 data URI\n##### createPath2D 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.25 | 4.25 | 4.25 |\n\n\n##### 返回值 \n\n| 类型 |\n| :- |\n| [Path2D](/api/path2d.md) |\n \n\n#### requestAnimationFrame(callback: RequestAnimationFrameCallback): number; @requestanimationframe\n在下一次重绘之前,调用用户提供的回调函数\n##### requestAnimationFrame 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.25 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (time: number) => void | 是 | - | - | - | \n\n##### 返回值 \n\n| 类型 |\n| :- |\n| number |\n \n\n#### cancelAnimationFrame(taskId: number): void; @cancelanimationframe\n取消一个先前通过调用 uni.requestAnimationFrame() 方法添加到计划中的动画帧请求\n##### cancelAnimationFrame 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.25 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| taskId | number | 是 | - | - | - | \n\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.canvas.createCanvasContextAsync)"},"getLocation":{"name":"## uni.getLocation(options) @getlocation","description":"获取当前的地理位置、速度","compatibility":"### getLocation 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **GetLocationOptions** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| provider | string | 否 | system | | 定位服务提供商,通过 [uni.getProvider](https://doc.dcloud.net.cn/uni-app-x/api/provider.html) 获取,目前支持系统定位(system)、腾讯定位(tencent)
腾讯定位是4.25版本后支持的;
web端暂不支持provider机制; |\n@| type | string | 否 | wgs84 | | 默认为 wgs84 返回 gps 坐标,gcj02 返回可用于uni.openLocation的坐标,web端需配置定位 SDK 信息才可支持 gcj02; |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| wgs84 | | wgs84坐标系,系统定位默认取值wgs84,系统定位仅支持wgs84坐标系 |\n@@| gcj02 | | gcj02坐标系,腾讯定位默认取值gcj02,腾讯定位仅支持gcj02坐标系 |\n@| altitude | boolean | 否 | false | | 传入 true 会返回高度信息,由于获取高度需要较高精确度,会减慢接口返回速度 |\n@| geocode | boolean | 否 | false | | 传入 true 会解析地址;
使用系统定位时平台差异:iOS支持逆地理编码,Android不支持; |\n@| highAccuracyExpireTime | number | 否 | 3000 | | 高精度定位超时时间(ms),指定时间内返回最高精度,该值3000ms以上高精度定位才有效果 |\n@| isHighAccuracy | boolean | 否 | false | | 开启高精度定位 |\n@| success | (result: [GetLocationSuccess](#getlocationsuccess-values)) => void | 否 | - | | 接口调用成功的回调函数 |\n@| fail | (result: [IGetLocationFail](#igetlocationfail-values)) => void | 否 | - | | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | - | | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### GetLocationSuccess 的属性值 @getlocationsuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| latitude | number | 是 | 0 | | 纬度,浮点数,范围为-90~90,负数表示南纬 |\n| longitude | number | 是 | 0 | | 经度,范围为-180~180,负数表示西经 |\n| speed | number | 是 | 0 | | 速度,浮点数,单位m/s |\n| accuracy | number | 是 | - | | 位置的精确度 |\n| altitude | number | 是 | 0 | | 高度,单位 m |\n| verticalAccuracy | number | 是 | 0 | | 垂直精度,单位 m(Android 无法获取,返回 0) |\n| horizontalAccuracy | number | 是 | 0 | | 水平精度,单位 m |\n| address | string | 否 | null | | 地址信息 |\n\n#### IGetLocationFail 的属性值 @igetlocationfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 1505003 | | 系统定位未开启,请在系统设置中开启系统定位 |\n@| 1505004 | | 应用定位权限未开启 |\n@| 1505023 | | 不支持逆地理编码 |\n@| 1505600 | | 超时 |\n@| 1505601 | | 不支持的定位类型 |\n@| 1505602 | | 捕获定位失败 |\n@| 1505603 | | 逆地理编码捕获失败 |\n@| 1505604 | | 服务供应商获取失败 |\n@| 1505605 | | 未通过配置预校验,通常是腾讯定位 api key 配置错误 |\n@| 1505607 | | 腾讯定位只支持GCJ-02 |\n@| 1505700 | | 不支持逆地理编码 |\n@| 1505701 | | 没有找到具体的定位引擎(GPS_PROVIDER,NETWORK_PROVIDER,PASSIVE_PROVIDER等),请确定系统定位是否开启 |\n@| 1505800 | | 应用高精度定位权限未开启 |\n@| ~~1505026~~ | | 捕获定位失败 **从4.25开始已经废弃** |\n@| ~~1505025~~ | | 逆地理编码捕获失败 **从4.25开始已经废弃** |\n@| ~~1505024~~ | | 没有找到具体的定位引擎(GPS_PROVIDER,NETWORK_PROVIDER,PASSIVE_PROVIDER等),请定位开关是否已打开 **从4.25开始已经废弃** |\n@| ~~1505022~~ | | 不支持的定位类型 **从4.25开始已经废弃** |\n@| ~~1505021~~ | | 超时 **从4.25开始已经废弃** |\n@| ~~1505005~~ | | 缺失高精度权限授权(iOS特有) **从4.25开始已经废弃** |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.location.getLocation)\n- [参见uni-app相关文档](http://uniapp.dcloud.io/api/location/location?id=getlocation)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getLocation&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getLocation&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getLocation&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getLocation&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getLocation&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getLocation)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getLocation&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/get-location/get-location.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/get-location/get-location\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/get-location/get-location\n\n>Template\n```vue\n\r\n\r\n\n```\n\n>Script\n```uts\n\r\n type GetLocationType = 'wgs84' | 'gcj02'\r\n export type LocationItem = { id : string, name : string, provider ?: UniProvider }\r\n export type ItemType = { value : GetLocationType, name : GetLocationType }\r\n\r\n export default {\r\n data() {\r\n return {\r\n title: 'get-location',\r\n altitudeSelect: false,\r\n isHighAccuracySelect: false,\r\n geocodeSelect: false,\r\n exeRet: '',\r\n items: [\r\n {\r\n value: 'wgs84',\r\n name: 'wgs84'\r\n },\r\n {\r\n value: 'gcj02',\r\n name: 'gcj02'\r\n }\r\n ] as ItemType[],\r\n providerList: [] as LocationItem[],\r\n current: 0,\r\n currentProvider: 0,\r\n jest_provider: '',\r\n jest_type: 'wgs84' as GetLocationType,\r\n jest_isAltitude: false,\r\n jest_isGeocode: false,\r\n jest_isHighAccuracy: false,\r\n jest_altitude: -1000,\r\n jest_longitude: 200,\r\n jest_latitude: 100,\r\n jest_address: '',\r\n jest_errCode: 0,\r\n jest_complete: false\r\n }\r\n },\r\n onLoad: function () {\r\n // #ifdef APP\r\n this.getProvider()\r\n // #endif\r\n },\r\n methods: {\r\n getProvider() {\r\n // #ifdef APP\r\n\r\n let provider = uni.getProviderSync({\r\n service: \"location\",\r\n } as GetProviderSyncOptions)\r\n console.log(provider)\r\n provider.providerObjects.forEach((value : UniProvider) => {\r\n var currentProvider = value\r\n if (value.id == 'system') {\r\n currentProvider = value as UniLocationSystemProvider\r\n } else if (value.id == 'tencent') {\r\n currentProvider = value as UniLocationTencentProvider\r\n }\r\n this.providerList.push({\r\n name: currentProvider.description,\r\n id: currentProvider.id,\r\n provider: currentProvider\r\n } as LocationItem);\r\n })\r\n\r\n this.providerList.forEach((value, index) => {\r\n if (value.id == \"system\") {\r\n this.currentProvider = index\r\n }\r\n })\r\n // #endif\r\n },\r\n altitudeChange: function (e : UniSwitchChangeEvent) {\r\n this.altitudeSelect = e.detail.value\r\n },\r\n geocodeChange: function (e : UniSwitchChangeEvent) {\r\n this.geocodeSelect = e.detail.value\r\n },\r\n highAccuracySelectChange: function (e : UniSwitchChangeEvent) {\r\n this.isHighAccuracySelect = e.detail.value\r\n },\r\n radioChange(e : UniRadioGroupChangeEvent) {\r\n for (let i = 0; i < this.items.length; i++) {\r\n if (this.items[i].value === e.detail.value) {\r\n this.current = i;\r\n break;\r\n }\r\n }\r\n },\r\n radioChangePV(e : UniRadioGroupChangeEvent) {\r\n for (let i = 0; i < this.providerList.length; i++) {\r\n if (this.providerList[i].id === e.detail.value) {\r\n this.currentProvider = i;\r\n break;\r\n }\r\n }\r\n if (e.detail.value == \"system\") {\r\n this.current = 0\r\n } else if (e.detail.value == \"tencent\") {\r\n this.current = 1\r\n }\r\n },\r\n getLocationTap: function () {\r\n // #ifdef APP\r\n if (this.providerList.length == 0) {\r\n uni.showToast({\r\n title: '未获取到provider,请确定基座中包含location功能',\r\n icon: \"error\"\r\n })\r\n console.log(\"未获取到provider,请确定基座中包含location功能\")\r\n return\r\n }\r\n // #endif\r\n uni.showLoading({\r\n title: '定位中'\r\n })\r\n uni.getLocation(({\r\n // #ifdef APP\r\n provider: this.providerList[this.currentProvider].id,\r\n // #endif\r\n type: this.items[this.current].value,\r\n altitude: this.altitudeSelect,\r\n isHighAccuracy: this.isHighAccuracySelect,\r\n geocode: this.geocodeSelect,\r\n success: (res : any) => {\r\n uni.hideLoading()\r\n this.exeRet = JSON.stringify(res)\r\n },\r\n fail: (res : any) => {\r\n uni.hideLoading()\r\n this.exeRet = JSON.stringify(res)\r\n },\r\n complete: (res : any) => {\r\n uni.hideLoading()\r\n this.exeRet = JSON.stringify(res)\r\n }\r\n }));\r\n },\r\n\r\n // 仅用于自动化测试\r\n jestGetLocation() {\r\n this.jest_complete = false\r\n this.jest_errCode = 0\r\n uni.getLocation(({\r\n // #ifdef APP\r\n provider: this.jest_provider,\r\n // #endif\r\n type: this.jest_type,\r\n altitude: this.jest_isAltitude,\r\n isHighAccuracy: this.jest_isHighAccuracy,\r\n geocode: this.jest_isGeocode,\r\n success: (res) => {\r\n if (res.address != null) {\r\n this.jest_address = res.address!\r\n }\r\n this.jest_longitude = res.longitude\r\n this.jest_latitude = res.latitude\r\n this.jest_altitude = res.altitude\r\n this.jest_complete = true\r\n },\r\n fail: (err) => {\r\n this.jest_errCode = err.errCode\r\n this.jest_complete = true\r\n }\r\n }));\r\n }\r\n }\r\n }\r\n\n```\n\n:::"},"openLocation":{"name":"## uni.openLocation(options) @openlocation","description":"使用地图查看位置\n","compatibility":"### openLocation 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **OpenLocationOptions** | 是 | - | - | uni.openLocation |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| latitude | number | 是 | - | - | 纬度,范围为-90~90,负数表示南纬 |\n@| longitude | number | 是 | - | - | 经度,范围为-180~180,负数表示西经 |\n@| scale | number | 否 | - | - | 缩放比例,范围5~18,默认为18 |\n@| name | string | 否 | - | - | 位置名称 |\n@| address | string | 否 | - | - | 地址的详细说明 |\n@| success | (res: OpenLocationSuccess) => void | 否 | - | - | uni.openLocation成功回调函数定义 |\n@| fail | (res: [IOpenLocationError](#iopenlocationerror-values)) => void | 否 | - | - | uni.openLocation失败回调函数定义 |\n@| complete | (res: any) => void | 否 | - | - | uni.openLocation完成回调函数定义 | \n\n#### IOpenLocationError 的属性值 @iopenlocationerror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | - |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.location.openLocation)\n - [参见uni-app相关文档](https://uniapp.dcloud.io/api/location/open-location.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=openLocation&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=openLocation&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=openLocation&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=openLocation&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=openLocation&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=openLocation)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=openLocation&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/open-location/open-location.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/open-location/open-location\n\n>Template\n```vue\n\n\n\n\n\n```\n\n>Script\n```uts\n\n export default {\n data() {\n return {\n title: 'openLocation'\n }\n },\n methods: {\n openLocation: function (e) {\n console.log(e)\n var value = e.detail.value\n uni.openLocation({\n longitude: Number(value.longitude),\n latitude: Number(value.latitude),\n name: value.name,\n address: value.address\n })\n }\n }\n }\n\n```\n\n:::"},"chooseLocation":{"name":"## uni.chooseLocation(options) @chooselocation","description":"打开地图选择位置","compatibility":"### chooseLocation 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.33 | 4.33 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **ChooseLocationOptions** | 是 | - | - | uni.chooseLocation函数参数定义 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| latitude | number | 否 | - | | 指示位置的经度 |\n@| longitude | number | 否 | - | | 指示位置的纬度 |\n@| keyword | string | 否 | - | | 指示位置的名称 |\n@| payload | UTSJSONObject | 否 | - | | 用户自定义参数 |\n@| success | (result: [ChooseLocationSuccess](#chooselocationsuccess-values)) => void | 否 | - | | 接口调用成功的回调函数 |\n@| fail | (result: [ChooseLocationFail](#chooselocationfail-values)) => void | 否 | - | | 接口调用失败的回调函数 |\n@| complete | (result: [AsyncApiResult](#asyncapiresult-values)) => void | 否 | - | | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### ChooseLocationSuccess 的属性值 @chooselocationsuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| name | string | 是 | - | - | - |\n| address | string | 是 | - | - | - |\n| latitude | number | 是 | - | - | - |\n| longitude | number | 是 | - | - | - |\n| errMsg | string | 是 | - | - | - |\n\n#### ChooseLocationFail 的属性值 @chooselocationfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 1 | | 取消 |\n@| 4 | | 框架内部错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n#### AsyncApiResult 的属性值 @asyncapiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.location.chooseLocation)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=chooseLocation&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=chooseLocation&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=chooseLocation&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=chooseLocation&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=chooseLocation&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=chooseLocation)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=chooseLocation&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/choose-location/choose-location.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/choose-location/choose-location\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/choose-location/choose-location\n\n>Template\n```vue\n\n\n\n\n\n```\n\n>Script\n```uts\n\n type Location = {\n latitude: string[]\n longitude: string[]\n }\n export default {\n data() {\n return {\n title: 'chooseLocation',\n hasLocation: false,\n location: {\n latitude: [],\n longitude: []\n } as Location,\n locationName: '',\n locationAddress: '',\n dialogPagesNum: -1\n }\n },\n methods: {\n chooseLocation: function () {\n uni.chooseLocation({\n success: (res) => {\n console.log('chooseLocation success', res)\n this.hasLocation = true\n this.location = this.formatLocation(res.longitude, res.latitude)\n this.locationName = res.name\n this.locationAddress = res.address\n }\n })\n // 自动化测试\n setTimeout(() => {\n const pages = getCurrentPages()\n const page = pages[pages.length - 1]\n const dialogPages = page.getDialogPages()\n this.dialogPagesNum = dialogPages.length\n }, 500)\n },\n formatLocation: function(longitude:number, latitude:number):Location {\n const longitudeArr = longitude.toString().split('.')\n const latitudeArr = latitude.toString().split('.')\n if(longitudeArr.length>1){\n longitudeArr[1] = longitudeArr[1].substring(0,2)\n }\n if(latitudeArr.length>1){\n latitudeArr[1] = latitudeArr[1].substring(0,2)\n }\n return {\n longitude: longitudeArr,\n latitude: latitudeArr\n }\n },\n clear: function () {\n this.hasLocation = false\n }\n }\n }\n\n```\n\n:::"},"getStorageInfo":{"name":"## uni.getStorageInfo(options) @getstorageinfo","description":"uni.getStorageInfo函数定义\n异步获取当前 storage 的相关信息。\n","compatibility":"### getStorageInfo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **GetStorageInfoOptions** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (res: [GetStorageInfoSuccess](#getstorageinfosuccess-values)) => void | 否 | - | - | uni.getStorageInfo成功回调函数定义 |\n@| fail | (res: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | - | - | uni.getStorageInfo失败回调函数定义 |\n@| complete | (res: any) => void | 否 | - | - | uni.getStorageInfo完成回调函数定义 | \n\n#### GetStorageInfoSuccess 的属性值 @getstorageinfosuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| keys | Array\\ | 是 | - | - | 当前 storage 中所有的 key |\n| currentSize | number | 是 | - | - | 当前占用的空间大小, 单位:kb |\n| limitSize | number | 是 | - | - | 限制的空间大小, 单位:kb |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.storage.storage.getStorageInfo)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/storage/storage.html#getstorageinfo)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getStorageInfo&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getStorageInfo&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getStorageInfo&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getStorageInfo&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getStorageInfo&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getStorageInfo)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getStorageInfo&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"getStorageInfoSync":{"name":"## uni.getStorageInfoSync() @getstorageinfosync","description":"uni.getStorageInfoSync函数定义\n同步获取当前 storage 的相关信息。\n","compatibility":"### getStorageInfoSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n","param":"","returnValue":"### 返回值 \n\n| 类型 | 描述 |\n| :- | :- |\n| **GetStorageInfoSuccess** | uni.getStorageInfo成功回调参数 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| keys | Array\\ | 是 | - | - | 当前 storage 中所有的 key |\n@| currentSize | number | 是 | - | - | 当前占用的空间大小, 单位:kb |\n@| limitSize | number | 是 | - | - | 限制的空间大小, 单位:kb | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.storage.storage.getStorageInfoSync)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/storage/storage.html#getstorageinfosync)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getStorageInfoSync&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getStorageInfoSync&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getStorageInfoSync&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getStorageInfoSync&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getStorageInfoSync&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getStorageInfoSync)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getStorageInfoSync&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"getStorage":{"name":"## uni.getStorage(options) @getstorage","description":"uni.getStorage函数定义\n从本地存储中异步获取指定 key 对应的内容。\n","compatibility":"### getStorage 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **GetStorageOptions** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| key | string | 是 | - | - | 本地存储中的指定的 key |\n@| success | (res: [GetStorageSuccess](#getstoragesuccess-values)) => void | 否 | - | - | uni.getStorage成功回调函数定义 |\n@| fail | (res: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | - | - | uni.getStorage失败回调函数定义 |\n@| complete | (res: any) => void | 否 | - | - | uni.getStorage完成回调函数定义 | \n\n#### GetStorageSuccess 的属性值 @getstoragesuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| data | any | 否 | - | - | key 对应的内容 |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.storage.storage.getStorage)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/storage/storage.html#getstorage)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getStorage&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getStorage&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getStorage&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getStorage&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getStorage&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getStorage)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getStorage&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"getStorageSync":{"name":"## uni.getStorageSync(key) @getstoragesync","description":"uni.getStorageSync函数定义\n从本地存储中同步获取指定 key 对应的内容。\n","compatibility":"### getStorageSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | 本地存储中的指定的 key | \n","returnValue":"### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| any | 否 |\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.storage.storage.getStorageSync)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/storage/storage.html#getstoragesync)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getStorageSync&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getStorageSync&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getStorageSync&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getStorageSync&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getStorageSync&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getStorageSync)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getStorageSync&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"setStorage":{"name":"## uni.setStorage(options) @setstorage","description":"uni.setStorage函数定义\n将数据存储在本地storage存储中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个异步接口。\n","compatibility":"### setStorage 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **SetStorageOptions** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| key | string | 是 | - | - | 本地存储中的指定的 key |\n@| data | any | 是 | - | - | 需要存储的内容,只支持能通过 JSON.stringify 序列化的对象 |\n@| success | (res: SetStorageSuccess) => void | 否 | - | - | uni.setStorage成功回调函数定义 |\n@| fail | (res: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | - | - | uni.setStorage失败回调函数定义 |\n@| complete | (res: any) => void | 否 | - | - | uni.setStorage完成回调函数定义 | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.storage.storage.setStorage)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/storage/storage.html#setstorage)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=setStorage&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=setStorage&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=setStorage&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=setStorage&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=setStorage&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=setStorage)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=setStorage&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"setStorageSync":{"name":"## uni.setStorageSync(key, data) @setstoragesync","description":"uni.setStorageSync函数定义\n将 data 存储在本地storage存储中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个同步接口。\n","compatibility":"### setStorageSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | 本地storage存储中的指定的 key |\n| data | any | 是 | - | - | 需要存储的内容,只支持能通过 JSON.stringify 序列化的对象 | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.storage.storage.setStorageSync)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/storage/storage.html#setstoragesync)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=setStorageSync&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=setStorageSync&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=setStorageSync&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=setStorageSync&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=setStorageSync&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=setStorageSync)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=setStorageSync&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"removeStorage":{"name":"## uni.removeStorage(options) @removestorage","description":"uni.removeStorage函数定义\n从本地存储中异步移除指定 key。\n","compatibility":"### removeStorage 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **RemoveStorageOptions** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| key | string | 是 | - | - | 本地存储中的指定的 key |\n@| success | (res: RemoveStorageSuccess) => void | 否 | - | - | uni.removeStorage成功回调函数定义 |\n@| fail | (res: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | - | - | uni.removeStorage失败回调函数定义 |\n@| complete | (res: any) => void | 否 | - | - | uni.removeStorage完成回调函数定义 | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.storage.storage.removeStorage)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/storage/storage.html#removestorage)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=removeStorage&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=removeStorage&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=removeStorage&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=removeStorage&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=removeStorage&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=removeStorage)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=removeStorage&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"removeStorageSync":{"name":"## uni.removeStorageSync(key) @removestoragesync","description":"uni.removeStorageSync函数定义\n从本地存储中同步移除指定 key。\n","compatibility":"### removeStorageSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | 本地存储中的指定的 key | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.storage.storage.removeStorageSync)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/storage/storage.html#removestoragesync)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=removeStorageSync&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=removeStorageSync&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=removeStorageSync&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=removeStorageSync&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=removeStorageSync&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=removeStorageSync)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=removeStorageSync&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"clearStorage":{"name":"## uni.clearStorage(option?) @clearstorage","description":"uni.clearStorage函数定义\n清除本地数据存储。\n","compatibility":"### clearStorage 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| option | **ClearStorageOptions** | 否 | - | - | uni.removeStorage参数定义 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (res: ClearStorageSuccess) => void | 否 | - | - | uni.clearStorage 成功回调函数定义 |\n@| fail | (res: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | - | - | uni.clearStorage 失败回调函数定义 |\n@| complete | (res: any) => void | 否 | - | - | uni.clearStorage 完成回调函数定义 | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.storage.storage.clearStorage)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/storage/storage.html#clearstorage)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=clearStorage&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=clearStorage&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=clearStorage&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=clearStorage&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=clearStorage&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=clearStorage)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=clearStorage&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"clearStorageSync":{"name":"## uni.clearStorageSync() @clearstoragesync","description":"uni.clearStorageSync函数定义\n清除本地数据存储。\n","compatibility":"### clearStorageSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n","param":"","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.storage.storage.clearStorageSync)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/storage/storage.html#clearstoragesync)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=clearStorageSync&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=clearStorageSync&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=clearStorageSync&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=clearStorageSync&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=clearStorageSync&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=clearStorageSync)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=clearStorageSync&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"storage":{"example":"## 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/storage/storage.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/storage/storage\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/storage/storage\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n title: 'get/set/clearStorage',\r\n key: '',\r\n data: '' as any,\r\n apiGetData: '' as any | null,\r\n storageInfo: '',\r\n staticComplexRet: false,\n jest_saveUTSJSONObjectSyncResult: 0,\n jest_saveUTSJSONObjectAsyncResult: 0\r\n }\r\n },\r\n methods: {\r\n getStorageInfo() {\r\n uni.getStorageInfo({\r\n success: (res) => {\r\n this.apiGetData = res\r\n this.storageInfo = JSON.stringify(res)\r\n },\r\n })\r\n },\r\n getStorageInfoSync() {\r\n try {\r\n const res = uni.getStorageInfoSync()\r\n this.apiGetData = res\r\n this.storageInfo = JSON.stringify(res)\r\n } catch (e) {\r\n // error\r\n console.log(e)\r\n }\r\n },\r\n jsonLikeMock() {\r\n this.key = 'key_' + Math.random()\r\n this.data = JSON.stringify({\r\n name: \"james\",\r\n age: 12,\r\n from: \"american\"\r\n });\r\n\r\n },\r\n longLikeMock() {\r\n this.key = 'key_' + Math.random()\r\n this.data = \"1234567890\"\r\n },\r\n floatLikeMock() {\r\n this.key = 'key_' + Math.random()\r\n this.data = \"321456.1234567890\"\r\n },\r\n negativeLikeMock() {\r\n this.key = 'key_' + Math.random()\r\n this.data = \"-321456\"\r\n },\r\n strMock() {\r\n this.key = 'key_' + Math.random()\r\n this.data = '测试字符串数据,长度为16个字符'\r\n },\r\n complexStaticTest() {\r\n uni.setStorageSync(\"key_complexStaticMock\", {\r\n name: \"张三\",\r\n age: 12\r\n })\r\n let savedData = uni.getStorageSync(\"key_complexStaticMock\")\r\n this.staticComplexRet = false\r\n if (savedData instanceof UTSJSONObject) {\r\n if ((savedData as UTSJSONObject).getNumber('age') == 12) {\r\n this.staticComplexRet = true\r\n uni.showToast({\r\n icon: 'success',\r\n title: '测试通过'\r\n })\r\n }\r\n }\r\n },\r\n complexMock() {\r\n this.key = 'key_' + Math.random()\r\n let jsonObj = {\r\n name: '张三',\r\n age: 12,\r\n classMate: [\r\n {\r\n id: 1001,\r\n name: '李四',\r\n },\r\n {\r\n id: 1002,\r\n name: 'jack ma',\r\n },\r\n ],\r\n }\r\n this.data = jsonObj\r\n },\r\n numberMock() {\r\n this.key = 'key_' + Math.random()\r\n this.data = 10011\r\n },\r\n floatMock() {\r\n this.key = 'key_' + Math.random()\r\n this.data = 3.1415926535893384626\r\n },\r\n\r\n keyChange: function (e : InputEvent) {\r\n this.key = e.detail.value\r\n },\r\n dataChange: function (e : InputEvent) {\r\n this.data = e.detail.value\r\n },\r\n getStorage: function () {\r\n var key = this.key\r\n if (key.length == 0) {\r\n uni.showModal({\r\n title: '读取数据失败',\r\n content: 'key 不能为空',\r\n showCancel: false,\r\n })\r\n } else {\r\n let that = this\r\n uni.getStorage({\r\n key: key,\r\n success: (res) => {\r\n\r\n that.apiGetData = res.data\r\n let desc : string = typeof this.apiGetData\r\n if (\"object\" == desc) {\r\n desc = desc + \": \" + JSON.stringify(this.apiGetData)\r\n } else {\r\n desc = desc + \": \" + this.apiGetData\r\n }\r\n\r\n uni.showModal({\r\n title: '读取数据成功',\r\n content: desc,\r\n showCancel: false,\r\n })\r\n },\r\n fail: () => {\r\n uni.showModal({\r\n title: '读取数据失败',\r\n content: '找不到 key 对应的数据',\r\n showCancel: false,\r\n })\r\n },\r\n })\r\n }\r\n },\r\n getStorageSync: function () {\r\n var key = this.key\r\n if (key.length == 0) {\r\n uni.showModal({\r\n title: '读取数据失败',\r\n content: 'key 不能为空',\r\n showCancel: false,\r\n })\r\n } else {\r\n this.apiGetData = uni.getStorageSync(key)\r\n\r\n let desc : string = typeof this.apiGetData\r\n if (\"object\" == desc) {\r\n desc = desc + \": \" + JSON.stringify(this.apiGetData)\r\n } else {\r\n desc = desc + \": \" + this.apiGetData\r\n }\r\n\r\n uni.showModal({\r\n title: '读取数据成功',\r\n content: desc,\r\n showCancel: false,\r\n })\r\n }\r\n },\r\n setStorage: function () {\r\n var key = this.key\r\n var data = this.data\r\n if (key.length == 0) {\r\n uni.showModal({\r\n title: '保存数据失败',\r\n content: 'key 不能为空',\r\n showCancel: false,\r\n })\r\n } else {\r\n uni.setStorage({\r\n key: key,\r\n data: data,\r\n success: () => {\r\n uni.showModal({\r\n title: '存储数据成功',\r\n showCancel: false,\r\n })\r\n },\r\n fail: () => {\r\n uni.showModal({\r\n title: '储存数据失败!',\r\n showCancel: false,\r\n })\r\n },\r\n })\r\n }\r\n },\r\n setStorageSync: function () {\r\n var key = this.key\r\n var data = this.data\r\n if (key.length == 0) {\r\n uni.showModal({\r\n title: '保存数据失败',\r\n content: 'key 不能为空',\r\n showCancel: false,\r\n })\r\n } else {\r\n uni.setStorageSync(key, data)\r\n uni.showModal({\r\n title: '存储数据成功',\r\n showCancel: false,\r\n })\r\n }\r\n },\r\n removeStorage: function () {\r\n uni.removeStorage({\r\n key: this.key,\r\n success: () => {\r\n uni.showModal({\r\n title: '移除数据成功',\r\n showCancel: false,\r\n })\r\n },\r\n fail: () => {\r\n uni.showModal({\r\n title: '移除数据失败',\r\n showCancel: false,\r\n })\r\n },\r\n })\r\n },\r\n removeStorageSync: function () {\r\n uni.removeStorageSync(this.key)\r\n uni.showModal({\r\n title: '移除数据成功',\r\n showCancel: false,\r\n })\r\n },\r\n clearStorage: function () {\r\n this.key = ''\r\n this.data = ''\r\n uni.clearStorage({\r\n success: function (_) {\r\n uni.showModal({\r\n title: '清除数据成功',\r\n showCancel: false,\r\n })\r\n },\r\n fail: function (_) {\r\n uni.showModal({\r\n title: '清除数据失败',\r\n showCancel: false,\r\n })\r\n },\r\n })\r\n },\r\n clearStorageSync: function () {\r\n this.key = ''\r\n this.data = ''\r\n uni.clearStorageSync()\r\n uni.showModal({\r\n title: '清除数据成功',\r\n content: ' ',\r\n showCancel: false,\r\n })\r\n },\n jest_saveUTSJSONObject: function () {\n const key = 'test_key_saveUTSJSONObject'\n uni.setStorageSync(key, {\n a: {\n b: 1\n }\n })\n const dataSync = uni.getStorageSync(key) as UTSJSONObject\n const dataSyncA = dataSync['a'] as UTSJSONObject\n this.jest_saveUTSJSONObjectSyncResult = dataSyncA.get('b') as number\n uni.getStorage({\n key,\n success: (res) => {\n const dataAsync = res.data as UTSJSONObject\n const dataAsyncA = dataAsync['a'] as UTSJSONObject\n this.jest_saveUTSJSONObjectAsyncResult = dataAsyncA.get('b') as number\n console.log('this.jest_saveUTSJSONObjectSyncResult: ' + this.jest_saveUTSJSONObjectSyncResult)\n console.log('this.jest_saveUTSJSONObjectAsyncResult: ' + this.jest_saveUTSJSONObjectAsyncResult)\n }\n })\n }\r\n },\r\n }\r\n\n```\n\n:::"},"getFileSystemManager":{"name":"## uni.getFileSystemManager() @getfilesystemmanager","description":"获取文件管理器","compatibility":"### getFileSystemManager 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9.0 | 4.11 |\n","param":"","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| [FileSystemManager](#filesystemmanager-values) |\n\n#### FileSystemManager 的方法 @filesystemmanager-values \n\n#### readFile(options : ReadFileOptions) : void; @readfile\n读取本地文件内容\n##### readFile 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9.0 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **ReadFileOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| encoding | string | 否 | - | - | base64 / utf-8,指定读取文件的字符编码,4.31及以后版本Android平台如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容 |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| base64 | - | - |\n@@| utf-8 | - | - |\n@| filePath | [string.URIString](/uts/data-type.md#ide-string) | 是 | - | - | 文件路径,支持相对地址和绝对地址,app-android平台支持代码包文件目录 |\n@| success | (res: [ReadFileSuccessResult](#readfilesuccessresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 通用的错误返回结果回调 |\n@| complete | (res: any) => void | 否 | - | - | 通用的结束返回结果回调 | \n\n###### ReadFileSuccessResult 的属性值 @readfilesuccessresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| data | any | 是 | - | | 读取的内容,类型为 String 或 ArrayBuffer,在4.31以前类型是string,4.31起为了同时支持arraybuffer,类型改成了any,请在使用时手动as为指定类型 |\n\n###### IFileSystemManagerFail 的属性值 @ifilesystemmanagerfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 1200002 | - | 类型错误。仅支持 base64 / utf-8 |\n@| 1300002 | - | 未找到文件 |\n@| 1300009 | - | 文件描述符错误 |\n@| 1300013 | - | 无权限 |\n@| 1300021 | - | 是目录 |\n@| 1300022 | - | 参数无效 |\n@| 1300066 | - | 目录非空 |\n@| 1300201 | - | 系统错误 |\n@| 1300202 | - | 超出文件存储限制的最大尺寸 |\n@| 1301003 | - | 对目录的非法操作 |\n@| 1301005 | - | 文件已存在 |\n@| 1301111 | - | brotli解压失败 |\n@| 1302003 | - | 标志无效 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n\n#### readFileSync(filePath : string, encoding ?: string) : any; @readfilesync\nFileSystemManager.readFile 的同步版本参数\n##### readFileSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| filePath | string | 是 | - | - | 文件路径,支持相对地址和绝对地址,app-android平台支持代码包文件目录 |\n| encoding | string | 否 | - | - | base64 / utf-8,指定读取文件的字符编码,4.31及以后版本如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容 | \n\n##### 返回值 \n\n| 类型 |\n| :- |\n| any |\n \n\n#### writeFile(options : WriteFileOptions) : void; @writefile\n写文件\n##### writeFile 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9.0 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **WriteFileOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| filePath | [string.URIString](/uts/data-type.md#ide-string) | 是 | - | - | 文件路径,只支持绝对地址 |\n@| encoding | string | 否 | - | - | 指定写入文件的字符编码
支持:ascii base64 utf-8 ,只在 data 类型是 String 时有效 |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| ascii | - | - |\n@@| base64 | - | - |\n@@| utf-8 | - | - |\n@| data | any | 是 | - | | 写入的内容,类型为 String 或 ArrayBuffer,在4.31以前类型是string,4.31起为了同时支持arraybuffer,类型改成了any |\n@| success | (res: [FileManagerSuccessResult](#filemanagersuccessresult-values)) => void | 否 | - | - | 通用的正确返回结果回调 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n###### FileManagerSuccessResult 的属性值 @filemanagersuccessresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n\n\n#### read(option : ReadOption) : void; @read\n读文件\n##### read 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.31 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| option | **ReadOption** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| arrayBuffer | ArrayBuffer | 是 | - | - | 数据写入的缓冲区,必须是 ArrayBuffer 实例 |\n@| fd | string | 是 | - | - | 文件描述符。fd 通过 FileSystemManager.open 或 FileSystemManager.openSync 接口获得 |\n@| length | number | 否 | - | - | 要从文件中读取的字节数,默认0 |\n@| offset | number | 否 | - | - | 缓冲区中的写入偏移量,默认0 |\n@| position | number | 否 | - | - | 文件读取的起始位置,如不传或传 null,则会从当前文件指针的位置读取。如果 position 是正整数,则文件指针位置会保持不变并从 position 读取文件。 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| success | (result: [ReadSuccessCallbackResult](#readsuccesscallbackresult-values)) => void | 否 | - | - | 接口调用成功的回调函数 | \n\n###### ReadSuccessCallbackResult 的属性值 @readsuccesscallbackresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| arrayBuffer | ArrayBuffer | 是 | - | | 被写入的缓存区的对象,即接口入参的 arrayBuffer |\n| bytesRead | number | 是 | - | - | 实际读取的字节数 |\n| errMsg | string | 是 | - | - | - |\n\n\n#### readSync(option : ReadSyncOption) : ReadResult; @readsync\n读文件\n##### readSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.31 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| option | **ReadSyncOption** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| arrayBuffer | ArrayBuffer | 是 | - | | 数据写入的缓冲区,必须是 ArrayBuffer 实例 |\n@| fd | string | 是 | - | - | 文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) 接口获得 |\n@| length | number | 否 | - | - | 要从文件中读取的字节数,默认0 |\n@| offset | number | 否 | - | - | 缓冲区中的写入偏移量,默认0 |\n@| position | number | 否 | - | - | 文件读取的起始位置,如不传或传 null,则会从当前文件指针的位置读取。如果 position 是正整数,则文件指针位置会保持不变并从 position 读取文件。 | \n\n##### 返回值 \n\n| 类型 |\n| :- |\n| **ReadResult** |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| arrayBuffer | ArrayBuffer | 是 | - | | 被写入的缓存区的对象,即接口入参的 arrayBuffer |\n@| bytesRead | number | 是 | - | - | 实际读取的字节数 | \n\n#### writeFileSync(filePath : string, data : any, encoding ?: string) : void; @writefilesync\nFileSystemManager.writeFile 的同步版本\n##### writeFileSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| filePath | string | 是 | - | - | 文件路径,只支持绝对地址 |\n| data | any | 是 | - | - | 要写入的文本或二进制数据,4.31及以后版本支持ArrayBuffer |\n| encoding | string | 否 | - | - | 指定写入文件的字符编码,支持:ascii base64 utf-8,只在 data 类型是 String 时有效 | \n\n\n#### unlink(options : UnLinkOptions) : void; @unlink\n删除文件\n##### unlink 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9.0 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **UnLinkOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| filePath | [string.URIString](/uts/data-type.md#ide-string) | 是 | - | - | 文件路径,只支持绝对地址 |\n@| success | (res: [FileManagerSuccessResult](#filemanagersuccessresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n\n#### unlinkSync(filePath : string) : void; @unlinksync\nFileSystemManager.unlink 的同步版本\n##### unlinkSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| filePath | string | 是 | - | - | 文件路径,只支持绝对地址 | \n\n\n#### mkdir(options : MkDirOptions) : void; @mkdir\n创建目录\n##### mkdir 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9.0 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **MkDirOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| dirPath | [string.URIString](/uts/data-type.md#ide-string) | 是 | - | - | 创建的目录路径 (本地路径) |\n@| recursive | boolean | 是 | - | - | 是否在递归创建该目录的上级目录后再创建该目录。如果对应的上级目录已经存在,则不创建该上级目录。如 dirPath 为 a/b/c/d 且 recursive 为 true,将创建 a 目录,再在 a 目录下创建 b 目录,以此类推直至创建 a/b/c 目录下的 d 目录。 |\n@| success | (res: [FileManagerSuccessResult](#filemanagersuccessresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n\n#### mkdirSync(dirPath : string, recursive : boolean) : void; @mkdirsync\nFileSystemManager.mkdir 的同步版本\n##### mkdirSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| dirPath | string | 是 | - | - | 创建的目录路径 (本地路径) |\n| recursive | boolean | 是 | - | - | 是否在递归创建该目录的上级目录后再创建该目录。如果对应的上级目录已经存在,则不创建该上级目录。如 dirPath 为 a/b/c/d 且 recursive 为 true,将创建 a 目录,再在 a 目录下创建 b 目录,以此类推直至创建 a/b/c 目录下的 d 目录。 | \n\n\n#### rmdir(options : RmDirOptions) : void; @rmdir\n删除目录\n##### rmdir 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9.0 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **RmDirOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| dirPath | [string.URIString](/uts/data-type.md#ide-string) | 是 | - | - | 要删除的目录路径 (本地路径) |\n@| recursive | boolean | 是 | - | - | 是否递归删除目录。如果为 true,则删除该目录和该目录下的所有子目录以及文件。 |\n@| success | (res: [FileManagerSuccessResult](#filemanagersuccessresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n\n#### rmdirSync(dirPath : string, recursive : boolean) : void; @rmdirsync\nFileSystemManager.rmdir 的同步版本\n##### rmdirSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| dirPath | string | 是 | - | - | 要删除的目录路径 (本地路径) |\n| recursive | boolean | 是 | - | - | 是否递归删除目录。如果为 true,则删除该目录和该目录下的所有子目录以及文件。 | \n\n\n#### readdir(options : ReadDirOptions) : void; @readdir\n读取目录内文件列表\n##### readdir 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9.0 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **ReadDirOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| dirPath | [string.URIString](/uts/data-type.md#ide-string) | 是 | - | - | 要读取的目录路径 (本地路径) |\n@| success | (res: [ReadDirSuccessResult](#readdirsuccessresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n###### ReadDirSuccessResult 的属性值 @readdirsuccessresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| files | Array\\ | 是 | - | - | - |\n\n\n#### readdirSync(dirPath : string) : string[] \\| null; @readdirsync\nFileSystemManager.readdir 的同步版本\n##### readdirSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| dirPath | string | 是 | - | - | 要读取的目录路径 (本地路径) | \n\n##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Array\\ | 否 |\n \n\n#### access(options : AccessOptions) : void; @access\n判断文件/目录是否存在\n##### access 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9.0 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **AccessOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| path | [string.URIString](/uts/data-type.md#ide-string) | 是 | - | - | 要判断是否存在的文件/目录路径 (本地路径) |\n@| success | (res: [FileManagerSuccessResult](#filemanagersuccessresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n\n#### accessSync(path : string) : void; @accesssync\nFileSystemManager.access 的同步版本\n##### accessSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| path | string | 是 | - | - | 要判断是否存在的文件/目录路径 (本地路径) | \n\n\n#### rename(options : RenameOptions) : void; @rename\n重命名文件。可以把文件从 oldPath 移动到 newPath\n##### rename 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9.0 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **RenameOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| oldPath | [string.URIString](/uts/data-type.md#ide-string) | 是 | - | - | 源文件路径,支持本地路径 |\n@| newPath | [string.URIString](/uts/data-type.md#ide-string) | 是 | - | - | 新文件路径,支持本地路径 |\n@| success | (res: [FileManagerSuccessResult](#filemanagersuccessresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n\n#### renameSync(oldPath : string, newPath : string) : void; @renamesync\nFileSystemManager.rename 的同步版本\n##### renameSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| oldPath | string | 是 | - | - | 源文件路径,支持本地路径 |\n| newPath | string | 是 | - | - | 新文件路径,支持本地路径 | \n\n\n#### copyFile(options : CopyFileOptions) : void; @copyfile\n复制文件\n##### copyFile 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9.0 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **CopyFileOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| srcPath | [string.URIString](/uts/data-type.md#ide-string) | 是 | - | - | 源文件路径,支持本地路径 |\n@| destPath | [string.URIString](/uts/data-type.md#ide-string) | 是 | - | - | 新文件路径,支持本地路径 |\n@| success | (res: [FileManagerSuccessResult](#filemanagersuccessresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n\n#### copyFileSync(srcPath : string, destPath : string) : void; @copyfilesync\nFileSystemManager.copyFile 的同步版本\n##### copyFileSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| srcPath | string | 是 | - | - | 源文件路径,支持本地路径 |\n| destPath | string | 是 | - | - | 新文件路径,支持本地路径 | \n\n\n#### getFileInfo(options : GetFileInfoOptions) : void; @getfileinfo\n获取该本地临时文件 或 本地缓存文件 信息\n##### getFileInfo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9.0 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **GetFileInfoOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| filePath | [string.URIString](/uts/data-type.md#ide-string) | 是 | - | - | 要读取的文件路径 (本地路径) |\n@| digestAlgorithm | string | 否 | - | - | md5 / sha1 |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| md5 | - | - |\n@@| sha1 | - | - |\n@| success | (res: [GetFileInfoSuccessResult](#getfileinfosuccessresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n###### GetFileInfoSuccessResult 的属性值 @getfileinfosuccessresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| digest | string | 是 | - | - | - |\n| size | number | 是 | - | - | - |\n| errMsg | string | 是 | - | - | - |\n\n\n#### stat(options : StatOptions) : void; @stat\n获取文件 Stats 对象\n##### stat 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9.0 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **StatOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| path | [string.URIString](/uts/data-type.md#ide-string) | 是 | - | - | 文件/目录路径 (本地路径) |\n@| recursive | boolean | 是 | - | - | 是否递归获取目录下的每个文件的 Stats 信息 |\n@| success | (res: [StatSuccessResult](#statsuccessresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n###### StatSuccessResult 的属性值 @statsuccessresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n| stats | Array\\<[FileStats](#filestats-values)\\> | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| path | string | 是 | - | - | - |\n@| stats | [Stats](#stats-values) | 是 | - | - | - |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| mode | number | 是 | - | - | 文件的类型和存取的权限,对应 POSIX stat.st_mode
注意android中,文件类型只包含是否是目录与文件,
另外在android中这里的权限指的是当前进程对文件或者文件夹是否有读,写,执行的权限,
这里没有与 POSIX stat.st_mode对应的组,其他人等相关权限的数据返回,只有所有者的相关权限 |\n@@| size | number | 是 | - | - | 文件大小,单位:B,对应 POSIX stat.st_size |\n@@| lastAccessedTime | number | 是 | - | - | 文件最近一次被存取或被执行的时间,UNIX 时间戳,对应 POSIX stat.st_atime
注意:android中由于系统限制无法获取该数据 |\n@@| lastModifiedTime | number | 是 | - | - | 文件最后一次被修改的时间,UNIX 时间戳,对应 POSIX stat.st_mtime |\n\n###### Stats 的方法 @stats-values \n\n###### isDirectory() : boolean; @isdirectory\n判断当前文件是否一个目录\n###### isDirectory 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n\n###### 返回值 \n\n| 类型 |\n| :- |\n| boolean |\n \n\n###### isFile() : boolean; @isfile\n判断当前文件是否一个普通文件\n###### isFile 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n\n###### 返回值 \n\n| 类型 |\n| :- |\n| boolean |\n \n\n\n#### statSync(path : string, recursive : boolean) : FileStats[]; @statsync\nFileSystemManager.stat 的同步版本\n##### statSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| path | string | 是 | - | - | 文件/目录路径 (本地路径) |\n| recursive | boolean | 是 | - | - | 是否递归获取目录下的每个文件的 Stats 信息 | \n\n##### 返回值 \n\n| 类型 |\n| :- |\n| Array\\<[FileStats](#filestats-values)\\> |\n \n\n#### appendFile(options : AppendFileOptions) : void; @appendfile\n在文件结尾追加内容\n##### appendFile 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **AppendFileOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| filePath | [string.URIString](/uts/data-type.md#ide-string) | 是 | - | - | 要追加内容的文件路径 (本地路径) |\n@| encoding | string | 否 | - | - | 指定写入文件的字符编码
支持:ascii base64 utf-8
只在 data 类型是 String 时有效 |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| ascii | - | - |\n@@| base64 | - | - |\n@@| utf-8 | - | - |\n@| data | any | 是 | - | | 要追加的文本或二进制数据,类型为 String 或 ArrayBuffer,在4.31以前类型是string,4.31起为了同时支持arraybuffer,类型改成了any |\n@| success | (res: [FileManagerSuccessResult](#filemanagersuccessresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n\n#### appendFileSync(filePath : string, data : any, encoding ?: string) : void; @appendfilesync\nFileSystemManager.appendFile 的同步版本\n##### appendFileSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| filePath | string | 是 | - | - | 要追加内容的文件路径 (本地路径) |\n| data | any | 是 | - | - | 要追加的文本或二进制数据,类型为 String 或 ArrayBuffer,在4.31以前类型是string,4.31起为了同时支持arraybuffer,类型改成了any |\n| encoding | string | 否 | - | - | 指定写入文件的字符编码支持:ascii base64 utf-8,只在 data 类型是 String 时有效 | \n\n\n#### saveFile(options : SaveFileOptions) : void; @savefile\n保存临时文件到本地。此接口会移动临时文件,因此调用成功后,tempFilePath 将不可用。\n##### saveFile 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **SaveFileOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| tempFilePath | [string.URIString](/uts/data-type.md#ide-string) | 是 | - | - | 临时存储文件路径 (本地路径) |\n@| filePath | [string.URIString](/uts/data-type.md#ide-string) | 否 | - | - | 要存储的文件路径 (本地路径) |\n@| success | (res: [SaveFileSuccessResult](#savefilesuccessresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n###### SaveFileSuccessResult 的属性值 @savefilesuccessresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| savedFilePath | string | 是 | - | - | 存储后的文件路径 (本地路径) |\n\n\n#### saveFileSync(tempFilePath : string, filePath : string \\| null) : string; @savefilesync\nFileSystemManager.saveFile 的同步版本\n##### saveFileSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| tempFilePath | string | 是 | - | - | 临时存储文件路径 (本地路径) |\n| filePath | string | 否 | - | - | 要存储的文件路径 (本地路径) | \n\n##### 返回值 \n\n| 类型 |\n| :- |\n| string |\n \n\n#### removeSavedFile(options : RemoveSavedFileOptions) : void; @removesavedfile\n删除该小程序下已保存的本地缓存文件\n##### removeSavedFile 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **RemoveSavedFileOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| filePath | [string.URIString](/uts/data-type.md#ide-string) | 是 | - | - | 需要删除的文件路径 (本地路径) |\n@| success | (res: [FileManagerSuccessResult](#filemanagersuccessresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n\n#### unzip(options : UnzipFileOptions) : void; @unzip\n解压文件\n##### unzip 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **UnzipFileOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| zipFilePath | string | 是 | - | - | 源文件路径,支持本地路径, 只可以是 zip 压缩文件 |\n@| targetPath | string | 是 | - | - | 目标目录路径, 支持本地路径 |\n@| success | (res: [FileManagerSuccessResult](#filemanagersuccessresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n\n#### getSavedFileList(options : GetSavedFileListOptions) : void; @getsavedfilelist\n获取该已保存的本地缓存文件列表\n##### getSavedFileList 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **GetSavedFileListOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (res: [GetSavedFileListResult](#getsavedfilelistresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n###### GetSavedFileListResult 的属性值 @getsavedfilelistresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| fileList | Array\\ | 是 | - | - | - |\n\n\n#### truncate(options : TruncateFileOptions) : void; @truncate\n对文件内容进行截断操作\n##### truncate 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **TruncateFileOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| filePath | [string.URIString](/uts/data-type.md#ide-string) | 是 | - | - | 要截断的文件路径 (本地路径) |\n@| length | number | 是 | - | - | 截断位置,默认0。如果 length 小于文件长度(字节),则只有前面 length 个字节会保留在文件中,其余内容会被删除;
如果 length 大于文件长度,不做处理 |\n@| success | (res: [FileManagerSuccessResult](#filemanagersuccessresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n\n#### truncateSync(filePath : string, length ?: number) : void; @truncatesync\n对文件内容进行截断操作 (truncate 的同步版本)\n##### truncateSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| filePath | string | 是 | - | - | 要截断的文件路径 (本地路径) |\n| length | number | 否 | - | - | 截断位置,默认0。如果 length 小于文件长度(字节),则只有前面 length 个字节会保留在文件中,其余内容会被删除;如果 length 大于文件长度,不做处理 | \n\n\n#### readCompressedFile(options : ReadCompressedFileOptions) : void; @readcompressedfile\n读取指定压缩类型的本地文件内容\n##### readCompressedFile 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **ReadCompressedFileOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| filePath | [string.URIString](/uts/data-type.md#ide-string) | 是 | - | - | 要读取的文件的路径 (本地用户文件或代码包文件),app-android平台支持代码包文件目录 |\n@| compressionAlgorithm | string | 是 | - | - | 文件压缩类型,目前仅支持 'br'。 |\n@| success | (res: [ReadCompressedFileResult](#readcompressedfileresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n###### ReadCompressedFileResult 的属性值 @readcompressedfileresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| data | string | 是 | - | - | - |\n\n\n#### readCompressedFileSync(filePath : string, compressionAlgorithm : string) : string @readcompressedfilesync\n同步读取指定压缩类型的本地文件内容\n##### readCompressedFileSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| filePath | string | 是 | - | - | 要读取的文件的路径 (本地用户文件或代码包文件),app-android平台支持代码包文件目录 |\n| compressionAlgorithm | string | 是 | - | - | 文件压缩类型,目前仅支持 'br'。 | \n\n##### 返回值 \n\n| 类型 |\n| :- |\n| string |\n \n\n#### open(options : OpenFileOptions) : void; @open\n打开文件,返回文件描述符\n##### open 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **OpenFileOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| filePath | [string.URIString](/uts/data-type.md#ide-string) | 是 | - | - | 要追加内容的文件路径 (本地路径) |\n@| flag | string | 是 | - | - | 文件系统标志,默认值: 'r' |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| a | - | - |\n@@| ax | - | - |\n@@| a+ | - | - |\n@@| ax+ | - | - |\n@@| r | - | - |\n@@| r+ | - | - |\n@@| w | - | - |\n@@| wx | - | - |\n@@| w+ | - | - |\n@@| wx | - | - |\n@@| wx+ | - | - |\n@| success | (res: [OpenFileSuccessResult](#openfilesuccessresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n###### OpenFileSuccessResult 的属性值 @openfilesuccessresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| fd | string | 是 | - | - | - |\n\n\n#### openSync(options : OpenFileSyncOptions) : string; @opensync\n同步打开文件,返回文件描述符\n##### openSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **OpenFileSyncOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| filePath | [string.URIString](/uts/data-type.md#ide-string) | 是 | - | - | 要追加内容的文件路径 (本地路径) |\n@| flag | string | 是 | - | - | 文件系统标志,默认值: 'r' |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| a | - | - |\n@@| ax | - | - |\n@@| a+ | - | - |\n@@| ax+ | - | - |\n@@| r | - | - |\n@@| r+ | - | - |\n@@| w | - | - |\n@@| wx | - | - |\n@@| w+ | - | - |\n@@| wx | - | - |\n@@| wx+ | - | - | \n\n##### 返回值 \n\n| 类型 |\n| :- |\n| string |\n \n\n#### write(options : WriteOptions) : void; @write\n写入文件\n##### write 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **WriteOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| fd | string | 是 | - | - | 文件描述符。fd 通过 FileSystemManager.open 或 FileSystemManager.openSync 接口获得 |\n@| data | any | 是 | - | | 写入的内容,类型为 String 或 ArrayBuffer,在4.31以前类型是string,4.31起为了同时支持arraybuffer,类型改成了any |\n@| offset | number | 否 | 0 | | 4.31及以后版本新增,只在 data 类型是 ArrayBuffer 时有效,决定 ArrayBuffer 中要被写入的部位,即 ArrayBuffer 中的索引,默认0 |\n@| length | number | 否 | - | | 4.31及以后版本新增,只在 data 类型是 ArrayBuffer 时有效,指定要写入的字节数,默认为 ArrayBuffer 从0开始偏移 offset 个字节后剩余的字节数 |\n@| position | number | 否 | - | | 4.31及以后版本新增,指定文件开头的偏移量,即数据要被写入的位置。当 position 不传或者传入非 Number 类型的值时,数据会被写入当前指针所在位置。 |\n@| encoding | string | 否 | - | - | 只在 data 类型是 String 时有效,指定写入文件的字符编码,默认为 utf8
支持:ascii base64 utf-8 |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| ascii | - | - |\n@@| base64 | - | - |\n@@| utf-8 | - | - |\n@| success | (res: [WriteResult](#writeresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n###### WriteResult 的属性值 @writeresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| bytesWritten | number | 是 | - | - | 实际被写入到文件中的字节数(注意,被写入的字节数不一定与被写入的字符串字符数相同) |\n| errMsg | string | 是 | - | - | - |\n\n\n#### writeSync(options : WriteSyncOptions) : WriteResult; @writesync\n同步写入文件\n##### writeSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **WriteSyncOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| fd | string | 是 | - | - | 文件描述符。fd 通过 FileSystemManager.open 或 FileSystemManager.openSync 接口获得 |\n@| data | any | 是 | - | | 写入的内容,类型为 String 或 ArrayBuffer,在4.31以前类型是string,4.31起为了同时支持arraybuffer,类型改成了any |\n@| encoding | string | 否 | - | - | 只在 data 类型是 String 时有效,指定写入文件的字符编码,默认为 utf8
支持:ascii base64 utf-8 |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| ascii | - | - |\n@@| base64 | - | - |\n@@| utf-8 | - | - |\n@| length | number | 否 | - | | 只在 data 类型是 ArrayBuffer 时有效,指定要写入的字节数,默认为 arrayBuffer 从0开始偏移 offset 个字节后剩余的字节数 ,4.31及以后版本新增 |\n@| offset | number | 否 | - | | 只在 data 类型是 ArrayBuffer 时有效,决定 arrayBuffe 中要被写入的部位,即 arrayBuffer 中的索引,默认0,4.31及以后版本新增 |\n@| position | number | 否 | - | | 指定文件开头的偏移量,即数据要被写入的位置。当 position 不传或者传入非 Number 类型的值时,数据会被写入当前指针所在位置。4.31及以后版本新增 | \n\n##### 返回值 \n\n| 类型 |\n| :- |\n| [WriteResult](#writeresult-values) |\n \n\n#### close(options : CloseOptions) : void; @close\n关闭文件\n##### close 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **CloseOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| fd | string | 是 | - | - | 需要被关闭的文件描述符。fd 通过 FileSystemManager.open 或 FileSystemManager.openSync 接口获得 |\n@| success | (res: [FileManagerSuccessResult](#filemanagersuccessresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n\n#### closeSync(options : CloseSyncOptions) : void; @closesync\n同步关闭文件\n##### closeSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **CloseSyncOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| fd | string | 是 | - | - | 需要被关闭的文件描述符。fd 通过 FileSystemManager.open 或 FileSystemManager.openSync 接口获得 | \n\n\n#### fstat(options : FStatOptions) : void; @fstat\n获取文件的状态信息\n##### fstat 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **FStatOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| fd | string | 是 | - | - | 文件描述符。fd 通过 FileSystemManager.open 或 FileSystemManager.openSync 接口获得 |\n@| success | (res: [FStatSuccessResult](#fstatsuccessresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n###### FStatSuccessResult 的属性值 @fstatsuccessresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| stats | [Stats](#stats-values) | 是 | - | - | Stats 对象,包含了文件的状态信息 |\n\n\n#### fstatSync(options : FStatSyncOptions) : Stats; @fstatsync\n同步获取文件的状态信息\n##### fstatSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **FStatSyncOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| fd | string | 是 | - | - | 文件描述符。fd 通过 FileSystemManager.open 或 FileSystemManager.openSync 接口获得 | \n\n##### 返回值 \n\n| 类型 | 描述 |\n| :- | :- |\n| [Stats](#stats-values) | Stats 对象,包含了文件的状态信息 |\n \n\n#### ftruncate(options : FTruncateFileOptions) : void; @ftruncate\n对文件内容进行截断操作\n##### ftruncate 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **FTruncateFileOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| fd | string | 是 | - | - | 文件描述符。fd 通过 FileSystemManager.open 或 FileSystemManager.openSync 接口获得 |\n@| length | number | 是 | - | - | 截断位置,默认0。如果 length 小于文件长度(字节),则只有前面 length 个字节会保留在文件中,其余内容会被删除;
如果 length 大于文件长度,不做处理 |\n@| success | (res: [FileManagerSuccessResult](#filemanagersuccessresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n\n#### ftruncateSync(options : FTruncateFileSyncOptions) : void; @ftruncatesync\n同步对文件内容进行截断操作\n##### ftruncateSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **FTruncateFileSyncOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| fd | string | 是 | - | - | 文件描述符。fd 通过 FileSystemManager.open 或 FileSystemManager.openSync 接口获得 |\n@| length | number | 是 | - | - | 截断位置,默认0。如果 length 小于文件长度(字节),则只有前面 length 个字节会保留在文件中,其余内容会被删除;
如果 length 大于文件长度,不做处理 | \n\n\n#### readZipEntry(options : ReadZipEntryOptions) : void; @readzipentry\n读取压缩包内的文件\n##### readZipEntry 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **ReadZipEntryOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| filePath | [string.URIString](/uts/data-type.md#ide-string) | 是 | - | - | 要读取的压缩包的路径 (本地路径),app-android平台支持代码包文件目录 |\n@| encoding | string | 否 | - | - | 统一指定读取文件的字符编码,只在 entries 值为\"all\"时有效。
4.31及以后版本如果 entries 值为 null 且不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容 |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| ascii | - | - |\n@@| base64 | - | - |\n@@| utf-8 | - | - |\n@| entries | Array\\<**EntryItem**\\> | 否 | - | - | 要读取的压缩包内的文件列表(当不传入时表示读取压缩包内所有文件) |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| path | string | 是 | - | - | 压缩包内文件路径 |\n@@| encoding | string | 否 | - | - | 指定写入文件的字符编码
支持:ascii base64 utf-8;4.31及以后版本如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容 |\n@@@| 合法值 | 兼容性 | 描述 |\n@@@| :- | :-: | :- |\n@@@| ascii | - | - |\n@@@| base64 | - | - |\n@@@| utf-8 | - | - |\n@| success | (res: [EntriesResult](#entriesresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n###### EntriesResult 的属性值 @entriesresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| result | Map\\ | 是 | - | - | 文件路径 |\n\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.file.getFileSystemManager)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getFileSystemManager&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getFileSystemManager&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getFileSystemManager&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getFileSystemManager&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getFileSystemManager&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getFileSystemManager)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getFileSystemManager&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/get-file-system-manager/get-file-system-manager.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/get-file-system-manager/get-file-system-manager\n```uvue\n\r\n\r\n\r\n\r\n\r\n\n```\n:::"},"getUniverifyManager":{"name":"## uni.getUniverifyManager() @getuniverifymanager","description":"获取一键登录管理对象","compatibility":"### getUniverifyManager 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.99 | 4.18 |\n","param":"","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| [UniverifyManager](#univerifymanager-values) |\n\n#### UniverifyManager 的方法 @univerifymanager-values \n\n#### preLogin(options : PreLoginOptions) : void @prelogin\n预登录\n##### preLogin 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 3.99 | 4.18 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **PreLoginOptions** | 是 | - | - | 预登录参数 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | () => void | 否 | - | - | - |\n@| fail | (err: [PreLoginFail](#preloginfail-values)) => void | 否 | - | - | - |\n@| complete | (res: any) => void | 否 | - | - | - | \n\n###### PreLoginFail 的属性值 @preloginfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 1000 当前应用appid尚未开通uni一键登录
1001 应用所有者账号信息异常,请检查账号一键登录服务是否正常
1002 应用所有者账号信息异常,请检查账号余额是否充足
1004 uni一键登录应用不存在
4001 参数异常
30004 其他错误
30005 预登录失败
30006 一键登录失败 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 1000 | - | - |\n@| 1001 | - | - |\n@| 1002 | - | - |\n@| 1004 | - | - |\n@| 4001 | - | - |\n@| 30004 | - | - |\n@| 30005 | - | - |\n@| 30006 | - | - |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n\n#### login(options : LoginOptions) : void @login\n登录\n##### login 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 3.99 | 4.18 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **LoginOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| scopes | any | 否 | - | - | 授权类型,默认 auth_base。支持 auth_base(静默授权)/ auth_user(主动授权) / auth_zhima(芝麻信用)
|\n@| timeout | number | 否 | - | - | 超时时间,单位 ms |\n@| univerifyStyle | **UniverifyStyle** | 否 | - | | 一键登录页面样式
|\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| fullScreen | boolean | 否 | - | - | 是否全屏模式。

true表示全屏模式,false表示非全屏模式,默认值为false。 |\n@@| backgroundColor | string | 否 | - | - | 授权界面背景颜色。

格式为\"#RRGGBB\",默认值为\"#FFFFF\"。 |\n@@| backgroundImage | string | 否 | - | - | 背景图片 |\n@@| icon | **UniverifyIconStyles** | 否 | - | - | 授权界面图标样式。

可设置自定义图标,默认为应用图标。 |\n@@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@@| :- | :- | :- | :- | :-: | :- |\n@@@| path | string | 是 | - | - | 图标地址

仅支持本地路径,默认为应用图标。 |\n@@@| width | string | 否 | - | - | 图标宽度

格式为“XXpx\",默认值为\"60px\"。 |\n@@@| height | string | 否 | - | - | 图标高度

格式为“XXpx\",默认值为\"60px\"。 |\n@@| phoneNum | **UniverifyPhoneNumStyles** | 否 | - | - | 授权界面电话号码样式

可设置自定义电话号码文字颜色、大小等。 |\n@@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@@| :- | :- | :- | :- | :-: | :- |\n@@@| color | string | 否 | - | - | 字体颜色

格式为\"#RRGGBB\",默认值为\"#000000\"。 |\n@@@| fontSize | string | 否 | - | - | 字体大小

格式为“XXpx\",默认值为\"18px\"。注意:字体加粗显示。 |\n@@| slogan | **UniverifySloganStyles** | 否 | - | - | 授权界面服务说明样式

可设置自定义服务说明文字颜色、大小等。 |\n@@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@@| :- | :- | :- | :- | :-: | :- |\n@@@| color | string | 否 | - | - | 字体颜色

格式为\"#RRGGBB\",默认值为\"#8a8b90\"。 |\n@@@| fontSize | string | 否 | - | - | 字体大小

格式为“XXpx\",默认值为\"12px\"。 |\n@@| authButton | **UniverifyAuthButtonStyles** | 否 | - | - | 授权界面其他登录按钮样式

可设置自定义其他登录按钮背景颜色、文本内容、大小等。 |\n@@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@@| :- | :- | :- | :- | :-: | :- |\n@@@| normalColor | string | 否 | - | - | 正常状态按钮颜色

格式为\"#RRGGBB\",默认值为\"#3479f5\"。 |\n@@@| highlightColor | string | 否 | - | - | 按下状态按钮颜色

格式为\"#RRGGBB\",默认值为\"#2861c5\"。 |\n@@@| disabledColor | string | 否 | - | - | 不可点击状态按钮颜色

格式为\"#RRGGBB\",默认值为\"#73aaf5\"。 注意:仅iOS平台支持。 |\n@@@| width | string | 否 | - | - | 按钮宽度

格式为“XXpx\",默认值为自适应,距离屏幕左右\"32px\"。 |\n@@@| height | string | 否 | - | - | 按钮高度

格式为“XXpx\",默认值为\"94px\"。 |\n@@@| textColor | string | 否 | - | - | 按钮上文字颜色

格式为\"#RRGGBB\",默认值为\"#ffffff\"。 |\n@@@| title | string | 否 | - | - | 按钮上文字内容

默认值为\"本机号码一键登录\"。 |\n@@@| borderRadius | string | 否 | - | - | 授权按钮圆角

格式为“XXpx\",默认值:\"24px\" (按钮高度的一半) |\n@@| otherLoginButton | **UniverifyOtherButtonStyles** | 否 | - | - | 支付宝小程序登录成功的授权 scope |\n@@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@@| :- | :- | :- | :- | :-: | :- |\n@@@| visible | boolean | 否 | - | - | 是否显示其它按钮

可取值: true - 显示其它按钮;false - 不显示其它按钮。 默认值为true。 |\n@@@| normalColor | string | 否 | - | - | 正常状态按钮颜色

格式为\"#RRGGBB\",默认值为\"#f8f8f8\"。 |\n@@@| highlightColor | string | 否 | - | - | 按下状态按钮颜色

格式为\"#RRGGBB\",默认值为\"#dedede\"。 |\n@@@| width | string | 否 | - | - | 按钮宽度

格式为“XXpx\",默认值为自适应,距离屏幕左右\"32px\"。 |\n@@@| height | string | 否 | - | - | 按钮高度

格式为“XXpx\",默认值为\"94px\"。 |\n@@@| textColor | string | 否 | - | - | 按钮上文字颜色

格式为\"#RRGGBB\",默认值为\"#000000\"。 |\n@@@| title | string | 否 | - | - | 按钮上文字内容

默认值为\"本机号码一键登录\"。 |\n@@@| borderWidth | string | 否 | - | - | 按钮边框宽度

格式为“XXpx\",默认值为\"1px\"。 注意:仅iOS平台支持。 |\n@@@| borderColor | string | 否 | - | - | 按钮边框颜色

格式为\"#RRGGBB\",默认值为\"#c5c5c5\"。 注意:仅iOS平台支持。 |\n@@@| borderRadius | string | 否 | - | - | 其他登录按钮圆角

格式为“XXpx\",默认值:\"24px\" (按钮高度的一半) |\n@@| privacyTerms | **UniverifyPrivacyTermsStyles** | 否 | - | - | 授权界面服务协议样式

自定义设置服务器协议文字颜色、文本内容,添加自定义服务协议链接等。 |\n@@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@@| :- | :- | :- | :- | :-: | :- |\n@@@| defaultCheckBoxState | boolean | 否 | - | - | 默认是否勾选同意协议选择框

ture表示勾选,false表示不勾选。默认值为true。
HBuilderX3.1.0+版本新增支持。 |\n@@@| textColor | string | 否 | - | - | 普通文字颜色

格式为\"#RRGGBB\",默认值为\"#8a8b90\"。 |\n@@@| termsColor | string | 否 | - | - | 协议链接文字颜色

格式为\"#RRGGBB\",默认值为\"#1d4788\"。 |\n@@@| prefix | string | 否 | - | - | 服务协议前文本内容

默认值为\"我已阅读并同意\"。 |\n@@@| suffix | string | 否 | - | - | 服务协议后文本内容

默认值为\"并使用本机号码登录\"。 |\n@@@| fontSize | string | 否 | - | - | 字体大小

格式为“XXpx\",默认值为\"12px\"。 |\n@@@| privacyItems | Array\\<**UniverifyPrivacyItemStyles**\\> | 否 | - | - | 服务协议

自定义服务协议,可设置使用手机号码登录的协议,最多可设置两个协议。 注意:运营商的服务协议链接会自动添加到自定义服务协议之前。 |\n@@@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@@@| :- | :- | :- | :- | :-: | :- |\n@@@@| url | string | 是 | - | - | 链接地址

http/https开头的协议链接地址。 |\n@@@@| title | string | 是 | - | - | 协议链接文字 |\n@@| buttons | **UniVerifyButtonsStyles** | 否 | - | - | 自定义登录按钮列表样式

自定义设置更多登录按钮列表,如其它三方登录等。
注意:HBuilderX3.1.14+版本支持。 |\n@@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@@| :- | :- | :- | :- | :-: | :- |\n@@@| iconWidth | string | 否 | - | - | 自定义登录按钮图标宽度

单位为px,默认值为45px。
按指定宽度缩放,高度等比例缩放。 |\n@@@| list | Array\\<**UniVerifyButtonListItem**\\> | 是 | - | - | 自定义登录按钮列表 |\n@@@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@@@| :- | :- | :- | :- | :-: | :- |\n@@@@| provider | string | 是 | - | - | 该按钮标识,会原样返回。 |\n@@@@| iconPath | string | 是 | - | - | 图片路径

仅支持本地图片 |\n@| onlyAuthorize | boolean | 否 | - | | 微信登录仅请求授权认证
|\n@| success | (result: [LoginSuccess](#loginsuccess-values)) => void | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (result: [IUniError](#iunierror-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n###### LoginSuccess 的属性值 @loginsuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | 描述信息 |\n| authResult | any | 是 | - | - | 登录服务商提供的登录信息,服务商不同返回的结果不完全相同 |\n| code | string | 是 | - | - | 小程序用户临时登录凭证 |\n| anonymousCode | string | 否 | - | - | 头条小程序当前设备标识 |\n| authCode | string | 否 | - | - | 支付宝小程序授权码 |\n| authErrorScope | any | 否 | - | - | 支付宝小程序登录失败的授权类型,key是授权失败的 scope,value 是对应的错误码 |\n| authSucessScope | Array\\ | 否 | - | - | 支付宝小程序登录成功的授权 scope |\n| appleInfo | **AppleLoginAppleInfo** | 否 | - | - | 苹果登录成功返回的信息 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| authorizationCode | string | 否 | - | - | 应用程序用来与服务器交互的令牌 |\n@| fullName | any | 否 | - | - | 返回身份的全名 |\n@| identityToken | string | 否 | - | - | 一个JSON Web令牌(JWT),可以安全地将用户信息传递给应用程序 |\n@| realUserStatus | number | 否 | - | - | 指示用户是否为真人 |\n@| user | string | 否 | - | - | 验证用户的标识符 |\n\n###### IUniError 的属性值 @iunierror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 统一错误码 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n\n#### close() : void @close\n关闭登录页\n##### close 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 3.99 | 4.18 |\n\n\n\n#### isPreLoginValid() : boolean @ispreloginvalid\n预登录是否有效\n##### isPreLoginValid 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 3.99 | 4.18 |\n\n\n##### 返回值 \n\n| 类型 |\n| :- |\n| boolean |\n \n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.loginVerify.getUniverifyManager)\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/univerify.html#univerifymanager)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/get-univerify-manager/get-univerify-manager.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/get-univerify-manager/get-univerify-manager\n```uvue\n\r\n\r\n\r\n\r\n\n\n```\n:::"},"getFacialRecognitionMetaInfo":{"name":"## uni.getFacialRecognitionMetaInfo() @getfacialrecognitionmetainfo","description":"获取阿里云实人认证meta info","compatibility":"### getFacialRecognitionMetaInfo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","param":"","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| string |\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.loginVerify.facialRecognitionMetaInfo.getFacialRecognitionMetaInfo)"},"startFacialRecognitionVerify":{"name":"## uni.startFacialRecognitionVerify(faceStyle) @startfacialrecognitionverify","description":"启动人脸识别","compatibility":"### startFacialRecognitionVerify 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| faceStyle | **StartFacialRecognitionVerifyOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| certifyId | string | 是 | - | - | certifyId 调用实人认证的id |\n@| progressBarColor | string | 否 | - | | 活体检测页面的进度条颜色。
|\n@| screenOrientation | string | 否 | \"port\" | | 认证时屏幕方向 |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| land | - | 横屏 |\n@@| port | - | 竖屏 |\n@| success | (res: [StartFacialRecognitionVerifySuccess](#startfacialrecognitionverifysuccess-values)) => void | 否 | - | - | 成功回调 |\n@| fail | (res: [IFacialRecognitionVerifyError](#ifacialrecognitionverifyerror-values)) => void | 否 | - | - | 失败回调 |\n@| complete | (res: any) => void | 否 | - | - | 完成回调 | \n\n#### StartFacialRecognitionVerifySuccess 的属性值 @startfacialrecognitionverifysuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n| errSubject | string | 是 | - | - | 调用API的名称 |\n| errMsg | string | 是 | - | - | 错误的详细信息 |\n| cause | **SourceError** | 否 | - | - | 错误来源 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| subject | string | 否 | - | - | 源错误模块名称 |\n@| message | string | 是 | - | - | 源错误描述信息 |\n@| code | number | 是 | - | - | 源错误的错误码 |\n@| name | string | 是 | - | - | - |\n@| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | |\n\n#### IFacialRecognitionVerifyError 的属性值 @ifacialrecognitionverifyerror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 10001 | - | certifyId 不能为空 |\n@| 10002 | - | 当前设备不支持 |\n@| 10010 | - | 刷脸异常 |\n@| 10011 | - | 验证中断 |\n@| 10012 | - | 网络异常 |\n@| 10013 | - | 刷脸验证失败 |\n@| 10020 | - | 设备设置时间异常 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.loginVerify.facialRecognitionMetaInfo.startFacialRecognitionVerify)"},"facialRecognitionMetaInfo":{"example":"## 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/facial-recognition-meta-info/facial-recognition-meta-info.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/facial-recognition-meta-info/facial-recognition-meta-info\n```uvue\n\r\n\r\n\r\n\r\n\n\n```\n:::"},"createRewardedVideoAd":{"name":"## uni.createRewardedVideoAd(option) @createrewardedvideoad","description":"创建激励视频广告对象","compatibility":"### createRewardedVideoAd 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.0 | 4.22 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| option | **CreateRewardedVideoAdOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| adpid | string | 是 | - | - | 广告位 id |\n@| urlCallback | **UrlCallbackOptions** | 否 | - | - | 服务器回调透传参数 |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| userId | string | 否 | - | - | 透传到服务器端的userId |\n@@| extra | string | 否 | - | - | 透传到服务器端的extra,不推荐设置过于复杂的字符串 | \n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| [RewardedVideoAd](#rewardedvideoad-values) |\n\n#### RewardedVideoAd 的方法 @rewardedvideoad-values \n\n#### show() : Promise\\ @show\n广告加载成功之后,调用此方法展示广告\n##### show 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.0 | 4.22 |\n\n\n##### 返回值 \n\n| 类型 |\n| :- |\n| Promise\\ |\n \n\n#### load() : Promise\\ @load\n加载广告\n##### load 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.0 | 4.22 |\n\n\n##### 返回值 \n\n| 类型 |\n| :- |\n| Promise\\ |\n \n\n#### destroy() : void @destroy\n销毁广告\n##### destroy 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.0 | 4.22 |\n\n\n\n#### onLoad(callback : AdCallBackEvent) : void @onload\n绑定广告 load 事件的监听器\n##### onLoad 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.0 | 4.22 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### offLoad(callback : AdCallBackEvent) : void @offload\n解除绑定 load 事件的监听器\n##### offLoad 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.0 | 4.22 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### onError(callback : AdErrorCallBackEvent) : void @onerror\n绑定 error 事件的监听器\n##### onError 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.0 | 4.22 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [IUniAdError](#iuniaderror-values)) => void | 是 | - | - | - | \n\n##### IUniAdError 的属性值 @iuniaderror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码
- -5001 广告位标识adpid为空,请传入有效的adpid
- -5002 无效的广告位标识adpid,请使用正确的adpid
- -5003 广告位未开通广告,请在广告平台申请并确保已审核通过
- -5004 无广告模块,打包时请配置要使用的广告模块
- -5005 广告加载失败,请稍后重试
- -5006 广告已经展示过了,请重新加载
- -5007 广告不可用或已过期,请重新请求
- -5008 广告不可用或已过期,请重新请求
- -5009 广告类型不符,请检查后再试
- -5011 打包或开通的渠道,不支持此类型广告
- -5013 广告播放失败,请重新加载 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n\n#### offError(callback : AdErrorCallBackEvent) : void @offerror\n解除绑定 error 事件的监听器\n##### offError 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.0 | 4.22 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [IUniAdError](#iuniaderror-values)) => void | 是 | - | - | - | \n\n\n#### onClose(callback : AdCloseCallBackEvent) : void @onclose\n绑定 close 事件的监听器\n##### onClose 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.0 | 4.22 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [VideoAdClose](#videoadclose-values)) => void | 是 | - | - | - | \n\n##### VideoAdClose 的属性值 @videoadclose-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| isEnded | boolean | 是 | - | - | true表示广告播放完毕或者达到发放奖励的条件 |\n\n\n#### offClose(callback : AdCloseCallBackEvent) : void @offclose\n解除绑定 close 事件的监听器\n##### offClose 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.0 | 4.22 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [VideoAdClose](#videoadclose-values)) => void | 是 | - | - | - | \n\n\n#### onAdClicked(callback : AdCallBackEvent) : void; @onadclicked\n绑定广告可点击屏幕区域事件的监听器\n##### onAdClicked 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.0 | 4.22 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### onVerify(callback : AdVerifyCallBackEvent) : void; @onverify\n绑定 verify 事件的监听器\n##### onVerify 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.0 | 4.22 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: UTSJSONObject) => void | 是 | - | - | - | \n\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.ad.createRewardedVideoAd)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=createRewardedVideoAd&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=createRewardedVideoAd&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=createRewardedVideoAd&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=createRewardedVideoAd&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=createRewardedVideoAd&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=createRewardedVideoAd)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=createRewardedVideoAd&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/create-rewarded-video-ad/create-rewarded-video-ad.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/create-rewarded-video-ad/create-rewarded-video-ad\n```uvue\n\r\n\r\n\r\n\r\n\n\n```\n:::"},"createInterstitialAd":{"name":"## uni.createInterstitialAd(option) @createinterstitialad","description":"创建插屏广告对象","compatibility":"### createInterstitialAd 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.31 | 4.31 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| option | **CreateInterstitialAdOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| adpid | string | 是 | - | - | 广告位 id | \n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| [InterstitialAd](#interstitialad-values) |\n\n#### InterstitialAd 的方法 @interstitialad-values \n\n#### show() : Promise\\ @show\n广告加载成功之后,调用此方法展示广告\n##### show 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.31 | 4.31 |\n\n\n##### 返回值 \n\n| 类型 |\n| :- |\n| Promise\\ |\n \n\n#### load() : Promise\\ @load\n加载广告\n##### load 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.31 | 4.31 |\n\n\n##### 返回值 \n\n| 类型 |\n| :- |\n| Promise\\ |\n \n\n#### destroy() : void @destroy\n销毁广告\n##### destroy 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.31 | 4.31 |\n\n\n\n#### onLoad(callback : AdCallBackEvent) : void @onload\n绑定广告 load 事件的监听器\n##### onLoad 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### offLoad(callback : AdCallBackEvent) : void @offload\n解除绑定 load 事件的监听器\n##### offLoad 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### onError(callback : AdErrorCallBackEvent) : void @onerror\n绑定 error 事件的监听器\n##### onError 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [IUniAdError](#iuniaderror-values)) => void | 是 | - | - | - | \n\n##### IUniAdError 的属性值 @iuniaderror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码
- -5001 广告位标识adpid为空,请传入有效的adpid
- -5002 无效的广告位标识adpid,请使用正确的adpid
- -5003 广告位未开通广告,请在广告平台申请并确保已审核通过
- -5004 无广告模块,打包时请配置要使用的广告模块
- -5005 广告加载失败,请稍后重试
- -5006 广告已经展示过了,请重新加载
- -5007 广告不可用或已过期,请重新请求
- -5008 广告不可用或已过期,请重新请求
- -5009 广告类型不符,请检查后再试
- -5011 打包或开通的渠道,不支持此类型广告
- -5013 广告播放失败,请重新加载 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n\n#### offError(callback : AdErrorCallBackEvent) : void @offerror\n解除绑定 error 事件的监听器\n##### offError 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [IUniAdError](#iuniaderror-values)) => void | 是 | - | - | - | \n\n\n#### onClose(callback : AdCallBackEvent) : void @onclose\n绑定 close 事件的监听器\n##### onClose 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### offClose(callback : AdCallBackEvent) : void @offclose\n解除绑定 close 事件的监听器\n##### offClose 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### onAdClicked(callback : AdCallBackEvent) : void; @onadclicked\n绑定广告可点击屏幕区域事件的监听器\n##### onAdClicked 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.ad.createInterstitialAd)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=createInterstitialAd&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=createInterstitialAd&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=createInterstitialAd&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=createInterstitialAd&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=createInterstitialAd&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=createInterstitialAd)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=createInterstitialAd&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/create-interstitial-ad/create-interstitial-ad.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/create-interstitial-ad/create-interstitial-ad\n```uvue\n\r\n\r\n\r\n\r\n\n\n```\n:::"},"requestPayment":{"name":"## uni.requestPayment(options) @requestpayment","description":"请求支付","compatibility":"### requestPayment 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.02 | 4.18 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **RequestPaymentOptions** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| provider | string | 是 | - | | 支付服务提供商,通过 [uni.getProvider](https://doc.dcloud.net.cn/uni-app-x/api/provider.html) 获取,目前支持支付宝支付(alipay),微信支付(wxpay) |\n@| orderInfo | string | 是 | - | | 订单数据 |\n@| success | (result: [RequestPaymentSuccess](#requestpaymentsuccess-values)) => void | 否 | - | | 接口调用成功的回调函数 |\n@| fail | (result: [IRequestPaymentFail](#irequestpaymentfail-values)) => void | 否 | - | | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | - | | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### RequestPaymentSuccess 的属性值 @requestpaymentsuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| data | any | 否 | - | | 返回数据 |\n\n#### IRequestPaymentFail 的属性值 @irequestpaymentfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 700000 | | 其它支付错误。 |\n@| 700600 | | 正在处理中,支付结果未知(有可能已经支付成功),请查询商家订单列表中订单的支付状态 |\n@| 700601 | | 用户中途取消。 |\n@| 700602 | | 网络连接出错。 |\n@| 700603 | | 支付结果未知(有可能已经支付成功),请查询商家订单列表中订单的支付状态。 |\n@| 700604 | | 微信没有安装。 |\n@| 700605 | | 服务供应商获取失败。 |\n@| 700607 | | 支付未完成。 |\n@| 700608 | | 服务商返回参数错误。 |\n@| 700800 | | 没有配置对应的URL Scheme。 |\n@| 700801 | | 没有配置对应的Universal Link。 |\n@| 701100 | | 订单支付失败。 |\n@| 701110 | | 重复请求。 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.payment.requestPayment)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/plugins/payment.html#requestpayment)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=requestPayment&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=requestPayment&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=requestPayment&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=requestPayment&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=requestPayment&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=requestPayment)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=requestPayment&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/request-payment/request-payment.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/request-payment/request-payment\n```uvue\n\r\n\r\n\r\n\r\n\n\n```\n:::"},"requestVirtualPayment":{"name":"## uni.requestVirtualPayment(options) @requestvirtualpayment","description":"请求支付","compatibility":"### requestVirtualPayment 兼容性 \n| Web | Android | iOS 系统版本 | iOS |\n| :- | :- | :- | :- |\n| x | x | 15.0 | 4.25 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **RequestVirtualPaymentOptions** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| apple | **AppleIAPOptions** | 否 | - | | 苹果IAP的参数 |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| productId | string | 是 | - | | 产品id,在苹果开发者中心配置 |\n@@| appAccountToken | string | 否 | - | | 透传参数,一般用于标记订单和用户的关系,可以用来验证和关联用户账户和购买记录 |\n@@| quantity | number | 是 | - | | 购买数量,默认是1,最小值是1,最大值是10 |\n@@| promotionalOffer | **AppleIAPPromotionalOffer** | 否 | - | | 促销优惠参数说明 |\n@@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@@| :- | :- | :- | :- | :-: | :- |\n@@@| offerIdentifier | string | 是 | - | | 促销id |\n@@@| keyIdentifier | string | 是 | - | | 密钥 |\n@@@| nonce | string | 是 | - | | 唯一id (必须小写 24小时有效) |\n@@@| signature | string | 是 | - | | 签名 |\n@@@| timestamp | number | 是 | - | | 创建证书的时间戳(毫秒 24小时有效) |\n@| success | (result: [RequestVirtualPaymentSuccess](#requestvirtualpaymentsuccess-values)) => void | 否 | - | | 接口调用成功的回调函数 |\n@| fail | (result: [IRequestVirtualPaymentFail](#irequestvirtualpaymentfail-values)) => void | 否 | - | | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | - | | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### RequestVirtualPaymentSuccess 的属性值 @requestvirtualpaymentsuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| apple | **AppleIAPTransactionOptions** | 否 | - | | 支付成功返回结果 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| productId | string | 是 | - | | 产品id,和苹果开发者中心配置的一样 |\n@| appAccountToken | string | 否 | - | | 透传参数,一般用于标记订单和用户的关系,可以用来验证和关联用户账户和购买记录 |\n@| quantity | number | 是 | - | | 购买数量 |\n@| transactionDate | Date | 是 | - | | 交易日期,示例 2022-01-01 08:00:00 |\n@| transactionIdentifier | string | 是 | - | | 交易唯一标识 |\n@| originalTransactionDate | Date | 是 | - | | 原始交易日期,示例 2022-01-01 08:00:00 |\n@| originalTransactionIdentifier | string | 是 | - | | 原始交易唯一标识 |\n@| jsonRepresentation | string | 是 | - | | 支付票据 |\n\n#### IRequestVirtualPaymentFail 的属性值 @irequestvirtualpaymentfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 700000 | | 其他未知错误。 |\n@| 700600 | | 正在处理中,支付结果未知 |\n@| 700601 | | 用户中途取消。 |\n@| 700602 | | 网络连接出错。 |\n@| 700604 | | 不允许App内购买项目, 请授权应用内购买权限。 |\n@| 700605 | | 产品无效。 |\n@| 700606 | | 促销信息错误。 |\n@| 700607 | | 缺少支付参数。 |\n@| 700800 | | 只支持iOS15以上的版本。 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.payment.virtualPayment.requestVirtualPayment)"},"getVirtualPaymentManager":{"name":"## uni.getVirtualPaymentManager() @getvirtualpaymentmanager","description":"获取各平台虚拟支付的管理类,用于操作各平台专有的API。","compatibility":"### getVirtualPaymentManager 兼容性 \n| Web | Android | iOS 系统版本 | iOS |\n| :- | :- | :- | :- |\n| x | x | 15.0 | 4.25 |\n","param":"","returnValue":"### 返回值 \n\n| 类型 | 描述 |\n| :- | :- |\n| () => [VirtualPaymentManager](#virtualpaymentmanager-values) | virtual-payment的管理类 |\n\n#### VirtualPaymentManager 的方法 @virtualpaymentmanager-values \n\n#### restoreTransactions(options : AppleIAPRestoreOptions) : void; @restoretransactions\n恢复苹果服务器已支付的交易列表\n##### restoreTransactions 兼容性 \n| Web | Android | iOS 系统版本 | iOS |\n| :- | :- | :- | :- |\n| x | x | 15.0 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **AppleIAPRestoreOptions** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (result: [AppleIAPRestoreSuccess](#appleiaprestoresuccess-values)) => void | 否 | - | | 接口调用成功的回调函数 |\n@| fail | (result: [IAppleIAPRestoreFail](#iappleiaprestorefail-values)) => void | 否 | - | | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | - | | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n###### AppleIAPRestoreSuccess 的属性值 @appleiaprestoresuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| transactions | Array\\<**AppleIAPTransactionOptions**\\> | 否 | - | | 返回的交易列表 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| productId | string | 是 | - | | 产品id,和苹果开发者中心配置的一样 |\n@| appAccountToken | string | 否 | - | | 透传参数,一般用于标记订单和用户的关系,可以用来验证和关联用户账户和购买记录 |\n@| quantity | number | 是 | - | | 购买数量 |\n@| transactionDate | Date | 是 | - | | 交易日期,示例 2022-01-01 08:00:00 |\n@| transactionIdentifier | string | 是 | - | | 交易唯一标识 |\n@| originalTransactionDate | Date | 是 | - | | 原始交易日期,示例 2022-01-01 08:00:00 |\n@| originalTransactionIdentifier | string | 是 | - | | 原始交易唯一标识 |\n@| jsonRepresentation | string | 是 | - | | 支付票据 |\n\n###### IAppleIAPRestoreFail 的属性值 @iappleiaprestorefail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 700600 | | apple restore 请求失败。 |\n@| 700601 | | 用户中途取消。 |\n@| 700602 | | 网络连接出错。 |\n@| 700800 | | 只支持iOS15以上的版本。 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n\n#### getUnfinishedTransactions(options : AppleIAPUnfinishedTransactionOptions) : void; @getunfinishedtransactions\n获取苹果服务器已支付且未关闭的交易列表\n##### getUnfinishedTransactions 兼容性 \n| Web | Android | iOS 系统版本 | iOS |\n| :- | :- | :- | :- |\n| x | x | 15.0 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **AppleIAPUnfinishedTransactionOptions** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (result: [AppleIAPUnfinishedTransactionSuccess](#appleiapunfinishedtransactionsuccess-values)) => void | 否 | - | | 接口调用成功的回调函数 |\n@| fail | (result: [IAppleIAPUnfinishedTransactionFail](#iappleiapunfinishedtransactionfail-values)) => void | 否 | - | | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | - | | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n###### AppleIAPUnfinishedTransactionSuccess 的属性值 @appleiapunfinishedtransactionsuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| transactions | Array\\<[AppleIAPTransactionOptions](#appleiaptransactionoptions-values)\\> | 否 | - | | 返回的交易列表 |\n\n###### IAppleIAPUnfinishedTransactionFail 的属性值 @iappleiapunfinishedtransactionfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码
- 700800 只支持iOS15以上的版本。 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n\n#### finishTransaction(options : AppleIAPFinishTransactionOptions) : void; @finishtransaction\n关闭苹果服务器订单\n##### finishTransaction 兼容性 \n| Web | Android | iOS 系统版本 | iOS |\n| :- | :- | :- | :- |\n| x | x | 15.0 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **AppleIAPFinishTransactionOptions** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| transaction | [AppleIAPTransactionOptions](#appleiaptransactionoptions-values) | 是 | - | | 交易对象 |\n@| success | (result: [AppleIAPFinishTransactionSuccess](#appleiapfinishtransactionsuccess-values)) => void | 否 | - | | 接口调用成功的回调函数 |\n@| fail | (result: [IAppleIAPFinishTransactionFail](#iappleiapfinishtransactionfail-values)) => void | 否 | - | | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | - | | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n###### AppleIAPFinishTransactionSuccess 的属性值 @appleiapfinishtransactionsuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| state | boolean | 否 | - | | 关单状态 |\n\n###### IAppleIAPFinishTransactionFail 的属性值 @iappleiapfinishtransactionfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 700600 | | 没有该交易。 |\n@| 700800 | | 只支持iOS15以上的版本。 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.payment.virtualPayment.getVirtualPaymentManager)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getVirtualPaymentManager&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getVirtualPaymentManager&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getVirtualPaymentManager&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getVirtualPaymentManager&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getVirtualPaymentManager&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getVirtualPaymentManager)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getVirtualPaymentManager&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"virtualPayment":{"example":"## 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/virtual-payment/virtual-payment.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/virtual-payment/virtual-payment\n```uvue\n\r\n\r\n\r\n\r\n\r\n\n\n```\n:::"},"shareWithSystem":{"name":"## uni.shareWithSystem(options) @sharewithsystem","description":"使用系统分享。\n","compatibility":"### shareWithSystem 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.33 | 4.33 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **ShareWithSystemOptions** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| type | string | 否 | - | | 分享类型,默认为text。 |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| text | | text类型 |\n@@| image | | image类型 |\n@@| video | | video类型 |\n@@| audio | | audio类型 |\n@@| file | | file类型 |\n@| summary | string | 否 | - | | 分享的文字内容 |\n@| href | string | 否 | - | | 分享链接 |\n@| imageUrl | string | 否 | - | | 分享单个图片,仅支持本地路径 |\n@| imagePaths | Array\\ | 否 | - | | 分享图片,仅支持本地路径 |\n@| videoPaths | Array\\ | 否 | - | | 分享video,仅支持本地路径 |\n@| audioPaths | Array\\ | 否 | - | | 分享audio,仅支持本地路径 |\n@| filePaths | Array\\ | 否 | - | | 分享文件,仅支持本地路径 |\n@| success | (res: ShareWithSystemSuccess) => void | 否 | - | | uni.shareWithSystem成功回调函数定义 |\n@| fail | (res: [IShareWithSystemFail](#isharewithsystemfail-values)) => void | 否 | - | | uni.shareWithSystem失败回调函数定义 |\n@| complete | (res: any) => void | 否 | - | | uni.shareWithSystem完成回调函数定义 | \n\n#### IShareWithSystemFail 的属性值 @isharewithsystemfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 1310600 | | 取消分享 |\n@| 1310601 | | 分享内容不可以为空 |\n@| 1310602 | | 已经成功调用系统分享接口,系统分享出错 |\n@| 1310603 | | 图片路径无效 |\n@| 1310604 | | 无效的链接 |\n@| 1310605 | | video 路径无效 |\n@| 1310606 | | file 文件不存在 |\n@| 1310607 | | audio 路径无效 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.share.shareWithSystem)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=shareWithSystem&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=shareWithSystem&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=shareWithSystem&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=shareWithSystem&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=shareWithSystem&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=shareWithSystem)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=shareWithSystem&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/share-with-system/share-with-system.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/share-with-system/share-with-system\n```uvue\n\n\n\n\n\n\n```\n:::"},"getPushClientId":{"name":"## uni.getPushClientId(options) @getpushclientid","description":"获取客户端唯一的推送标识","compatibility":"### getPushClientId 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.27 | 3.98 | 4.18 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **GetPushClientIdOptions** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (result: [GetPushClientIdSuccess](#getpushclientidsuccess-values)) => void | 否 | null | - | 接口调用成功的回调函数 |\n@| fail | (result: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | null | - | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### GetPushClientIdSuccess 的属性值 @getpushclientidsuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| cid | string | 是 | - | | 个推客户端推送id,对应uni-id-device表的push_clientid
|\n| errMsg | string | 是 | - | | 错误描述
|\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.push.uni-push.getPushClientId)\n- [参见uni-app相关文档](http://uniapp.dcloud.io/api/plugins/push.html#getpushclientid)"},"onPushMessage":{"name":"## uni.onPushMessage(callback) @onpushmessage","description":"启动监听推送消息事件","compatibility":"### onPushMessage 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.27 | 3.98 | 4.18 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [OnPushMessageCallbackResult](#onpushmessagecallbackresult-values)) => void | 是 | - | - | | \n\n### OnPushMessageCallbackResult 的属性值 @onpushmessagecallbackresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | | 事件类型
- click 从系统推送服务点击消息启动应用事件
- receive 应用从推送服务器接收到推送消息事件 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| click | - | - |\n@| receive | - | - |\n| data | UTSJSONObject | 是 | - | | 消息内容
|\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.push.uni-push.onPushMessage)\n- [参见uni-app相关文档](http://uniapp.dcloud.io/api/plugins/push.html#onpushmessage)"},"offPushMessage":{"name":"## uni.offPushMessage(callback) @offpushmessage","description":"关闭推送消息监听事件,iOS端调用会关闭所有监听。","compatibility":"### offPushMessage 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.27 | 3.98 | 4.18 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [OnPushMessageCallbackResult](#onpushmessagecallbackresult-values)) => void | 是 | - | - | | \n\n### OnPushMessageCallbackResult 的属性值 @onpushmessagecallbackresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | | 事件类型
- click 从系统推送服务点击消息启动应用事件
- receive 应用从推送服务器接收到推送消息事件 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| click | - | - |\n@| receive | - | - |\n| data | UTSJSONObject | 是 | - | | 消息内容
|\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.push.uni-push.offPushMessage)\n- [参见uni-app相关文档](http://uniapp.dcloud.io/api/plugins/push.html#offpushmessage)"},"createPushMessage":{"name":"## uni.createPushMessage(options) @createpushmessage","description":"创建本地通知栏消息","compatibility":"### createPushMessage 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.98 | 4.18 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **CreatePushMessageOptions** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| cover | boolean | 否 | false | | 是否覆盖上一次提示的消息 |\n@| delay | number | 否 | 0 | | 提示消息延迟显示的时间,单位为s |\n@| icon | string | 否 | null | | 推送消息的图标 |\n@| sound | string | 否 | \"system\" | | 推送消息的提示音
- system: 使用系统通知提示音(默认值)
- none: 不使用提示音 |\n@| title | string | 否 | App的名称 | | 推送消息的标题 |\n@| content | string | 是 | - | | 消息显示的内容,在系统通知中心中显示的文本内容。鸿蒙系统中,此字段为必填字段。
|\n@| payload | any | 否 | null | | 消息承载的数据,可根据业务逻辑自定义数据格式,在点击通知消息时`onPushMessage`回调中会返回此字段的数据。 |\n@| when | number | 否 | 当前时间 | | 消息上显示的提示时间,需要传入时间戳。 |\n@| channelId | string | 否 | \"DcloudChannelID\" | | 渠道id,Android特有字段,[通知渠道介绍](https://developer.android.com/develop/ui/views/notifications/channels?hl=zh-cn),
创建通知渠道请使用`getPushChannelManager`获取PushChannelManager对象,调用`setPushChannel`方法配置渠道。 |\n@| category | string | 否 | null | | 通知类别,Android特有字段,[通知渠道介绍](https://developer.android.com/develop/ui/views/notifications/channels?hl=zh-cn),
标识通知的类别,应用场景为对于离线推送厂商配置的支持,比如[华为消息分类](https://developer.huawei.com/consumer/cn/doc/HMSCore-Guides/message-classification-0000001149358835#section5101818813) |\n@| success | (result: CreatePushMessageSuccess) => void | 否 | null | - | 接口调用成功的回调函数 |\n@| fail | (result: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | null | - | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.push.uni-push.getChannelManager)\n- [参见uni-app相关文档](http://uniapp.dcloud.io/api/plugins/push.html#createpushmessage)"},"getPushChannelManager":{"name":"## uni.getPushChannelManager() @getpushchannelmanager","description":"获取通知渠道管理器,Android 8系统以上才可以设置通知渠道,Android 8系统以下返回null,[通知渠道介绍](https://developer.android.com/develop/ui/views/notifications/channels?hl=zh-cn),iOS不支持。","compatibility":"### getPushChannelManager 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.25 | x |\n","param":"","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| [ChannelManager](#channelmanager-values) |\n\n#### ChannelManager 的方法 @channelmanager-values \n\n#### setPushChannel(options: SetPushChannelOptions): void; @setpushchannel\n设置推送渠道\n\n##### setPushChannel 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.98 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **SetPushChannelOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| soundName | string | 否 | null | - | 添加的声音文件,注意raw目录下必须要有 ,不传此字段将使用默认铃音。 |\n@| channelId | string | 是 | - | - | 通知渠道id |\n@| channelDesc | string | 是 | - | - | 通知渠道描述 |\n@| enableLights | boolean | 否 | false | - | 呼吸灯闪烁 |\n@| enableVibration | boolean | 否 | false | - | 震动 |\n@| importance | number | 否 | 3 | - | 通知的重要性级别,可选范围IMPORTANCE_LOW:2、IMPORTANCE_DEFAULT:3、IMPORTANCE_HIGH:4 。 |\n@| lockscreenVisibility | number | 否 | -1000 | - | 锁屏可见性,可选范围VISIBILITY_PRIVATE:0、VISIBILITY_PUBLIC:1、VISIBILITY_SECRET:-1、VISIBILITY_NO_OVERRIDE:-1000。 | \n\n\n#### getAllChannels(): Array\\; @getallchannels\n获取当前应用注册的所有的通知渠道。\n\n##### getAllChannels 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.98 | x |\n\n\n##### 返回值 \n\n| 类型 |\n| :- |\n| Array\\ |\n \n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.push.uni-push.createPushMessage)"},"setAppBadgeNumber":{"name":"## uni.setAppBadgeNumber(num, options?) @setappbadgenumber","description":"设置应用图标上显示的角标数字,注意:不同手机厂商的角标显示规则不同,有部分设备的rom版本不支持显示角标,另有部分rom需要在应用的通知管理里开启`桌面角标`配置,才可以设置角标成功。","compatibility":"### setAppBadgeNumber 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.25 | 4.25 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| num | number | 是 | - | - | 要显示的角标数字值,参数为0则表示清除角标数字。 |\n| options | **BadgeOptions** | 否 | - | - | 小米手机显示角标需要在系统消息中心显示一条通知,此参数用于设置通知的标题(title)和内容(content)。 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| title | string | 否 | 应用的名称 | | 消息的标题 |\n@| content | string | 否 | '您有x条未读消息',其中x为设置的角标数字值。 | | 消息的内容 | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.push.uni-push.getPushChannelManager)"},"getChannelManager":{"name":"## uni.~~getChannelManager()~~ @getchannelmanager","description":"获取通知渠道管理器,Android 8系统以上才可以设置通知渠道,Android 8系统以下返回null,[通知渠道介绍](https://developer.android.com/develop/ui/views/notifications/channels?hl=zh-cn) ,iOS不支持。 **已废弃,仅为了向下兼容保留,建议使用`getPushChannelManager`。**","compatibility":"### getChannelManager 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.98 | x |\n","param":"","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| [ChannelManager](#channelmanager-values) |\n\n#### ChannelManager 的方法 @channelmanager-values \n\n#### setPushChannel(options: SetPushChannelOptions): void; @setpushchannel\n设置推送渠道\n\n##### setPushChannel 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.98 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **SetPushChannelOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| soundName | string | 否 | null | - | 添加的声音文件,注意raw目录下必须要有 ,不传此字段将使用默认铃音。 |\n@| channelId | string | 是 | - | - | 通知渠道id |\n@| channelDesc | string | 是 | - | - | 通知渠道描述 |\n@| enableLights | boolean | 否 | false | - | 呼吸灯闪烁 |\n@| enableVibration | boolean | 否 | false | - | 震动 |\n@| importance | number | 否 | 3 | - | 通知的重要性级别,可选范围IMPORTANCE_LOW:2、IMPORTANCE_DEFAULT:3、IMPORTANCE_HIGH:4 。 |\n@| lockscreenVisibility | number | 否 | -1000 | - | 锁屏可见性,可选范围VISIBILITY_PRIVATE:0、VISIBILITY_PUBLIC:1、VISIBILITY_SECRET:-1、VISIBILITY_NO_OVERRIDE:-1000。 | \n\n\n#### getAllChannels(): Array\\; @getallchannels\n获取当前应用注册的所有的通知渠道。\n\n##### getAllChannels 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.98 | x |\n\n\n##### 返回值 \n\n| 类型 |\n| :- |\n| Array\\ |\n \n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.push.uni-push.setAppBadgeNumber)"},"uni-push":{"example":"## 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/uni-push/uni-push.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/uni-push/uni-push\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/uni-push/uni-push\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n const channelInfo = ref(\"\")\r\n\r\n onMounted(() => {\r\n uni.onPushMessage((res : OnPushMessageCallbackResult) => {\r\n uni.showModal({\r\n title: \"onPushMessage回调信息\",\r\n content: `type:${res.type} \\n data:${JSON.stringify(res.data)}`\r\n })\r\n })\r\n })\r\n\r\n const handleCreateChannel = (showToast : boolean) => {\r\n // #ifdef APP-ANDROID\r\n const manager = uni.getPushChannelManager()\r\n manager.setPushChannel({\r\n channelId: \"msg-pass\",\r\n channelDesc: \"留言审核通过\",\r\n soundName: \"#填写配置的声音文件名#\",\r\n enableLights: true,\r\n enableVibration: true,\r\n importance: 4,\r\n lockscreenVisibility: 1\r\n } as SetPushChannelOptions)\r\n if (showToast) {\r\n uni.showToast({\r\n title: \"设置渠道成功\"\r\n })\r\n }\r\n // #endif\r\n }\r\n const handleGetAllChannels = () => {\r\n // #ifdef APP-ANDROID\r\n const manager = uni.getPushChannelManager()\r\n console.log(\"channels : \" + manager.getAllChannels());\r\n channelInfo.value = `渠道信息为: \\n ${manager.getAllChannels()}`\r\n // #endif\r\n }\r\n const handleCreateLocalNotification = () => {\r\n if (uni.getAppAuthorizeSetting().notificationAuthorized == \"authorized\") {\r\n handleCreateChannel(false)\r\n const date = new Date();\r\n const hour = date.getHours()\r\n const minute = date.getMinutes()\r\n const second = date.getSeconds()\r\n const formateTime = (target : number) : string => {\r\n return target < 10 ? `0${target}` : `${target}`\r\n }\r\n uni.createPushMessage({\r\n title: \"主标题(title)\",\r\n content: `内容(content),创建时间: ${formateTime(hour)}:${formateTime(minute)}:${formateTime(second)}`,\r\n cover: false,\r\n channelId: \"msg-pass\",\r\n when: Date.now() + 10000,\r\n icon: \"/static/uni.png\",\r\n sound: \"system\",\r\n delay: 1,\r\n payload: {\r\n pkey: \"pvalue1\"\r\n },\r\n category: \"IM\",\r\n success(res) {\r\n console.log(\"res: \" + res);\r\n uni.hideToast()\r\n uni.showToast({\r\n title: \"创建本地通知消息成功\"\r\n })\r\n },\r\n fail(e) {\r\n console.log(\"fail :\" + e);\r\n uni.hideToast()\r\n uni.showToast({\r\n title: \"创建本地通知消息失败\",\r\n icon: \"error\"\r\n })\r\n }\r\n })\r\n } else {\r\n uni.showToast({\r\n title: \"请在设置中开启通知权限\",\r\n icon: \"error\"\r\n })\r\n }\r\n }\r\n const handleGetClientId = () => {\r\n uni.showLoading({\r\n title: \"正在获取cid\",\r\n })\r\n uni.getPushClientId({\r\n success: (res : GetPushClientIdSuccess) => {\r\n uni.hideLoading()\r\n uni.showModal({\r\n title: \"信息\",\r\n content: `cid : ${res.cid}`\r\n })\r\n },\r\n fail: () => {\r\n uni.hideLoading()\r\n uni.showToast({\r\n title: `获取cid失败`,\r\n icon: \"error\"\r\n })\r\n }\r\n })\r\n }\r\n const handleSetBadge = () => {\r\n if (uni.getDeviceInfo().deviceBrand?.toLowerCase() == \"xiaomi\") {\r\n if (uni.getAppAuthorizeSetting().notificationAuthorized == \"authorized\") {\r\n uni.setAppBadgeNumber(5, {\r\n title: \"AppName\",\r\n content: \"您有5条未读消息\"\r\n } as BadgeOptions)\r\n uni.showToast({\r\n title: \"设置应用角标数为5\"\r\n })\r\n } else {\r\n uni.showToast({\r\n title: \"请在设置中开启通知权限\",\r\n icon: \"error\"\r\n })\r\n }\r\n\r\n } else {\r\n uni.setAppBadgeNumber(5)\r\n uni.showToast({\r\n title: \"设置应用角标数为5\"\r\n })\r\n }\r\n }\r\n const handleCleanBadge = () => {\r\n if (uni.getDeviceInfo().deviceBrand?.toLowerCase() == \"xiaomi\") {\r\n if (uni.getAppAuthorizeSetting().notificationAuthorized == \"authorized\") {\r\n uni.setAppBadgeNumber(0, {} as BadgeOptions)\r\n uni.showToast({\r\n title: \"清空应用角标数\"\r\n })\r\n } else {\r\n uni.showToast({\r\n title: \"请在设置中开启通知权限\",\r\n icon: \"error\"\r\n })\r\n }\r\n } else {\r\n uni.setAppBadgeNumber(0)\r\n uni.showToast({\r\n title: \"清空应用角标数\"\r\n })\r\n }\r\n\r\n }\r\n\n```\n\n:::"},"report":{"name":"## uni.report(options) @report","description":"uni统计自定义上报方法。\n\n> 本 API 是 [uni ext api](https://uniapp.dcloud.net.cn/api/extapi.html),需下载插件:[uni-stat](https://ext.dcloud.net.cn/plugin?name=uni-stat)\n","compatibility":"### report 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.33 | 4.33 | 4.33 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **ReportOptions** | 是 | - | - | 自定义事件参数 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| name | string | 是 | - | - | 自定义事件名称,内置名称不允许覆盖,可选值:
`uni-app-launch`:应用启动,options 参数必填,值为 onLaunch 返回值
`uni-app-show`:应用进入前台
`uni-app-hide`:应用进入后台
`uni-app-error`:应用发生错误,options 参数必填,值为错误信息,类型为String
`title`:标题采集
`自定义name`:用户自定义 |\n@| options | any | 否 | - | - | 额外参数 |\n@| success | (res: [ReportSuccess](#reportsuccess-values)) => void | 否 | - | - | 接口调用成功回调 |\n@| fail | (err: [ReportError](#reporterror-values)) => void | 否 | - | - | 接口调用失败回调 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束回调(调用成功、失败都会执行) | \n\n#### ReportSuccess 的属性值 @reportsuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | 成功的详细信息 |\n\n#### ReportError 的属性值 @reporterror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 61000 | - | 应用已集成uni统计,但未关联服务空间,请在uniCloud目录右键关联服务空间 |\n@| 61001 | - | 统计服务尚未初始化,需在`main.uts`中引入统计插件 |\n@| 61002 | - | name参数是uni-app-launch时, options 参数未填写 |\n@| 61003 | - | name参数未填写 |\n@| 61004 | - | name参数类型错误,应为`String`类型 |\n@| 61005 | - | name参数长度超限,最大不超过255 |\n@| 61006 | - | options参数错误,应为String或Object类型 |\n@| 61007 | - | options参数为String类型时,长度超限,最大不超过255 |\n@| 61008 | - | name参数为title时,options参数类型错误,应为String |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.stat.report)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=report&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=report&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=report&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=report&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=report&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=report)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=report&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/report/report.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/report/report\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/report/report\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n msg: '点击按钮,测试上报'\r\n }\r\n },\r\n methods: {\r\n handleAppLaunch() {\r\n const options = uni.getLaunchOptionsSync()\n uni.report({\r\n name: 'uni-app-launch',\r\n options: options,\r\n success:(res)=> {\n this.msg = 'onLaunch --> ' + res.errMsg\r\n console.log(res);\r\n }, fail:(err)=> {\r\n this.msg = 'onLaunch --> ' + err.errMsg\n console.log(err);\r\n }\r\n })\r\n },\r\n handleAppHide() {\r\n uni.report({\r\n name: 'uni-app-hide',\r\n success:(res)=> {\n this.msg = 'onAppHide --> ' + res.errMsg\n console.log(res);\n }, fail:(err)=> {\n this.msg = 'onAppHide --> ' + err.errMsg\n console.log(err);\n }\r\n })\r\n },\r\n handleAppShow() {\r\n // const options = uni.getLaunchOptionsSync()\r\n uni.report({\r\n name: 'uni-app-show',\r\n success:(res)=> {\n this.msg = 'onAppShow --> ' + res.errMsg\n console.log(res);\n }, fail:(err)=> {\n this.msg = 'onAppShow --> ' + err.errMsg\n console.log(err);\n }\r\n })\r\n },\r\n handleAppError() {\r\n const errmsg = '测试错误'\r\n uni.report({\r\n name: 'uni-app-error',\r\n options: errmsg,\r\n success:(res)=> {\n this.msg = 'onAppError --> ' + res.errMsg\n console.log(res);\n }, fail:(err)=> {\n this.msg = 'onAppError --> ' + err.errMsg\n console.log(err);\n }\r\n })\r\n },\r\n }\r\n }\r\n\n```\n\n:::"},"createWebviewContext":{"name":"## uni.createWebviewContext(webviewId, component?) @createwebviewcontext","description":"创建 web-view 组件的上下文对象,用于操作 web-view 的行为。","compatibility":"### createWebviewContext 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| webviewId | [string.WebviewIdString](/uts/data-type.md#ide-string) | 是 | - | - | - |\n| component | ComponentPublicInstance | 否 | - | - | | \n","returnValue":"### 返回值 \n\n| 类型 | 描述 | 必备 |\n| :- | :- | :- |\n| [WebviewContext](#webviewcontext-values) | web-view组件上下文对象 | 否 |\n\n#### WebviewContext 的方法 @webviewcontext-values \n\n#### back() : void @back\n后退到 web-view 组件网页加载历史的上一页,如果不存在上一页则没有任何效果。\n##### back 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 3.9.0 | 4.11 |\n\n\n\n#### forward() : void @forward\n前进到 web-view 组件网页加载历史的下一页,如果不存在下一页则没有任何效果。\n##### forward 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 3.9.0 | 4.11 |\n\n\n\n#### reload() : void @reload\n重新加载 web-view 组件当前页面。\n##### reload 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 3.9.0 | 4.11 |\n\n\n\n#### stop() : void @stop\n停止加载 web-view 组件当前网页,该方法不能阻止已经加载的 html 文档,但是能够阻止未完成的图片及延迟加载的资源。\n##### stop 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 3.9.0 | 4.11 |\n\n\n\n#### evalJS(js : string) : void @evaljs\n在网页中执行指定的js脚本,在 uvue 页面中可通过此方法向 web-view 组件加载的页面发送数据\n##### evalJS 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 3.9.0 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| js | string | 是 | - | - | - | \n\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.component.createWebviewContext)"},"createVideoContext":{"name":"## uni.createVideoContext(videoId, component?) @createvideocontext","description":"创建并返回 video 上下文 videoContext 对象","compatibility":"### createVideoContext 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | √ | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| videoId | [string.VideoIdString](/uts/data-type.md#ide-string) | 是 | - | - | - |\n| component | ComponentPublicInstance | 否 | - | - | | \n","returnValue":"### 返回值 \n\n| 类型 | 描述 | 必备 |\n| :- | :- | :- |\n| [VideoContext](#videocontext-values) | video组件上下文对象 | 否 |\n\n#### VideoContext 的方法 @videocontext-values \n\n#### play() : void; @play\n播放\n##### play 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n\n\n\n#### pause() : void; @pause\n暂停\n##### pause 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n\n\n\n#### seek(position : number) : void; @seek\n跳转到指定位置\n##### seek 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| position | number | 是 | - | - | 跳转到指定位置(秒) | \n\n\n#### stop() : void; @stop\n停止视频\n##### stop 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n\n\n\n#### sendDanmu(danmu : Danmu) : void; @senddanmu\n发送弹幕\n##### sendDanmu 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| danmu | **Danmu** | 是 | - | - | text, color |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| text | string | 否 | - | - | 弹幕文字 |\n@| color | string | 否 | - | - | 弹幕颜色 |\n@| time | number | 否 | - | - | 显示时刻 | \n\n\n#### playbackRate(rate : number) : void; @playbackrate\n设置倍速播放\n##### playbackRate 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| rate | number | 是 | - | - | , 支持倍率 0.5/0.8/1.0/1.25/1.5 | \n\n\n#### requestFullScreen(direction ?: RequestFullScreenOptions \\| null) : void; @requestfullscreen\n进入全屏\n##### requestFullScreen 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| direction | **RequestFullScreenOptions** | 否 | - | - | , 0\\|正常竖向, 90\\|屏幕逆时针90度, -90\\|屏幕顺时针90度 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| direction | number | 否 | - | | direction
- 0: 正常竖向
- 90: 屏幕逆时针90度
- -90: 屏幕顺时针90度 | \n\n\n#### exitFullScreen() : void; @exitfullscreen\n退出全屏\n##### exitFullScreen 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n\n\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.component.createVideoContext)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/media/video-context.html#createvideocontext)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=createVideoContext&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=createVideoContext&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=createVideoContext&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=createVideoContext&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=createVideoContext&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=createVideoContext)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=createVideoContext&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"createMapContext":{"name":"## uni.createMapContext(mapId, component?) @createmapcontext","description":"创建并返回 map 上下文 mapContext 对象","compatibility":"### createMapContext 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 4.31 | 4.31 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| mapId | string | 是 | - | - | - |\n| component | ComponentPublicInstance | 否 | - | - | | \n","returnValue":"### 返回值 \n\n| 类型 | 描述 | 必备 |\n| :- | :- | :- |\n| [MapContext](#mapcontext-values) | map组件上下文对象 | 否 |\n\n#### MapContext 的方法 @mapcontext-values \n\n#### getCenterLocation(options : MapContextGetCenterLocationOptions) : void; @getcenterlocation\n获取当前地图中心的经纬度,返回的是 gcj02 坐标系,可以用于 uni.openLocation\n##### getCenterLocation 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **MapContextGetCenterLocationOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (result: [LocationObject](#locationobject-values)) => void | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (result: [MapContextFail](#mapcontextfail-values)) => void | 否 | null | - | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n###### LocationObject 的属性值 @locationobject-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| latitude | number | 是 | - | | 纬度,浮点数,范围为-90~90,负数表示南纬 |\n| longitude | number | 是 | - | | 经度,范围为-180~180,负数表示西经 |\n\n###### MapContextFail 的属性值 @mapcontextfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 500001 | - | 获取当前地图中心的经纬度失败 |\n@| 500002 | - | 未找到当前定位位置 |\n@| 500003 | - | 未找到marker |\n@| 500004 | - | 创建自定义图片图层失败 |\n@| 500005 | - | 未找到自定义图层id |\n@| 500006 | - | 网络图片加载失败 |\n@| 500012 | - | 地图内部错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n\n#### moveToLocation(options : MapContextMoveToLocationOptions) : void; @movetolocation\n将地图中心移动到当前定位点,需要配合map组件的show-location使用\n##### moveToLocation 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **MapContextMoveToLocationOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| latitude | number | 否 | null | | 纬度,浮点数,范围为-90~90,负数表示南纬 |\n@| longitude | number | 否 | null | | 经度,范围为-180~180,负数表示西经 |\n@| success | (result: any) => void | 否 | null | - | 接口调用成功的回调函数 |\n@| fail | (result: [MapContextFail](#mapcontextfail-values)) => void | 否 | null | - | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n\n#### translateMarker(options : MapContextTranslateMarkerOptions) : void; @translatemarker\n平移marker,带动画\n##### translateMarker 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **MapContextTranslateMarkerOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| markerId | number | 是 | - | | 指定marker |\n@| destination | [LocationObject](#locationobject-values) | 是 | - | | 指定marker移动到的目标点 |\n@| autoRotate | boolean | 否 | - | | 移动过程中是否自动旋转marker |\n@| rotate | number | 否 | 0 | | marker的旋转角度 |\n@| moveWithRotate | boolean | 否 | false | | 平移和旋转同时进行 |\n@| duration | number | 否 | 1000 | | 动画持续时长,平移与旋转分别计算 |\n@| success | (result: any) => void | 否 | null | - | 接口调用成功的回调函数 |\n@| fail | (result: [MapContextFail](#mapcontextfail-values)) => void | 否 | null | - | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n\n#### includePoints(options : MapContextIncludePointsOptions) : void; @includepoints\n缩放视野展示所有经纬度\n##### includePoints 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **MapContextIncludePointsOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| points | Array\\<[LocationObject](#locationobject-values)\\> | 是 | - | | 要显示在可视区域内的坐标点列表,[{latitude, longitude}\\] |\n@| success | (result: any) => void | 否 | null | - | 接口调用成功的回调函数 |\n@| fail | (result: [MapContextFail](#mapcontextfail-values)) => void | 否 | null | - | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n\n#### getRegion(options : MapContextGetRegionOptions) : void; @getregion\n获取当前地图的视野范围\n##### getRegion 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **MapContextGetRegionOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (result: [MapContextGetRegionResult](#mapcontextgetregionresult-values)) => void | 否 | null | - | 接口调用成功的回调函数 |\n@| fail | (result: [MapContextFail](#mapcontextfail-values)) => void | 否 | null | - | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n###### MapContextGetRegionResult 的属性值 @mapcontextgetregionresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| southwest | [LocationObject](#locationobject-values) | 是 | - | | 西南角的经纬度 |\n| northeast | [LocationObject](#locationobject-values) | 是 | - | | 东北角的经纬度 |\n\n\n#### getScale(options : MapContextGetScaleOptions) : void; @getscale\n获取当前地图的缩放级别\n##### getScale 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **MapContextGetScaleOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (result: [MapContextGetScaleResult](#mapcontextgetscaleresult-values)) => void | 否 | null | - | 接口调用成功的回调函数 |\n@| fail | (result: [MapContextFail](#mapcontextfail-values)) => void | 否 | null | - | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n###### MapContextGetScaleResult 的属性值 @mapcontextgetscaleresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| scale | number | 是 | - | | 地图缩放级别 |\n\n\n#### addGroundOverlay(options : MapContextAddGroundOverlayOptions) : void; @addgroundoverlay\n创建自定义图片图层,图片会随着地图缩放而缩放\n##### addGroundOverlay 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **MapContextAddGroundOverlayOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| id | string | 是 | - | | 图片图层 id |\n@| src | string | 是 | - | | 图片路径,支持网络图片、临时路径、代码包路径 |\n@| bounds | **Bounds** | 是 | - | | 图片覆盖的经纬度范围 |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| southwest | [LocationObject](#locationobject-values) | 是 | - | | 西南角的经纬度 |\n@@| northeast | [LocationObject](#locationobject-values) | 是 | - | | 东北角的经纬度 |\n@| visible | boolean | 否 | false | | 是否可见 |\n@| zIndex | number | 否 | 0 | | 图层绘制顺序 |\n@| opacity | number | 否 | 1 | | 图层透明度 |\n@| success | (result: any) => void | 否 | null | - | 接口调用成功的回调函数 |\n@| fail | (result: [MapContextFail](#mapcontextfail-values)) => void | 否 | null | - | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n\n#### addMarkers(options : MapContextAddMarkersOptions) : void; @addmarkers\n添加 marker\n##### addMarkers 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **MapContextAddMarkersOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| markers | Array\\<**Marker**\\> | 是 | - | | 同传入 map 组件的 marker 属性 |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| id | number | 是 | - | | 标记点id,marker点击事件回调会返回此id。建议为每个marker设置上Number类型id,保证更新marker时有更好的性能。最大限制9位数 |\n@@| latitude | number | 是 | - | | 纬度,浮点数,范围 -90 ~ 90 |\n@@| longitude | number | 是 | - | | 经度,浮点数,范围 -180 ~ 180 |\n@@| iconPath | string | 是 | - | | 显示的图标,项目目录下的图片路径,支持相对路径写法,以'/'开头则表示相对小程序根目录;也支持临时路径 |\n@@| title | string | 否 | null | | 标注点名,点击时显示,callout存在时将被忽略 |\n@@| rotate | number | 否 | 0 | | 旋转角度,顺时针旋转的角度,范围 0 ~ 360 |\n@@| alpha | number | 否 | 1 | | 标注的透明度,范围 0 ~ 1 |\n@@| width | number | 否 | 默认为图片实际宽度 | | 标注图标宽度 |\n@@| height | number | 否 | 默认为图片实际高度 | | 标注图标高度 |\n@@| ariaLabel | string | 否 | null | | 无障碍访问,(属性)元素的额外描述 |\n@@| anchor | **Anchor** | 否 | [0.5, 1\\] | | 经纬度在标注图标的锚点,默认底边中点\t{x, y},x表示横向(0-1),y表示竖向(0-1)。{x: .5, y: 1} 表示底边中点 |\n@@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@@| :- | :- | :- | :- | :-: | :- |\n@@@| x | number | 是 | - | - | - |\n@@@| y | number | 是 | - | - | - |\n@@| callout | **MapMarkerCallout** | 否 | - | - | |\n@@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@@| :- | :- | :- | :- | :-: | :- |\n@@@| content | string | 否 | - | - | |\n@@@| color | string | 否 | - | - | |\n@@@| fontSize | number | 否 | - | - | |\n@@@| borderRadius | number | 否 | - | - | |\n@@@| borderWidth | number | 否 | - | - | |\n@@@| borderColor | string | 否 | - | - | |\n@@@| bgColor | string | 否 | - | - | |\n@@@| padding | number | 否 | - | - | |\n@@@| display | string | 否 | - | - | - |\n@@@@| 合法值 | 兼容性 | 描述 |\n@@@@| :- | :-: | :- |\n@@@@| BYCLICK | - | - |\n@@@@| ALWAYS | - | - |\n@@@| textAlign | string | 否 | - | - | - |\n@@@@| 合法值 | 兼容性 | 描述 |\n@@@@| :- | :-: | :- |\n@@@@| left | - | - |\n@@@@| center | - | - |\n@@@@| right | - | - |\n@@@| anchorX | number | 否 | - | - | |\n@@@| anchorY | number | 否 | - | - | |\n@@| label | **MapMarkerLabel** | 否 | - | - | |\n@@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@@| :- | :- | :- | :- | :-: | :- |\n@@@| content | string | 否 | - | - | |\n@@@| color | string | 否 | - | - | |\n@@@| fontSize | number | 否 | - | - | |\n@@@| x | number | 否 | - | - | |\n@@@| y | number | 否 | - | - | |\n@@@| anchorX | number | 否 | - | - | |\n@@@| anchorY | number | 否 | - | - | |\n@@@| borderWidth | number | 否 | - | - | |\n@@@| borderColor | string | 否 | - | - | |\n@@@| borderRadius | number | 否 | - | - | |\n@@@| bgColor | string | 否 | - | - | |\n@@@| padding | number | 否 | - | - | |\n@@@| textAlign | string | 否 | - | - | - |\n@@@@| 合法值 | 兼容性 | 描述 |\n@@@@| :- | :-: | :- |\n@@@@| left | - | - |\n@@@@| center | - | - |\n@@@@| right | - | - |\n@@@| ariaLabel | string | 否 | - | - | |\n@@| clusterId | number | 否 | - | - | |\n@@| customCallout | [MapMarkerCallout](#mapmarkercallout-values) | 否 | - | - | |\n@@| joinCluster | boolean | 否 | - | - | |\n@| clear | boolean | 是 | - | | 是否先清空地图上所有 marker |\n@| success | (result: any) => void | 否 | null | - | 接口调用成功的回调函数 |\n@| fail | (result: [MapContextFail](#mapcontextfail-values)) => void | 否 | null | - | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n\n#### moveAlong(options : MapContextMoveAlongOptions) : void; @movealong\n沿指定路径移动 marker,用于轨迹回放等场景。动画完成时触发回调事件,若动画进行中,对同一 marker 再次调用 moveAlong 方法,前一次的动画将被打断。\n##### moveAlong 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **MapContextMoveAlongOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| markerId | number | 是 | - | | 指定marker |\n@| path | Array\\<[LocationObject](#locationobject-values)\\> | 是 | - | | 移动路径的坐标串,坐标点格式 {longitude, latitude} |\n@| duration | number | 否 | 1000 | | 平滑移动的时间 |\n@| success | (result: any) => void | 否 | null | - | 接口调用成功的回调函数 |\n@| fail | (result: [MapContextFail](#mapcontextfail-values)) => void | 否 | null | - | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n\n#### removeGroundOverlay(options : MapContextRemoveGroundOverlayOptions) : void; @removegroundoverlay\n移除自定义图片图层\n##### removeGroundOverlay 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **MapContextRemoveGroundOverlayOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| id | string | 是 | - | | 图片图层 id |\n@| success | (result: any) => void | 否 | null | - | 接口调用成功的回调函数 |\n@| fail | (result: [MapContextFail](#mapcontextfail-values)) => void | 否 | null | - | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n\n#### removeMarkers(options : MapContextRemoveMarkersOptions) : void; @removemarkers\n移除 marker\n##### removeMarkers 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **MapContextRemoveMarkersOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| markerIds | Array\\ | 是 | - | | 要被删除的marker的id属性组成的数组 |\n@| success | (result: any) => void | 否 | null | - | 接口调用成功的回调函数 |\n@| fail | (result: [MapContextFail](#mapcontextfail-values)) => void | 否 | null | - | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n\n#### updateGroundOverlay(options : MapContextUpdateGroundOverlayOptions) : void; @updategroundoverlay\n更新自定义图片图层。\n##### updateGroundOverlay 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **MapContextUpdateGroundOverlayOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| id | string | 是 | - | | 图片图层 id |\n@| src | string | 是 | - | | 图片路径,支持网络图片、临时路径、代码包路径 |\n@| bounds | [Bounds](#bounds-values) | 是 | - | | 图片覆盖的经纬度范围 |\n@| visible | boolean | 否 | true | | 是否可见 |\n@| zIndex | number | 否 | 0 | | 图层绘制顺序 |\n@| opacity | number | 否 | 1 | | 图层透明度 |\n@| success | (result: any) => void | 否 | null | - | 接口调用成功的回调函数 |\n@| fail | (result: [MapContextFail](#mapcontextfail-values)) => void | 否 | null | - | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.component.createMapContext)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/location/map.html#createmapcontext)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=createMapContext&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=createMapContext&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=createMapContext&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=createMapContext&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=createMapContext&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=createMapContext)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=createMapContext&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"general_type":{"name":"## 通用类型\n","param":"### GeneralCallbackResult \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | 错误信息 |\n"}} \ No newline at end of file +{"getApp":{"name":"## function getApp\\(): UniApp & { globalData: AppInstance\\\\['globalData'] vm: AppInstance\\ $vm: AppInstance\\ } @getapp","description":"`getApp()` 函数用于获取当前应用实例,可通过应用实例调用 App.uvue methods 中定义的方法, [详见](#appmethods)。","compatibility":"### getApp 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | √ | √ | 4.31 |\n","param":"","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| [UniApp](#uniapp-values) |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| vm | ComponentPublicInstance | 是 | - | | App vue 实例对象 |\n@| globalData | any | 是 | - | | 全局对象 |\n@| ~~$vm~~ | ComponentPublicInstance | 是 | - | | App vue 实例对象 **已废弃,仅为了向下兼容保留** |\n#### UniApp 的方法 @uniapp-values \n\n#### getAndroidApplication(): Application @getandroidapplication\n获取 Android 应用 Application 上下文\n##### getAndroidApplication 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.31 | x |\n\n\n##### 返回值 \n\n| 类型 |\n| :- |\n| Application |\n \n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.global.getApp)\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/tutorial/page.html#getapp)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getApp&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getApp&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getApp&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getApp&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getApp&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getApp)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getApp&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/get-app/get-app.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/get-app/get-app\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/get-app/get-app\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\r\n\n```\n\n>Script\n```uts\n\r\n import { state, setLifeCycleNum } from '@/store/index.uts'\r\n\r\n type MyGlobalData = {\r\n str : string,\r\n num : number,\r\n bool : boolean,\r\n obj : UTSJSONObject,\r\n null : string | null,\r\n arr : number[],\r\n mySet : string[],\r\n myMap : UTSJSONObject,\r\n func : () => string\r\n }\r\n\r\n export default {\r\n data() {\r\n return {\r\n originGlobalData: {\r\n str: '',\r\n num: 0,\r\n bool: false,\r\n obj: {\r\n str: '',\r\n num: 0,\r\n bool: false\r\n } as UTSJSONObject,\r\n null: null,\r\n arr: [] as number[],\r\n mySet: [] as string[],\r\n myMap: {},\r\n func: () : string => ''\r\n } as MyGlobalData,\r\n originGlobalDataFuncRes: '',\r\n newGlobalData: {\r\n str: '',\r\n num: 0,\r\n bool: false,\r\n obj: {\r\n str: '',\r\n num: 0,\r\n bool: false\r\n } as UTSJSONObject,\r\n null: null,\r\n arr: [] as number[],\r\n mySet: [] as string[],\r\n myMap: {},\r\n func: () : string => ''\r\n } as MyGlobalData,\r\n newGlobalDataFuncRes: '',\r\n lifeCycleNum: 0,\r\n androidApplication: null as any | null\r\n }\r\n },\r\n onReady() {\r\n this.lifeCycleNum = state.lifeCycleNum\r\n },\r\n methods: {\r\n getGlobalData() {\r\n const app = getApp()\r\n\r\n this.originGlobalData.str = app.globalData.str\r\n this.originGlobalData.num = app.globalData.num\r\n this.originGlobalData.bool = app.globalData.bool\r\n this.originGlobalData.obj = app.globalData.obj\r\n this.originGlobalData.null = app.globalData.null\r\n this.originGlobalData.arr = app.globalData.arr\r\n app.globalData.mySet.forEach((value : string) => {\r\n this.originGlobalData.mySet.push(value)\r\n })\r\n app.globalData.myMap.forEach((value : any, key : string) => {\r\n this.originGlobalData.myMap[key] = value\r\n })\r\n this.originGlobalData.func = app.globalData.func\r\n this.originGlobalDataFuncRes = this.originGlobalData.func()\r\n },\r\n setGlobalData() {\r\n const app = getApp()\r\n\r\n app.globalData.str = 'new globalData str'\r\n app.globalData.num = 100\r\n app.globalData.bool = true\r\n app.globalData.obj = {\r\n str: 'new globalData obj str',\r\n num: 200,\r\n bool: true\r\n }\r\n app.globalData.null = 'not null'\r\n app.globalData.arr = [1, 2, 3]\r\n app.globalData.mySet = new Set(['a', 'b', 'c'])\r\n app.globalData.myMap = new Map([\r\n ['a', 1],\r\n ['b', 2],\r\n ['c', 3]\r\n ])\r\n app.globalData.func = () : string => {\r\n return 'new globalData func'\r\n }\r\n\r\n this.newGlobalData.str = app.globalData.str\r\n this.newGlobalData.num = app.globalData.num\r\n this.newGlobalData.bool = app.globalData.bool\r\n this.newGlobalData.obj = app.globalData.obj\r\n this.newGlobalData.null = app.globalData.null\r\n this.newGlobalData.arr = app.globalData.arr\r\n app.globalData.mySet.forEach((value : string) => {\r\n this.newGlobalData.mySet.push(value)\r\n })\r\n app.globalData.myMap.forEach((value : any, key : string) => {\r\n this.newGlobalData.myMap[key] = value\r\n })\r\n this.newGlobalData.func = app.globalData.func\r\n this.newGlobalDataFuncRes = this.newGlobalData.func()\r\n },\r\n _increasetLifeCycleNum: function () {\r\n const app = getApp()\r\n app.vm!.increasetLifeCycleNum()\r\n this.lifeCycleNum = state.lifeCycleNum\r\n },\r\n // 自动化测试\r\n setLifeCycleNum(num : number) {\r\n setLifeCycleNum(num)\r\n },\r\n getAndroidApplication() : boolean {\r\n const app = getApp()\r\n this.androidApplication = app.getAndroidApplication()\r\n return this.androidApplication !== null\r\n }\r\n },\r\n }\r\n\n```\n\n:::"},"getCurrentPages":{"name":"## () => UniPage[\\] @getcurrentpages","description":"`getCurrentPages()` 函数用于获取当前页面栈的实例,以数组形式按栈的顺序给出,数组中的元素为页面实例,第一个元素为首页,最后一个元素为当前页面。","compatibility":"### getCurrentPages 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 3.9 | 4.11 | 4.31 |\n","param":"","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| Array\\<[UniPage](#unipage-values)\\> |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| route | string | 是 | - | | 页面的路由地址 |\n@| options | UTSJSONObject | 是 | - | | 页面的路由参数信息 |\n@| vm | ComponentPublicInstance | 否 | - | | UniPage vue 实例对象 |\n@| ~~$vm~~ | ComponentPublicInstance | 否 | - | | UniPage vue 实例对象 **已废弃,仅为了向下兼容保留** |\n#### UniPage 的方法 @unipage-values \n\n#### getPageStyle(): UTSJSONObject @getpagestyle\n获取当前页面样式。详细属性配置请参考PageStyle\n##### getPageStyle 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.31 | 4.31 | 4.31 | 4.31 |\n\n\n##### 返回值 \n\n| 类型 |\n| :- |\n| UTSJSONObject |\n \n\n#### setPageStyle(style: UTSJSONObject): void @setpagestyle\n设置当前页面样式。详细属性配置请参考PageStyle\n##### setPageStyle 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.31 | 4.31 | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| style | UTSJSONObject | 是 | - | - | - | \n\n\n#### getParentPage(): UniPage \\| null @getparentpage\n用于 dialogPage 获取所属父页面\n##### getParentPage 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.31 | 4.31 | 4.31 | 4.31 |\n\n\n##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniPage](#unipage-values) | 否 |\n \n\n#### getDialogPages(): UniPage[\\] @getdialogpages\n获取当前页面的 dialog 子页面集合\n##### getDialogPages 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.31 | 4.31 | 4.31 | 4.31 |\n\n\n##### 返回值 \n\n| 类型 |\n| :- |\n| Array\\<[UniPage](#unipage-values)\\> |\n \n\n#### getElementById(id: string.IDString \\| string): UniElement \\| null @getelementbyid\n返回一个匹配特定 ID 的元素, 如果不存在,返回 null。\\\n如果需要获取指定的节点类型,需要使用 as 进行类型转换。\\\nID 区分大小写,且应该是唯一的。如果存在多个匹配的元素,则返回第一个匹配的元素。\n\n##### getElementById 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.31 | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| id | [string.IDString](/uts/data-type.md#ide-string) \\\\| string | 是 | - | - | - | \n\n##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniElement](/dom/unielement.md) | 否 |\n \n\n#### getAndroidView(): View \\| null @getandroidview\n返回 android 平台页面根 view\n\n##### getAndroidView 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.31 | x |\n\n\n##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| View | 否 |\n \n\n#### getIOSView(): UIView \\| null @getiosview\n返回 ios 平台页面根 view\n\n##### getIOSView 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| x | x | x | 4.33 |\n\n\n##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| UIView | 否 |\n \n\n#### getHTMLElement(): UniElement \\| null @gethtmlelement\n返回页面 HTML Element 对象\n\n##### getHTMLElement 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.31 | x | x |\n\n\n##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniElement](/dom/unielement.md) | 否 |\n \n\n#### ~~$setPageStyle(style: UTSJSONObject): void~~ @$setpagestyle\n设置当前页面样式。详细属性配置请参考PageStyle **已废弃,仅为了向下兼容保留**\n##### $setPageStyle 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.13 | 4.13 | 4.13 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| style | UTSJSONObject | 是 | - | - | - | \n\n\n#### ~~$getPageStyle(): UTSJSONObject~~ @$getpagestyle\n获取当前页面样式。详细属性配置请参考PageStyle **已废弃,仅为了向下兼容保留**\n##### $getPageStyle 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.13 | 4.13 | 4.13 |\n\n\n##### 返回值 \n\n| 类型 |\n| :- |\n| UTSJSONObject |\n \n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.global.getCurrentPages)\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/tutorial/page.html#getcurrentpages)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getCurrentPages&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getCurrentPages&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getCurrentPages&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getCurrentPages&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getCurrentPages&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getCurrentPages)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getCurrentPages&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/get-current-pages/get-current-pages.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/get-current-pages/get-current-pages\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/get-current-pages/get-current-pages\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\r\n\n```\n\n>Script\n```uts\n\r\n import { PageStyleItem, PageStyleArray } from './page-style.uts';\r\n\r\n class Page {\r\n constructor(public route : string) {\r\n }\r\n }\r\n\r\n export default {\r\n data() {\r\n return {\r\n checked: false,\r\n pages: [] as Page[],\r\n PageStyleArray: PageStyleArray as PageStyleItem[],\r\n currentPageStyle: {} as UTSJSONObject,\r\n testing: false\r\n }\r\n },\r\n computed: {\r\n pageStyleText() : string {\r\n return JSON.stringify(this.currentPageStyle)\r\n }\r\n },\r\n onLoad(options : OnLoadOptions) {\r\n // #ifndef APP-ANDROID\r\n if (options instanceof UTSJSONObject) {\r\n this.checked = true\r\n }\r\n // #endif\r\n // #ifdef APP-ANDROID\r\n this.checked = true\r\n // #endif\r\n this.getPageStyle();\r\n },\r\n onPullDownRefresh() {\r\n setTimeout(() => {\r\n uni.stopPullDownRefresh()\r\n }, 2000)\r\n },\r\n methods: {\r\n startPullDownRefresh() {\r\n uni.startPullDownRefresh()\r\n },\r\n _getCurrentPages: function () {\r\n this.pages.length = 0\r\n const pages = getCurrentPages()\r\n this.pages.push(new Page(pages[0].route))\r\n if (this.checked && (this.pages[0].route.includes('/tabBar/') || this.pages[0].route == '/')) {\r\n this.checked = true\r\n }\r\n for (let i = 1; i < pages.length; i++) {\r\n this.pages.push(new Page(pages[i].route))\r\n if (pages[i].route.includes('/tabBar/')) {\r\n this.checked = false\r\n }\r\n }\r\n },\r\n /// get-set-page-style\r\n radioChange(key : string, e : RadioGroupChangeEvent) {\r\n this.setStyleValue(key, e.detail.value);\r\n },\r\n sliderChange(key : string, e : UniSliderChangeEvent) {\r\n this.setStyleValue(key, e.detail.value);\r\n },\r\n switchChange(key : string, e : UniSwitchChangeEvent) {\r\n this.setStyleValue(key, e.detail.value);\r\n },\r\n setStyleValue(key : string, value : any) {\r\n const style = {}\r\n style[key] = value\r\n this.setPageStyle(style)\r\n this.getPageStyle()\r\n },\r\n getPageStyle() : UTSJSONObject {\r\n const pages = getCurrentPages();\r\n const currentPage = pages[pages.length - 1];\r\n this.currentPageStyle = currentPage.getPageStyle()\r\n return this.currentPageStyle;\r\n },\r\n setPageStyle(style : UTSJSONObject) {\r\n console.log('setPageStyle:', style);\r\n const pages = getCurrentPages();\r\n const currentPage = pages[pages.length - 1];\r\n currentPage.setPageStyle(style);\r\n },\r\n goSetDisablePullDownRefresh() {\r\n uni.navigateTo({\r\n url: '/pages/API/get-current-pages/set-page-style-disable-pull-down-refresh'\r\n });\r\n },\r\n getCurrentPage() : UniPage {\r\n const pages = getCurrentPages()\r\n return pages[pages.length - 1]\r\n },\r\n check$page() : boolean {\r\n const page = this.getCurrentPage()\r\n let res = this.$page === page\r\n if (this.testing && res) {\r\n res = page.options['test'] == '123'\r\n if (res) {\r\n // #ifdef WEB\r\n res = page.route == '/pages/API/get-current-pages/get-current-pages'\r\n // #endif\r\n // #ifndef WEB\r\n res = page.route == 'pages/API/get-current-pages/get-current-pages'\r\n // #endif\r\n }\r\n }\r\n console.log('check $page', res)\r\n uni.showToast(res ? { title: 'check success' } : { title: 'check fail', icon: 'error' })\r\n return res\r\n },\r\n checkGetParentPage() : boolean {\r\n const page = this.getCurrentPage()\r\n const parentPage = page.getParentPage()\r\n const res = parentPage == null\r\n console.log('check getParentPage', res)\r\n uni.showToast(res ? { title: 'check success' } : { title: 'check fail', icon: 'error' })\r\n return res\r\n },\r\n checkGetDialogPages() : boolean {\r\n const page = this.getCurrentPage()\r\n const dialogPages = page.getDialogPages()\r\n const res = Array.isArray(dialogPages) && dialogPages.length == 0\r\n uni.showToast(res ? { title: 'check success' } : { title: 'check fail', icon: 'error' })\r\n console.log('check getDialogPages', res)\r\n return res\r\n },\r\n checkGetElementById() : boolean {\r\n const page = this.getCurrentPage()\r\n const element = page.getElementById('check-get-element-by-id-btn')\r\n let res = element != null\r\n // #ifndef APP-ANDROID\r\n if (res) {\r\n const elPage = element!.getPage()\r\n console.log('elPage', elPage)\r\n res = elPage === page\r\n }\r\n // #endif\r\n console.log('check getElementById', res)\r\n uni.showToast(res ? { title: 'check success' } : { title: 'check fail', icon: 'error' })\r\n return res\r\n },\r\n checkGetAndroidView() : boolean {\r\n const page = this.getCurrentPage()\r\n const androidView = page.getAndroidView()\r\n const res = androidView != null\r\n console.log('check getAndroidView', res)\r\n uni.showToast(res ? { title: 'check success' } : { title: 'check fail', icon: 'error' })\r\n return res\r\n },\r\n },\r\n }\r\n\n```\n\n:::"},"env":{"name":"## env","description":"环境变量","param":"### env 的属性值 @env-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| USER_DATA_PATH | string | 是 | - | | 应用专属存储空间的外置存储空间根目录下的files目录 |\n| CACHE_PATH | string | 是 | - | | 应用专属存储空间的外置存储空间根目录下的cache目录 |\n| SANDBOX_PATH | string | 是 | - | | 应用专属存储空间的外置存储空间根目录(caches/files) |\n| ANDROID_INTERNAL_SANDBOX_PATH | string | 是 | - | | 应用专属存储空间的内置存储空间根目录 |\n","compatibility":"","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.base.env)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=env&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=env&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=env&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=env&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=env&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=env)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=env&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/env/env.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/env/env\n```uvue\n\r\n\r\n\r\n\r\n\n\n```\n:::"},"$on":{"name":"## uni.$on(eventName, callback) @$on","description":"监听自定义事件。事件可以由 uni.$emit 触发。回调函数会接收 uni.$emit 传递的参数。\n4.31+ 开始支持返回事件监听器 id, 用于 off 事件监听器。\n","compatibility":"### $on 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 3.91 | 3.91 | 4.11 | 4.31 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| eventName | string | 是 | - | - | 事件名称 |\n| callback | () => void | 是 | - | - | 事件回调 | \n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| number |\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.base.eventBus.$on)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/window/communication.html#on)"},"$once":{"name":"## uni.$once(eventName, callback) @$once","description":"监听一个自定义事件。事件只触发一次,在第一次触发之后移除事件监听器。\n4.31+ 开始支持返回事件监听器 id, 用于 off 事件监听器。\n","compatibility":"### $once 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 3.91 | 3.91 | 4.11 | 4.31 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| eventName | string | 是 | - | - | 事件名称 |\n| callback | () => void | 是 | - | - | 事件回调 | \n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| number |\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.base.eventBus.$once)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/window/communication.html#once)"},"$off":{"name":"## uni.$off(eventName, callback?) @$off","description":"移除自定义事件监听器。如果提供了事件名和回调,则只移除这个回调的监听器。\n4.13+ 开始支持第二个参数为可选,如果仅提供事件名,则移除该事件的所有监听器。\n4.31+ 开始第二个参数的类型由 `Function | null` 调整为 `any | null`, 支持传入 `uni.$on`、`uni.$once` 返回的事件监听器 id, 移除指定事件监听器。","compatibility":"### $off 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 3.91 | 3.91 | 4.11 | 4.31 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| eventName | string | 是 | - | - | 事件名称 |\n| callback | any | 否 | - | - | 要移除的事件回调或事件监听器 id | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.base.eventBus.$off)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/window/communication.html#off)"},"$emit":{"name":"## uni.$emit(eventName, args?) @$emit","description":"触发自定义事件,附加的参数会传递给事件监听器。\n","compatibility":"### $emit 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 3.91 | 3.91 | 4.11 | 4.31 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| eventName | string | 是 | - | - | 事件名称 |\n| args | Array\\ | 否 | - | - | 触发事件时传递的参数 | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.base.eventBus.$emit)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/window/communication.html#emit)"},"eventBus":{"example":"## 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/event-bus/event-bus.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/event-bus/event-bus\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/event-bus/event-bus\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\r\n\n```\n\n>Script\n```uts\n\r\nexport default {\r\n data() {\r\n return {\r\n log: [] as string[],\r\n objArg: {},\r\n }\r\n },\r\n methods: {\r\n fn(res : string) {\r\n this.log.push(res)\r\n },\r\n fn2(res : string) {\r\n this.log.push(res)\r\n },\r\n on() {\r\n uni.$on('test', this.fn)\r\n },\r\n on2() {\r\n uni.$on('test', this.fn2)\r\n },\r\n onObj() {\r\n uni.$on('test-obj', (res : UTSJSONObject) => {\r\n this.objArg = res\r\n })\r\n },\r\n once() {\r\n uni.$once('test', this.fn)\r\n },\r\n off() {\r\n uni.$off('test', this.fn)\r\n },\r\n offAll() {\r\n uni.$off('test')\r\n },\r\n emit() {\r\n uni.$emit('test', 'msg:' + Date.now())\r\n },\r\n emitWithObj() {\r\n uni.$emit('test-obj', { a: 1, b: 2 })\r\n },\r\n clear() {\r\n this.log.length = 0\r\n },\r\n testReturnId(){\r\n const id1 = uni.$on('test-return-id', this.fn)\r\n uni.$emit('test-return-id', '触发 test-return-id $on fn')\r\n uni.$off('test-return-id', id1)\r\n uni.$emit('test-return-id', '触发 test-return-id $on fn')\r\n\r\n uni.$once('test-return-id', this.fn)\r\n uni.$emit('test-return-id', '触发 test-return-id $once fn')\r\n uni.$emit('test-return-id', '触发 test-return-id $once fn')\r\n const id2 = uni.$once('test-id', this.fn)\r\n uni.$off('test-return-id', id2)\r\n uni.$emit('test-return-id', '触发 test-return-id $once fn')\r\n },\r\n testEmitNoArgs() {\r\n uni.$on('test-emit-no-args', () => {\r\n this.log.push('test-emit-no-args')\r\n })\r\n uni.$emit('test-emit-no-args')\r\n uni.$off('test-emit-no-args')\r\n },\r\n testEmitMultipleArgs() {\r\n uni.$on('test-emit-multiple-args', (arg1 : string, arg2 : number) => {\r\n this.log.push(`${arg1}_${arg2}`)\r\n })\r\n uni.$emit('test-emit-multiple-args', 'arg1', 2)\r\n uni.$off('test-emit-multiple-args')\r\n }\r\n },\r\n}\r\n\n```\n\n:::"},"base64ToArrayBuffer":{"name":"## uni.base64ToArrayBuffer(base64) @base64toarraybuffer","description":"将 Base64 字符串转成 ArrayBuffer 对象\n","compatibility":"### base64ToArrayBuffer 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| base64 | string | 是 | - | - | - | \n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| ArrayBuffer |\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.base.base64.base64ToArrayBuffer)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/base64ToArrayBuffer.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=base64ToArrayBuffer&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=base64ToArrayBuffer&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=base64ToArrayBuffer&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=base64ToArrayBuffer&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=base64ToArrayBuffer&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=base64ToArrayBuffer)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=base64ToArrayBuffer&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"arrayBufferToBase64":{"name":"## uni.arrayBufferToBase64(arrayBuffer) @arraybuffertobase64","description":"将 ArrayBuffer 对象转成 Base64 字符串\n","compatibility":"### arrayBufferToBase64 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| arrayBuffer | ArrayBuffer | 是 | - | - | - | \n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| string |\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.base.base64.arrayBufferToBase64)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/arrayBufferToBase64.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=arrayBufferToBase64&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=arrayBufferToBase64&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=arrayBufferToBase64&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=arrayBufferToBase64&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=arrayBufferToBase64&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=arrayBufferToBase64)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=arrayBufferToBase64&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"addInterceptor":{"name":"## uni.addInterceptor(name, interceptor) @addinterceptor","description":"添加拦截器","compatibility":"### addInterceptor 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.97 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| name | string | 是 | - | - | 需要拦截的 API 名称 |\n| interceptor | Interceptor | 是 | - | - | 拦截器 | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.base.interceptor.addInterceptor)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/interceptor.html)"},"removeInterceptor":{"name":"## uni.removeInterceptor(name, interceptor?) @removeinterceptor","description":"删除拦截器","compatibility":"### removeInterceptor 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.97 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| name | string | 是 | - | - | 需要删除拦截器的 API 名称 |\n| interceptor | Interceptor | 否 | - | - | 拦截器 | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.base.interceptor.removeInterceptor)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/interceptor.html#removeinterceptor)"},"interceptor":{"example":"## 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/interceptor/interceptor.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/interceptor/interceptor\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/interceptor/interceptor\n\n>Template\n```vue\n\r\n\r\n\r\n\n```\n\n>Script\n```uts\n\r\n const navigateToInterceptor = {\r\n invoke: function (options : NavigateToOptions) {\r\n console.log('拦截 navigateTo 接口传入参数为:', options)\r\n const url = './page2'\r\n uni.showToast({\r\n title: `重定向到页面:${url}`\r\n })\r\n options.url = url\r\n },\r\n success: function (res : NavigateToSuccess) {\r\n console.log('拦截 navigateTo 接口 success 返回参数为:', res)\r\n },\r\n fail: function (err : NavigateToFail) {\r\n console.log('拦截 navigateTo 接口 fail 返回参数为:', err)\r\n },\r\n complete: function (res : NavigateToComplete) {\r\n console.log('拦截 navigateTo 接口 complete 返回参数为:', res)\r\n }\r\n } as AddInterceptorOptions\r\n\r\n const switchTabInterceptor = {\r\n invoke: function (options : SwitchTabOptions) {\r\n console.log('拦截 switchTab 接口传入参数为:', options)\r\n options.url = '/pages/tabBar/API'\r\n },\r\n success: function (res : SwitchTabSuccess) {\r\n console.log('拦截 switchTab 接口 success 返回参数为:', res)\r\n },\r\n fail: function (err : SwitchTabFail) {\r\n console.log('拦截 switchTab 接口 fail 返回参数为:', err)\r\n },\r\n complete: function (res : SwitchTabComplete) {\r\n console.log('拦截 switchTab 接口 complete 返回参数为:', res)\r\n }\r\n } as AddInterceptorOptions\r\n\r\n export default {\r\n data() {\r\n return {\r\n msg: \"会跳转到测试页面1\"\r\n }\r\n },\r\n beforeUnmount() {\r\n // 移除 navigateTo 所有拦截器\r\n uni.removeInterceptor('navigateTo')\r\n uni.removeInterceptor('switchTab')\r\n },\r\n methods: {\r\n addInterceptor() {\r\n uni.addInterceptor('navigateTo', navigateToInterceptor)\r\n uni.showToast({\r\n title: '页面跳转/切换tabbar已拦截'\r\n })\r\n this.msg = \",路由被劫持到测试页面2\"\r\n },\r\n removeInterceptor() {\r\n uni.removeInterceptor('navigateTo', navigateToInterceptor)\r\n uni.showToast({\r\n title: '拦截器已移除'\r\n })\r\n this.msg = \"会跳转到测试页面1\"\r\n },\r\n addSwitchTabInterceptor() {\r\n uni.addInterceptor('switchTab', switchTabInterceptor)\r\n },\r\n removeSwitchTabInterceptor() {\r\n uni.removeInterceptor('switchTab', switchTabInterceptor)\r\n },\r\n navigateTo() {\r\n uni.navigateTo({\r\n url: './page1',\r\n success(res) {\r\n console.log('res:', res)\r\n },\r\n fail(err) {\r\n console.error('err:', err)\r\n },\r\n complete(res) {\r\n console.log('res:', res)\r\n }\r\n })\r\n },\r\n switchTab() {\r\n uni.switchTab({\r\n url: '/pages/tabBar/component',\r\n success(res) {\r\n console.log('res:', res)\r\n },\r\n fail(err) {\r\n console.error('err:', err)\r\n },\r\n complete(res) {\r\n console.log('res:', res)\r\n }\r\n })\r\n }\r\n }\r\n }\r\n\n```\n\n:::"},"getLaunchOptionsSync":{"name":"## uni.getLaunchOptionsSync() @getlaunchoptionssync","description":"获取首次启动时的参数。返回值与App.onLaunch的回调参数一致\n","compatibility":"### getLaunchOptionsSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.91 | 4.11 |\n","param":"","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| **OnLaunchOptions** |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| path | string | 是 | - | | 首次启动时的页面路径。返回值与App.onLaunch的回调参数一致
|\n@| appScheme | string | 否 | - | | 首次启动时的Scheme。返回值与App.onLaunch的回调参数一致
|\n@| appLink | string | 否 | - | | 首次启动时的appLink。返回值与App.onLaunch的回调参数一致
| \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.base.launch.getLaunchOptionsSync)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/getLaunchOptionsSync.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getLaunchOptionsSync&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getLaunchOptionsSync&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getLaunchOptionsSync&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getLaunchOptionsSync&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getLaunchOptionsSync&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getLaunchOptionsSync)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getLaunchOptionsSync&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/get-launch-options-sync/get-launch-options-sync.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/get-launch-options-sync/get-launch-options-sync\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/get-launch-options-sync/get-launch-options-sync\n\n>Template\n```vue\n\n\n\n\n```\n\n>Script\n```uts\n\n export default {\n data() {\n return {\n checked: false,\n homePagePath: 'pages/tabBar/component',\n launchOptionsPath: '',\n launchOptionsString: '',\n testResult: false\n }\n },\n onReady() {\n this.compareOnLaunchRes()\n },\n methods: {\n compareOnLaunchRes() {\n const launchOptions = uni.getLaunchOptionsSync();\n this.launchOptionsString = JSON.stringify(launchOptions, null, 2)\n\n const app = getApp()\n const appOnLaunch = app.globalData.launchOptions\n\n const isPathSame = launchOptions.path == appOnLaunch.path\n const isAppSchemeSame = launchOptions.appScheme == appOnLaunch.appScheme\n const isAppLinkSame = launchOptions.appLink == appOnLaunch.appLink\n this.testResult = isPathSame && isAppSchemeSame && isAppLinkSame\n },\n\n getLaunchOptionsSync() {\n const launchOptions = uni.getLaunchOptionsSync()\n this.launchOptionsPath = launchOptions.path\n if (launchOptions.path == this.homePagePath) {\n this.checked = true\n }\n },\n },\n }\n\n```\n\n:::"},"getEnterOptionsSync":{"name":"## uni.getEnterOptionsSync() @getenteroptionssync","description":"获取本次启动时的参数。返回值与App.onShow的回调参数一致\n","compatibility":"### getEnterOptionsSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.25 | 4.25 |\n","param":"","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| **OnShowOptions** |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| path | string | 是 | - | | 本次启动时页面的路径
|\n@| appScheme | string | 否 | - | | 本次启动时的Scheme。返回值与App.onShow的回调参数一致
|\n@| appLink | string | 否 | - | | 本次启动时的appLink。返回值与App.onShow的回调参数一致
| \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.base.launch.getEnterOptionsSync)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getEnterOptionsSync&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getEnterOptionsSync&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getEnterOptionsSync&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getEnterOptionsSync&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getEnterOptionsSync&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getEnterOptionsSync)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getEnterOptionsSync&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/get-enter-options-sync/get-enter-options-sync.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/get-enter-options-sync/get-enter-options-sync\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/get-enter-options-sync/get-enter-options-sync\n\n>Template\n```vue\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n enterOptionsString: '',\r\n testResult: false\r\n }\r\n },\r\n onReady() {\r\n const app = getApp()\r\n const appOnShow = app.globalData.onShowOption\r\n const onShowOption = uni.getEnterOptionsSync()\r\n this.enterOptionsString = JSON.stringify(onShowOption, null, 2)\r\n this.testResult = (onShowOption.path == appOnShow.path && onShowOption.appScheme == appOnShow.appScheme && onShowOption.appLink == appOnShow.appLink)\r\n }\r\n }\r\n\n```\n\n:::"},"exit":{"name":"## uni.exit(options?) @exit","description":"退出当前应用","compatibility":"### exit 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| x | 3.91 | 3.91 | 4.33 | 4.33 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **ExitOptions** | 否 | - | - | uni.exit参数定义 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (res: [ExitSuccess](#exitsuccess-values)) => void | 否 | - | - | uni.exit成功回调函数定义 |\n@| fail | (res: [IExitError](#iexiterror-values)) => void | 否 | - | - | uni.exit失败回调函数定义 |\n@| complete | (res: any) => void | 否 | - | - | uni.exit完成回调函数定义 | \n\n#### ExitSuccess 的属性值 @exitsuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n\n#### IExitError 的属性值 @iexiterror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 12001 | - | 系统不支持 |\n@| 12002 | - | 未知错误 |\n@| 12003 | - | iOS平台,仅在uni-app x SDK模式中支持应用退出 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.base.exit)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=exit&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=exit&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=exit&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=exit&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=exit&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=exit)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=exit&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/exit/exit.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/exit/exit\n```uvue\n\r\n\r\n\r\n\r\n\n\n```\n:::"},"getProviderSync":{"name":"## uni.getProviderSync(options) @getprovidersync","description":"getProvider的同步方法","compatibility":"### getProviderSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.25 | 4.25 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **GetProviderSyncOptions** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| service | string | 是 | - | | 服务类型
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| payment | | 支付 (alipay、wxpay) |\n@@| location | | 定位 (system、tencent) |\n@@| oauth | | 授权登录 | \n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| **GetProviderSyncSuccess** |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| service | string | 是 | - | | 服务类型
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| payment | | 支付 (alipay、wxpay) |\n@@| location | | 定位 (system、tencent) |\n@@| oauth | | 授权登录 |\n@| providerIds | Array\\ | 是 | - | | 得到的服务供应商 |\n@| providerObjects | Array\\<[UniProvider](/api/provider.md#uniprovider)\\> | 是 | - | | 得到的服务供应商服务对象 | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.base.getProvider)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/plugins/provider.html#getprovider)"},"getProvider":{"name":"## uni.~~getProvider(options)~~ @getprovider","description":"获取服务供应商 **已废弃,4.25及以后版本请使用getProviderSync()方法代替**","compatibility":"### getProvider 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.11 | 4.18 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **GetProviderOptions** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| service | string | 是 | - | | 服务类型:支付 (payment)
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| payment | | 支付 (alipay、wxpay) |\n@@| oauth | | 授权登录 |\n@| success | (result: [GetProviderSuccess](#getprovidersuccess-values)) => void | 否 | - | | 接口调用成功的回调 |\n@| fail | (result: [IGetProviderFail](#igetproviderfail-values)) => void | 否 | - | | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | - | | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### GetProviderSuccess 的属性值 @getprovidersuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| service | string | 是 | - | | 服务类型:支付 (payment)
|\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| payment | | 支付 (alipay、wxpay) |\n@| oauth | | 授权登录 |\n| provider | Array\\ | 是 | - | | 得到的服务供应商 |\n| providers | Array\\<[UniProvider](/api/provider.md#uniprovider)\\> | 是 | - | | 得到的服务供应商服务对象 |\n\n#### IGetProviderFail 的属性值 @igetproviderfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码:
110600:服务类型参数无效。 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.base.getProviderSync)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/plugins/provider.html#getprovider)"},"provider":{"example":"## 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/provider/provider.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/provider/provider\n```uvue\n\r\n\r\n\r\n\r\n\n\n```\n:::"},"getPerformance":{"name":"## uni.getPerformance() @getperformance","description":"返回一个Performance对象实例\n","compatibility":"### getPerformance 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.91 | 4.25 |\n","param":"","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| [Performance](#performance-values) |\n\n#### Performance 的方法 @performance-values \n\n#### createObserver(callback: PerformanceObserverCallback): PerformanceObserver @createobserver\n创建全局性能事件监听器\n##### createObserver 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (entries: [PerformanceObserverEntryList](#performanceobserverentrylist-values)) => void | 是 | - | - | - | \n\n##### PerformanceObserverEntryList 的方法 @performanceobserverentrylist-values \n\n##### getEntries(): PerformanceEntry[\\] @getentries\n该方法返回当前列表中的所有性能数据\n###### getEntries 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n\n###### 返回值 \n\n| 类型 |\n| :- |\n| Array\\<**PerformanceEntry**\\> |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| entryType | string | 是 | - | - | 指标类型 |\n@| name | string | 是 | - | - | 指标名称 |\n@| duration | number | 是 | - | - | 耗时 ms。仅对于表示阶段的指标有效。 |\n@| startTime | number | 是 | - | - | 开始时间,不同指标的具体含义会有差异。 |\n@| path | string | 否 | - | - | 页面路径。仅 render 和 navigation 类型指标有效。 |\n@| referrerPath | string | 否 | - | - | 页面跳转来源页面路径。仅 route 指标有效。 |\n@| pageId | number | 否 | - | - | path 对应页面实例 Id(随机生成,不保证递增)。仅 render/navigation 指标有效。 |\n@| referrerPageId | number | 否 | - | - | referrerPath对应页面实例 Id(随机生成,不保证递增)。仅 route 指标有效。 |\n@| navigationStart | number | 否 | - | - | 路由真正响应开始时间。仅 navigation 类型指标有效。 |\n@| navigationType | string | 否 | - | - | 路由详细类型,与路由方法对应。仅 navigation 类型指标有效。 |\n@| initDataRecvTime | number | 否 | - | - | 首次渲染参数在渲染层收到的时间。仅 firstRender 指标有效。 |\n@| viewLayerRenderEndTime | number | 否 | - | - | 渲染层执行渲染结束时间。仅 firstRender 指标有效。 | \n\n##### getEntriesByType(entryType: string): PerformanceEntry[\\] @getentriesbytype\n获取当前列表中所有类型为 \\[entryType]的性能数据\n###### getEntriesByType 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| entryType | string | 是 | - | - | - | \n\n###### 返回值 \n\n| 类型 |\n| :- |\n| Array\\<[PerformanceEntry](#performanceentry-values)\\> |\n \n\n##### getEntriesByName(name: string, entryType: string): PerformanceEntry[\\] @getentriesbyname\n获取当前列表中所有名称为 \\[name] 且类型为 [entryType]的性能数据\n###### getEntriesByName 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| name | string | 是 | - | - | - |\n| entryType | string | 是 | - | - | - | \n\n###### 返回值 \n\n| 类型 |\n| :- |\n| Array\\<[PerformanceEntry](#performanceentry-values)\\> |\n \n\n##### 返回值 \n\n| 类型 |\n| :- |\n| [PerformanceObserver](#performanceobserver-values) |\n\n###### PerformanceObserver 的方法 @performanceobserver-values \n\n###### observe(options: PerformanceObserverOptions): void @observe\n开始监听\n###### observe 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **PerformanceObserverOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| buffered | boolean | 否 | - | - | - |\n@| entryTypes | Array\\ | 否 | - | - | - |\n@| type | string | 否 | - | - | - | \n\n\n###### disconnect(): void @disconnect\n停止监听\n###### disconnect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n\n \n\n#### getEntries(): PerformanceEntry[\\] @getentries\n该方法返回当前缓冲区中的所有性能数据\n##### getEntries 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n\n##### 返回值 \n\n| 类型 |\n| :- |\n| Array\\<[PerformanceEntry](#performanceentry-values)\\> |\n \n\n#### getEntriesByType(entryType: string): PerformanceEntry[\\] @getentriesbytype\n获取当前缓冲区中所有类型为 \\[entryType]的性能数据\n##### getEntriesByType 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| entryType | string | 是 | - | - | - | \n\n##### 返回值 \n\n| 类型 |\n| :- |\n| Array\\<[PerformanceEntry](#performanceentry-values)\\> |\n \n\n#### getEntriesByName(name: string, entryType: string): PerformanceEntry[\\] @getentriesbyname\n获取当前缓冲区中所有名称为 \\[name] 且类型为 [entryType]的性能数据\n##### getEntriesByName 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| name | string | 是 | - | - | - |\n| entryType | string | 是 | - | - | - | \n\n##### 返回值 \n\n| 类型 |\n| :- |\n| Array\\<[PerformanceEntry](#performanceentry-values)\\> |\n \n\n#### setBufferSize(size: number): void @setbuffersize\n设置缓冲区大小,默认缓冲 30 条性能数据\n##### setBufferSize 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| size | number | 是 | - | - | - | \n\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.base.get-performance)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getPerformance&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getPerformance&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getPerformance&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getPerformance&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getPerformance&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getPerformance)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getPerformance&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"getPrivacySetting":{"name":"## uni.getPrivacySetting(options) @getprivacysetting","description":"获取隐私协议状态","compatibility":"### getPrivacySetting 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| x | 4.31 | 4.31 | 4.31 | 4.31 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **GetPrivacySettingOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (result: [GetPrivacySettingSuccessResult](#getprivacysettingsuccessresult-values)) => void | 否 | null | | 接口调用成功的回调函数 |\n@| fail | (result: any) => void | 否 | null | | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### GetPrivacySettingSuccessResult 的属性值 @getprivacysettingsuccessresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| needAuthorization | boolean | 是 | - | | 是否需要用户授权隐私协议(用户之前同意过返回false,没同意过则返回true) |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.base.privacy.getPrivacySetting)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getPrivacySetting&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getPrivacySetting&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getPrivacySetting&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getPrivacySetting&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getPrivacySetting&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getPrivacySetting)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getPrivacySetting&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"resetPrivacyAuthorization":{"name":"## uni.resetPrivacyAuthorization() @resetprivacyauthorization","description":"重置隐私协议状态为未同意","compatibility":"### resetPrivacyAuthorization 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| x | 4.31 | 4.31 | 4.31 | 4.31 |\n","param":"","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.base.privacy.resetPrivacyAuthorization)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=resetPrivacyAuthorization&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=resetPrivacyAuthorization&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=resetPrivacyAuthorization&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=resetPrivacyAuthorization&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=resetPrivacyAuthorization&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=resetPrivacyAuthorization)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=resetPrivacyAuthorization&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"onPrivacyAuthorizationChange":{"name":"## uni.onPrivacyAuthorizationChange(callback) @onprivacyauthorizationchange","description":"开启监听隐私协议状态改变","compatibility":"### onPrivacyAuthorizationChange 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| x | 4.31 | 4.31 | 4.31 | 4.31 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (res: [PrivacyChangeResult](#privacychangeresult-values)) => void | 是 | - | - | - | \n\n### PrivacyChangeResult 的属性值 @privacychangeresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| needAuthorization | boolean | 是 | - | | 是否需要用户授权隐私协议(用户之前同意过返回false,没同意过则返回true) |\n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| number |\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.base.privacy.onPrivacyAuthorizationChange)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=onPrivacyAuthorizationChange&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=onPrivacyAuthorizationChange&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=onPrivacyAuthorizationChange&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=onPrivacyAuthorizationChange&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=onPrivacyAuthorizationChange&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=onPrivacyAuthorizationChange)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=onPrivacyAuthorizationChange&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"offPrivacyAuthorizationChange":{"name":"## uni.offPrivacyAuthorizationChange(id) @offprivacyauthorizationchange","description":"取消监听隐私协议状态改变","compatibility":"### offPrivacyAuthorizationChange 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| x | 4.31 | 4.31 | 4.31 | 4.31 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| id | number | 是 | - | - | 开启监听隐私协议状态改变返回的id | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.base.privacy.offPrivacyAuthorizationChange)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=offPrivacyAuthorizationChange&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=offPrivacyAuthorizationChange&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=offPrivacyAuthorizationChange&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=offPrivacyAuthorizationChange&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=offPrivacyAuthorizationChange&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=offPrivacyAuthorizationChange)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=offPrivacyAuthorizationChange&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"privacy":{"example":"## 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/privacy/privacy.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/privacy/privacy\n```uvue\n\n\n\n\n\n\n```\n:::"},"navigateTo":{"name":"## uni.navigateTo(options) @navigateto","description":"保留当前页面,跳转到应用内的某个页面\n","compatibility":"### navigateTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | √ | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **NavigateToOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| url | string ([string.PageURIString](/uts/data-type.md#ide-string)) | 是 | - | | 需要跳转的应用内非 tabBar 的页面的路径 , 路径后可以带参数 |\n@| animationType | string | 否 | - | | 窗口显示的动画类型
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| auto | | 自动选择动画效果 |\n@@| none | | 无动画效果 |\n@@| slide-in-right | | 从右侧横向滑动效果 |\n@@| slide-in-left | | 从左侧横向滑动效果 |\n@@| slide-in-top | | 从上侧竖向滑动效果 |\n@@| slide-in-bottom | | 从下侧竖向滑动效果 |\n@@| fade-in | | 从完全透明到不透明逐渐显示 |\n@@| zoom-out | | 在屏幕中间从小到大逐渐放大显示 |\n@@| zoom-fade-out | | 从大逐渐缩小并且从不透明到透明逐渐隐藏关闭动画 |\n@@| pop-in | | 从右侧平移出栈动画效果 |\n@| events | any | 否 | - | | 页面间通信接口,用于监听被打开页面发送到当前页面的数据 |\n@| success | (result: [AsyncApiSuccessResult](#asyncapisuccessresult-values)) => void | 否 | - | | 接口调用成功的回调函数 |\n@| fail | (result: [NavigateToFail](#navigatetofail-values)) => void | 否 | - | | 接口调用失败的回调函数 |\n@| complete | (result: [AsyncApiResult](#asyncapiresult-values)) => void | 否 | - | | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### AsyncApiSuccessResult 的属性值 @asyncapisuccessresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n\n#### NavigateToFail 的属性值 @navigatetofail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 路由错误码
- 4: 框架内部异常 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n#### AsyncApiResult 的属性值 @asyncapiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Promise\\<**AsyncApiSuccessResult**> | 否 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| errMsg | string | 是 | - | - | - | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.page.navigator.navigateTo)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/router.html#navigateto)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=navigateTo&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=navigateTo&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=navigateTo&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=navigateTo&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=navigateTo&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=navigateTo)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=navigateTo&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"reLaunch":{"name":"## uni.reLaunch(options) @relaunch","description":"关闭所有页面,打开到应用内的某个页面\n","compatibility":"### reLaunch 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | √ | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **ReLaunchOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| url | string ([string.PageURIString](/uts/data-type.md#ide-string)) | 是 | - | | 需要跳转的应用内页面路径 , 路径后可以带参数。参数与路径之间使用?分隔,参数键与参数值用=相连,不同参数用&分隔;如 'path?key=value&key2=value2',如果跳转的页面路径是 tabBar 页面则不能带参数 |\n@| success | (result: [AsyncApiSuccessResult](#asyncapisuccessresult-values)) => void | 否 | - | | 接口调用成功的回调函数 |\n@| fail | (result: [ReLaunchFail](#relaunchfail-values)) => void | 否 | - | | 接口调用失败的回调函数 |\n@| complete | (result: [AsyncApiResult](#asyncapiresult-values)) => void | 否 | - | | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### ReLaunchFail 的属性值 @relaunchfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 路由错误码
- 4: 框架内部异常 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n#### AsyncApiResult 的属性值 @asyncapiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Promise\\<**AsyncApiSuccessResult**> | 否 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| errMsg | string | 是 | - | - | - | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.page.navigator.reLaunch)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/router.html#relaunch)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=reLaunch&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=reLaunch&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=reLaunch&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=reLaunch&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=reLaunch&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=reLaunch)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=reLaunch&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"navigateBack":{"name":"## uni.navigateBack(options?) @navigateback","description":"关闭当前页面,返回上一页面或多级页面\n","compatibility":"### navigateBack 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | √ | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **NavigateBackOptions** | 否 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| delta | number | 否 | - | | 返回的页面数,如果 delta 大于现有页面数,则返回到首页 |\n@| animationType | string | 否 | - | | 窗口关闭的动画类型
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| auto | | 自动选择动画效果 |\n@@| none | | 无动画效果 |\n@@| slide-out-right | | 横向向右侧滑出屏幕动画 |\n@@| slide-out-left | | 横向向左侧滑出屏幕动画 |\n@@| slide-out-top | | 竖向向上侧滑出屏幕动画 |\n@@| slide-out-bottom | | 竖向向下侧滑出屏幕动画 |\n@@| fade-out | | 从不透明到透明逐渐隐藏动画 |\n@@| zoom-in | | 从大逐渐缩小关闭动画 |\n@@| zoom-fade-in | | 从大逐渐缩小并且从不透明到透明逐渐隐藏关闭动画 |\n@@| pop-out | | 从右侧平移出栈动画效果 |\n@| animationDuration | number | 否 | - | | 窗口关闭动画的持续时间,单位为 ms |\n@| success | (result: [AsyncApiSuccessResult](#asyncapisuccessresult-values)) => void | 否 | - | | 接口调用成功的回调函数 |\n@| fail | (result: [NavigateBackFail](#navigatebackfail-values)) => void | 否 | - | | 接口调用失败的回调函数 |\n@| complete | (result: [AsyncApiResult](#asyncapiresult-values)) => void | 否 | - | | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### NavigateBackFail 的属性值 @navigatebackfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 路由错误码
- 4: 框架内部异常 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n#### AsyncApiResult 的属性值 @asyncapiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Promise\\<**AsyncApiSuccessResult**> | 否 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| errMsg | string | 是 | - | - | - | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.page.navigator.navigateBack)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/router.html#navigateback)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=navigateBack&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=navigateBack&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=navigateBack&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=navigateBack&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=navigateBack&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=navigateBack)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=navigateBack&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"redirectTo":{"name":"## uni.redirectTo(options) @redirectto","description":"关闭当前页面,跳转到应用内的某个页面\n","compatibility":"### redirectTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | √ | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **RedirectToOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| url | string ([string.PageURIString](/uts/data-type.md#ide-string)) | 是 | - | | 需要跳转的应用内非 tabBar 的页面的路径 , 路径后可以带参数 |\n@| success | (result: [AsyncApiSuccessResult](#asyncapisuccessresult-values)) => void | 否 | - | | 接口调用成功的回调函数 |\n@| fail | (result: [RedirectToFail](#redirecttofail-values)) => void | 否 | - | | 接口调用失败的回调函数 |\n@| complete | (result: [AsyncApiResult](#asyncapiresult-values)) => void | 否 | - | | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### RedirectToFail 的属性值 @redirecttofail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 路由错误码
- 4: 框架内部异常 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n#### AsyncApiResult 的属性值 @asyncapiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Promise\\<**AsyncApiSuccessResult**> | 否 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| errMsg | string | 是 | - | - | - | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.page.navigator.redirectTo)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/router.html#redirectto)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=redirectTo&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=redirectTo&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=redirectTo&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=redirectTo&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=redirectTo&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=redirectTo)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=redirectTo&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"switchTab":{"name":"## uni.switchTab(options) @switchtab","description":"跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面\n","compatibility":"### switchTab 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | √ | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **SwitchTabOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| url | string ([string.PageURIString](/uts/data-type.md#ide-string)) | 是 | - | | 需要跳转的 tabBar 页面的路径,路径后不能带参数 |\n@| success | (result: [AsyncApiSuccessResult](#asyncapisuccessresult-values)) => void | 否 | - | | 接口调用成功的回调函数 |\n@| fail | (result: [SwitchTabFail](#switchtabfail-values)) => void | 否 | - | | 接口调用失败的回调函数 |\n@| complete | (result: [AsyncApiResult](#asyncapiresult-values)) => void | 否 | - | | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### SwitchTabFail 的属性值 @switchtabfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 路由错误码
- 4: 框架内部异常 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n#### AsyncApiResult 的属性值 @asyncapiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Promise\\<**AsyncApiSuccessResult**> | 否 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| errMsg | string | 是 | - | - | - | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.page.navigator.switchTab)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/router.html#switchtab)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=switchTab&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=switchTab&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=switchTab&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=switchTab&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=switchTab&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=switchTab)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=switchTab&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"navigator":{"example":"## 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/navigator/navigator.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/navigator/navigator\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/navigator/navigator\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\r\n\n```\n\n>Script\n```uts\n\r\n import { state, setLifeCycleNum } from '@/store/index.uts'\r\n type AnimationType = \"slide-in-right\" | \"slide-in-left\" | \"slide-in-top\" | \"slide-in-bottom\" | \"pop-in\" | \"fade-in\" | \"zoom-out\" | \"zoom-fade-out\" | \"none\" | \"auto\"\r\n\r\n export default {\r\n data() {\r\n return {\r\n onLoadTime: 0,\r\n onShowTime: 0,\r\n onReadyTime: 0,\r\n onHideTime: 0,\r\n animationTypeList: [\r\n 'slide-in-right',\r\n 'slide-in-left',\r\n 'slide-in-top',\r\n 'slide-in-bottom',\r\n 'pop-in',\r\n 'fade-in',\r\n 'zoom-out',\r\n 'zoom-fade-out',\r\n 'none'\r\n ]\r\n }\r\n },\r\n onLoad() {\r\n this.onLoadTime = Date.now()\r\n console.log('onLoad', this.onLoadTime)\r\n },\r\n onShow() {\r\n this.onShowTime = Date.now()\r\n console.log('onShow', this.onShowTime)\r\n },\r\n onReady() {\r\n this.onReadyTime = Date.now()\r\n console.log('onReady', this.onReadyTime)\r\n },\r\n onHide() {\r\n this.onHideTime = Date.now()\r\n console.log('onHide', this.onHideTime)\r\n },\r\n onBackPress(options : OnBackPressOptions) : boolean | null {\r\n console.log('onBackPress', Date.now())\r\n console.log('onBackPress from', options.from)\r\n return null\r\n },\r\n onUnload() {\r\n console.log('onUnload', Date.now())\r\n },\r\n methods: {\r\n reLaunch() {\r\n uni.reLaunch({\r\n url: '/pages/tabBar/component',\r\n success(result) {\r\n console.log('reLaunch success', result.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n fail(error) {\r\n console.log('reLaunch fail', error.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum - 1)\r\n },\r\n complete(result) {\r\n console.log('reLaunch complete', result.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n })\r\n },\r\n navigateTo() {\r\n uni.navigateTo({\r\n url: '/pages/API/navigator/new-page/new-page-1?data=Hello',\r\n success(result) {\r\n console.log('navigateTo success', result.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n fail(error) {\r\n console.log('navigateTo fail', error.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum - 1)\r\n },\r\n complete(result) {\r\n console.log('navigateTo complete', result.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n })\r\n },\r\n navigateToAnimationType(animationType : AnimationType) {\r\n uni.navigateTo({\r\n url: '/pages/API/navigator/new-page/new-page-1?data=Hello',\r\n animationType: animationType,\r\n success(result) {\r\n console.log('navigateTo success', result.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n fail(error) {\r\n console.log('navigateTo fail', error.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum - 1)\r\n },\r\n complete(result) {\r\n console.log('navigateTo complete', result.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n })\r\n },\r\n navigateToErrorPage() {\r\n uni.navigateTo({\r\n url: '/pages/error-page/error-page',\r\n success(result) {\r\n console.log('navigateTo success', result.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum - 1)\r\n },\r\n fail(error) {\r\n console.log('navigateTo fail', error.errMsg)\r\n uni.showToast({\r\n title: error.errMsg,\r\n icon: 'none',\r\n })\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n complete(result) {\r\n console.log('navigateTo complete', result.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n })\r\n },\r\n navigateToDebounce() {\r\n uni.navigateTo({\r\n url: '/pages/API/navigator/new-page/new-page-1?data=debounce',\r\n success(result) {\r\n console.log('navigateTo success', result.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n fail(error) {\r\n console.log('navigateTo fail', error.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum - 1)\r\n },\r\n complete(result) {\r\n console.log('navigateTo complete', result.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n })\r\n uni.navigateTo({\r\n url: '/pages/API/navigator/new-page/new-page-1?data=debounce',\r\n success(result) {\r\n console.log('navigateTo success', result.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum - 1)\r\n },\r\n fail(error) {\r\n console.log('navigateTo fail', error.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n complete(result) {\r\n console.log('navigateTo complete', result.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n })\r\n },\r\n // 自动化测试\r\n navigateToRelativePath1() {\r\n uni.navigateTo({\r\n url: 'new-page/new-page-1?data=new-page/new-page-1',\r\n success() {\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n fail() {\r\n setLifeCycleNum(state.lifeCycleNum - 1)\r\n },\r\n complete() {\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n })\r\n },\r\n // 自动化测试\r\n navigateToRelativePath2() {\r\n uni.navigateTo({\r\n url: './new-page/new-page-1?data=./new-page/new-page-1',\r\n success() {\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n fail() {\r\n setLifeCycleNum(state.lifeCycleNum - 1)\r\n },\r\n complete() {\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n })\r\n },\r\n // 自动化测试\r\n navigateToRelativePath3() {\r\n uni.navigateTo({\r\n url: '../navigator/new-page/new-page-1?data=../navigator/new-page/new-page-1',\r\n success() {\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n fail() {\r\n setLifeCycleNum(state.lifeCycleNum - 1)\r\n },\r\n complete() {\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n })\r\n },\r\n navigateBack() {\r\n uni.navigateBack({\r\n success(result) {\r\n console.log('navigateBack success', result.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n fail(error) {\r\n console.log('navigateBack fail', error.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum - 1)\r\n },\r\n complete(result) {\r\n console.log('navigateBack complete', result.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n })\r\n },\r\n navigateBackWithDelta1() {\r\n uni.navigateTo({\r\n url: '/pages/API/navigator/new-page/new-page-1',\r\n success() {\r\n uni.navigateBack({\r\n delta: 1,\r\n success(result) {\r\n console.log('navigateBack success', result.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n fail(error) {\r\n console.log('navigateBack fail', error.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum - 1)\r\n },\r\n complete(result) {\r\n console.log('navigateBack complete', result.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n })\r\n },\r\n })\r\n },\r\n navigateBackWithDelta100() {\r\n uni.navigateTo({\r\n url: '/pages/API/navigator/new-page/new-page-1',\r\n success() {\r\n uni.navigateBack({\r\n delta: 100,\r\n success(result) {\r\n console.log('navigateBack success', result.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n fail(error) {\r\n console.log('navigateBack fail', error.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum - 1)\r\n },\r\n complete(result) {\r\n console.log('navigateBack complete', result.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n })\r\n },\r\n })\r\n },\r\n redirectTo() {\r\n uni.redirectTo({\r\n url: '/pages/API/navigator/new-page/new-page-1?data=Hello',\r\n success(result) {\r\n console.log('redirectTo success', result.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n fail(error) {\r\n console.log('redirectTo fail', error.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum - 1)\r\n },\r\n complete(result) {\r\n console.log('redirectTo complete', result.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n })\r\n },\r\n switchTab() {\r\n uni.switchTab({\r\n url: '/pages/tabBar/template',\r\n success(result) {\r\n console.log('switchTab success', result.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n fail(error) {\r\n console.log('switchTab fail', error.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum - 1)\r\n },\r\n complete(result) {\r\n console.log('switchTab complete', result.errMsg)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n })\r\n },\r\n // 自动化测试\r\n getLifeCycleNum() : number {\r\n return state.lifeCycleNum\r\n },\r\n // 自动化测试\r\n setLifeCycleNum(num : number) {\r\n setLifeCycleNum(num)\r\n },\r\n },\r\n }\r\n\n```\n\n:::"},"openDialogPage":{"name":"## uni.openDialogPage(options) @opendialogpage","description":"打开模态弹窗页面","compatibility":"### openDialogPage 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.31 | 4.31 | 4.31 | 4.31 | 4.31 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **OpenDialogPageOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| url | string ([string.PageURIString](/uts/data-type.md#ide-string)) | 是 | - | | 需要跳转的应用内非 tabBar 的页面的路径 , 路径后可以带参数 |\n@| animationType | string | 否 | - | | 窗口显示的动画类型
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| auto | - | 自动选择动画效果 |\n@@| none | - | 无动画效果 |\n@@| slide-in-right | - | 从右侧横向滑动效果 |\n@@| slide-in-left | - | 左侧横向滑动效果 |\n@@| slide-in-top | - | 从上侧竖向滑动效果 |\n@@| slide-in-bottom | - | 从下侧竖向滑动效果 |\n@@| fade-in | - | 从透明到不透明逐渐显示效果 |\n@@| zoom-out | - | 从小到大逐渐放大显示效果 |\n@@| zoom-fade-out | - | 从小到大逐渐放大并且从透明到不透明逐渐显示效果 |\n@| animationDuration | number | 否 | - | | 窗口关闭动画的持续时间,单位为 ms |\n@| disableEscBack | boolean | 否 | - | | 是否禁用按键盘 ESC 时关闭 |\n@| parentPage | [UniPage](#unipage-values) | 否 | - | | 要绑定的父级页面实例 |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| route | string | 是 | - | | 页面的路由地址 |\n@@| options | UTSJSONObject | 是 | - | | 页面的路由参数信息 |\n@@| vm | ComponentPublicInstance | 否 | - | | UniPage vue 实例对象 |\n@@| ~~$vm~~ | ComponentPublicInstance | 否 | - | | UniPage vue 实例对象 **已废弃,仅为了向下兼容保留** |\n@| success | (result: [AsyncApiSuccessResult](#asyncapisuccessresult-values)) => void | 否 | - | | 接口调用成功的回调函数 |\n@| fail | (result: [OpenDialogPageFail](#opendialogpagefail-values)) => void | 否 | - | | 接口调用失败的回调函数 |\n@| complete | (result: [AsyncApiResult](#asyncapiresult-values)) => void | 否 | - | | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### UniPage 的方法 @unipage-values \n\n#### getPageStyle(): UTSJSONObject @getpagestyle\n获取当前页面样式。详细属性配置请参考PageStyle\n##### getPageStyle 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.31 | 4.31 | 4.31 | 4.31 |\n\n\n##### 返回值 \n\n| 类型 |\n| :- |\n| UTSJSONObject |\n \n\n#### setPageStyle(style: UTSJSONObject): void @setpagestyle\n设置当前页面样式。详细属性配置请参考PageStyle\n##### setPageStyle 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.31 | 4.31 | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| style | UTSJSONObject | 是 | - | - | - | \n\n\n#### getParentPage(): UniPage \\| null @getparentpage\n用于 dialogPage 获取所属父页面\n##### getParentPage 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.31 | 4.31 | 4.31 | 4.31 |\n\n\n##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniPage](#unipage-values) | 否 |\n \n\n#### getDialogPages(): UniPage[\\] @getdialogpages\n获取当前页面的 dialog 子页面集合\n##### getDialogPages 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.31 | 4.31 | 4.31 | 4.31 |\n\n\n##### 返回值 \n\n| 类型 |\n| :- |\n| Array\\<[UniPage](#unipage-values)\\> |\n \n\n#### getElementById(id: string.IDString \\| string): UniElement \\| null @getelementbyid\n返回一个匹配特定 ID 的元素, 如果不存在,返回 null。\\\n如果需要获取指定的节点类型,需要使用 as 进行类型转换。\\\nID 区分大小写,且应该是唯一的。如果存在多个匹配的元素,则返回第一个匹配的元素。\n\n##### getElementById 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.31 | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| id | [string.IDString](/uts/data-type.md#ide-string) \\\\| string | 是 | - | - | - | \n\n##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniElement](/dom/unielement.md) | 否 |\n \n\n#### getAndroidView(): View \\| null @getandroidview\n返回 android 平台页面根 view\n\n##### getAndroidView 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.31 | x |\n\n\n##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| View | 否 |\n \n\n#### getIOSView(): UIView \\| null @getiosview\n返回 ios 平台页面根 view\n\n##### getIOSView 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| x | x | x | 4.33 |\n\n\n##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| UIView | 否 |\n \n\n#### getHTMLElement(): UniElement \\| null @gethtmlelement\n返回页面 HTML Element 对象\n\n##### getHTMLElement 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.31 | x | x |\n\n\n##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniElement](/dom/unielement.md) | 否 |\n \n\n#### ~~$setPageStyle(style: UTSJSONObject): void~~ @$setpagestyle\n设置当前页面样式。详细属性配置请参考PageStyle **已废弃,仅为了向下兼容保留**\n##### $setPageStyle 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.13 | 4.13 | 4.13 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| style | UTSJSONObject | 是 | - | - | - | \n\n\n#### ~~$getPageStyle(): UTSJSONObject~~ @$getpagestyle\n获取当前页面样式。详细属性配置请参考PageStyle **已废弃,仅为了向下兼容保留**\n##### $getPageStyle 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.13 | 4.13 | 4.13 |\n\n\n##### 返回值 \n\n| 类型 |\n| :- |\n| UTSJSONObject |\n \n\n#### OpenDialogPageFail 的属性值 @opendialogpagefail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 路由错误码
- 4: 框架内部异常 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n#### AsyncApiResult 的属性值 @asyncapiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniPage](#unipage-values) | 否 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| route | string | 是 | - | | 页面的路由地址 |\n@| options | UTSJSONObject | 是 | - | | 页面的路由参数信息 |\n@| vm | ComponentPublicInstance | 否 | - | | UniPage vue 实例对象 |\n@| ~~$vm~~ | ComponentPublicInstance | 否 | - | | UniPage vue 实例对象 **已废弃,仅为了向下兼容保留** |\n#### UniPage 的方法 @unipage-values \n\n#### getPageStyle(): UTSJSONObject @getpagestyle\n获取当前页面样式。详细属性配置请参考PageStyle\n##### getPageStyle 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.31 | 4.31 | 4.31 | 4.31 |\n\n\n##### 返回值 \n\n| 类型 |\n| :- |\n| UTSJSONObject |\n \n\n#### setPageStyle(style: UTSJSONObject): void @setpagestyle\n设置当前页面样式。详细属性配置请参考PageStyle\n##### setPageStyle 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.31 | 4.31 | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| style | UTSJSONObject | 是 | - | - | - | \n\n\n#### getParentPage(): UniPage \\| null @getparentpage\n用于 dialogPage 获取所属父页面\n##### getParentPage 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.31 | 4.31 | 4.31 | 4.31 |\n\n\n##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniPage](#unipage-values) | 否 |\n \n\n#### getDialogPages(): UniPage[\\] @getdialogpages\n获取当前页面的 dialog 子页面集合\n##### getDialogPages 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.31 | 4.31 | 4.31 | 4.31 |\n\n\n##### 返回值 \n\n| 类型 |\n| :- |\n| Array\\<[UniPage](#unipage-values)\\> |\n \n\n#### getElementById(id: string.IDString \\| string): UniElement \\| null @getelementbyid\n返回一个匹配特定 ID 的元素, 如果不存在,返回 null。\\\n如果需要获取指定的节点类型,需要使用 as 进行类型转换。\\\nID 区分大小写,且应该是唯一的。如果存在多个匹配的元素,则返回第一个匹配的元素。\n\n##### getElementById 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.31 | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| id | [string.IDString](/uts/data-type.md#ide-string) \\\\| string | 是 | - | - | - | \n\n##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniElement](/dom/unielement.md) | 否 |\n \n\n#### getAndroidView(): View \\| null @getandroidview\n返回 android 平台页面根 view\n\n##### getAndroidView 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.31 | x |\n\n\n##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| View | 否 |\n \n\n#### getIOSView(): UIView \\| null @getiosview\n返回 ios 平台页面根 view\n\n##### getIOSView 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| x | x | x | 4.33 |\n\n\n##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| UIView | 否 |\n \n\n#### getHTMLElement(): UniElement \\| null @gethtmlelement\n返回页面 HTML Element 对象\n\n##### getHTMLElement 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.31 | x | x |\n\n\n##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniElement](/dom/unielement.md) | 否 |\n \n\n#### ~~$setPageStyle(style: UTSJSONObject): void~~ @$setpagestyle\n设置当前页面样式。详细属性配置请参考PageStyle **已废弃,仅为了向下兼容保留**\n##### $setPageStyle 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.13 | 4.13 | 4.13 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| style | UTSJSONObject | 是 | - | - | - | \n\n\n#### ~~$getPageStyle(): UTSJSONObject~~ @$getpagestyle\n获取当前页面样式。详细属性配置请参考PageStyle **已废弃,仅为了向下兼容保留**\n##### $getPageStyle 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.13 | 4.13 | 4.13 |\n\n\n##### 返回值 \n\n| 类型 |\n| :- |\n| UTSJSONObject |\n \n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.page.dialogPage.openDialogPage)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=openDialogPage&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=openDialogPage&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=openDialogPage&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=openDialogPage&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=openDialogPage&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=openDialogPage)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=openDialogPage&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"closeDialogPage":{"name":"## uni.closeDialogPage(options?) @closedialogpage","description":"关闭模态弹窗页面\r\n","compatibility":"### closeDialogPage 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.31 | 4.31 | 4.31 | 4.31 | 4.31 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **CloseDialogPageOptions** | 否 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| dialogPage | [UniPage](#unipage-values) | 否 | - | | 要关闭的 dialogPage 实例 |\n@| animationType | string | 否 | - | | 窗口关闭的动画类型
- auto: 自动选择动画效果
- none: 无动画效果
- slide-out-right: 横向向右侧滑出屏幕动画
- slide-out-left: 横向向左侧滑出屏幕动画
- slide-out-top: 竖向向上侧滑出屏幕动画
- slide-out-bottom: 竖向向下侧滑出屏幕动画
- fade-out: 从不透明到透明逐渐隐藏动画
- zoom-in: 从大逐渐缩小关闭动画
- zoom-fade-in: 从大逐渐缩小并且从不透明到透明逐渐隐藏关闭动画
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| auto | - | 自动选择动画效果 |\n@@| none | - | 无动画效果 |\n@@| slide-out-right | - | 横向向右侧滑出屏幕动画 |\n@@| slide-out-left | - | 横向向左侧滑出屏幕动画 |\n@@| slide-out-top | - | 竖向向上侧滑出屏幕动画 |\n@@| slide-out-bottom | - | 竖向向下侧滑出屏幕动画 |\n@@| fade-out | - | 从不透明到透明逐渐隐藏动画 |\n@@| zoom-in | - | 从大逐渐缩小关闭动画 |\n@@| zoom-fade-in | - | 从大逐渐缩小并且从不透明到透明逐渐隐藏关闭动画 |\n@| animationDuration | number | 否 | - | | 窗口关闭动画的持续时间,单位为 ms |\n@| success | (result: [AsyncApiSuccessResult](#asyncapisuccessresult-values)) => void | 否 | - | | 接口调用成功的回调函数 |\n@| fail | (result: [CloseDialogPageFail](#closedialogpagefail-values)) => void | 否 | - | | 接口调用失败的回调函数 |\n@| complete | (result: [AsyncApiResult](#asyncapiresult-values)) => void | 否 | - | | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### AsyncApiSuccessResult 的属性值 @asyncapisuccessresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n\n#### CloseDialogPageFail 的属性值 @closedialogpagefail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 路由错误码
- 4: 框架内部异常 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n#### AsyncApiResult 的属性值 @asyncapiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| null |\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.page.dialogPage.closeDialogPage)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=closeDialogPage&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=closeDialogPage&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=closeDialogPage&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=closeDialogPage&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=closeDialogPage&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=closeDialogPage)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=closeDialogPage&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"dialogPage":{"example":"## 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/dialog-page/dialog-page.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/dialog-page/dialog-page\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/dialog-page/dialog-page\n\n>Template\n```vue\n\r\n\r\n\r\n\n```\n\n>Script\n```uts\n\r\n import {\r\n state,\r\n setLifeCycleNum\r\n } from '@/store/index.uts'\r\n\r\n export default {\n data() {\n return {\n jest_click_x: -1,\n jest_click_y: -1\n }\n },\r\n onLoad() {\r\n console.log('dialogPage parent onLoad')\r\n },\r\n onShow() {\r\n console.log('dialogPage parent onShow')\r\n setLifeCycleNum(state.lifeCycleNum + 10)\r\n },\r\n onReady() {\r\n console.log('dialogPage parent onReady')\r\n },\r\n onHide() {\r\n console.log('dialogPage parent onHide')\r\n setLifeCycleNum(state.lifeCycleNum - 10)\r\n },\r\n onUnload() {\r\n console.log('dialogPage parent onUnload')\r\n },\r\n methods: {\r\n goNextPage() {\r\n uni.navigateTo({\r\n url: '/pages/API/dialog-page/next-page'\r\n })\r\n },\r\n openDialog1() {\r\n uni.openDialogPage({\r\n url: '/pages/API/dialog-page/dialog-1?name=dialog1',\r\n success(res) {\r\n console.log('openDialogPage1 success', res)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n fail(err) {\r\n console.log('openDialogPage1 fail', err)\r\n setLifeCycleNum(state.lifeCycleNum - 4)\r\n },\r\n complete(res) {\r\n console.log('openDialogPage1 complete', res)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n }\r\n })\r\n },\r\n openDialog2() {\r\n uni.openDialogPage({\r\n url: '/pages/API/dialog-page/dialog-2',\r\n disableEscBack: true,\r\n success(res) {\r\n console.log('openDialog2 success', res)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n fail(err) {\r\n console.log('openDialog2 fail', err)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum - 4)\r\n },\r\n complete(res) {\r\n console.log('openDialog2 complete', res)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n }\r\n })\r\n },\r\n openDialog1WrongPath() {\r\n uni.openDialogPage({\r\n url: '/pages/API/dialog-page/dialog-11?name=dialog1',\r\n success(res) {\r\n console.log('openDialogPage1 success', res)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n fail(err) {\r\n console.log('openDialogPage1 fail', err)\r\n setLifeCycleNum(state.lifeCycleNum - 4)\r\n },\r\n complete(res) {\r\n console.log('openDialogPage1 complete', res)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n }\r\n })\r\n },\r\n goNextPageOpenDialog1() {\r\n uni.navigateTo({\r\n url: '/pages/API/dialog-page/next-page',\r\n success() {\r\n setTimeout(() => {\r\n uni.openDialogPage({\r\n url: '/pages/API/dialog-page/dialog-1?name=dialog1',\r\n success(res) {\r\n console.log('openDialogPage1 success', res)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n fail(err) {\r\n console.log('openDialogPage1 fail', err)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum - 4)\r\n },\r\n complete(res) {\r\n console.log('openDialogPage1 complete', res)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n }\r\n })\r\n }, 1000)\r\n }\r\n })\r\n },\r\n closeDialog() {\r\n uni.closeDialogPage({\r\n success(res) {\r\n console.log('closeDialog success', res)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n fail(err) {\r\n console.log('closeDialog fail', err)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum - 4)\r\n },\r\n complete(res) {\r\n console.log('closeDialog complete', res)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n }\r\n })\r\n },\r\n closeSpecifiedDialog(index: number) {\r\n const dialogPages = this.$page.getDialogPages()\r\n uni.closeDialogPage({\r\n dialogPage: dialogPages[index],\r\n success(res) {\r\n console.log('closeSomeOneDialog success', res)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n fail(err) {\r\n console.log('closeSomeOneDialog fail', err)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum - 4)\r\n },\r\n complete(res) {\r\n console.log('closeSomeOneDialog complete', res)\r\n // 自动化测试\r\n setLifeCycleNum(state.lifeCycleNum + 1)\r\n }\r\n })\r\n },\r\n setLifeCycleNum(value: number) {\r\n setLifeCycleNum(value)\r\n },\r\n getLifeCycleNum(): number {\r\n return state.lifeCycleNum\r\n },\n jest_OpenDialog1(){\n uni.openDialogPage({\n url: '/pages/API/dialog-page/dialog-1?name=dialog1'\n })\n },\n jest_CloseDialog1(){\n uni.closeDialogPage({})\n },\n jest_getTapPoint(){\n const systemInfo = uni.getSystemInfoSync()\n let ratio = 1\n if (systemInfo.platform == 'android'){\n ratio = systemInfo.devicePixelRatio\n }\n this.jest_click_x = systemInfo.screenWidth / 2 * ratio\n this.jest_click_y = systemInfo.statusBarHeight * ratio + 10\n },\n openDialog2ForTest() {\n uni.openDialogPage({\n url: '/pages/API/dialog-page/dialog-2'\n });\n },\n closeDialog2ForTest() {\n uni.closeDialogPage({});\n },\n setPageStyleForTest(style : UTSJSONObject) {\n const pages = this.$page.getDialogPages();\n if (pages.length > 0) pages[pages.length - 1].setPageStyle(style);\n }\r\n }\r\n }\r\n\n```\n\n:::"},"setNavigationBarColor":{"name":"## uni.setNavigationBarColor(options) @setnavigationbarcolor","description":"设置导航条、状态栏颜色\n","compatibility":"### setNavigationBarColor 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | √ | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **SetNavigationBarColorOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| frontColor | string | 是 | - | | 前景颜色值,包括按钮、标题、状态栏的颜色,仅支持 #ffffff 和 #000000 |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| #ffffff | - | - |\n@@| #000000 | - | - |\n@| backgroundColor | [string.ColorString](/uts/data-type.md#ide-string) | 是 | - | | 背景颜色值,有效值为十六进制颜色 |\n@| success | (result: [AsyncApiSuccessResult](#asyncapisuccessresult-values)) => void | 否 | - | | 接口调用成功的回调函数 |\n@| fail | (error: [SetNavigationBarColorFail](#setnavigationbarcolorfail-values)) => void | 否 | - | | 接口调用失败的回调函数 |\n@| complete | (res: [AsyncApiResult](#asyncapiresult-values)) => void | 否 | - | | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### AsyncApiSuccessResult 的属性值 @asyncapisuccessresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n\n#### SetNavigationBarColorFail 的属性值 @setnavigationbarcolorfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 设置导航栏字体颜色错误码
- 4: 框架内部异常 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n#### AsyncApiResult 的属性值 @asyncapiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Promise\\<**AsyncApiSuccessResult**> | 否 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| errMsg | string | 是 | - | - | - | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.page.setNavigationBarColor)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/navigationbar.html#setnavigationbarcolor)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=setNavigationBarColor&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=setNavigationBarColor&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=setNavigationBarColor&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=setNavigationBarColor&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=setNavigationBarColor&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=setNavigationBarColor)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=setNavigationBarColor&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/set-navigation-bar-color/set-navigation-bar-color.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/set-navigation-bar-color/set-navigation-bar-color\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/set-navigation-bar-color/set-navigation-bar-color\n\n>Template\n```vue\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n import { state, setLifeCycleNum } from '@/store/index.uts'\r\n\r\n export default {\r\n methods: {\r\n setNavigationBarColor1() {\r\n uni.setNavigationBarColor({\r\n frontColor: '#ffffff',\r\n backgroundColor: '#00ff00',\r\n success: () => {\r\n console.log('setNavigationBarColor success')\r\n this.setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n fail: () => {\r\n console.log('setNavigationBarColor fail')\r\n this.setLifeCycleNum(state.lifeCycleNum - 1)\r\n },\r\n complete: () => {\r\n console.log('setNavigationBarColor complete')\r\n this.setLifeCycleNum(state.lifeCycleNum + 1)\r\n }\r\n })\r\n },\r\n setNavigationBarColor2() {\r\n uni.setNavigationBarColor({\r\n frontColor: '#000000',\r\n backgroundColor: '#ff0000',\r\n success: () => {\r\n console.log('setNavigationBarColor success')\r\n this.setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n fail: () => {\r\n console.log('setNavigationBarColor fail')\r\n this.setLifeCycleNum(state.lifeCycleNum - 1)\r\n },\r\n complete: () => {\r\n console.log('setNavigationBarColor complete')\r\n this.setLifeCycleNum(state.lifeCycleNum + 1)\r\n }\r\n })\r\n },\r\n // 自动化测试\r\n getLifeCycleNum() : number {\r\n return state.lifeCycleNum\r\n },\r\n // 自动化测试\r\n setLifeCycleNum(num : number) {\r\n setLifeCycleNum(num)\r\n },\r\n goNavbarLite() {\r\n uni.navigateTo({\r\n url: '/pages/template/navbar-lite/navbar-lite'\r\n })\r\n }\r\n },\r\n }\r\n\n```\n\n:::"},"setNavigationBarTitle":{"name":"## uni.setNavigationBarTitle(options) @setnavigationbartitle","description":"动态设置当前页面的标题\n","compatibility":"### setNavigationBarTitle 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.97 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **SetNavigationBarTitleOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| title | string | 是 | - | | 页面标题 |\n@| success | (result: [AsyncApiSuccessResult](#asyncapisuccessresult-values)) => void | 否 | - | | 接口调用成功的回调函数 |\n@| fail | (error: [SetNavigationBarTitleFail](#setnavigationbartitlefail-values)) => void | 否 | - | | 接口调用失败的回调函数 |\n@| complete | (res: [AsyncApiResult](#asyncapiresult-values)) => void | 否 | - | | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### SetNavigationBarTitleFail 的属性值 @setnavigationbartitlefail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 设置导航栏标题错误码
- 4: 框架内部异常 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n#### AsyncApiResult 的属性值 @asyncapiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Promise\\<**AsyncApiSuccessResult**> | 否 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| errMsg | string | 是 | - | - | - | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.page.setNavigationBarTitle)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/navigationbar.html#setnavigationbartitle)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=setNavigationBarTitle&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=setNavigationBarTitle&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=setNavigationBarTitle&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=setNavigationBarTitle&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=setNavigationBarTitle&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=setNavigationBarTitle)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=setNavigationBarTitle&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/set-navigation-bar-title/set-navigation-bar-title.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/set-navigation-bar-title/set-navigation-bar-title\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/set-navigation-bar-title/set-navigation-bar-title\n\n>Template\n```vue\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n import { state, setLifeCycleNum } from '@/store/index.uts'\r\n\r\n export default {\r\n data() {\r\n return {\r\n newTitle: 'new title',\r\n longTitle: 'long title long title long title long title long title long title long title long title long title long title'\r\n }\r\n },\r\n methods: {\r\n setNavigationBarNewTitle() {\r\n uni.setNavigationBarTitle({\r\n title: this.newTitle,\r\n success: () => {\r\n console.log('setNavigationBarTitle success')\r\n this.setLifeCycleNum(state.lifeCycleNum + 1)\r\n },\r\n fail: () => {\r\n console.log('setNavigationBarTitle fail')\r\n this.setLifeCycleNum(state.lifeCycleNum - 1)\r\n },\r\n complete: () => {\r\n console.log('setNavigationBarTitle complete')\r\n this.setLifeCycleNum(state.lifeCycleNum + 1)\r\n }\r\n })\r\n },\r\n setNavigationBarLongTitle() {\r\n uni.setNavigationBarTitle({\r\n title: this.longTitle,\r\n success() {\r\n console.log('setNavigationBarTitle success')\r\n },\r\n fail() {\r\n console.log('setNavigationBarTitle fail')\r\n },\r\n complete() {\r\n console.log('setNavigationBarTitle complete')\r\n }\r\n })\r\n },\r\n // 自动化测试\r\n getLifeCycleNum() : number {\r\n return state.lifeCycleNum\r\n },\r\n // 自动化测试\r\n setLifeCycleNum(num : number) {\r\n setLifeCycleNum(num)\r\n }\r\n },\r\n }\r\n\n```\n\n:::"},"showTabBar":{"name":"## uni.showTabBar(options?) @showtabbar","description":"显示 tabBar\n","compatibility":"### showTabBar 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.91 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **ShowTabBarOptions** | 否 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| animation | boolean | 否 | - | - | 是否需要动画效果 |\n@| success | (result: [AsyncApiSuccessResult](#asyncapisuccessresult-values)) => void | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (result: [SetTabBarFail](#settabbarfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (result: [AsyncApiResult](#asyncapiresult-values)) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### SetTabBarFail 的属性值 @settabbarfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 100 | - | TabBar 不存在 |\n@| 200 | - | 参数错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n#### AsyncApiResult 的属性值 @asyncapiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Promise\\<**AsyncApiSuccessResult**> | 否 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| errMsg | string | 是 | - | - | - | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.page.setTabBar.showTabBar)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/tabbar.html#showtabbar)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=showTabBar&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=showTabBar&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=showTabBar&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=showTabBar&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=showTabBar&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=showTabBar)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=showTabBar&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"hideTabBar":{"name":"## uni.hideTabBar(options?) @hidetabbar","description":"隐藏 tabBar\n","compatibility":"### hideTabBar 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.91 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **HideTabBarOptions** | 否 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| animation | boolean | 否 | - | - | 是否需要动画效果 |\n@| success | (result: [AsyncApiSuccessResult](#asyncapisuccessresult-values)) => void | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (result: [SetTabBarFail](#settabbarfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (result: [AsyncApiResult](#asyncapiresult-values)) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### SetTabBarFail 的属性值 @settabbarfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 100 | - | TabBar 不存在 |\n@| 200 | - | 参数错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n#### AsyncApiResult 的属性值 @asyncapiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Promise\\<**AsyncApiSuccessResult**> | 否 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| errMsg | string | 是 | - | - | - | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.page.setTabBar.hideTabBar)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/tabbar.html#hidetabbar)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=hideTabBar&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=hideTabBar&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=hideTabBar&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=hideTabBar&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=hideTabBar&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=hideTabBar)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=hideTabBar&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"showTabBarRedDot":{"name":"## uni.showTabBarRedDot(options) @showtabbarreddot","description":"显示 tabBar 某一项的右上角的红点\n","compatibility":"### showTabBarRedDot 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.91 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **ShowTabBarRedDotOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| index | number | 是 | - | - | tabBar的哪一项,从左边算起,索引从0开始 |\n@| success | (result: [AsyncApiSuccessResult](#asyncapisuccessresult-values)) => void | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (result: [SetTabBarFail](#settabbarfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (result: [AsyncApiResult](#asyncapiresult-values)) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### SetTabBarFail 的属性值 @settabbarfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 100 | - | TabBar 不存在 |\n@| 200 | - | 参数错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n#### AsyncApiResult 的属性值 @asyncapiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Promise\\<**AsyncApiSuccessResult**> | 否 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| errMsg | string | 是 | - | - | - | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.page.setTabBar.showTabBarRedDot)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/tabbar.html#showtabbarreddot)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=showTabBarRedDot&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=showTabBarRedDot&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=showTabBarRedDot&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=showTabBarRedDot&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=showTabBarRedDot&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=showTabBarRedDot)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=showTabBarRedDot&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"hideTabBarRedDot":{"name":"## uni.hideTabBarRedDot(options) @hidetabbarreddot","description":"隐藏 tabBar 某一项的右上角的红点\n","compatibility":"### hideTabBarRedDot 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.91 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **HideTabBarRedDotOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| index | number | 是 | - | - | tabBar的哪一项,从左边算起,索引从0开始 |\n@| success | (result: [AsyncApiSuccessResult](#asyncapisuccessresult-values)) => void | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (result: [SetTabBarFail](#settabbarfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (result: [AsyncApiResult](#asyncapiresult-values)) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### SetTabBarFail 的属性值 @settabbarfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 100 | - | TabBar 不存在 |\n@| 200 | - | 参数错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n#### AsyncApiResult 的属性值 @asyncapiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Promise\\<**AsyncApiSuccessResult**> | 否 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| errMsg | string | 是 | - | - | - | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.page.setTabBar.hideTabBarRedDot)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/tabbar.html#hidetabbarreddot)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=hideTabBarRedDot&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=hideTabBarRedDot&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=hideTabBarRedDot&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=hideTabBarRedDot&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=hideTabBarRedDot&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=hideTabBarRedDot)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=hideTabBarRedDot&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"setTabBarBadge":{"name":"## uni.setTabBarBadge(options) @settabbarbadge","description":"为 tabBar 某一项的右上角添加文本\n","compatibility":"### setTabBarBadge 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.91 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **SetTabBarBadgeOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| index | number | 是 | - | - | tabBar的哪一项,从左边算起,索引从0开始 |\n@| text | string | 是 | - | - | 显示的文本,不超过 3 个半角字符 |\n@| success | (result: [AsyncApiSuccessResult](#asyncapisuccessresult-values)) => void | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (result: [SetTabBarFail](#settabbarfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (result: [AsyncApiResult](#asyncapiresult-values)) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### SetTabBarFail 的属性值 @settabbarfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 100 | - | TabBar 不存在 |\n@| 200 | - | 参数错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n#### AsyncApiResult 的属性值 @asyncapiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Promise\\<**AsyncApiSuccessResult**> | 否 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| errMsg | string | 是 | - | - | - | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.page.setTabBar.setTabBarBadge)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/tabbar.html#settabbarbadge)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=setTabBarBadge&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=setTabBarBadge&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=setTabBarBadge&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=setTabBarBadge&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=setTabBarBadge&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=setTabBarBadge)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=setTabBarBadge&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"removeTabBarBadge":{"name":"## uni.removeTabBarBadge(options) @removetabbarbadge","description":"移除 tabBar 某一项右上角的文本\n","compatibility":"### removeTabBarBadge 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.91 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **RemoveTabBarBadgeOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| index | number | 是 | - | - | tabBar的哪一项,从左边算起,索引从0开始 |\n@| success | (result: [AsyncApiSuccessResult](#asyncapisuccessresult-values)) => void | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (result: [SetTabBarFail](#settabbarfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (result: [AsyncApiResult](#asyncapiresult-values)) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### SetTabBarFail 的属性值 @settabbarfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 100 | - | TabBar 不存在 |\n@| 200 | - | 参数错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n#### AsyncApiResult 的属性值 @asyncapiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Promise\\<**AsyncApiSuccessResult**> | 否 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| errMsg | string | 是 | - | - | - | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.page.setTabBar.removeTabBarBadge)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/tabbar.html#removetabbarbadge)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=removeTabBarBadge&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=removeTabBarBadge&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=removeTabBarBadge&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=removeTabBarBadge&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=removeTabBarBadge&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=removeTabBarBadge)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=removeTabBarBadge&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"setTabBarStyle":{"name":"## uni.setTabBarStyle(options) @settabbarstyle","description":"动态设置 tabBar 的整体样式\n","compatibility":"### setTabBarStyle 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.91 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **SetTabBarStyleOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| color | string ([string.ColorString](/uts/data-type.md#ide-string)) | 否 | - | - | tab 上的文字默认颜色 |\n@| selectedColor | string ([string.ColorString](/uts/data-type.md#ide-string)) | 否 | - | - | tab 上的文字选中时的颜色 |\n@| backgroundColor | string ([string.ColorString](/uts/data-type.md#ide-string)) | 否 | - | - | tab 的背景色 |\n@| backgroundImage | string | 否 | - | - | 图片背景 |\n@| backgroundRepeat | string | 否 | - | - | 背景图平铺方式 |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| repeat | - | 背景图片在垂直方向和水平方向平铺 |\n@@| repeat-x | - | 背景图片在水平方向平铺,垂直方向拉伸 |\n@@| repeat-y | - | 背景图片在垂直方向平铺,水平方向拉伸 |\n@@| no-repeat | - | 背景图片在垂直方向和水平方向都拉伸 |\n@| borderColor | string ([string.ColorString](/uts/data-type.md#ide-string)) | 否 | - | | tabbar上边框的颜色(优先级高于 borderStyle) |\n@| borderStyle | string | 否 | - | - | tabbar上边框的颜色 |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| black | - | - |\n@@| white | - | - |\n@| success | (result: [AsyncApiSuccessResult](#asyncapisuccessresult-values)) => void | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (result: [SetTabBarFail](#settabbarfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (result: [AsyncApiResult](#asyncapiresult-values)) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### SetTabBarFail 的属性值 @settabbarfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 100 | - | TabBar 不存在 |\n@| 200 | - | 参数错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n#### AsyncApiResult 的属性值 @asyncapiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Promise\\<**AsyncApiSuccessResult**> | 否 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| errMsg | string | 是 | - | - | - | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.page.setTabBar.setTabBarStyle)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/tabbar.html#settabbarstyle)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=setTabBarStyle&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=setTabBarStyle&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=setTabBarStyle&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=setTabBarStyle&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=setTabBarStyle&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=setTabBarStyle)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=setTabBarStyle&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"setTabBarItem":{"name":"## uni.setTabBarItem(options) @settabbaritem","description":"动态设置 tabBar 某一项的内容\n","compatibility":"### setTabBarItem 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.91 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **SetTabBarItemOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| index | number | 是 | - | - | tabBar 的哪一项,从左边算起,索引从0开始 |\n@| text | string | 否 | - | - | tab 上按钮文字 |\n@| iconPath | string | 否 | - | - | 图片路径 |\n@| selectedIconPath | string | 否 | - | - | 选中时的图片路径 |\n@| pagePath | string | 否 | - | - | 页面绝对路径 |\n@| iconfont | **SetTabBarItemIconFontOptions** | 否 | - | - | 字体图标,优先级高于 iconPath |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| text | string | 是 | - | - | 字库 Unicode 码 |\n@@| selectedText | string | 是 | - | - | 选中后字库 Unicode 码 |\n@@| fontSize | string | 否 | - | - | 字体图标字号(px) |\n@@| color | string | 否 | - | - | 字体图标颜色 |\n@@| selectedColor | string | 否 | - | - | 字体图标选中颜色 |\n@| visible | boolean | 否 | - | - | tab 是否显示 |\n@| success | (result: [AsyncApiSuccessResult](#asyncapisuccessresult-values)) => void | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (result: [SetTabBarFail](#settabbarfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (result: [AsyncApiResult](#asyncapiresult-values)) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### SetTabBarFail 的属性值 @settabbarfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 100 | - | TabBar 不存在 |\n@| 200 | - | 参数错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n#### AsyncApiResult 的属性值 @asyncapiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Promise\\<**AsyncApiSuccessResult**> | 否 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| errMsg | string | 是 | - | - | - | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.page.setTabBar.setTabBarItem)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/tabbar.html#settabbaritem)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=setTabBarItem&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=setTabBarItem&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=setTabBarItem&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=setTabBarItem&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=setTabBarItem&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=setTabBarItem)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=setTabBarItem&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"startPullDownRefresh":{"name":"## uni.startPullDownRefresh(options?) @startpulldownrefresh","description":"开始下拉刷新\n","compatibility":"### startPullDownRefresh 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.91 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **StartPullDownRefreshOptions** | 否 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (result: [AsyncApiSuccessResult](#asyncapisuccessresult-values)) => void | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (result: [StartPullDownRefreshFail](#startpulldownrefreshfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (result: [AsyncApiResult](#asyncapiresult-values)) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### StartPullDownRefreshFail 的属性值 @startpulldownrefreshfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 下拉刷新错误码
- 4: 框架内部异常 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n#### AsyncApiResult 的属性值 @asyncapiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Promise\\<**AsyncApiSuccessResult**> | 否 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| errMsg | string | 是 | - | - | - | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.page.pullDownRefresh.startPullDownRefresh)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/pulldown.html#startpulldownrefresh)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=startPullDownRefresh&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=startPullDownRefresh&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=startPullDownRefresh&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=startPullDownRefresh&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=startPullDownRefresh&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=startPullDownRefresh)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=startPullDownRefresh&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"stopPullDownRefresh":{"name":"## uni.stopPullDownRefresh() @stoppulldownrefresh","description":"停止当前页面下拉刷新\n","compatibility":"### stopPullDownRefresh 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.91 | 4.11 |\n","param":"","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.page.pullDownRefresh.stopPullDownRefresh)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/pulldown.html#stoppulldownrefresh)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=stopPullDownRefresh&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=stopPullDownRefresh&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=stopPullDownRefresh&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=stopPullDownRefresh&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=stopPullDownRefresh&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=stopPullDownRefresh)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=stopPullDownRefresh&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"pullDownRefresh":{"example":"## 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/pull-down-refresh/pull-down-refresh.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/pull-down-refresh/pull-down-refresh\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/pull-down-refresh/pull-down-refresh\n\n>Template\n```vue\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n data: [] as Array,\r\n loadMoreText: \"加载中...\",\r\n showLoadMore: false,\r\n max: 0,\r\n pulldownRefreshTriggered: false\r\n }\r\n },\r\n onReady() {\r\n uni.startPullDownRefresh();\r\n this.initData();\r\n },\r\n onReachBottom() {\r\n console.log(\"onReachBottom\");\r\n if (this.max > 40) {\r\n this.loadMoreText = \"没有更多数据了!\"\r\n return;\r\n }\r\n this.showLoadMore = true;\r\n setTimeout(() => {\r\n this.setListData();\r\n }, 300);\r\n },\r\n onPullDownRefresh() {\r\n console.log('onPullDownRefresh');\r\n this.pulldownRefreshTriggered = true\r\n this.initData();\r\n },\r\n methods: {\r\n initData() {\r\n setTimeout(() => {\r\n this.max = 0;\r\n this.data = [];\r\n let data : Array = [];\r\n this.max += 20;\r\n for (let i : number = this.max - 19; i < this.max + 1; i++) {\r\n data.push(i)\r\n }\r\n this.data = this.data.concat(data);\r\n uni.stopPullDownRefresh();\r\n }, 1000);\r\n },\r\n setListData() {\r\n let data : Array = [];\r\n this.max += 10;\r\n for (let i : number = this.max - 9; i < this.max + 1; i++) {\r\n data.push(i)\r\n }\r\n this.data = this.data.concat(data);\r\n }\r\n }\r\n }\r\n\n```\n\n:::"},"pageScrollTo":{"name":"## uni.pageScrollTo(options) @pagescrollto","description":"将页面滚动到目标位置\n","compatibility":"### pageScrollTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.91 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **PageScrollToOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| scrollTop | number | 否 | - | - | 滚动到页面的目标位置 |\n@| selector | string | 否 | - | - | 选择器 |\n@| offsetTop | number | 否 | - | | 偏移距离,可以滚动到 selector 加偏移距离的位置 |\n@| duration | number | 否 | - | - | 滚动动画的时长 |\n@| success | (result: [AsyncApiSuccessResult](#asyncapisuccessresult-values)) => void | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (result: [PageScrollToFail](#pagescrolltofail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (result: [AsyncApiResult](#asyncapiresult-values)) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### AsyncApiSuccessResult 的属性值 @asyncapisuccessresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n\n#### PageScrollToFail 的属性值 @pagescrolltofail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 设置页面滚动错误码
- 4: 框架内部异常 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n#### AsyncApiResult 的属性值 @asyncapiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Promise\\<**AsyncApiSuccessResult**> | 否 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| errMsg | string | 是 | - | - | - | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.page.pageScrollTo)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/scroll.html#pagescrollto)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=pageScrollTo&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=pageScrollTo&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=pageScrollTo&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=pageScrollTo&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=pageScrollTo&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=pageScrollTo)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=pageScrollTo&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/page-scroll-to/page-scroll-to.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/page-scroll-to/page-scroll-to\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/page-scroll-to/page-scroll-to\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n title: 'pageScrollTo',\r\n }\r\n },\r\n methods: {\r\n scrollTo() {\r\n uni.pageScrollTo({\r\n scrollTop: 100,\r\n duration: 300,\r\n success: () => {\r\n console.log('success')\r\n },\r\n })\r\n },\r\n scrollToElement() {\r\n uni.pageScrollTo({\r\n selector: '.custom-element',\r\n duration: 300,\r\n success: () => {\r\n console.log('success')\r\n },\r\n })\r\n },\r\n },\r\n }\r\n\n```\n\n:::"},"onTabBarMidButtonTap":{"name":"## uni.onTabBarMidButtonTap(options) @ontabbarmidbuttontap","description":"监听中间按钮的点击事件","compatibility":"### onTabBarMidButtonTap 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | () => void | 是 | - | - | - | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.page.onTabBarMidButtonTap)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/tabbar.html#ontabbarmidbuttontap)"},"getElementById":{"name":"## uni.getElementById(id) @getelementbyid","description":"返回一个匹配特定 ID 的元素, 如果不存在,返回 null。\\\n如果需要获取指定的节点类型,需要使用 as 进行类型转换。\\\nID 区分大小写,且应该是唯一的。如果存在多个匹配的元素,则返回第一个匹配的元素。\n","compatibility":"### getElementById 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 3.91 | 4.11 | 4.25 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| id | [string.IDString](/uts/data-type.md#ide-string) \\\\| string | 是 | - | - | - | \n","returnValue":"### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniElement](/dom/unielement.md) | 否 |\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.dom.getElementById)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/get-element-by-id/get-element-by-id.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/get-element-by-id/get-element-by-id\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/get-element-by-id/get-element-by-id\n\n>Template\n```vue\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n checked: false,\r\n homePagePath: '/pages/tabBar/component',\r\n launchOptionsPath: '',\r\n }\r\n },\r\n methods: {\r\n getElementByNotExistId() : Element | null {\r\n return uni.getElementById('not-exist-id')\r\n },\r\n changePageHeadBackgroundColor() {\r\n const pageHead = uni.getElementById('page-head')!\r\n pageHead.style.setProperty('background-color', 'red')\r\n },\r\n changeTextColor() {\r\n const text = uni.getElementById('text')!\r\n text.style.setProperty('color', 'red')\r\n },\r\n changeViewStyle() {\r\n const view = uni.getElementById('view')\r\n if (view !== null) {\r\n view.style.setProperty('width', '90%')\r\n view.style.setProperty('height', '50px')\r\n view.style.setProperty('background-color', '#007AFF')\r\n }\r\n },\r\n goMultipleRootNode() {\r\n uni.navigateTo({ url: '/pages/API/get-element-by-id/get-element-by-id-multiple-root-node' })\r\n },\r\n //自动化测试获取text元素的offsetLeft属性值\r\n getTextOffsetLeft() : number {\r\n const text = uni.getElementById('text')!\r\n return text.offsetLeft\r\n }\r\n }\r\n }\r\n\n```\n\n:::"},"createSelectorQuery":{"name":"## uni.createSelectorQuery() @createselectorquery","description":"返回一个SelectorQuery对象实例\n","compatibility":"### createSelectorQuery 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.91 | 4.11 |\n","param":"","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| [SelectorQuery](#selectorquery-values) |\n\n#### SelectorQuery 的方法 @selectorquery-values \n\n#### in(component: any \\| null): SelectorQuery @in\n将选择器的选取范围更改为自定义组件component内\n##### in 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| component | any | 否 | - | - | | \n\n##### 返回值 \n\n| 类型 |\n| :- |\n| [SelectorQuery](#selectorquery-values) |\n \n\n#### select(selector: string): NodesRef @select\n在当前页面下选择第一个匹配选择器selector的节点\n##### select 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| selector | string | 是 | - | - | - | \n\n##### 返回值 \n\n| 类型 |\n| :- |\n| [NodesRef](#nodesref-values) |\n\n###### NodesRef 的方法 @nodesref-values \n\n###### boundingClientRect( callback: SelectorQueryNodeInfoCallback \\| null, ): SelectorQuery @boundingclientrect\n添加节点的布局位置的查询请求,相对于显示区域,以像素为单位\n###### boundingClientRect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 否 | - | - | | \n\n###### 返回值 \n\n| 类型 |\n| :- |\n| [SelectorQuery](#selectorquery-values) |\n \n\n###### scrollOffset(callback: SelectorQueryNodeInfoCallback): SelectorQuery @scrolloffset\n添加节点的滚动位置查询请求,以像素为单位\n###### scrollOffset 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | | \n\n###### 返回值 \n\n| 类型 |\n| :- |\n| [SelectorQuery](#selectorquery-values) |\n \n\n###### fields( fields: NodeField, callback: SelectorQueryNodeInfoCallback \\| null, ): SelectorQuery @fields\n获取节点的相关信息,需要获取的字段在fields中指定\n###### fields 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| fields | **NodeField** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| id | boolean | 否 | - | - | 是否返回节点 id |\n@| dataset | boolean | 否 | - | - | 是否返回节点 dataset |\n@| rect | boolean | 否 | - | - | 是否返回节点布局位置(left right top bottom) |\n@| size | boolean | 否 | - | - | 是否返回节点尺寸(width height) |\n@| scrollOffset | boolean | 否 | - | - | 是否返回节点的 scrollLeft scrollTop,节点必须是 scroll-view 或者 viewport |\n@| properties | Array\\ | 否 | - | - | 指定属性名列表,返回节点对应属性名的当前属性值(只能获得组件文档中标注的常规属性值,id class style 和事件绑定的属性值不可获取) |\n@| computedStyle | Array\\ | 否 | - | - | 指定样式名列表,返回节点对应样式名的当前值 |\n@| context | boolean | 否 | - | | 是否返回节点对应的 Context 对象 |\n@| node | boolean | 否 | - | - | 是否返回节点对应的 Node 实例 |\n| callback | (result: any) => void | 否 | - | - | | \n\n###### 返回值 \n\n| 类型 |\n| :- |\n| [SelectorQuery](#selectorquery-values) |\n \n\n###### context(callback: SelectorQueryNodeInfoCallback): SelectorQuery @context\n添加节点的 Context 对象查询请求\n###### context 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | | \n\n###### 返回值 \n\n| 类型 |\n| :- |\n| [SelectorQuery](#selectorquery-values) |\n \n\n###### node(callback: (result: any) => void): SelectorQuery @node\n获取 Node 节点实例。目前支持 Canvas 的获取。\n获取节点的相关信息,需要获取的字段在fields中指定\n###### node 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n###### 返回值 \n\n| 类型 |\n| :- |\n| [SelectorQuery](#selectorquery-values) |\n \n \n\n#### selectAll(selector: string): NodesRef @selectall\n在当前页面下选择匹配选择器selector的所有节点\n##### selectAll 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| selector | string | 是 | - | - | - | \n\n##### 返回值 \n\n| 类型 |\n| :- |\n| [NodesRef](#nodesref-values) |\n \n\n#### selectViewport(): NodesRef @selectviewport\n选择显示区域\n##### selectViewport 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n\n##### 返回值 \n\n| 类型 |\n| :- |\n| [NodesRef](#nodesref-values) |\n \n\n#### exec(callback: (result: Array\\) => void \\| null): NodesRef \\| null @exec\n执行所有的请求\n##### exec 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: Array\\) => void | 是 | - | - | - | \n\n##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [NodesRef](#nodesref-values) | 否 |\n \n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.dom.createSelectorQuery)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/nodes-info.html#createselectorquery)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=createSelectorQuery&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=createSelectorQuery&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=createSelectorQuery&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=createSelectorQuery&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=createSelectorQuery&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=createSelectorQuery)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=createSelectorQuery&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/create-selector-query/create-selector-query.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/create-selector-query/create-selector-query\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/create-selector-query/create-selector-query\n\n>Template\n```vue\n\n\n\n\n\n\n```\n\n>Script\n```uts\n\n import nodeChild from './nodes-info-child.uvue'\n import multiChild from './selector-query-child-multi.uvue'\n\n type NodeInfoType = {\n left : number | null,\n top : number | null,\n right : number | null,\n bottom : number | null,\n width : number | null,\n height : number | null,\n }\n\n export default {\n components: {\n nodeChild,\n multiChild\n },\n data() {\n return {\n title: 'createSelectorQuery',\n nodeInfoList: [] as NodeInfoType[],\n // 仅用于自动化测试\n rootNodeInfo: null as NodeInfoType | null,\n //供自动化测试使用\n // resizeRectValid: false\n // TODO\n selectCount: 0,\n selectAllCount: 0,\n fieldsResultContainNode: false,\n nodeResultContainNode: false\n }\n },\n onReady() {\n const instance2 = (this.$refs['multi-child'] as ComponentPublicInstance)\n this.selectCount = instance2.$data['selectCount'] as number\n this.selectAllCount = instance2.$data['selectAllCount'] as number\n\n this.testFields()\n this.testNode()\n },\n onResize() {\n //供自动化测试使用\n /* var rect12Element = uni.getElementById(\"rect-1-2\")\n if(rect12Element != null) {\n var domRect = rect12Element.getBoundingClientRect()\n if(domRect.width > 100) {\n this.resizeRectValid = true\n }\n } */\n },\n methods: {\n // 仅用于自动化测试\n getRootNodeInfo(selector : string) {\n uni.createSelectorQuery().select(selector).boundingClientRect().exec((ret) => {\n if (ret.length == 1) {\n const nodeInfo = ret[0] as NodeInfo;\n const nodeType = {\n left: nodeInfo.left,\n top: nodeInfo.top,\n right: nodeInfo.right,\n bottom: nodeInfo.bottom,\n width: nodeInfo.width,\n height: nodeInfo.height,\n } as NodeInfoType;\n this.rootNodeInfo = nodeType\n }\n })\n },\n getNodeInfo() {\n uni.createSelectorQuery().select('.rect1').boundingClientRect().exec((ret) => {\n this.nodeInfoList.length = 0\n const i = ret[0] as NodeInfo\n this.nodeInfoList.push({\n left: i.left,\n top: i.top,\n right: i.right,\n bottom: i.bottom,\n width: i.width,\n height: i.height,\n } as NodeInfoType)\n })\n },\n getAllNodeInfo() {\n uni.createSelectorQuery().selectAll('.rect').boundingClientRect().exec((ret) => {\n this.nodeInfoList.length = 0\n const array = ret[0] as NodeInfo[]\n array.forEach((i) => {\n this.nodeInfoList.push({\n left: i.left,\n top: i.top,\n right: i.right,\n bottom: i.bottom,\n width: i.width,\n height: i.height,\n } as NodeInfoType)\n })\n })\n },\n // test .fields\n testFields() {\n uni.createSelectorQuery().select('.rect1').fields({\n node: true\n } as NodeField, (ret) => {\n const isElement = (ret as NodeInfo).node instanceof UniElement\n if (isElement) {\n this.fieldsResultContainNode = true\n } else {\n this.fieldsResultContainNode = false\n }\n }).exec()\n },\n // test .node\n testNode() {\n uni.createSelectorQuery().select('#canvas1').node((ret) => {\n const isElement = (ret as NodeInfo).node instanceof UniElement\n const isCanvasElement = ((ret as NodeInfo).node as UniCanvasElement).tagName == 'CANVAS'\n if (isElement && isCanvasElement) {\n this.nodeResultContainNode = true\n } else {\n this.nodeResultContainNode = false\n }\n }).exec()\n },\n }\n }\n\n```\n\n:::"},"createIntersectionObserver":{"name":"## uni.createIntersectionObserver(component, options) @createintersectionobserver","description":"创建并返回一个 IntersectionObserver 对象实例\n","compatibility":"### createIntersectionObserver 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| component | any | 是 | - | - | - |\n| options | **CreateIntersectionObserverOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| thresholds | Array\\ | 否 | - | - | 所有阈值 |\n@| initialRatio | number | 否 | - | - | 初始的相交比例 |\n@| observeAll | boolean | 否 | - | - | 是否同时观测多个参照节点(而非一个) | \n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| [IntersectionObserver](#intersectionobserver-values) |\n\n#### IntersectionObserver 的方法 @intersectionobserver-values \n\n#### relativeTo(selector: string, margins?: any): IntersectionObserver; @relativeto\n使用选择器指定一个节点,作为参照区域之一\n##### relativeTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| selector | string | 是 | - | - | - |\n| margins | any | 否 | - | - | - | \n\n##### 返回值 \n\n| 类型 |\n| :- |\n| [IntersectionObserver](#intersectionobserver-values) |\n \n\n#### relativeToViewport(margins?: any): IntersectionObserver; @relativetoviewport\n指定页面显示区域作为参照区域之一\n##### relativeToViewport 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| margins | any | 否 | - | - | - | \n\n##### 返回值 \n\n| 类型 |\n| :- |\n| [IntersectionObserver](#intersectionobserver-values) |\n \n\n#### observe(targetSelector: string, callback: ObserveCallback): void; @observe\n指定目标节点并开始监听相交状态变化情况\n##### observe 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| targetSelector | string | 是 | - | - | - |\n| callback | (result: [ObserveResult](#observeresult-values)) => void | 是 | - | - | - | \n\n##### ObserveResult 的属性值 @observeresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| intersectionRatio | number | 是 | - | - | 相交比例 |\n| intersectionRect | any | 是 | - | - | 相交区域的边界 |\n| boundingClientRect | **ObserveNodeRect** | 是 | - | - | 目标节点布局区域的边界 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| left | number | 是 | - | - | left |\n@| right | number | 是 | - | - | right |\n@| top | number | 是 | - | - | top |\n@| bottom | number | 是 | - | - | bottom |\n| relativeRect | [ObserveNodeRect](#observenoderect-values) | 是 | - | - | 参照区域的边界 |\n| time | number | 是 | - | - | 相交检测时的时间戳 |\n\n\n#### disconnect(): void; @disconnect\n停止监听\n##### disconnect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.ui.createIntersectionObserver)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/intersection-observer.html#createintersectionobserver)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=createIntersectionObserver&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=createIntersectionObserver&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=createIntersectionObserver&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=createIntersectionObserver&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=createIntersectionObserver&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=createIntersectionObserver)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=createIntersectionObserver&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"showActionSheet":{"name":"## uni.showActionSheet(options) @showactionsheet","description":"从底部向上弹出操作菜单","compatibility":"### showActionSheet 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 3.91 | 3.91 | 4.11 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **ShowActionSheetOptions** | 是 | - | - | uni.showActionSheet函数参数定义 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| title | string | 否 | - | - | 菜单标题 |\n@| alertText | string | 否 | - | - | 警示文案(同菜单标题, app无效) |\n@| itemList | Array\\ | 是 | - | - | 按钮的文字数组 |\n@| itemColor | [string.ColorString](/uts/data-type.md#ide-string) | 否 | - | - | 按钮的文字颜色,字符串格式(iOS默认为系统控件颜色) |\n@| popover | **Popover** | 否 | - | - | 大屏设备弹出原生选择按钮框的指示区域,默认居中显示 |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| top | number | 是 | - | - | 指示区域坐标,使用原生 navigationBar 时一般需要加上 navigationBar 的高度 |\n@@| left | number | 是 | - | - | 指示区域坐标 |\n@@| width | number | 是 | - | - | 指示区域宽度 |\n@@| height | number | 是 | - | - | 指示区域高度 |\n@| success | (res: [ShowActionSheetSuccess](#showactionsheetsuccess-values)) => void | 否 | - | - | uni.showActionSheet成功回调函数定义 |\n@| fail | (res: [IPromptError](#iprompterror-values)) => void | 否 | - | - | uni.showActionSheet成功回调函数定义 |\n@| complete | (res: any) => void | 否 | - | - | uni.showActionSheet成功回调函数定义 | \n\n#### ShowActionSheetSuccess 的属性值 @showactionsheetsuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| tapIndex | number | 否 | - | - | 用户点击的按钮,从上到下的顺序,从0开始 |\n\n#### IPromptError 的属性值 @iprompterror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 1 | - | 撤销 |\n@| 1001 | - | 请求参数非法 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.ui.showActionSheet)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/prompt.html#showactionsheet)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=showActionSheet&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=showActionSheet&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=showActionSheet&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=showActionSheet&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=showActionSheet&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=showActionSheet)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=showActionSheet&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/show-action-sheet/show-action-sheet.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/show-action-sheet/show-action-sheet\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/show-action-sheet/show-action-sheet\n\n>Template\n```vue\n\r\n\n\n```\n\n>Script\n```uts\n\r\n type ItemType = {\r\n value : string,\r\n name : string,\r\n }\r\n export default {\r\n data() {\r\n return {\r\n title: 'action-sheet',\r\n itemColorCustom: false,\r\n itemContentLarge: false,\r\n itemNumLargeSelect: false,\r\n showErrorToast: true,\r\n items: [{\r\n value: '标题',\r\n name: '有标题'\r\n },\r\n {\r\n value: '',\r\n name: '无标题'\r\n },\r\n {\r\n value: '超长标题测试内容,测试超过显示最大范围之后的样式-超长标题测试内容,测试超过显示最大范围之后的样式',\r\n name: '超长标题'\r\n }\r\n ] as ItemType[],\r\n current: 0,\r\n }\r\n },\r\n onLoad() {\r\n uni.showActionSheet({\r\n title: \"onLoad 调用示例,请手动取消\",\r\n itemList: ['item1', 'item2'],\r\n })\r\n },\r\n methods: {\r\n //自动化测试例专用\r\n jest_getWindowInfo() : GetWindowInfoResult {\r\n return uni.getWindowInfo();\r\n },\r\n radioChange(e : UniRadioGroupChangeEvent) {\r\n for (let i = 0; i < this.items.length; i++) {\r\n if (this.items[i].value === e.detail.value) {\r\n this.current = i;\r\n break;\r\n }\r\n }\r\n },\r\n itemContentLargeChange: function (e : UniSwitchChangeEvent) {\r\n this.itemContentLarge = e.detail.value\r\n },\r\n itemColorChange: function (e : UniSwitchChangeEvent) {\r\n this.itemColorCustom = e.detail.value\r\n },\r\n itemNumLargeChange: function (e : UniSwitchChangeEvent) {\r\n this.itemNumLargeSelect = e.detail.value\r\n },\r\n actionSheetTap() {\r\n\r\n let itemInfo = ['item1', 'item2', 'item3', 'item4']\r\n\r\n if (this.itemContentLarge) {\r\n itemInfo = ['两个黄鹂鸣翠柳,一行白鹭上青天。窗含西岭千秋雪,门泊东吴万里船', '水光潋滟晴方好,山色空蒙雨亦奇。 欲把西湖比西子,淡妆浓抹总相宜', '']\r\n }\r\n\r\n if (this.itemNumLargeSelect) {\r\n // 大量选项测试,不能超过6个元素 https://uniapp.dcloud.net.cn/api/ui/prompt.html#showactionsheet\r\n itemInfo = []\r\n for (var i = 1; i <= 10; i++) {\r\n itemInfo.push('两个黄鹂鸣翠柳,一行白鹭上青天');\r\n }\r\n }\r\n\r\n const that = this\r\n if (this.itemColorCustom) {\r\n uni.showActionSheet({\r\n title: this.items[this.current].value,\r\n itemList: itemInfo,\r\n itemColor: \"#ff00ff\",\r\n success: (e) => {\r\n console.log(e.tapIndex);\r\n uni.showToast({\r\n title: \"点击了第\" + e.tapIndex + \"个选项\",\r\n icon: \"none\"\r\n })\r\n },\r\n fail: (e) => {\r\n if (this.showErrorToast) {\r\n uni.showToast({\r\n title: e.errMsg,\r\n icon: \"none\"\r\n })\r\n }\r\n console.log(e);\r\n }\r\n })\r\n } else {\r\n uni.showActionSheet({\r\n title: this.items[this.current].value,\r\n itemList: itemInfo,\r\n success: (e) => {\r\n console.log(e.tapIndex);\r\n uni.showToast({\r\n title: \"点击了第\" + e.tapIndex + \"个选项\",\r\n icon: \"none\"\r\n })\r\n },\r\n fail: (e) => {\r\n console.log(e);\r\n if (this.showErrorToast) {\r\n uni.showToast({\r\n title: e.errMsg,\r\n icon: \"none\"\r\n })\r\n }\r\n }\r\n })\r\n }\r\n },\r\n }\r\n }\r\n\n```\n\n:::"},"showModal":{"name":"## uni.showModal(options) @showmodal","description":"显示模态弹窗,可以只有一个确定按钮,也可以同时有确定和取消按钮。类似于一个API整合了 html 中:alert、confirm。","compatibility":"### showModal 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 3.91 | 3.91 | 4.11 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **ShowModalOptions** | 是 | - | - | uni.showModal 参数定义 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| title | string | 否 | - | - | 提示的标题 |\n@| content | string | 否 | - | - | 提示的内容 |\n@| showCancel | boolean | 否 | true
是否显示取消按钮,默认为 true | - | |\n@| cancelText | string | 否 | - | - | 取消按钮的文字,默认为\"取消\" |\n@| cancelColor | [string.ColorString](/uts/data-type.md#ide-string) | 否 | - | - | 取消按钮的文字颜色,默认为\"#000000\" |\n@| confirmText | string | 否 | - | - | 确定按钮的文字,默认为\"确定\" |\n@| confirmColor | [string.ColorString](/uts/data-type.md#ide-string) | 否 | - | - | 确定按钮的文字颜色 |\n@| editable | boolean | 否 | false
是否显示输入框 | - | |\n@| placeholderText | string | 否 | - | - | 显示输入框时的提示文本 |\n@| success | (res: [ShowModalSuccess](#showmodalsuccess-values)) => void | 否 | - | - | uni.showModal成功回调函数定义 |\n@| fail | (res: [IPromptError](#iprompterror-values)) => void | 否 | - | - | uni.showModal失败回调函数定义 |\n@| complete | (res: any) => void | 否 | - | - | uni.showModal完成回调函数定义 | \n\n#### ShowModalSuccess 的属性值 @showmodalsuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| confirm | boolean | 是 | - | - | 为 true 时,表示用户点击了确定按钮 |\n| cancel | boolean | 是 | - | - | 为 true 时,表示用户点击了取消(用于 Android 系统区分点击蒙层关闭还是点击取消按钮关闭) |\n| content | string | 否 | - | - | editable 为 true 时,用户输入的文本 |\n\n#### IPromptError 的属性值 @iprompterror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 1 | - | 撤销 |\n@| 1001 | - | 请求参数非法 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.ui.showModal)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/prompt.html#showmodal)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=showModal&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=showModal&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=showModal&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=showModal&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=showModal&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=showModal)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=showModal&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/show-modal/show-modal.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/show-modal/show-modal\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/show-modal/show-modal\n\n>Template\n```vue\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n type ItemType = {\r\n value : string,\r\n name : string,\r\n }\r\n export default {\r\n data() {\r\n return {\r\n title: 'modal',\r\n showCancelSelect: false,\r\n cancelTextSelect: false,\r\n confirmTextSelect: false,\r\n editableSelect: false,\r\n placeholderTextSelect: false,\r\n exeRet: \"\",\r\n items: [{\r\n value: '标题',\r\n name: '有标题'\r\n },\r\n {\r\n value: '',\r\n name: '无标题'\r\n },\r\n {\r\n value: '超长标题测试内容,测试超过显示最大范围之后的样式-超长标题测试内容,测试超过显示最大范围之后的样式',\r\n name: '超长标题'\r\n }\r\n ] as ItemType[],\r\n current: 0\r\n }\r\n },\r\n onLoad() {\r\n uni.showModal({\r\n title: \"onLoad 调用示例,请手动取消\",\r\n showCancel: false\r\n })\r\n },\r\n methods: {\r\n //自动化测试例专用\r\n jest_getWindowInfo() : GetWindowInfoResult {\r\n return uni.getWindowInfo();\r\n },\r\n showCancelChange: function (e : UniSwitchChangeEvent) {\r\n this.showCancelSelect = e.detail.value\r\n },\r\n cancelTextChange: function (e : UniSwitchChangeEvent) {\r\n this.cancelTextSelect = e.detail.value\r\n },\r\n confirmTextChange: function (e : UniSwitchChangeEvent) {\r\n this.confirmTextSelect = e.detail.value\r\n },\r\n editableChange: function (e : UniSwitchChangeEvent) {\r\n this.editableSelect = e.detail.value\r\n },\r\n placeholderTextChange: function (e : UniSwitchChangeEvent) {\r\n this.placeholderTextSelect = e.detail.value\r\n },\r\n radioChange(e : UniRadioGroupChangeEvent) {\r\n for (let i = 0; i < this.items.length; i++) {\r\n if (this.items[i].value === e.detail.value) {\r\n this.current = i;\r\n break;\r\n }\r\n }\r\n },\r\n modalTap: function () {\r\n let cancelTextVal : string\r\n let cancelColorVal = ''\r\n if (this.cancelTextSelect) {\r\n cancelTextVal = \"修改后的取消文本\"\r\n cancelColorVal = \"#ff00ff\"\r\n } else {\r\n cancelTextVal = \"取消\"\r\n }\r\n\r\n let confirmTextVal = '确定'\r\n let confirmColorVal = ''\r\n if (this.confirmTextSelect) {\r\n confirmTextVal = \"修改后的确定文本\"\r\n confirmColorVal = \"#00ffff\"\r\n }\r\n\r\n let placeholderTextVal = ''\r\n let contentVal = \"弹窗内容,告知当前状态、信息和解决方法,描述文字尽量控制在三行内\"\r\n if (this.placeholderTextSelect) {\r\n placeholderTextVal = \"定制提示信息\"\r\n contentVal = \"\"\r\n }\r\n uni.showModal({\r\n title: this.items[this.current].value,\r\n editable: this.editableSelect,\r\n placeholderText: placeholderTextVal,\r\n content: contentVal,\r\n showCancel: this.showCancelSelect,\r\n cancelText: cancelTextVal,\r\n cancelColor: cancelColorVal,\r\n confirmText: confirmTextVal,\r\n confirmColor: confirmColorVal,\r\n success: (res) => {\r\n this.exeRet = JSON.stringify(res)\r\n },\r\n fail: (res) => {\r\n this.exeRet = JSON.stringify(res)\r\n }\r\n })\r\n }\r\n }\r\n }\r\n\n```\n\n:::"},"showLoading":{"name":"## uni.showLoading(options) @showloading","description":"显示 loading 提示框, 需主动调用 uni.hideLoading 才能关闭提示框。","compatibility":"### showLoading 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 3.91 | 3.91 | 4.11 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **ShowLoadingOptions** | 是 | - | - | uni.showLoading参数定义 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| title | string | 是 | - | - | 提示的内容,长度与 icon 取值有关。 |\n@| mask | boolean | 否 | - | - | 是否显示透明蒙层,防止触摸穿透,默认:false |\n@| success | (res: ShowLoadingSuccess) => void | 否 | - | - | uni.showLoading成功回调函数定义 |\n@| fail | (res: [IPromptError](#iprompterror-values)) => void | 否 | - | - | uni.showLoading失败回调函数定义 |\n@| complete | (res: any) => void | 否 | - | - | uni.showLoading完成回调函数定义 | \n\n#### IPromptError 的属性值 @iprompterror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 1 | - | 撤销 |\n@| 1001 | - | 请求参数非法 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.ui.showLoading.showLoading)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/prompt.html#showloading)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=showLoading&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=showLoading&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=showLoading&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=showLoading&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=showLoading&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=showLoading)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=showLoading&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/show-loading/show-loading.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/show-loading/show-loading\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/show-loading/show-loading\n\n>Template\n```vue\n\r\n\n\n```\n\n>Script\n```uts\n\r\n type ItemType = {\r\n value : string\r\n name : string\r\n }\r\n export default {\r\n data() {\r\n return {\r\n title: 'loading',\r\n items: [\r\n {\r\n value: 'null',\r\n name: '无标题',\r\n },\r\n {\r\n value: '三秒后自动关闭',\r\n name: '普通标题',\r\n },\r\n {\r\n value: '超长文本内容,测试超出范围-超长文本内容,测试超出范围-三秒后自动关闭',\r\n name: '长标题',\r\n },\r\n ] as ItemType[],\r\n current: 0,\r\n maskSelect: false,\r\n titleSelect: \"null\"\r\n }\r\n },\r\n onLoad() {\r\n uni.showLoading({\r\n title: 'onLoad 调用示例,2秒后消失'\r\n })\r\n setTimeout(function () {\r\n uni.hideLoading()\r\n }, 2000);\r\n },\r\n methods: {\r\n //自动化测试例专用\r\n jest_getWindowInfo() : GetWindowInfoResult {\r\n return uni.getWindowInfo();\r\n },\r\n\r\n radioChange(e : UniRadioGroupChangeEvent) {\r\n const selected = this.items.find((item) : boolean => {\r\n return item.value == e.detail.value\r\n })\r\n if (selected != null) {\r\n this.titleSelect = selected.value\r\n }\r\n },\r\n maskChange: function (e : UniSwitchChangeEvent) {\r\n this.maskSelect = e.detail.value\r\n },\r\n showLoading: function () {\r\n\r\n console.log(this.titleSelect)\r\n if (this.titleSelect == \"null\") {\r\n uni.showLoading({\r\n title: \"\",\r\n mask: this.maskSelect\r\n });\r\n } else {\r\n uni.showLoading({\r\n title: this.titleSelect,\r\n mask: this.maskSelect\r\n });\r\n }\r\n setTimeout(() => {\r\n this.hideLoading();\r\n }, 3000);\r\n },\r\n hideLoading: function () {\r\n uni.hideLoading();\r\n }\r\n }\r\n }\r\n\n```\n\n:::"},"hideLoading":{"name":"## uni.hideLoading() @hideloading","description":"隐藏 loading 提示框。","compatibility":"### hideLoading 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 3.91 | 3.91 | 4.11 | 4.11 |\n","param":"","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.ui.showLoading.hideLoading)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/prompt.html#hideloading)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=hideLoading&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=hideLoading&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=hideLoading&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=hideLoading&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=hideLoading&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=hideLoading)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=hideLoading&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"showToast":{"name":"## uni.showToast(options) @showtoast","description":"显示消息提示框","compatibility":"### showToast 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 3.91 | 3.91 | 4.11 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **ShowToastOptions** | 是 | - | - | uni.showToast参数定义 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| title | string | 是 | - | | 提示的内容,长度与 icon 取值有关。 |\n@| icon | string | 否 | \"success\" | | icon值说明 |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| success | - | 显示成功图标 |\n@@| error | - | 显示错误图标 |\n@@| fail | - | 显示错误图标,此时title文本无长度显示 |\n@@| exception | - | 显示异常图标,此时title文本无长度显示 |\n@@| loading | - | 显示加载图标 |\n@@| none | - | 不显示图标 |\n@| image | [string.ImageURIString](/uts/data-type.md#ide-string) | 否 | - | | 自定义图标的本地路径(app端暂不支持gif) |\n@| mask | boolean | 否 | false | | 是否显示透明蒙层,防止触摸穿透 |\n@| duration | number | 否 | 1500 | | 提示的延迟时间,单位毫秒 |\n@| position | string | 否 | - | | position值说明。纯文本轻提示显示位置,填写有效值后只有 title 属性生效,且不支持通过 uni.hideToast 隐藏。 |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| top | - | 居上显示 |\n@@| center | - | 居中显示 |\n@@| bottom | - | 居底显示 |\n@| success | (res: ShowToastSuccess) => void | 否 | - | | uni.showToast成功回调函数定义 |\n@| fail | (res: [IPromptError](#iprompterror-values)) => void | 否 | - | | uni.showToast失败回调函数定义 |\n@| complete | (res: any) => void | 否 | - | | uni.showToast完成回调函数定义 | \n\n#### IPromptError 的属性值 @iprompterror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 1 | - | 撤销 |\n@| 1001 | - | 请求参数非法 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.ui.showToast.showToast)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/prompt.html#showtoast)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=showToast&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=showToast&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=showToast&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=showToast&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=showToast&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=showToast)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=showToast&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/show-toast/show-toast.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/show-toast/show-toast\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/show-toast/show-toast\n\n>Template\n```vue\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n type IconItemType = {\r\n value : \"success\" | \"error\" | \"fail\" | \"exception\" | \"loading\" | \"none\";\r\n name : string\r\n }\r\n type PositionItemType = {\r\n value : \"top\" | \"center\" | \"bottom\";\r\n name : string\r\n }\r\n export default {\r\n data() {\r\n return {\r\n title: 'toast',\r\n exeRet: '',\r\n imageSelect: false,\r\n maskSelect: false,\r\n intervalSelect: 1500,\r\n position_current: 0,\r\n position_enum: [\r\n { \"value\": \"top\", \"name\": \"top: 居上显示(Android 暂不支持)\" },\r\n { \"value\": \"center\", \"name\": \"center: 居中显示(Android 暂不支持)\" },\r\n { \"value\": \"bottom\", \"name\": \"bottom: 居底显示\" },\r\n ] as PositionItemType[],\r\n icon_current: 0,\r\n icon_enum: [\r\n {\r\n value: 'success',\r\n name: '显示成功图标',\r\n },\r\n {\r\n value: 'error',\r\n name: '显示错误图标',\r\n },\r\n // {\r\n // value: 'fail',\r\n // name: '显示错误图标',\r\n // },\r\n // {\r\n // value: 'exception',\r\n // name: '显示异常图标,此时title文本无长度显示',\r\n // },\r\n {\r\n value: 'loading',\r\n name: '显示加载图标',\r\n },\r\n {\r\n value: 'none',\r\n name: '不显示图标',\r\n },\r\n ] as IconItemType[],\r\n }\r\n },\r\n onLoad() {\r\n uni.showToast({\r\n title: 'onLoad 调用示例,2秒后消失'\r\n })\r\n setTimeout(function () {\r\n uni.hideToast()\r\n }, 2000);\r\n },\r\n methods: {\r\n //自动化测试例专用\r\n jest_getWindowInfo() : GetWindowInfoResult {\r\n return uni.getWindowInfo();\r\n },\r\n radioChangeIcon(e : UniRadioGroupChangeEvent) {\r\n for (let i = 0; i < this.icon_enum.length; i++) {\r\n if (this.icon_enum[i].value === e.detail.value) {\r\n this.icon_current = i;\r\n break;\r\n }\r\n }\r\n },\r\n change_image_boolean: function (e : UniSwitchChangeEvent) {\r\n this.imageSelect = e.detail.value\r\n },\r\n change_mask_boolean: function (e : UniSwitchChangeEvent) {\r\n this.maskSelect = e.detail.value\r\n },\r\n sliderChange(e : UniSliderChangeEvent) {\r\n this.intervalSelect = e.detail.value\r\n },\r\n radioChangePosition(e : UniRadioGroupChangeEvent) {\r\n for (let i = 0; i < this.position_enum.length; i++) {\r\n if (this.position_enum[i].value === e.detail.value) {\r\n this.position_current = i;\r\n break;\r\n }\r\n }\r\n },\r\n toast1Tap: function () {\r\n uni.showToast({\r\n title: \"默认\",\r\n icon: this.icon_enum[this.icon_current].value,\r\n duration: this.intervalSelect,\r\n image: this.imageSelect ? \"/static/uni.png\" : null,\r\n mask: this.maskSelect,\r\n success: (res) => {\r\n // console.log('success:',res)\r\n this.exeRet = \"success:\" + JSON.stringify(res)\r\n },\r\n fail: (res) => {\r\n this.exeRet = \"fail:\" + JSON.stringify(res)\r\n },\r\n })\r\n },\n toast3Tap: function () {\n uni.showToast({\n title: \"默认\",\n icon: 'none',\n duration: this.intervalSelect,\n image: this.imageSelect ? \"/static/uni.png\" : null,\n mask: this.maskSelect,\n success: (res) => {\n // console.log('success:',res)\n this.exeRet = \"success:\" + JSON.stringify(res)\n },\n fail: (res) => {\n this.exeRet = \"fail:\" + JSON.stringify(res)\n },\n })\n },\r\n // #ifdef APP\r\n toast2Tap: function () {\r\n let positionValue = this.position_enum[this.position_current].value\r\n uni.showToast({\r\n title: \"显示一段轻提示,position:\" + positionValue,\r\n position: positionValue,\r\n success: (res) => {\r\n this.exeRet = \"success:\" + JSON.stringify(res)\r\n },\r\n fail: (res) => {\r\n this.exeRet = \"fail:\" + JSON.stringify(res)\r\n },\r\n })\r\n },\r\n // #endif\r\n hideToast: function () {\r\n uni.hideToast()\r\n }\r\n }\r\n }\r\n\n```\n\n:::"},"hideToast":{"name":"## uni.hideToast() @hidetoast","description":"隐藏消息提示框。","compatibility":"### hideToast 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 3.91 | 3.91 | 4.11 | 4.11 |\n","param":"","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.ui.showToast.hideToast)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/prompt.html#hidetoast)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=hideToast&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=hideToast&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=hideToast&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=hideToast&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=hideToast&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=hideToast)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=hideToast&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"loadFontFace":{"name":"## uni.loadFontFace(options) @loadfontface","description":"动态加载网络字体\n","compatibility":"### loadFontFace 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | √ | 4.10 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **LoadFontFaceOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| global | boolean | 否 | - | | 是否全局生效。微信小程序 '2.10.0'起支持全局生效,需在 app.vue 中调用。 |\n@| family | string | 是 | - | | 定义的字体名称 |\n@| source | [string.FontURIString](/uts/data-type.md#ide-string) | 是 | - | | 字体资源的地址, App-Android 平台不支持 woff、woff2 格式字体文件 |\n@| desc | **LoadFontFaceOptionDesc** | 否 | - | | 可选的字体描述符 |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| style | string | 否 | - | - | |\n@@| weight | string | 否 | - | - | |\n@@| variant | string | 否 | - | - | |\n@| success | (result: [AsyncApiSuccessResult](#asyncapisuccessresult-values)) => void | 否 | - | | 接口调用成功的回调函数 |\n@| fail | (error: [LoadFontFaceFail](#loadfontfacefail-values)) => void | 否 | - | | 接口调用失败的回调函数 |\n@| complete | (res: [AsyncApiResult](#asyncapiresult-values)) => void | 否 | - | | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### AsyncApiSuccessResult 的属性值 @asyncapisuccessresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n\n#### LoadFontFaceFail 的属性值 @loadfontfacefail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 4 | - | 框架内部异常 |\n@| 99 | - | page is not ready |\n@| 101 | - | 参数错误 |\n@| 100001 | - | family is null |\n@| 100002 | - | source is null |\n@| 200001 | - | local font not found |\n@| 300001 | - | same source task is loading |\n@| 300002 | - | download fail |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n#### AsyncApiResult 的属性值 @asyncapiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Promise\\<**AsyncApiSuccessResult**> | 否 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| errMsg | string | 是 | - | - | - | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.ui.loadFontFace)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/font.html#loadfontface)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=loadFontFace&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=loadFontFace&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=loadFontFace&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=loadFontFace&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=loadFontFace&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=loadFontFace)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=loadFontFace&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/load-font-face/load-font-face.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/load-font-face/load-font-face\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/load-font-face/load-font-face\n\n>Template\n```vue\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n uniIcon1: '\\ue100',\r\n uniIcon2: '\\ue101',\n uniIcon3: '\\ue102'\r\n }\r\n },\r\n onLoad() {\r\n uni.loadFontFace({\r\n global: true,\r\n family: 'UniFontFamily',\r\n source: \"url('/static/font/uni.ttf')\",\r\n success() {\r\n console.log('global loadFontFace uni.ttf success')\r\n },\r\n fail(error) {\r\n console.warn('global loadFontFace uni.ttf fail', error.errMsg)\r\n },\r\n })\n uni.loadFontFace({\n family: 'UniFontFamily2',\n source: \"url(data:font/ttf;charset=utf-8;base64,AAEAAAAKAIAAAwAgT1MvMjpAVPQAAACsAAAAYGNtYXAADeKoAAABDAAAAUJnbHlmUL6yUwAAAlAAAAEYaGVhZBeGAMAAAANoAAAANmhoZWED3gOCAAADoAAAACRobXR4BCEAAAAAA8QAAAAGbG9jYQCMAAYAAAPMAAAABm1heHABEQBiAAAD1AAAACBuYW1le6YhIAAAA/QAAAMecG9zdNTj4UYAAAcUAAAAMAAEBAABkAAFAAACiQLMAAAAjwKJAswAAAHrADIBCAAAAgAFAwAAAAAAAAAAAAAQAAAAAAAAAAAAAABQZkVkAEDhAuECA4D/gABcA4AAgAAAAAEAAAAAAgACzQAAAAAAAAAAAAMAAAADAAAAHAABAAAAAAA8AAMAAQAAABwABAAgAAAABAAEAAEAAOEC//8AAOEC//8e/wABAAAAAAAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFACH/rAPgA1QACwAXACwAOABVAAABPgE3LgEnDgEHHgE3LgEnPgE3HgEXDgEHIgYHFhc2Nx4BFxYnIQYHIRYnLgEBPgE3LgEnDgEHHgE3IiY9ASMuATQ2OwE1NDYyFh0BMzIWFAYHIxUUBgJpTmkCAmhPTmkCAmlOMUIBAUIxMUIBAUIxOmUpGxU/WZScAQER/oUBCgFyagECxP3iW3wCAntcXHsDA3tcCxFSCw8PC1IRFxBSCw8PC1IQAccCclVVbQICb1NVcj8BTDs5SQEBSTk6TXcZFhYcHwEGiTsNASEgAUZbsf4hAnxcXHsCAntcXXtKDg1YAQ8WD1kMDg4MWQ8WDwFYDQ4AAAAAAQAAAAEAAKwmoyNfDzz1AAsEAAAAAADaMRNzAAAAANo0qVAAIf+sA+ADVAAAAAgAAgAAAAAAAAABAAADgP+AAFwEAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQQAAAAAIQAAAAAABgCMAAAAAQAAAAIAVgAFAAAAAAACAAAACgAKAAAA/wAAAAAAAAAAABIA3gABAAAAAAAAABMAAAABAAAAAAABAAgAEwABAAAAAAACAAcAGwABAAAAAAADABUAIgABAAAAAAAEAAgANwABAAAAAAAFADsAPwABAAAAAAAGAAgAegABAAAAAAAKACsAggABAAAAAAALABMArQADAAEECQAAACYAwAADAAEECQABABAA5gADAAEECQACAA4A9gADAAEECQADACoBBAADAAEECQAEABABLgADAAEECQAFAHYBPgADAAEECQAGABABtAADAAEECQAKAFYBxAADAAEECQALACYCGkNyZWF0ZWQgYnkgaWNvbmZvbnR1bmlpY29uc1JlZ3VsYXJ1bmlpY29uczpWZXJzaW9uIDEuMDB1bmlpY29uc1ZlcnNpb24gMS4wMDtKYW51YXJ5IDMsIDIwMjA7Rm9udENyZWF0b3IgMTIuMC4wLjI1MzUgNjQtYml0dW5paWNvbnNHZW5lcmF0ZWQgYnkgc3ZnMnR0ZiBmcm9tIEZvbnRlbGxvIHByb2plY3QuaHR0cDovL2ZvbnRlbGxvLmNvbQBDAHIAZQBhAHQAZQBkACAAYgB5ACAAaQBjAG8AbgBmAG8AbgB0AHUAbgBpAGkAYwBvAG4AcwBSAGUAZwB1AGwAYQByAHUAbgBpAGkAYwBvAG4AcwA6AFYAZQByAHMAaQBvAG4AIAAxAC4AMAAwAHUAbgBpAGkAYwBvAG4AcwBWAGUAcgBzAGkAbwBuACAAMQAuADAAMAA7AEoAYQBuAHUAYQByAHkAIAAzACwAIAAyADAAMgAwADsARgBvAG4AdABDAHIAZQBhAHQAbwByACAAMQAyAC4AMAAuADAALgAyADUAMwA1ACAANgA0AC0AYgBpAHQAdQBuAGkAaQBjAG8AbgBzAEcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAAcwB2AGcAMgB0AHQAZgAgAGYAcgBvAG0AIABGAG8AbgB0AGUAbABsAG8AIABwAHIAbwBqAGUAYwB0AC4AaAB0AHQAcAA6AC8ALwBmAG8AbgB0AGUAbABsAG8ALgBjAG8AbQAAAAIAAAAAAAAACgABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgAAAQIJcGVyc29uYWRk)\",\n success() {\n console.log('loadFontFace uni.ttf(base64 format) success')\n },\n fail(error) {\n console.warn('loadFontFace uni.ttf(base64 format) fail', error.errMsg)\n },\n })\r\n uni.loadFontFace({\r\n family: 'AlimamaDaoLiTiTTF',\r\n source:\r\n \"url('https://qiniu-web-assets.dcloud.net.cn/uni-app-x/static/font/AlimamaDaoLiTi.ttf')\",\r\n success() {\r\n console.log('loadFontFace Remote AlimamaDaoLiTi.ttf success')\r\n },\r\n fail(error) {\r\n console.warn('loadFontFace Remote AlimamaDaoLiTi.ttf fail', error.errMsg)\r\n },\r\n })\r\n uni.loadFontFace({\r\n family: 'AlimamaDaoLiTiOTF',\r\n source: \"url('/static/font/AlimamaDaoLiTi.otf')\",\r\n success() {\r\n console.log('loadFontFace AlimamaDaoLiTi.otf success')\r\n },\r\n fail(error) {\r\n console.warn('loadFontFace AlimamaDaoLiTi.otf fail', error.errMsg)\r\n },\r\n })\r\n uni.loadFontFace({\r\n family: 'AlimamaDaoLiTiWOFF',\r\n source: \"url('/static/font/AlimamaDaoLiTi.woff')\",\r\n success() {\r\n console.log('loadFontFace AlimamaDaoLiTi.woff success')\r\n },\r\n fail(error) {\r\n console.warn('loadFontFace AlimamaDaoLiTi.woff fail', error.errMsg)\r\n },\r\n })\r\n uni.loadFontFace({\r\n family: 'AlimamaDaoLiTiWOFF2',\r\n source: \"url('/static/font/AlimamaDaoLiTi.woff2')\",\r\n success() {\r\n console.log('loadFontFace AlimamaDaoLiTi.woff2 success')\r\n },\r\n fail(error) {\r\n console.warn('loadFontFace AlimamaDaoLiTi.woff2 fail', error.errMsg)\r\n },\r\n })\r\n },\r\n methods: {\r\n navigateToChild() {\r\n uni.navigateTo({\r\n url: '/pages/API/load-font-face/load-font-face-child',\r\n })\r\n },\r\n },\r\n }\r\n\n```\n\n:::"},"rpx2px":{"name":"## uni.rpx2px(number) @rpx2px","description":"将rpx单位值转换成px","compatibility":"### rpx2px 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.02 | 4.02 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| number | number | 是 | - | - | - | \n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| number |\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.ui.rpx2px)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/ui/font.html#upx2px)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/rpx2px/rpx2px.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/rpx2px/rpx2px\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/rpx2px/rpx2px\n\n>Template\n```vue\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n title: 'rpx2px',\r\n rpxValue: 750,\r\n pxValue: 0,\r\n result: false\r\n }\r\n },\r\n methods: {\r\n rpx2px: function () {\r\n this.pxValue = uni.rpx2px(this.rpxValue);\r\n\r\n // 仅限自动化测试\r\n const windowInfo = uni.getWindowInfo();\r\n if (windowInfo.windowWidth == this.pxValue) {\r\n this.result = true\r\n }\r\n }\r\n }\r\n }\r\n\n```\n\n:::"},"setAppTheme":{"name":"## uni.setAppTheme(options) @setapptheme","description":"设置应用主题","compatibility":"### setAppTheme 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| x | 4.18 | 4.18 | 4.18 | 4.18 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **SetAppThemeOptions** | 是 | - | | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| theme | string | 是 | - | | 主题 |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| light | - | - |\n@@| dark | - | - |\n@@| auto | - | - |\n@| success | (result: [SetAppThemeSuccessResult](#setappthemesuccessresult-values)) => void | 否 | null | | 接口调用成功的回调函数 |\n@| fail | (result: [IAppThemeFail](#iappthemefail-values)) => void | 否 | null | | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### SetAppThemeSuccessResult 的属性值 @setappthemesuccessresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| theme | string | 是 | - | - | - |\n\n#### IAppThemeFail 的属性值 @iappthemefail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | | 错误码
- 702001 参数错误
- 2002000 未知错误 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 702001 | - | - |\n@| 2002000 | - | - |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.ui.themeChange.setAppTheme)"},"onOsThemeChange":{"name":"## uni.onOsThemeChange(callback) @onosthemechange","description":"开启监听系统主题变化","compatibility":"### onOsThemeChange 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| x | 4.18 | 4.18 | 4.18 | 4.18 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (res: [OsThemeChangeResult](#osthemechangeresult-values)) => void | 是 | - | - | - | \n\n### OsThemeChangeResult 的属性值 @osthemechangeresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| osTheme | string | 是 | - | | 系统主题 |\n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| number |\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.ui.themeChange.onOsThemeChange)"},"offOsThemeChange":{"name":"## uni.offOsThemeChange(id) @offosthemechange","description":"取消监听系统主题变化","compatibility":"### offOsThemeChange 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| x | 4.18 | 4.18 | 4.18 | 4.18 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| id | number | 是 | - | - | - | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.ui.themeChange.offOsThemeChange)"},"onAppThemeChange":{"name":"## uni.onAppThemeChange(callback) @onappthemechange","description":"开启监听应用主题变化","compatibility":"### onAppThemeChange 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| x | 4.18 | 4.18 | 4.18 | 4.18 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (res: [AppThemeChangeResult](#appthemechangeresult-values)) => void | 是 | - | - | - | \n\n### AppThemeChangeResult 的属性值 @appthemechangeresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| appTheme | string | 是 | - | | 应用主题 |\n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| number |\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.ui.themeChange.onAppThemeChange)"},"offAppThemeChange":{"name":"## uni.offAppThemeChange(id) @offappthemechange","description":"取消监听应用主题变化","compatibility":"### offAppThemeChange 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| x | 4.18 | 4.18 | 4.18 | 4.18 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| id | number | 是 | - | - | - | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.ui.themeChange.offAppThemeChange)"},"onHostThemeChange":{"name":"## uni.onHostThemeChange(callback) @onhostthemechange","description":"监听宿主题状态变化。","compatibility":"### onHostThemeChange 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.35 | 4.35 | 4.35 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [OnHostThemeChangeCallbackResult](#onhostthemechangecallbackresult-values)) => void | 是 | - | - | - | \n\n### OnHostThemeChangeCallbackResult 的属性值 @onhostthemechangecallbackresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| hostTheme | string | 是 | - | - | 主题名称 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| dark | - | - |\n@| light | - | - |\n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| number |\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.ui.themeChange.onHostThemeChange)\n - [参见uni-app相关文档](https://uniapp.dcloud.io/api/system/theme.html#onhostthemechange)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=onHostThemeChange&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=onHostThemeChange&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=onHostThemeChange&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=onHostThemeChange&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=onHostThemeChange&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=onHostThemeChange)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=onHostThemeChange&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"offHostThemeChange":{"name":"## uni.offHostThemeChange(id) @offhostthemechange","description":"取消监听宿主题状态变化。","compatibility":"### offHostThemeChange 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.35 | 4.35 | 4.35 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| id | number | 是 | - | - | - | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.ui.themeChange.offHostThemeChange)\n - [参见uni-app相关文档](https://uniapp.dcloud.io/api/system/theme.html#offhostthemechange)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=offHostThemeChange&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=offHostThemeChange&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=offHostThemeChange&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=offHostThemeChange&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=offHostThemeChange&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=offHostThemeChange)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=offHostThemeChange&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"offThemeChange":{"name":"## uni.~~offThemeChange(callback)~~ @offthemechange","description":"取消监听系统主题状态变化。 **已废弃,在web、小程序上推荐使用 offHostThemeChange**","compatibility":"### offThemeChange 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [OnHostThemeChangeCallbackResult](#onhostthemechangecallbackresult-values)) => void | 是 | - | - | - | \n\n### OnHostThemeChangeCallbackResult 的属性值 @onhostthemechangecallbackresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| hostTheme | string | 是 | - | - | 主题名称 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| dark | - | - |\n@| light | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.ui.themeChange.onThemeChange)\n - [参见uni-app相关文档](https://uniapp.dcloud.io/api/system/theme.html#offthemechange)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=offThemeChange&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=offThemeChange&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=offThemeChange&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=offThemeChange&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=offThemeChange&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=offThemeChange)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=offThemeChange&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"onThemeChange":{"name":"## uni.~~onThemeChange(callback)~~ @onthemechange","description":"监听系统主题状态变化。 **已废弃,在web、小程序上推荐使用 onHostThemeChange**","compatibility":"### onThemeChange 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [OnHostThemeChangeCallbackResult](#onhostthemechangecallbackresult-values)) => void | 是 | - | - | - | \n\n### OnHostThemeChangeCallbackResult 的属性值 @onhostthemechangecallbackresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| hostTheme | string | 是 | - | - | 主题名称 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| dark | - | - |\n@| light | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.ui.themeChange.offThemeChange)\n - [参见uni-app相关文档](https://uniapp.dcloud.io/api/system/theme.html#onthemechange)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=onThemeChange&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=onThemeChange&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=onThemeChange&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=onThemeChange&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=onThemeChange&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=onThemeChange)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=onThemeChange&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"themeChange":{"example":"## 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/theme-change/theme-change.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/theme-change/theme-change\n```uvue\n\r\n\r\n\r\n\r\n\n\n```\n:::"},"getLocale":{"name":"## uni.getLocale() @getlocale","description":"获取当前设置的语言\n","compatibility":"### getLocale 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","param":"","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| string |\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.ui.locale.getLocale)\n - [参见uni-app相关文档](https://uniapp.dcloud.io/api/ui/locale.html#getlocale)"},"setLocale":{"name":"## uni.setLocale(locale) @setlocale","description":"设置当前语言\n","compatibility":"### setLocale 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| locale | string | 是 | - | - | - | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.ui.locale.setLocale)\n - [参见uni-app相关文档](https://uniapp.dcloud.io/api/ui/locale.html#setlocale)"},"onLocaleChange":{"name":"## uni.onLocaleChange(callback) @onlocalechange","description":"设置当前语言\n","compatibility":"### onLocaleChange 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [OnLocaleChangeCallbackResult](#onlocalechangecallbackresult-values)) => void | 是 | - | - | - | \n\n### OnLocaleChangeCallbackResult 的属性值 @onlocalechangecallbackresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| locale | string | 否 | - | - | 当前语言 |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.ui.locale.onLocaleChange)\n - [参见uni-app相关文档](https://uniapp.dcloud.io/api/ui/locale.html#onlocalechange)"},"request":{"name":"## uni.request(param) @request","description":"发起网络请求。","compatibility":"### request 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 3.91 | 3.91 | 4.11 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| param | [RequestOptions\\](#requestoptions-values) | 是 | - | - | 网络请求参数 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| url | string | 是 | - | | 开发者服务器接口地址
|\n@| data | any | 否 | null | | 请求的参数 在`app-android端,参数类型只能为`UTSJSONObject`或者`string`类型 |\n@| header | UTSJSONObject | 否 | null | | 设置请求的 header,header 中不能设置 Referer |\n@| method | string | 否 | \"GET\" | | 请求方法 |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| GET | - | GET方法请求一个指定资源的表示形式,使用 GET 的请求应该只被用于获取数据。 |\n@@| POST | - | POST方法用于将实体提交到指定的资源,通常导致在服务器上的状态变化或副作用。 |\n@@| PUT | - | PUT方法用有效载荷请求替换目标资源的所有当前表示。 |\n@@| PATCH | - | PATCH方法用于对资源应用部分修改。 |\n@@| DELETE | - | DELETE方法删除指定的资源。 |\n@@| HEAD | - | HEAD方法请求一个与GET请求的响应相同的响应,但没有响应体。 |\n@@| OPTIONS | - | OPTIONS 方法用于描述目标资源的通信选项。 |\n@| timeout | number | 否 | 60000 | | 超时时间,单位 ms |\n@| withCredentials | boolean | 否 | - | | 跨域请求时是否携带凭证(cookies)
|\n@| firstIpv4 | boolean | 否 | false | | DNS解析时优先使用ipv4 |\n@| success | (option: [RequestSuccess\\](#requestsuccess-values)) => void | 否 | null | - | 网络请求成功回调。 |\n@| fail | (option: [RequestFail](#requestfail-values)) => void | 否 | null | - | 网络请求失败回调。 |\n@| complete | (option: any) => void | 否 | null | - | 网络请求完成回调,成功或者失败都会调用。 | \n\n#### RequestSuccess\\ 的属性值 @requestsuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| data | T | 否 | - | | 开发者服务器返回的数据 |\n| statusCode | number | 是 | - | | 开发者服务器返回的 HTTP 状态码 |\n| header | any | 是 | - | | 开发者服务器返回的 HTTP Response Header |\n| cookies | Array\\ | 是 | - | | 开发者服务器返回的 cookies,格式为字符串数组 |\n\n#### RequestFail 的属性值 @requestfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 5 | - | 接口超时 |\n@| 1000 | - | 服务端系统错误 |\n@| 100001 | - | json数据解析错误 |\n@| 100002 | - | 错误信息json解析失败 |\n@| 600003 | - | 网络中断 |\n@| 600008 | - | data参数类型不合法 |\n@| 600009 | - | URL格式不合法 |\n@| 602001 | - | request系统错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| [RequestTask](#requesttask-values) |\n\n#### RequestTask 的方法 @requesttask-values \n\n#### abort(): void @abort\n中断网络请求。\n##### abort 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 3.91 | 3.91 | 4.11 | 4.11 |\n\n\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.network.request)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/request/request.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=request&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=request&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=request&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=request&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=request&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=request)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=request&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/request/request.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/request/request\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/request/request\n\n>Template\n```vue\n\r\n\r\n\n```\n\n>Script\n```uts\n\r\n // #ifdef APP\r\n import {\r\n testInovkeRequest,\r\n CommonOptions\r\n } from '@/uni_modules/test-invoke-network-api'\r\n // #endif\r\n\r\n class GETDataType {\r\n data : UTSJSONObject | null = null\r\n }\r\n\r\n const duration = 2000\r\n const methodMap = {\r\n \"GET\": \"/api/http/method/get\",\r\n \"POST\": \"/api/http/method/post\",\r\n \"PUT\": \"/api/http/method/put\",\r\n \"DELETE\": \"/api/http/method/delete\",\r\n \"PATCH\": \"/api/http/method/patch\",\r\n \"OPTIONS\": \"/api/http/method/options\",\r\n \"HEAD\": \"/api/http/method/head\"\r\n }\r\n\r\n\r\n export default {\r\n data() {\r\n return {\r\n title: 'request',\r\n res: '',\r\n task: null as RequestTask | null,\r\n host: \"https://request.dcloud.net.cn\",\r\n url: \"/api/http/method/get\",\r\n method: \"GET\" as RequestMethod | null,\r\n data: null as any | null,\r\n header: null as UTSJSONObject | null,\r\n errorCodeUrls: [\r\n \"/api/http/statusCode/200\",\r\n \"/api/http/statusCode/204\",\r\n \"/api/http/statusCode/301\",\r\n \"/api/http/statusCode/302\",\r\n \"/api/http/statusCode/307\",\r\n \"/api/http/statusCode/400\",\r\n \"/api/http/statusCode/401\",\r\n \"/api/http/statusCode/403\",\r\n \"/api/http/statusCode/404\",\r\n \"/api/http/statusCode/405\",\r\n \"/api/http/statusCode/500\",\r\n \"/api/http/statusCode/502\",\r\n \"/api/http/statusCode/503\",\r\n \"/api/http/statusCode/504\",\r\n ],\r\n headerUrls: [\r\n \"/api/http/header/ua\",\r\n \"/api/http/header/referer\",\r\n \"/api/http/header/requestCookie\",\r\n \"/api/http/header/setCookie\",\r\n \"/api/http/header/deleteCookie\"\r\n ],\r\n contentTypeUrls: [\r\n \"/api/http/contentType/text/plain\",\r\n \"/api/http/contentType/text/html\",\r\n \"/api/http/contentType/text/xml\",\r\n \"/api/http/contentType/image/gif\",\r\n \"/api/http/contentType/image/jpeg\",\r\n \"/api/http/contentType/image/png\",\r\n \"/api/http/contentType/application/json\",\r\n \"/api/http/contentType/application/octetStream\",\r\n ],\r\n postUrls: [\r\n \"/api/http/contentType/json\",\r\n \"/api/http/contentType/xWwwFormUrlencoded\",\r\n ],\r\n //自动化测试例专用\r\n jest_result: false,\r\n jest_result_data: \"\"\r\n }\r\n },\r\n onLoad() {\r\n },\r\n onUnload() {\r\n uni.hideLoading();\r\n this.task?.abort();\r\n },\r\n methods: {\r\n changeMethod(e : RequestMethod) {\r\n this.method = e;\r\n this.url = methodMap[e] as string;\r\n this.data = null;\r\n this.header = null;\r\n },\r\n changeUrl(e : string) {\r\n this.method = \"GET\";\r\n this.url = e;\r\n this.data = null;\r\n this.header = null;\r\n },\r\n changeUrlFromPost(e : string) {\r\n this.method = \"POST\";\r\n this.url = e;\r\n switch (e) {\r\n case \"/api/http/contentType/json\":\r\n this.header = {\r\n \"Content-Type\": \"application/json\"\r\n };\r\n this.data = {\r\n \"hello\": \"world\"\r\n };\r\n break;\r\n case \"/api/http/contentType/xWwwFormUrlencoded\":\r\n this.header = {\r\n \"Content-Type\": \"application/x-www-form-urlencoded\"\r\n };\r\n this.data = \"hello=world\";\r\n break;\r\n }\r\n },\r\n sendRequest() {\r\n uni.showLoading({\r\n title: \"请求中...\"\r\n })\r\n this.task = uni.request({\r\n url: this.host + this.url,\r\n // dataType: \"json\",\r\n // responseType: \"json\",\r\n method: this.method,\r\n data: this.data,\r\n header: this.header,\r\n timeout: 6000,\r\n sslVerify: false,\r\n withCredentials: false,\r\n firstIpv4: false,\r\n success: (res) => {\r\n console.log('request success', JSON.stringify(res.data))\r\n console.log('request success header is :', JSON.stringify(res.header))\r\n uni.showToast({\r\n title: '请求成功',\r\n icon: 'success',\r\n mask: true,\r\n duration: duration\r\n });\r\n this.res = '请求结果 : ' + JSON.stringify(res);\r\n },\r\n fail: (err) => {\r\n console.log('request fail', err);\r\n uni.showModal({\r\n content: err.errMsg,\r\n showCancel: false\r\n });\r\n },\r\n complete: () => {\r\n uni.hideLoading()\r\n this.task = null\r\n },\r\n });\r\n },\r\n //自动化测试例专用\r\n jest_request() {\r\n uni.request({\r\n url: this.host + this.url,\r\n // dataType: \"json\",\r\n // responseType: \"json\",\r\n method: this.method,\r\n data: this.data,\r\n header: this.header,\r\n timeout: 6000,\r\n sslVerify: false,\r\n withCredentials: false,\r\n firstIpv4: false,\r\n success: () => {\r\n this.jest_result = true;\r\n },\r\n fail: () => {\r\n this.jest_result = false;\r\n },\r\n });\r\n },\r\n jest_set_cookie() {\r\n uni.request({\r\n url: this.host + \"/api/http/header/setCookie\",\r\n method: \"GET\",\r\n timeout: 6000,\r\n sslVerify: false,\r\n withCredentials: false,\r\n firstIpv4: false,\r\n success: () => {\r\n this.jest_cookie_request(true)\r\n },\r\n fail: () => {\r\n this.jest_result = false;\r\n },\r\n });\r\n },\r\n jest_set_cookie_expires() {\r\n uni.request({\r\n url: this.host + \"/api/http/header/setCookie?expires=5\",\r\n method: \"GET\",\r\n timeout: 6000,\r\n sslVerify: false,\r\n withCredentials: false,\r\n firstIpv4: false,\r\n success: () => {\r\n this.jest_cookie_request(true)\r\n },\r\n fail: () => {\r\n this.jest_result = false;\r\n },\r\n });\r\n },\r\n jest_delete_cookie() {\r\n uni.request({\r\n url: this.host + \"/api/http/header/deleteCookie\",\r\n method: \"GET\",\r\n timeout: 6000,\r\n sslVerify: false,\r\n withCredentials: false,\r\n firstIpv4: false,\r\n success: () => {\r\n this.jest_cookie_request(false)\r\n },\r\n fail: () => {\r\n this.jest_result = false;\r\n },\r\n });\r\n },\r\n jest_cookie_request(needCookie : boolean) {\r\n uni.request({\r\n url: this.host + \"/api/http/header/requestCookie\",\r\n method: \"GET\",\r\n timeout: 6000,\r\n sslVerify: false,\r\n withCredentials: false,\r\n firstIpv4: false,\r\n success: (res) => {\r\n const requestCookie = (res.data as UTSJSONObject).getJSON(\"data\")?.getAny(\"requestCookie\")\r\n this.jest_result_data = JSON.stringify(requestCookie)\r\n if (requestCookie instanceof Array) {\r\n this.jest_result = needCookie ? requestCookie.length > 0 : requestCookie.length == 0\r\n } else {\r\n this.jest_result = needCookie ? (requestCookie as UTSJSONObject).toMap().size > 0 : (requestCookie as UTSJSONObject).toMap().size == 0\r\n }\r\n },\r\n fail: () => {\r\n this.jest_result = false;\r\n },\r\n });\r\n },\r\n jest_timeout_null() {\r\n uni.request({\r\n url: this.host + (methodMap['GET'] as string),\r\n method: \"GET\",\r\n timeout: null,\r\n sslVerify: false,\r\n withCredentials: false,\r\n firstIpv4: false,\r\n success: () => {\r\n this.jest_result = true;\r\n },\r\n fail: () => {\r\n this.jest_result = false;\r\n },\r\n });\r\n },\r\n jest_get_with_data() {\r\n uni.request({\r\n url: \"https://unidemo.dcloud.net.cn/api/banner/36kr\",\r\n method: \"GET\",\r\n data: {\r\n column: 'id,post_id,title,author_name,cover,published_at' //需要的字段名\r\n },\r\n timeout: 6000,\r\n sslVerify: false,\r\n withCredentials: false,\r\n firstIpv4: false,\r\n success: () => {\r\n this.jest_result = true;\r\n },\r\n fail: () => {\r\n this.jest_result = false;\r\n },\r\n });\r\n },\r\n jest_get_with_generics() {\r\n uni.request({\r\n url: this.host + (methodMap['GET'] as string),\r\n method: \"GET\",\r\n timeout: null,\r\n sslVerify: false,\r\n withCredentials: false,\r\n firstIpv4: false,\r\n success: (res : RequestSuccess) => {\r\n this.jest_result = true;\r\n },\r\n fail: () => {\r\n this.jest_result = false;\r\n },\r\n });\r\n },\r\n jest_get_array() {\r\n uni.request({\r\n url: 'https://unidemo.dcloud.net.cn/api/news?column=title,author_name,cover,published_at',\r\n method: \"GET\",\r\n success: (res : RequestSuccess) => {\r\n if (res.statusCode == 200 && Array.isArray(res.data)) {\r\n this.jest_result = true\r\n } else {\r\n this.jest_result = false\r\n }\r\n },\r\n fail: () => {\r\n this.jest_result = false\r\n }\r\n });\r\n },\r\n jest_uts_module_invoked() {\r\n // #ifdef APP\r\n testInovkeRequest({\r\n success: (res : any) => {\r\n this.jest_result = true\r\n },\r\n fail: (err : any) => {\r\n this.jest_result = false\r\n }\r\n } as CommonOptions)\r\n // #endif\r\n },\r\n jest_respone_json_string() {\r\n uni.request({\r\n url: \"https://request.dcloud.net.cn/api/http/contentType/text/json\",\r\n success: (res : RequestSuccess) => {\r\n this.jest_result = typeof res.data == \"object\"\r\n },\r\n fail: (e : RequestFail) => {\r\n this.jest_result = false\r\n }\r\n })\r\n },\r\n jest_respone_with_string_generics() {\r\n uni.request({\r\n url: this.host + (methodMap['GET'] as string),\r\n method: \"GET\",\r\n timeout: null,\r\n sslVerify: false,\r\n withCredentials: false,\r\n firstIpv4: false,\r\n success: (res : RequestSuccess) => {\r\n this.jest_result = true;\r\n },\r\n fail: () => {\r\n this.jest_result = false;\r\n },\r\n });\r\n }\r\n }\r\n }\r\n\n```\n\n:::"},"uploadFile":{"name":"## uni.uploadFile(options) @uploadfile","description":"将本地资源上传到开发者服务器。","compatibility":"### uploadFile 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 3.91 | 3.91 | 4.11 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **UploadFileOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| url | string | 是 | - | | 开发者服务器 url |\n@| filePath | string | 否 | null | | 要上传文件资源的路径, 支持uni.env |\n@| name | string | 否 | null | | 文件对应的 key , 开发者在服务器端通过这个 key 可以获取到文件二进制内容 |\n@| files | Array\\<**UploadFileOptionFiles**\\> | 否 | null | | 需要上传的文件列表。 |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| name | string | 否 | \"file\" | | multipart 提交时,表单的项目名,默认为 file,如果 name 不填或填的值相同,可能导致服务端读取文件时只能读取到一个文件。 |\n@@| uri | string | 是 | - | | 要上传文件资源的路径 |\n@@| file | any | 否 | - | | 要上传的文件对象 |\n@| header | UTSJSONObject | 否 | null | | HTTP 请求 Header, header 中不能设置 Referer |\n@| formData | UTSJSONObject | 否 | null | | HTTP 请求中其他额外的 form data |\n@| timeout | number | 否 | 120000 | | 超时时间,单位 ms |\n@| success | (result: [UploadFileSuccess](#uploadfilesuccess-values)) => void | 否 | null | - | 成功返回的回调函数 |\n@| fail | (result: [UploadFileFail](#uploadfilefail-values)) => void | 否 | null | - | 失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | - | 结束的回调函数(调用成功、失败都会执行) | \n\n#### UploadFileSuccess 的属性值 @uploadfilesuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| data | string | 是 | - | | 开发者服务器返回的数据 |\n| statusCode | number | 是 | - | | 开发者服务器返回的 HTTP 状态码 |\n\n#### UploadFileFail 的属性值 @uploadfilefail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 5 | - | 接口超时 |\n@| 1000 | - | 服务端系统错误 |\n@| 100001 | - | json数据解析错误 |\n@| 100002 | - | 错误信息json解析失败 |\n@| 600003 | - | 网络中断 |\n@| 600008 | - | data参数类型不合法 |\n@| 600009 | - | URL格式不合法 |\n@| 602001 | - | request系统错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| [UploadTask](#uploadtask-values) |\n\n#### UploadTask 的方法 @uploadtask-values \n\n#### abort(): void, @abort\n中断上传任务。\n##### abort 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 3.91 | 3.91 | 4.11 | 4.11 |\n\n\n\n#### onProgressUpdate(callback: UploadFileProgressUpdateCallback): void, @onprogressupdate\n监听上传进度变化。\n##### onProgressUpdate 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 3.91 | 3.91 | 4.11 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [OnProgressUpdateResult](#onprogressupdateresult-values)) => void | 是 | - | - | - | \n\n##### OnProgressUpdateResult 的属性值 @onprogressupdateresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| progress | number | 是 | - | | 上传进度百分比 |\n| totalBytesSent | number | 是 | - | | 已经上传的数据长度,单位 Bytes |\n| totalBytesExpectedToSend | number | 是 | - | | 预期需要上传的数据总长度,单位 Bytes |\n\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.network.uploadFile)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/request/network-file.html#uploadfile)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=uploadFile&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=uploadFile&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=uploadFile&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=uploadFile&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=uploadFile&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=uploadFile)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=uploadFile&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/upload-file/upload-file.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/upload-file/upload-file\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/upload-file/upload-file\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\n```\n\n>Script\n```uts\n\r\n // #ifdef APP\r\n import {\r\n testInovkeUploadFile,\r\n CommonOptions\r\n } from '@/uni_modules/test-invoke-network-api'\r\n // #endif\r\n\r\n export default {\r\n data() {\r\n return {\r\n title: 'uploadFile',\r\n imageSrc: '',\r\n task: null as UploadTask | null,\r\n //自动化测试例专用\r\n jest_result: false,\r\n }\r\n },\r\n onLoad() {\r\n },\r\n onUnload() {\r\n this.imageSrc = '';\r\n uni.hideLoading();\r\n this.task?.abort();\r\n },\r\n methods: {\r\n chooseImage: function () {\r\n uni.chooseImage({\r\n count: 1,\r\n sizeType: ['compressed'],\r\n sourceType: ['album'],\r\n success: (res) => {\r\n console.log('chooseImage success, temp path is', res.tempFilePaths[0])\r\n var imageSrc = res.tempFilePaths[0]\r\n uni.showLoading({\r\n title: '上传中'\r\n })\r\n this.task = uni.uploadFile({\r\n url: 'https://unidemo.dcloud.net.cn/upload', //仅为示例,非真实的接口地址\r\n filePath: imageSrc,\r\n name: 'file',\r\n formData: {\r\n 'user': 'test'\r\n },\r\n success: (res) => {\r\n console.log('uploadImage success, res is:', res)\r\n uni.showToast({\r\n title: '上传成功',\r\n icon: 'success',\r\n duration: 1000\r\n })\r\n this.imageSrc = imageSrc\r\n },\r\n fail: (err) => {\r\n console.log('uploadImage fail', err);\r\n uni.showModal({\r\n content: err.errMsg,\r\n showCancel: false\r\n });\r\n },\r\n complete: (res) => {\r\n uni.hideLoading();\r\n this.task = null\r\n }\r\n });\r\n },\r\n fail: (err) => {\r\n console.log('chooseImage fail', err)\r\n }\r\n })\r\n },\r\n //自动化测试例专用\r\n jest_uploadFile() {\r\n const imageSrc = \"/static/uni.png\";\r\n uni.uploadFile({\r\n url: 'https://unidemo.dcloud.net.cn/upload', //仅为示例,非真实的接口地址\r\n filePath: imageSrc,\r\n name: 'file',\r\n formData: {\r\n 'user': 'test'\r\n },\r\n success: () => {\r\n this.jest_result = true;\r\n },\r\n fail: () => {\r\n this.jest_result = false;\r\n },\r\n })\r\n },\r\n jest_uploadFile_with_uni_env() {\r\n const filePath = `${uni.env.CACHE_PATH}/download/uni-app.png`\r\n uni.downloadFile({\r\n url: \"https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/uni-app.png\",\r\n filePath: filePath,\r\n success: () => {\r\n uni.uploadFile({\r\n url: 'https://unidemo.dcloud.net.cn/upload', //仅为示例,非真实的接口地址\r\n filePath: filePath,\r\n name: 'file',\r\n success: () => {\r\n this.jest_result = true;\r\n },\r\n fail: () => {\r\n this.jest_result = false;\r\n },\r\n })\r\n },\r\n fail: () => {\r\n this.jest_result = false\r\n }\r\n });\r\n },\r\n jest_set_cookie() {\r\n uni.request({\r\n url: \"https://request.dcloud.net.cn/api/http/header/setCookie\",\r\n method: \"GET\",\r\n timeout: 6000,\r\n sslVerify: false,\r\n withCredentials: false,\r\n firstIpv4: false,\r\n success: () => {\r\n this.jest_cookie_upload(true)\r\n },\r\n fail: () => {\r\n this.jest_result = false;\r\n },\r\n });\r\n },\r\n\r\n jest_delete_cookie() {\r\n uni.request({\r\n url: \"https://request.dcloud.net.cn/api/http/header/deleteCookie\",\r\n method: \"GET\",\r\n timeout: 6000,\r\n sslVerify: false,\r\n withCredentials: false,\r\n firstIpv4: false,\r\n success: () => {\r\n this.jest_cookie_upload(false)\r\n },\r\n fail: () => {\r\n this.jest_result = false;\r\n },\r\n });\r\n },\r\n jest_cookie_upload(needCookie : boolean) {\r\n const imageSrc = \"/static/uni.png\";\r\n uni.uploadFile({\r\n url: 'https://request.dcloud.net.cn/api/http/header/upload',\r\n filePath: imageSrc,\r\n name: 'file',\r\n success: (res : UploadFileSuccess) => {\r\n const data = JSON.parseObject(res.data)\r\n const errCode = data?.getNumber(\"errCode\")\r\n if (errCode != null && errCode == 1000) {\r\n this.jest_result = needCookie ? false : true;\r\n } else {\r\n this.jest_result = needCookie ? true : false;\r\n }\r\n },\r\n fail: () => {\r\n this.jest_result = false;\r\n },\r\n })\r\n },\r\n jest_files_upload() {\r\n const imageSrc = \"/static/uni.png\";\r\n uni.uploadFile({\r\n url: 'https://unidemo.dcloud.net.cn/upload',\r\n files: [\r\n {\r\n name: \"file1\",\r\n uri: imageSrc\r\n } as UploadFileOptionFiles,\r\n {\r\n name: \"file2\",\r\n uri: imageSrc\r\n } as UploadFileOptionFiles\r\n ],\r\n success: (res : UploadFileSuccess) => {\r\n if (res.statusCode == 200) {\r\n this.jest_result = true;\r\n }\r\n },\r\n fail: () => {\r\n this.jest_result = false;\r\n },\r\n })\r\n },\r\n jest_uts_module_invoked() {\r\n // #ifdef APP\r\n testInovkeUploadFile({\r\n success: (res : any) => {\r\n this.jest_result = true\r\n },\r\n fail: (err : any) => {\r\n this.jest_result = false\r\n }\r\n } as CommonOptions)\r\n // #endif\r\n }\r\n }\r\n }\r\n\n```\n\n:::"},"downloadFile":{"name":"## uni.downloadFile(options) @downloadfile","description":"下载文件资源到本地,客户端直接发起一个 HTTP GET 请求,返回文件的本地临时路径。","compatibility":"### downloadFile 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 3.91 | 3.91 | 4.11 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **DownloadFileOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| url | string | 是 | - | | 下载资源的 url |\n@| header | UTSJSONObject | 否 | null | | HTTP 请求 Header,header 中不能设置 Referer |\n@| filePath | string | 否 | null | | 指定文件下载路径
支持相对路径与绝对路径,例:
`/imgs/pic.png`、`/storage/emulated/0/Android/data/io.dcloud.HBuilder/apps/HBuilder/temp/imgs/pic.png`
并且支持指定下载目录,例:
`/imgs/`
支持uni.env的平台兼容性:Android自3.9开始支持uni.env,iOS自4.13开始支持uni.env |\n@| timeout | number | 否 | 120000 | | 超时时间,单位 ms |\n@| success | (result: [DownloadFileSuccess](#downloadfilesuccess-values)) => void | 否 | null | - | 下载成功后以 tempFilePath 的形式传给页面,res = {tempFilePath: '文件的临时路径'} |\n@| fail | (result: [DownloadFileFail](#downloadfilefail-values)) => void | 否 | null | - | 失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | - | 结束的回调函数(调用成功、失败都会执行) | \n\n#### DownloadFileSuccess 的属性值 @downloadfilesuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| tempFilePath | string | 是 | - | | 临时文件路径,下载后的文件会存储到一个临时文件 |\n| statusCode | number | 是 | - | | 开发者服务器返回的 HTTP 状态码 |\n\n#### DownloadFileFail 的属性值 @downloadfilefail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 5 | - | 接口超时 |\n@| 1000 | - | 服务端系统错误 |\n@| 100001 | - | json数据解析错误 |\n@| 100002 | - | 错误信息json解析失败 |\n@| 600003 | - | 网络中断 |\n@| 600008 | - | data参数类型不合法 |\n@| 600009 | - | URL格式不合法 |\n@| 602001 | - | request系统错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| [DownloadTask](#downloadtask-values) |\n\n#### DownloadTask 的方法 @downloadtask-values \n\n#### abort(): void, @abort\n中断下载任务\n##### abort 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 3.91 | 3.91 | 4.11 | 4.11 |\n\n\n\n#### onProgressUpdate(callback: DownloadFileProgressUpdateCallback): void, @onprogressupdate\n监听下载进度变化。\n##### onProgressUpdate 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 3.91 | 3.91 | 4.11 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [OnProgressDownloadResult](#onprogressdownloadresult-values)) => void | 是 | - | - | - | \n\n##### OnProgressDownloadResult 的属性值 @onprogressdownloadresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| progress | number | 是 | - | | 下载进度百分比 |\n| totalBytesWritten | number | 是 | - | | 已经下载的数据长度,单位 Bytes |\n| totalBytesExpectedToWrite | number | 是 | - | | 预期需要下载的数据总长度,单位 Bytes |\n\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.network.downloadFile)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/request/network-file.html#downloadfile)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=downloadFile&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=downloadFile&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=downloadFile&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=downloadFile&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=downloadFile&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=downloadFile)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=downloadFile&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/download-file/download-file.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/download-file/download-file\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/download-file/download-file\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\n```\n\n>Script\n```uts\n\r\n // #ifdef APP\r\n import {\r\n testInovkeDownloadFile,\r\n CommonOptions\r\n } from '@/uni_modules/test-invoke-network-api'\r\n // #endif\r\n\r\n export default {\r\n data() {\r\n return {\r\n title: 'downloadFile',\r\n imageSrc: '',\r\n task: null as DownloadTask | null,\r\n //自动化测试例专用\r\n jest_result: false\r\n }\r\n },\r\n onLoad() {\r\n },\r\n onUnload() {\r\n // this.imageSrc = '';\r\n uni.hideLoading();\r\n this.task?.abort();\r\n },\r\n methods: {\r\n downloadImage: function () {\r\n uni.showLoading({\r\n title: '下载中'\r\n })\r\n var self = this\r\n this.task = uni.downloadFile({\r\n url: \"https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/uni-app.png\",\r\n success: (res) => {\r\n console.log('downloadFile success, res is', res.tempFilePath)\r\n self.imageSrc = res.tempFilePath;\r\n },\r\n fail: (err) => {\r\n console.log('downloadFile fail, err is:', err)\r\n },\r\n complete: (res) => {\r\n uni.hideLoading();\r\n this.task = null;\r\n }\r\n });\r\n this.task?.onProgressUpdate((update) => {\r\n console.log(\"progress : \", update.progress);\r\n })\r\n },\n downloadErrorFilename(){\n uni.downloadFile({\n url:\"https://qiniu-web-assets.dcloud.net.cn/uni-app-x/static/file/test9.txt\",\n success: (res) => {\n console.log('downloadFile success, res is', res.tempFilePath)\n },\n fail: (err) => {\n console.log('downloadFile fail, err is:', err)\n }\n })\n },\r\n //自动化测试例专用\r\n jest_downloadFile() {\r\n uni.downloadFile({\r\n url: \"https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/uni-app.png\",\r\n success: () => {\r\n this.jest_result = true\r\n },\r\n fail: () => {\r\n this.jest_result = false\r\n }\r\n });\r\n },\r\n\r\n jest_downloadFile_with_uni_env() {\r\n uni.downloadFile({\r\n url: \"https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/uni-app.png\",\r\n filePath: `${uni.env.CACHE_PATH}/a/b/`,\r\n success: () => {\r\n this.jest_result = true\r\n },\r\n fail: () => {\r\n this.jest_result = false\r\n }\r\n });\r\n },\r\n\r\n jest_set_cookie() {\r\n uni.request({\r\n url: \"https://request.dcloud.net.cn/api/http/header/setCookie\",\r\n method: \"GET\",\r\n timeout: 6000,\r\n sslVerify: false,\r\n withCredentials: true,\r\n firstIpv4: false,\r\n success: () => {\r\n this.jest_cookie_download(true)\r\n },\r\n fail: () => {\r\n this.jest_result = false;\r\n },\r\n });\r\n },\r\n\r\n jest_delete_cookie() {\r\n uni.request({\r\n url: \"https://request.dcloud.net.cn/api/http/header/deleteCookie\",\r\n method: \"GET\",\r\n timeout: 6000,\r\n sslVerify: false,\r\n withCredentials: true,\r\n firstIpv4: false,\r\n success: () => {\r\n this.jest_cookie_download(false)\r\n },\r\n fail: () => {\r\n this.jest_result = false;\r\n },\r\n });\r\n },\r\n jest_cookie_download(needCookie : boolean) {\r\n uni.downloadFile({\r\n url: \"https://request.dcloud.net.cn/api/http/header/download\",\r\n success: () => {\r\n this.jest_result = needCookie ? true : false;\r\n },\r\n fail: () => {\r\n this.jest_result = needCookie ? false : true;\r\n }\r\n });\r\n },\r\n jest_uts_module_invoked() {\r\n // #ifdef APP\r\n testInovkeDownloadFile({\r\n success: (res : any) => {\r\n this.jest_result = true\r\n },\r\n fail: (err : any) => {\r\n this.jest_result = false\r\n }\r\n } as CommonOptions)\r\n // #endif\r\n },\r\n jest_special_characters_download() {\r\n uni.downloadFile({\r\n url: \"https://web-ext-storage.dcloud.net.cn/hello-uni-app-x/1789834995055525889-你好%23你好.png\",\r\n success: (res : DownloadFileSuccess) => {\r\n this.jest_result = true;\r\n },\r\n fail: () => {\r\n this.jest_result = false;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\n```\n\n:::"},"getNetworkType":{"name":"## uni.getNetworkType(options) @getnetworktype","description":"获取网络类型","compatibility":"### getNetworkType 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **GetNetworkTypeOptions** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (result: [GetNetworkTypeSuccess](#getnetworktypesuccess-values)) => void | 否 | null | - | 接口调用成功的回调函数 |\n@| fail | (result: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | null | - | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### GetNetworkTypeSuccess 的属性值 @getnetworktypesuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| networkType | string | 是 | - | - | 网络类型 |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.network.getNetworkType)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/network.html#getnetworktype)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getNetworkType&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getNetworkType&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getNetworkType&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getNetworkType&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getNetworkType&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getNetworkType)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getNetworkType&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/get-network-type/get-network-type.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/get-network-type/get-network-type\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/get-network-type/get-network-type\n\n>Template\n```vue\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n title: 'getNetworkType',\r\n hasNetworkType: false,\r\n networkType: '',\r\n connectedWifi: '',\r\n //自动化测试例专用\r\n jest_result: false,\r\n }\r\n },\r\n onLoad() {\r\n },\r\n onUnload: function () {\r\n this.networkType = '';\r\n this.hasNetworkType = false;\r\n },\r\n methods: {\r\n getNetworkType: function () {\r\n uni.getNetworkType({\r\n success: (res) => {\r\n console.log(res)\r\n this.hasNetworkType = true;\r\n this.networkType = res.networkType\r\n },\r\n fail: () => {\r\n uni.showModal({\r\n content: '获取失败!',\r\n showCancel: false\r\n })\r\n }\r\n })\r\n },\r\n clear: function () {\r\n this.hasNetworkType = false;\r\n this.networkType = '';\r\n this.connectedWifi = '';\r\n },\r\n //自动化测试例专用\r\n jest_getNetworkType() {\r\n uni.getNetworkType({\r\n success: () => {\r\n this.jest_result = true;\r\n },\r\n fail: () => {\r\n this.jest_result = false;\r\n }\r\n })\r\n }\r\n }\r\n }\r\n\n```\n\n:::"},"connectSocket":{"name":"## uni.connectSocket(options) @connectsocket","description":"创建一个 WebSocket 连接。","compatibility":"### connectSocket 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **ConnectSocketOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| url | string | 是 | - | | 开发者服务器接口地址 |\n@| header | UTSJSONObject | 否 | null | | HTTP 请求 Header,header 中不能设置 Referer |\n@| protocols | Array\\ | 否 | null | | 子协议数组 |\n@| success | (result: [ConnectSocketSuccess](#connectsocketsuccess-values)) => void | 否 | null | - | 接口调用成功的回调函数 |\n@| fail | (result: [ConnectSocketFail](#connectsocketfail-values)) => void | 否 | null | - | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### ConnectSocketSuccess 的属性值 @connectsocketsuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n\n#### ConnectSocketFail 的属性值 @connectsocketfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码
- 600009 URL格式不合法 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| [SocketTask](#sockettask-values) |\n\n#### SocketTask 的方法 @sockettask-values \n\n#### send(options: SendSocketMessageOptions): void; @send\n通过 WebSocket 连接发送数据\n##### send 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **SendSocketMessageOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| data | any | 是 | - | | 需要发送的内容 |\n@| success | (result: [GeneralCallbackResult](#generalcallbackresult-values)) => void | 否 | null | - | 接口调用成功的回调函数 |\n@| fail | (result: [SendSocketMessageFail](#sendsocketmessagefail-values)) => void | 否 | null | - | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n###### SendSocketMessageFail 的属性值 @sendsocketmessagefail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 10001 | - | 发送数据超限,发送队列不能超过16M大小。 |\n@| 10002 | - | websocket未连接 |\n@| 602001 | - | websocket系统错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n\n#### close(options: CloseSocketOptions): void; @close\n关闭 WebSocket 连接\n##### close 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **CloseSocketOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| code | number | 否 | 1000 | | 一个数字值表示关闭连接的状态号,表示连接被关闭的原因。如果这个参数没有被指定,默认的取值是1000 (表示正常连接关闭) |\n@| reason | string | 否 | \"\" | | 一个可读的字符串,表示连接被关闭的原因。这个字符串必须是不长于123字节的UTF-8 文本(不是字符) |\n@| success | (result: [GeneralCallbackResult](#generalcallbackresult-values)) => void | 否 | null | - | 接口调用成功的回调函数 |\n@| fail | (result: [GeneralCallbackResult](#generalcallbackresult-values)) => void | 否 | null | - | 接口调用失败的回调函数 |\n@| complete | (result: [GeneralCallbackResult](#generalcallbackresult-values)) => void | 否 | null | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n\n#### onOpen(callback: (result: OnSocketOpenCallbackResult) => void): void; @onopen\n监听 WebSocket 连接打开事件\n##### onOpen 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [OnSocketOpenCallbackResult](#onsocketopencallbackresult-values)) => void | 是 | - | - | - | \n\n##### OnSocketOpenCallbackResult 的属性值 @onsocketopencallbackresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| header | any | 是 | - | | 连接成功的 HTTP 响应 Header |\n\n\n#### onClose(callback: (result: any) => void): void; @onclose\n监听 WebSocket 连接关闭事件\n##### onClose 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### onError(callback: (result: GeneralCallbackResult) => void): void; @onerror\n监听 WebSocket 错误\n##### onError 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [GeneralCallbackResult](#generalcallbackresult-values)) => void | 是 | - | - | - | \n\n\n#### onMessage(callback: (result: OnSocketMessageCallbackResult) => void): void; @onmessage\n监听 WebSocket 接受到服务器的消息事件\n##### onMessage 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [OnSocketMessageCallbackResult](#onsocketmessagecallbackresult-values)) => void | 是 | - | - | - | \n\n##### OnSocketMessageCallbackResult 的属性值 @onsocketmessagecallbackresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| data | any | 是 | - | | 服务器返回的消息 |\n\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.network.websocket.connectSocket)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/request/websocket.html#connectsocket)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=connectSocket&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=connectSocket&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=connectSocket&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=connectSocket&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=connectSocket&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=connectSocket)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=connectSocket&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"onSocketOpen":{"name":"## uni.onSocketOpen(options) @onsocketopen","description":"监听WebSocket连接打开事件。","compatibility":"### onSocketOpen 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | (result: [OnSocketOpenCallbackResult](#onsocketopencallbackresult-values)) => void | 是 | - | - | - | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.network.websocket.onSocketOpen)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/request/websocket.html#onsocketopen)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=onSocketOpen&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=onSocketOpen&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=onSocketOpen&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=onSocketOpen&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=onSocketOpen&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=onSocketOpen)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=onSocketOpen&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"onSocketError":{"name":"## uni.onSocketError(callback) @onsocketerror","description":"监听WebSocket错误。","compatibility":"### onSocketError 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [OnSocketErrorCallbackResult](#onsocketerrorcallbackresult-values)) => void | 是 | - | - | - | \n\n### OnSocketErrorCallbackResult 的属性值 @onsocketerrorcallbackresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | 错误信息 |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.network.websocket.onSocketError)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/request/websocket.html#onsocketerror)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=onSocketError&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=onSocketError&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=onSocketError&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=onSocketError&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=onSocketError&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=onSocketError)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=onSocketError&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"sendSocketMessage":{"name":"## uni.sendSocketMessage(options) @sendsocketmessage","description":"通过 WebSocket 连接发送数据,需要先 uni.connectSocket,并在 uni.onSocketOpen 回调之后才能发送。","compatibility":"### sendSocketMessage 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **SendSocketMessageOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| data | any | 是 | - | | 需要发送的内容 |\n@| success | (result: [GeneralCallbackResult](#generalcallbackresult-values)) => void | 否 | null | - | 接口调用成功的回调函数 |\n@| fail | (result: [SendSocketMessageFail](#sendsocketmessagefail-values)) => void | 否 | null | - | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### SendSocketMessageFail 的属性值 @sendsocketmessagefail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 10001 | - | 发送数据超限,发送队列不能超过16M大小。 |\n@| 10002 | - | websocket未连接 |\n@| 602001 | - | websocket系统错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.network.websocket.sendSocketMessage)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/request/websocket.html#sendsocketmessage)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=sendSocketMessage&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=sendSocketMessage&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=sendSocketMessage&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=sendSocketMessage&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=sendSocketMessage&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=sendSocketMessage)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=sendSocketMessage&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"onSocketMessage":{"name":"## uni.onSocketMessage(callback) @onsocketmessage","description":"监听WebSocket接受到服务器的消息事件。","compatibility":"### onSocketMessage 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [OnSocketMessageCallbackResult](#onsocketmessagecallbackresult-values)) => void | 是 | - | - | - | \n\n### OnSocketMessageCallbackResult 的属性值 @onsocketmessagecallbackresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| data | any | 是 | - | | 服务器返回的消息 |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.network.websocket.onSocketMessage)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/request/websocket.html#onsocketmessage)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=onSocketMessage&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=onSocketMessage&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=onSocketMessage&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=onSocketMessage&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=onSocketMessage&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=onSocketMessage)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=onSocketMessage&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"closeSocket":{"name":"## uni.closeSocket(options) @closesocket","description":"关闭 WebSocket 连接。","compatibility":"### closeSocket 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **CloseSocketOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| code | number | 否 | 1000 | | 一个数字值表示关闭连接的状态号,表示连接被关闭的原因。如果这个参数没有被指定,默认的取值是1000 (表示正常连接关闭) |\n@| reason | string | 否 | \"\" | | 一个可读的字符串,表示连接被关闭的原因。这个字符串必须是不长于123字节的UTF-8 文本(不是字符) |\n@| success | (result: [GeneralCallbackResult](#generalcallbackresult-values)) => void | 否 | null | - | 接口调用成功的回调函数 |\n@| fail | (result: [GeneralCallbackResult](#generalcallbackresult-values)) => void | 否 | null | - | 接口调用失败的回调函数 |\n@| complete | (result: [GeneralCallbackResult](#generalcallbackresult-values)) => void | 否 | null | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.network.websocket.closeSocket)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/request/websocket.html#closesocket)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=closeSocket&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=closeSocket&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=closeSocket&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=closeSocket&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=closeSocket&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=closeSocket)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=closeSocket&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"onSocketClose":{"name":"## uni.onSocketClose(callback) @onsocketclose","description":"监听WebSocket关闭。","compatibility":"### onSocketClose 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [OnSocketCloseCallbackResult](#onsocketclosecallbackresult-values)) => void | 是 | - | - | - | \n\n### OnSocketCloseCallbackResult 的属性值 @onsocketclosecallbackresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| code | number | 是 | - | | 一个数字值表示关闭连接的状态号,表示连接被关闭的原因。 |\n| reason | string | 是 | - | | 一个可读的字符串,表示连接被关闭的原因。 |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.network.websocket.onSocketClose)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/request/websocket.html#onsocketclose)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=onSocketClose&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=onSocketClose&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=onSocketClose&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=onSocketClose&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=onSocketClose&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=onSocketClose)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=onSocketClose&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"websocket":{"example":"## 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/websocket/websocket.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/websocket/websocket\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/websocket/websocket\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n connected: false,\r\n connecting: false,\r\n msg: '',\r\n roomId: '',\r\n platform: '',\r\n }\r\n },\r\n computed: {\r\n showMsg() : string {\r\n if (this.connected) {\r\n if (this.msg.length > 0) {\r\n return '收到消息:' + this.msg\r\n } else {\r\n return '等待接收消息'\r\n }\r\n } else {\r\n return '尚未连接'\r\n }\r\n },\r\n },\r\n onLoad() {\r\n this.platform = uni.getSystemInfoSync().platform\r\n },\r\n onUnload() {\r\n uni.closeSocket({\r\n code: 1000,\r\n reason: 'close reason from client',\r\n success: (res : any) => {\r\n console.log('uni.closeSocket success', res)\r\n },\r\n fail: (err : any) => {\r\n console.log('uni.closeSocket fail', err)\r\n },\r\n } as CloseSocketOptions)\r\n uni.hideLoading()\r\n },\r\n methods: {\r\n connect() {\r\n if (this.connected || this.connecting) {\r\n uni.showModal({\r\n content: '正在连接或者已经连接,请勿重复连接',\r\n showCancel: false,\r\n })\r\n return\r\n }\r\n this.connecting = true\r\n uni.showLoading({\r\n title: '连接中...',\r\n })\r\n uni.connectSocket({\r\n url: 'ws://websocket.dcloud.net.cn',\r\n header: null,\r\n protocols: null,\r\n success: (res : any) => {\r\n // 这里是接口调用成功的回调,不是连接成功的回调,请注意\r\n console.log('uni.connectSocket success', res)\r\n },\r\n fail: (err : any) => {\r\n // 这里是接口调用失败的回调,不是连接失败的回调,请注意\r\n console.log('uni.connectSocket fail', err)\r\n },\r\n })\r\n uni.onSocketOpen((res) => {\r\n this.connecting = false\r\n this.connected = true\r\n uni.hideLoading()\r\n\r\n uni.showToast({\r\n icon: 'none',\r\n title: '连接成功',\r\n })\r\n console.log('onOpen', res)\r\n })\r\n uni.onSocketError((err) => {\r\n this.connecting = false\r\n this.connected = false\r\n uni.hideLoading()\r\n\r\n uni.showModal({\r\n content: '连接失败,可能是websocket服务不可用,请稍后再试',\r\n showCancel: false,\r\n })\r\n console.log('onError', err)\r\n })\r\n uni.onSocketMessage((res) => {\r\n this.msg = res.data as string\r\n console.log('onMessage', res)\r\n })\r\n uni.onSocketClose((res) => {\r\n this.connected = false\r\n this.msg = ''\r\n console.log('onClose', res)\r\n })\r\n },\r\n send() {\r\n uni.sendSocketMessage({\r\n data:\r\n 'from ' +\r\n this.platform +\r\n ' : ' +\r\n parseInt((Math.random() * 10000).toString()).toString(),\r\n success: (res : any) => {\r\n console.log(res)\r\n },\r\n fail: (err : any) => {\r\n console.log(err)\r\n },\r\n } as SendSocketMessageOptions)\r\n },\r\n close() {\r\n uni.closeSocket({\r\n code: 1000,\r\n reason: 'close reason from client',\r\n success: (res : any) => {\r\n console.log('uni.closeSocket success', res)\r\n },\r\n fail: (err : any) => {\r\n console.log('uni.closeSocket fail', err)\r\n },\r\n } as CloseSocketOptions)\r\n },\r\n goSocketTask() {\r\n uni.navigateTo({\r\n url: '/pages/API/websocket/socketTask',\r\n })\r\n }\r\n },\r\n }\r\n\n```\n\n:::"},"getSystemInfo":{"name":"## uni.getSystemInfo(options) @getsysteminfo","description":"异步获取系统信息","compatibility":"### getSystemInfo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **GetSystemInfoOptions** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (result: [GetSystemInfoResult](#getsysteminforesult-values)) => void | 否 | null | - | 接口调用成功的回调函数 |\n@| fail | (result: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | null | - | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### GetSystemInfoResult 的属性值 @getsysteminforesult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| SDKVersion | string | 是 | - | | 客户端基础库版本
|\n| appId | string | 是 | - | | `manifest.json` 中应用appid。
|\n| appLanguage | string | 是 | - | | 应用设置的语言。
|\n| appName | string | 是 | - | | `manifest.json` 中应用名称。
|\n| appVersion | string | 是 | - | | `manifest.json` 中应用版本名称。
|\n| appVersionCode | string | 是 | - | | `manifest.json` 中应用版本名号。
|\n| browserName | string | 是 | - | | 浏览器名称。`App` 端是系统 webview 的名字,比如 wkwebview、chrome。小程序端为空
|\n| browserVersion | string | 是 | - | | 浏览器版本、webview 版本。
|\n| deviceId | string | 是 | - | | 设备 ID
|\n| deviceBrand | string | 是 | - | | 设备品牌。如:`apple`、`huawei`。
|\n| deviceModel | string | 是 | - | | 设备型号
|\n| deviceType | string | 是 | - | | 设备类型。
|\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| phone | - | - |\n@| pad | - | - |\n@| tv | - | - |\n@| watch | - | - |\n@| pc | - | - |\n@| undefined | - | - |\n@| car | - | - |\n@| vr | - | - |\n@| appliance | - | - |\n| devicePixelRatio | number | 是 | - | | 设备像素比
|\n| deviceOrientation | string | 是 | - | | 设备方向。
|\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| portrait | - | 纵向 |\n@| landscape | - | 横向 |\n| osName | string | 是 | - | | 系统名称
|\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| ios | - | - |\n@| android | - | - |\n@| harmonyos | - | - |\n@| macos | - | - |\n@| windows | - | - |\n@| linux | - | - |\n| osVersion | string | 是 | - | | 操作系统版本。如 ios 版本,andriod 版本
|\n| osLanguage | string | 是 | - | | 操作系统语言
|\n| osTheme | string | 否 | - | | 操作系统主题
|\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| light | - | - |\n@| dark | - | - |\n| screenWidth | number | 是 | - | | 屏幕宽度,单位为px
|\n| screenHeight | number | 是 | - | | 屏幕高度,单位为px
|\n| statusBarHeight | number | 是 | - | | 状态栏的高度,单位为px
|\n| safeArea | **SafeArea** | 是 | - | | 在竖屏正方向下的安全区域
|\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| left | number | 是 | - | | 安全区域左上角横坐标,单位为px
|\n@| right | number | 是 | - | | 安全区域右下角横坐标,单位为px
|\n@| top | number | 是 | - | | 安全区域左上角纵坐标,单位为px
|\n@| bottom | number | 是 | - | | 安全区域右下角纵坐标,单位为px
|\n@| width | number | 是 | - | | 安全区域的宽度,单位为px
|\n@| height | number | 是 | - | | 安全区域的高度,单位为px
|\n| safeAreaInsets | **SafeAreaInsets** | 是 | - | | 在竖屏正方向下的安全区域插入位置
|\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| left | number | 是 | - | | 安全区域左侧插入位置(距离左边边界距离),单位为px
|\n@| right | number | 是 | - | | 安全区域右侧插入位置(距离右边边界距离),单位为px
|\n@| top | number | 是 | - | | 安全区顶部插入位置(距离顶部边界距离),单位为px
|\n@| bottom | number | 是 | - | | 安全区域底部插入位置(距离底部边界距离),单位为px
|\n| ua | string | 是 | - | | 用户标识。小程序端为空
|\n| uniCompilerVersion | string | 是 | - | | uni 编译器版本。
|\n| uniPlatform | string | 是 | - | | uni-app 运行平台,与条件编译平台相同。
|\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| app | - | - |\n@| web | - | - |\n@| mp-weixin | - | - |\n@| mp-alipay | - | - |\n@| mp-baidu | - | - |\n@| mp-toutiao | - | - |\n@| mp-lark | - | - |\n@| mp-qq | - | - |\n@| mp-kuaishou | - | - |\n@| mp-jd | - | - |\n@| mp-360 | - | - |\n@| quickapp-webview | - | - |\n@| quickapp-webview-union | - | - |\n@| quickapp-webview-huawei | - | - |\n| uniRuntimeVersion | string | 是 | - | | uni 运行时版本。
|\n| uniCompilerVersionCode | number | 是 | - | | uni 编译器版本号。
|\n| uniRuntimeVersionCode | number | 是 | - | | uni 运行时版本号。
|\n| romName | string | 是 | - | | rom 名称。Android 部分机型获取不到值。iOS 恒为 `ios`
|\n| romVersion | string | 是 | - | | rom 版本号。Android 部分机型获取不到值。iOS 为操作系统版本号(同 `osVersion`)。
|\n| windowWidth | number | 是 | - | | 可使用窗口宽度,单位为px
|\n| windowHeight | number | 是 | - | | 可使用窗口高度,单位为px
|\n| windowTop | number | 是 | - | | 内容区域距离顶部的距离(同CSS变量 `--window-top`),单位为px
|\n| windowBottom | number | 是 | - | | 内容区域距离底部的距离(同CSS变量 `--window-bottom`),单位为px
|\n| osAndroidAPILevel | number | 否 | - | | Android 系统API库的版本。
|\n| appTheme | string | 否 | - | | 当前App的主题
|\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| light | - | - |\n@| dark | - | - |\n@| auto | - | - |\n| ~~version~~ | string | 是 | - | | 引擎版本号。 **已废弃,仅为了向下兼容保留** |\n| ~~uniCompileVersionCode~~ | number | 是 | - | | uni 编译器版本号。 **已废弃,仅为了向下兼容保留** |\n| ~~uniCompileVersion~~ | string | 是 | - | | uni 编译器版本。 **已废弃,仅为了向下兼容保留** |\n| ~~system~~ | string | 是 | - | | 操作系统版本 **已废弃,仅为了向下兼容保留** |\n| ~~platform~~ | string | 是 | - | | 客户端平台 **已废弃,仅为了向下兼容保留** |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| ios | - | - |\n@| android | - | - |\n@| harmonyos | - | - |\n@| mac | - | - |\n@| windows | - | - |\n@| linux | - | - |\n| ~~pixelRatio~~ | number | 是 | - | | 设备像素比 **已废弃,仅为了向下兼容保留** |\n| ~~model~~ | string | 否 | - | | 手机型号 **已废弃,仅为了向下兼容保留** |\n| ~~language~~ | string | 是 | - | | 程序设置的语言 **已废弃,仅为了向下兼容保留** |\n| ~~brand~~ | string | 是 | - | | 手机品牌。 **已废弃,仅为了向下兼容保留** |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.getSystemInfo.getSystemInfo)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/info.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getSystemInfo&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getSystemInfo&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getSystemInfo&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getSystemInfo&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getSystemInfo&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getSystemInfo)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getSystemInfo&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/get-system-info/get-system-info.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/get-system-info/get-system-info\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/get-system-info/get-system-info\n\n>Template\n```vue\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n type Item = {\r\n label : string,\r\n value : string,\r\n }\r\n\r\n let globalScreenHeight = 0\r\n try {\r\n globalScreenHeight = uni.getSystemInfoSync().screenHeight\r\n } catch (e) {\r\n // 兼容本地测试\r\n console.error(e)\r\n }\r\n\r\n export default {\r\n data() {\r\n return {\r\n title: 'getSystemInfo',\r\n items: [] as Item[],\r\n screenHeightAtReady: 0,\r\n jest_result: false,\r\n }\r\n },\r\n onUnload: function () {\r\n },\r\n onReady() {\r\n this.screenHeightAtReady = uni.getSystemInfoSync().screenHeight\r\n console.log(`全局获取屏幕高度: ${globalScreenHeight} onReady内获取屏幕高度: ${this.screenHeightAtReady}`);\r\n },\r\n methods: {\r\n getSystemInfo: function () {\r\n uni.getSystemInfo({\r\n success: (res) => {\r\n this.items = [] as Item[];\r\n const res_str = JSON.stringify(res);\r\n const res_obj = JSON.parseObject(res_str);\r\n const res_map = res_obj!.toMap();\r\n let keys = [] as string[]\r\n res_map.forEach((_, key) => {\r\n keys.push(key);\r\n });\r\n keys.sort().forEach(key => {\r\n const value = res[key];\r\n if (value != null) {\r\n const item = {\r\n label: key,\r\n value: \"\" + ((typeof value == \"object\") ? JSON.stringify(value) : value)\r\n } as Item;\r\n this.items.push(item);\r\n }\r\n });\r\n },\r\n })\r\n },\r\n getSystemInfoSync: function () {\r\n this.items = [] as Item[];\r\n const res = uni.getSystemInfoSync()\r\n const res_str = JSON.stringify(res);\r\n const res_obj = JSON.parseObject(res_str);\r\n const res_map = res_obj!.toMap();\r\n let keys = [] as string[]\r\n res_map.forEach((_, key) => {\r\n keys.push(key);\r\n });\r\n keys.sort().forEach(key => {\r\n const value = res[key];\r\n if (value != null) {\r\n const item = {\r\n label: key,\r\n value: \"\" + ((typeof value == \"object\") ? JSON.stringify(value) : value)\r\n } as Item;\r\n this.items.push(item);\r\n }\r\n });\r\n },\r\n //自动化测试例专用\r\n jest_getSystemInfo() : GetSystemInfoResult {\r\n return uni.getSystemInfoSync();\r\n },\r\n jest_getScreenHeight_at_different_stages() {\r\n this.jest_result = (globalScreenHeight == this.screenHeightAtReady)\r\n }\r\n }\r\n }\r\n\n```\n\n:::"},"getSystemInfoSync":{"name":"## uni.getSystemInfoSync() @getsysteminfosync","description":"同步获取系统信息","compatibility":"### getSystemInfoSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","param":"","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| **GetSystemInfoResult** |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| SDKVersion | string | 是 | - | | 客户端基础库版本
|\n@| appId | string | 是 | - | | `manifest.json` 中应用appid。
|\n@| appLanguage | string | 是 | - | | 应用设置的语言。
|\n@| appName | string | 是 | - | | `manifest.json` 中应用名称。
|\n@| appVersion | string | 是 | - | | `manifest.json` 中应用版本名称。
|\n@| appVersionCode | string | 是 | - | | `manifest.json` 中应用版本名号。
|\n@| browserName | string | 是 | - | | 浏览器名称。`App` 端是系统 webview 的名字,比如 wkwebview、chrome。小程序端为空
|\n@| browserVersion | string | 是 | - | | 浏览器版本、webview 版本。
|\n@| deviceId | string | 是 | - | | 设备 ID
|\n@| deviceBrand | string | 是 | - | | 设备品牌。如:`apple`、`huawei`。
|\n@| deviceModel | string | 是 | - | | 设备型号
|\n@| deviceType | string | 是 | - | | 设备类型。
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| phone | - | - |\n@@| pad | - | - |\n@@| tv | - | - |\n@@| watch | - | - |\n@@| pc | - | - |\n@@| null | - | - |\n@@| car | - | - |\n@@| vr | - | - |\n@@| appliance | - | - |\n@| devicePixelRatio | number | 是 | - | | 设备像素比
|\n@| deviceOrientation | string | 是 | - | | 设备方向。
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| portrait | - | 纵向 |\n@@| landscape | - | 横向 |\n@| osName | string | 是 | - | | 系统名称
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| ios | - | - |\n@@| android | - | - |\n@@| harmonyos | - | - |\n@@| macos | - | - |\n@@| windows | - | - |\n@@| linux | - | - |\n@| osVersion | string | 是 | - | | 操作系统版本。如 ios 版本,andriod 版本
|\n@| osLanguage | string | 是 | - | | 操作系统语言
|\n@| osTheme | string | 否 | - | | 操作系统主题
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| light | - | - |\n@@| dark | - | - |\n@| screenWidth | number | 是 | - | | 屏幕宽度,单位为px
|\n@| screenHeight | number | 是 | - | | 屏幕高度,单位为px
|\n@| statusBarHeight | number | 是 | - | | 状态栏的高度,单位为px
|\n@| safeArea | **SafeArea** | 是 | - | | 在竖屏正方向下的安全区域
|\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| left | number | 是 | - | | 安全区域左上角横坐标,单位为px
|\n@@| right | number | 是 | - | | 安全区域右下角横坐标,单位为px
|\n@@| top | number | 是 | - | | 安全区域左上角纵坐标,单位为px
|\n@@| bottom | number | 是 | - | | 安全区域右下角纵坐标,单位为px
|\n@@| width | number | 是 | - | | 安全区域的宽度,单位为px
|\n@@| height | number | 是 | - | | 安全区域的高度,单位为px
|\n@| safeAreaInsets | **SafeAreaInsets** | 是 | - | | 在竖屏正方向下的安全区域插入位置
|\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| left | number | 是 | - | | 安全区域左侧插入位置(距离左边边界距离),单位为px
|\n@@| right | number | 是 | - | | 安全区域右侧插入位置(距离右边边界距离),单位为px
|\n@@| top | number | 是 | - | | 安全区顶部插入位置(距离顶部边界距离),单位为px
|\n@@| bottom | number | 是 | - | | 安全区域底部插入位置(距离底部边界距离),单位为px
|\n@| ua | string | 是 | - | | 用户标识。小程序端为空
|\n@| uniCompilerVersion | string | 是 | - | | uni 编译器版本。
|\n@| uniPlatform | string | 是 | - | | uni-app 运行平台,与条件编译平台相同。
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| app | - | - |\n@@| web | - | - |\n@@| mp-weixin | - | - |\n@@| mp-alipay | - | - |\n@@| mp-baidu | - | - |\n@@| mp-toutiao | - | - |\n@@| mp-lark | - | - |\n@@| mp-qq | - | - |\n@@| mp-kuaishou | - | - |\n@@| mp-jd | - | - |\n@@| mp-360 | - | - |\n@@| quickapp-webview | - | - |\n@@| quickapp-webview-union | - | - |\n@@| quickapp-webview-huawei | - | - |\n@| uniRuntimeVersion | string | 是 | - | | uni 运行时版本。
|\n@| uniCompilerVersionCode | number | 是 | - | | uni 编译器版本号。
|\n@| uniRuntimeVersionCode | number | 是 | - | | uni 运行时版本号。
|\n@| romName | string | 是 | - | | rom 名称。Android 部分机型获取不到值。iOS 恒为 `ios`
|\n@| romVersion | string | 是 | - | | rom 版本号。Android 部分机型获取不到值。iOS 为操作系统版本号(同 `osVersion`)。
|\n@| windowWidth | number | 是 | - | | 可使用窗口宽度,单位为px
|\n@| windowHeight | number | 是 | - | | 可使用窗口高度,单位为px
|\n@| windowTop | number | 是 | - | | 内容区域距离顶部的距离(同CSS变量 `--window-top`),单位为px
|\n@| windowBottom | number | 是 | - | | 内容区域距离底部的距离(同CSS变量 `--window-bottom`),单位为px
|\n@| osAndroidAPILevel | number | 否 | - | | Android 系统API库的版本。
|\n@| appTheme | string | 否 | - | | 当前App的主题
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| light | - | - |\n@@| dark | - | - |\n@@| auto | - | - |\n@| ~~version~~ | string | 是 | - | | 引擎版本号。 **已废弃,仅为了向下兼容保留** |\n@| ~~uniCompileVersionCode~~ | number | 是 | - | | uni 编译器版本号。 **已废弃,仅为了向下兼容保留** |\n@| ~~uniCompileVersion~~ | string | 是 | - | | uni 编译器版本。 **已废弃,仅为了向下兼容保留** |\n@| ~~system~~ | string | 是 | - | | 操作系统版本 **已废弃,仅为了向下兼容保留** |\n@| ~~platform~~ | string | 是 | - | | 客户端平台 **已废弃,仅为了向下兼容保留** |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| ios | - | - |\n@@| android | - | - |\n@@| harmonyos | - | - |\n@@| mac | - | - |\n@@| windows | - | - |\n@@| linux | - | - |\n@| ~~pixelRatio~~ | number | 是 | - | | 设备像素比 **已废弃,仅为了向下兼容保留** |\n@| ~~model~~ | string | 否 | - | | 手机型号 **已废弃,仅为了向下兼容保留** |\n@| ~~language~~ | string | 是 | - | | 程序设置的语言 **已废弃,仅为了向下兼容保留** |\n@| ~~brand~~ | string | 是 | - | | 手机品牌。 **已废弃,仅为了向下兼容保留** | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.getSystemInfo.getSystemInfoSync)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/info.html#getsysteminfosync)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getSystemInfoSync&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getSystemInfoSync&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getSystemInfoSync&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getSystemInfoSync&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getSystemInfoSync&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getSystemInfoSync)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getSystemInfoSync&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"getDeviceInfo":{"name":"## uni.getDeviceInfo(options?) @getdeviceinfo","description":"获取设备信息","compatibility":"### getDeviceInfo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **GetDeviceInfoOptions** | 否 | 包含所有字段的过滤对象 | - | \\[options=包含所有字段的过滤对象]过滤的字段对象, 不传参数默认为获取全部字段。 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| filter | Array\\ | 是 | - | | 过滤字段的字符串数组,假如要获取指定字段,传入此数组。 | \n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| **GetDeviceInfoResult** |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| deviceBrand | string | 否 | - | | 设备品牌
|\n@| deviceId | string | 否 | - | | 设备 id 。由 uni-app 框架生成并存储,清空 Storage 会导致改变
|\n@| deviceModel | string | 否 | - | | 设备型号
|\n@| deviceType | string | 否 | - | | 设备类型phone、pad、pc
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| phone | - | - |\n@@| pad | - | - |\n@@| tv | - | - |\n@@| watch | - | - |\n@@| pc | - | - |\n@@| null | - | - |\n@@| car | - | - |\n@@| vr | - | - |\n@@| appliance | - | - |\n@| deviceOrientation | string | 否 | - | | 设备方向 竖屏 portrait、横屏 landscape
|\n@| devicePixelRatio | number | 否 | - | | 设备像素比
|\n@| system | string | 否 | - | | 操作系统及版本
|\n@| platform | string | 否 | - | | 客户端平台
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| ios | - | - |\n@@| android | - | - |\n@@| harmonyos | - | - |\n@@| mac | - | - |\n@@| windows | - | - |\n@@| linux | - | - |\n@| isRoot | boolean | 否 | - | | 是否root。iOS 为是否越狱
|\n@| isSimulator | boolean | 否 | - | | 是否是模拟器
|\n@| isUSBDebugging | boolean | 否 | - | | adb是否开启
|\n@| osName | string | 否 | - | | 系统名称
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| ios | - | - |\n@@| android | - | - |\n@@| harmonyos | - | - |\n@@| macos | - | - |\n@@| windows | - | - |\n@@| linux | - | - |\n@| osVersion | string | 否 | - | | 操作系统版本。如 ios 版本,andriod 版本
|\n@| osLanguage | string | 否 | - | | 操作系统语言
|\n@| osTheme | string | 否 | - | | 操作系统主题
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| light | - | - |\n@@| dark | - | - |\n@| osAndroidAPILevel | number | 否 | - | | Android 系统API库的版本。
|\n@| romName | string | 否 | - | | rom 名称。Android 部分机型获取不到值。iOS 恒为 `ios`
|\n@| romVersion | string | 否 | - | | rom 版本号。Android 部分机型获取不到值。iOS 为操作系统版本号(同 `osVersion`)。
|\n@| ~~model~~ | string | 否 | - | | 设备型号 **已废弃,仅为了向下兼容保留** |\n@| ~~brand~~ | string | 否 | - | | 设备品牌 **已废弃,仅为了向下兼容保留** | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.getDeviceInfo)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/getDeviceInfo.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getDeviceInfo&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getDeviceInfo&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getDeviceInfo&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getDeviceInfo&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getDeviceInfo&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getDeviceInfo)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getDeviceInfo&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/get-device-info/get-device-info.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/get-device-info/get-device-info\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/get-device-info/get-device-info\n\n>Template\n```vue\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n import { setDevicePixelRatio } from '@/store/index.uts'\r\n\r\n type Item = {\r\n label : string,\r\n value : string,\r\n }\r\n export default {\r\n data() {\r\n return {\r\n title: 'getDeviceInfo',\r\n items: [] as Item[],\r\n }\r\n },\r\n onUnload: function () {\r\n },\r\n methods: {\r\n getDeviceInfo: function () {\r\n const res = uni.getDeviceInfo();\r\n // 获取像素比, 供截图对比使用\r\n setDevicePixelRatio(res.devicePixelRatio !== null ? res.devicePixelRatio! : 1)\r\n this.items = [] as Item[];\r\n\r\n const res_str = JSON.stringify(res);\r\n const res_obj = JSON.parseObject(res_str);\r\n const res_map = res_obj!.toMap();\r\n let keys = [] as string[]\r\n res_map.forEach((_, key) => {\r\n keys.push(key);\r\n });\r\n keys.sort().forEach(key => {\r\n const value = res[key];\r\n if (value != null) {\r\n const item = {\r\n label: key,\r\n value: \"\" + ((typeof value == \"object\") ? JSON.stringify(value) : value)\r\n } as Item;\r\n this.items.push(item);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\n```\n\n:::"},"getWindowInfo":{"name":"## uni.getWindowInfo() @getwindowinfo","description":"同步获取窗口信息","compatibility":"### getWindowInfo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","param":"","returnValue":"### 返回值 \n\n| 类型 | 描述 |\n| :- | :- |\n| **GetWindowInfoResult** | result |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| pixelRatio | number | 是 | - | | 设备像素比
|\n@| screenWidth | number | 是 | - | | 屏幕宽度,单位为px
|\n@| screenHeight | number | 是 | - | | 屏幕高度,单位为px
|\n@| windowWidth | number | 是 | - | | 可使用窗口宽度,单位为px
|\n@| windowHeight | number | 是 | - | | 可使用窗口高度,单位为px
|\n@| statusBarHeight | number | 是 | - | | 状态栏的高度,单位为px
|\n@| windowTop | number | 是 | - | | 内容区域距离顶部的距离(同CSS变量 `--window-top`),单位为px
|\n@| windowBottom | number | 是 | - | | 内容区域距离底部的距离(同CSS变量 `--window-bottom`),单位为px
|\n@| safeArea | **SafeArea** | 是 | - | | 安全区域在屏幕中的位置信息
|\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| left | number | 是 | - | | 安全区域左上角横坐标,单位为px
|\n@@| right | number | 是 | - | | 安全区域右下角横坐标,单位为px
|\n@@| top | number | 是 | - | | 安全区域左上角纵坐标,单位为px
|\n@@| bottom | number | 是 | - | | 安全区域右下角纵坐标,单位为px
|\n@@| width | number | 是 | - | | 安全区域的宽度,单位为px
|\n@@| height | number | 是 | - | | 安全区域的高度,单位为px
|\n@| safeAreaInsets | **SafeAreaInsets** | 是 | - | | 安全区域插入位置(与屏幕边界的距离)信息
|\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| left | number | 是 | - | | 安全区域左侧插入位置(距离左边边界距离),单位为px
|\n@@| right | number | 是 | - | | 安全区域右侧插入位置(距离右边边界距离),单位为px
|\n@@| top | number | 是 | - | | 安全区顶部插入位置(距离顶部边界距离),单位为px
|\n@@| bottom | number | 是 | - | | 安全区域底部插入位置(距离底部边界距离),单位为px
|\n@| cutoutArea | Array\\<**CutoutRect**\\> | 否 | - | | 挖孔、刘海区域在屏幕中的位置信息
|\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| left | number | 是 | - | | 挖孔、刘海区域左上角横坐标,单位为px
|\n@@| right | number | 是 | - | | 挖孔、刘海区域右下角横坐标,单位为px
|\n@@| top | number | 是 | - | | 挖孔、刘海区域左上角纵坐标,单位为px
|\n@@| bottom | number | 是 | - | | 挖孔、刘海区域右下角纵坐标,单位为px
|\n@| ~~screenTop~~ | number | 是 | - | | 窗口上边缘的 y 值,单位为px
**已废弃,仅为了向下兼容保留** | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.getWindowInfo)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/getWindowInfo.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getWindowInfo&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getWindowInfo&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getWindowInfo&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getWindowInfo&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getWindowInfo&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getWindowInfo)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getWindowInfo&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/get-window-info/get-window-info.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/get-window-info/get-window-info\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/get-window-info/get-window-info\n\n>Template\n```vue\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n import { setStatusBarHeight, setSafeArea } from '@/store/index.uts'\r\n // #ifdef APP-ANDROID\r\n import type { SafeArea } from '@/store/index.uts'\r\n // #endif\r\n\r\n type Item = {\r\n label : string,\r\n value : string,\r\n }\r\n export default {\r\n data() {\r\n return {\r\n title: 'getWindowInfo',\r\n items: [] as Item[],\r\n }\r\n },\r\n onUnload: function () {\r\n },\r\n onReady() {\r\n this.getWindowInfo()\r\n },\r\n methods: {\r\n getWindowInfo: function () {\r\n const res = uni.getWindowInfo();\r\n // 获取状态栏高度, 供截图对比使用\r\n setStatusBarHeight(res.statusBarHeight);\r\n // 获取安全区信息,供截图使用\r\n // #ifdef APP-ANDROID\r\n setSafeArea({\r\n top: res.safeArea.top,\r\n left: res.safeArea.left,\r\n right: res.safeArea.right,\r\n bottom: res.safeArea.bottom,\r\n width: res.safeArea.width,\r\n height: res.safeArea.height,\r\n } as SafeArea);\r\n // #endif\r\n // #ifdef APP-IOS\r\n setSafeArea({\r\n top: res.safeArea.top,\r\n left: res.safeArea.left,\r\n right: res.safeArea.right,\r\n bottom: res.safeArea.bottom,\r\n width: res.safeArea.width,\r\n height: res.safeArea.height,\r\n });\r\n // #endif\r\n this.items = [] as Item[];\r\n\r\n const res_str = JSON.stringify(res);\r\n const res_obj = JSON.parseObject(res_str);\r\n const res_map = res_obj!.toMap();\r\n let keys = [] as string[]\r\n res_map.forEach((_, key) => {\r\n keys.push(key);\r\n });\r\n keys.sort().forEach(key => {\r\n const value = res[key];\r\n if (value != null) {\r\n const item = {\r\n label: key,\r\n value: \"\" + ((typeof value == \"object\") ? JSON.stringify(value) : value)\r\n } as Item;\r\n this.items.push(item);\r\n }\r\n });\r\n },\r\n //自动化测试例专用\r\n jest_getWindowInfo() : GetWindowInfoResult {\r\n return uni.getWindowInfo();\r\n },\r\n }\r\n }\r\n\n```\n\n:::"},"getAppBaseInfo":{"name":"## uni.getAppBaseInfo(options?) @getappbaseinfo","description":"获取app基本信息","compatibility":"### getAppBaseInfo 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 3.91 | 3.91 | 4.11 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **GetAppBaseInfoOptions** | 否 | 包含所有字段的过滤对象 | - | \\[options=包含所有字段的过滤对象] 过滤的字段对象, 不传参数默认为获取全部字段。 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| filter | Array\\ | 是 | - | - | 过滤字段的字符串数组,假如要获取指定字段,传入此数组。 | \n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| **GetAppBaseInfoResult** |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| appId | string | 否 | - | | manifest.json 中应用appid,即DCloud appid。
|\n@| appName | string | 否 | - | | `manifest.json` 中应用名称。
|\n@| appVersion | string | 否 | - | | `manifest.json` 中应用版本名称。
|\n@| appVersionCode | string | 否 | - | | `manifest.json` 中应用版本名号。
|\n@| appLanguage | string | 否 | - | | 应用设置的语言en、zh-Hans、zh-Hant、fr、es
|\n@| language | string | 否 | - | | 应用设置的语言
|\n@| hostLanguage | string | 否 | - | | 小程序宿主语言
|\n@| hostVersion | string | 否 | - | | App、小程序宿主版本。
|\n@| hostName | string | 否 | - | | 小程序宿主名称
|\n@| hostSDKVersion | string | 否 | - | | uni小程序SDK版本、小程序客户端基础库版本
|\n@| hostTheme | string | 否 | - | | 系统当前主题,取值为light或dark。微信小程序全局配置\"darkmode\":true时才能获取,否则为 null (不支持小游戏)
|\n@| isUniAppX | boolean | 否 | - | | 是否uni-app x
|\n@| uniCompilerVersion | string | 否 | - | | uni 编译器版本
|\n@| uniPlatform | string | 否 | - | | uni-app 运行平台。
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| app | - | - |\n@@| web | - | - |\n@@| mp-weixin | - | - |\n@@| mp-alipay | - | - |\n@@| mp-baidu | - | - |\n@@| mp-toutiao | - | - |\n@@| mp-lark | - | - |\n@@| mp-qq | - | - |\n@@| mp-kuaishou | - | - |\n@@| mp-jd | - | - |\n@@| mp-360 | - | - |\n@@| quickapp-webview | - | - |\n@@| quickapp-webview-union | - | - |\n@@| quickapp-webview-huawei | - | - |\n@| uniRuntimeVersion | string | 否 | - | | uni 运行时版本
|\n@| uniCompilerVersionCode | number | 否 | - | | uni 编译器版本号
|\n@| uniRuntimeVersionCode | number | 否 | - | | uni 运行时版本号
|\n@| packageName | string | 否 | - | | Android的包名
|\n@| bundleId | string | 否 | - | | iOS的bundleId
|\n@| signature | string | 否 | - | | Android: 应用签名证书的SHA1值(全部为小写,中间不包含“:”)。
iOS: 应用签名证书中绑定的Bundle ID(AppleID)的md5值(全部为小写)。
|\n@| appTheme | string | 否 | - | | 当前App的主题
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| light | - | - |\n@@| dark | - | - |\n@@| auto | - | - |\n@| channel | string | 否 | - | | 当前应用分发的渠道
|\n@| ~~uniCompileVersionCode~~ | number | 否 | - | | uni 编译器版本号 **已废弃,仅为了向下兼容保留** |\n@| ~~uniCompileVersion~~ | string | 否 | - | | uni 编译器版本 **已废弃,仅为了向下兼容保留** |\n@| ~~version~~ | string | 否 | - | | 引擎版本号。已废弃,仅为了向下兼容保留 **已废弃,仅为了向下兼容保留** | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.getAppBaseInfo)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/getAppBaseInfo.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getAppBaseInfo&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getAppBaseInfo&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getAppBaseInfo&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getAppBaseInfo&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getAppBaseInfo&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getAppBaseInfo)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getAppBaseInfo&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/get-app-base-info/get-app-base-info.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/get-app-base-info/get-app-base-info\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/get-app-base-info/get-app-base-info\n\n>Template\n```vue\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n type Item = {\r\n label : string,\r\n value : string,\r\n }\r\n export default {\r\n data() {\r\n return {\r\n title: 'getAppBaseInfo',\r\n items: [] as Item[],\r\n }\r\n },\r\n onUnload: function () {\r\n },\r\n methods: {\r\n getAppBaseInfo: function () {\r\n const res = uni.getAppBaseInfo();\r\n const res_str = JSON.stringify(res);\r\n const res_obj = JSON.parseObject(res_str);\r\n const res_map = res_obj!.toMap();\r\n let keys = [] as string[]\r\n res_map.forEach((_, key) => {\r\n keys.push(key);\r\n });\r\n\r\n this.items = [] as Item[];\r\n keys.sort().forEach(key => {\r\n const value = res[key];\r\n if (value != null) {\r\n const item = {\r\n label: key,\r\n value: \"\" + ((typeof value == \"object\") ? JSON.stringify(value) : value)\r\n } as Item;\r\n this.items.push(item);\r\n }\r\n });\r\n\r\n }\r\n }\r\n }\r\n\n```\n\n:::"},"getAppAuthorizeSetting":{"name":"## uni.getAppAuthorizeSetting() @getappauthorizesetting","description":"获取 APP 授权设置。","compatibility":"### getAppAuthorizeSetting 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","param":"","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| **GetAppAuthorizeSettingResult** |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| albumAuthorized | string | 是 | - | | 允许 App 使用相册的开关
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| authorized | - | 已经获得授权,无需再次请求授权 |\n@@| denied | - | 请求授权被拒绝,无法再次请求授权。Android平台:需要申请相册相关权限;iOS平台:此情况需要引导用户打开系统设置,在设置页中打开权限 |\n@@| not determined | - | 尚未请求授权,会在App下一次调用系统相应权限时请求;(仅 iOS 会出现。此种情况下引导用户打开系统设置,不展示开关) |\n@@| config error | - | Android平台:表示没有配置[相册相关权限](https://doc.dcloud.net.cn/uni-app-x/native/permission/android_permission_adapter.html),[权限配置详情](https://uniapp.dcloud.net.cn/tutorial/app-nativeresource-android.html#permissions);iOS平台:当前应用没有配置相册权限描述 |\n@| bluetoothAuthorized | string | 是 | - | | 允许 App 使用蓝牙的开关
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| authorized | - | 已经获得授权,无需再次请求授权 |\n@@| denied | - | 请求授权被拒绝,无法再次请求授权。Android平台:需要申请相册相关权限;iOS平台:此情况需要引导用户打开系统设置,在设置页中打开权限 |\n@@| not determined | - | 尚未请求授权,会在App下一次调用系统相应权限时请求;(仅 iOS 会出现。此种情况下引导用户打开系统设置,不展示开关) |\n@@| config error | - | Android平台:表示没有配置[蓝牙相关权限](https://doc.dcloud.net.cn/uni-app-x/native/permission/android_permission_adapter.html),[权限配置详情](https://uniapp.dcloud.net.cn/tutorial/app-nativeresource-android.html#permissions);iOS平台:当前应用没有配置蓝牙权限描述 |\n@| cameraAuthorized | string | 是 | - | | 允许 App 使用摄像头的开关
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| authorized | - | 已经获得授权,无需再次请求授权 |\n@@| denied | - | 请求授权被拒绝,无法再次请求授权。Android平台:需要申请相册相关权限;iOS平台:此情况需要引导用户打开系统设置,在设置页中打开权限 |\n@@| not determined | - | 尚未请求授权,会在App下一次调用系统相应权限时请求;(仅 iOS 会出现。此种情况下引导用户打开系统设置,不展示开关) |\n@@| config error | - | Android平台:表示没有配置 `android.permission.CAMERA` 权限,[权限配置详情](https://uniapp.dcloud.net.cn/tutorial/app-nativeresource-android.html#permissions);iOS平台:当前应用没有配置相机权限描述 |\n@| locationAuthorized | string | 是 | - | | 允许 App 使用定位的开关
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| authorized | - | 已经获得授权,无需再次请求授权 |\n@@| denied | - | 请求授权被拒绝,无法再次请求授权。Android平台:需要申请相册相关权限;iOS平台:此情况需要引导用户打开系统设置,在设置页中打开权限 |\n@@| not determined | - | 尚未请求授权,会在App下一次调用系统相应权限时请求;(仅 iOS 会出现。此种情况下引导用户打开系统设置,不展示开关) |\n@@| config error | - | Android平台:表示没有配置 `android.permission.ACCESS_COARSE_LOCATION` 权限,[权限配置详情](https://uniapp.dcloud.net.cn/tutorial/app-nativeresource-android.html#permissions);iOS平台:当前应用没有配置定位权限描述 |\n@| locationAccuracy | string | 否 | - | | 定位准确度。
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| reduced | - | 模糊定位 |\n@@| full | - | 精准定位 |\n@@| unsupported | - | 不支持(包括用户拒绝定位权限和没有包含定位权限描述) |\n@| locationReducedAccuracy | boolean | 否 | - | | 定位准确度(推荐使用 locationAccuracy 属性)。true 表示模糊定位,false 表示精确定位(仅 iOS 支持) |\n@| microphoneAuthorized | string | 是 | - | | 允许 App 使用麦克风的开关
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| authorized | - | 已经获得授权,无需再次请求授权 |\n@@| denied | - | 请求授权被拒绝,无法再次请求授权。Android平台:需要申请相册相关权限;iOS平台:此情况需要引导用户打开系统设置,在设置页中打开权限 |\n@@| not determined | - | 尚未请求授权,会在App下一次调用系统相应权限时请求;(仅 iOS 会出现。此种情况下引导用户打开系统设置,不展示开关) |\n@@| config error | - | Android平台:表示没有配置 `android.permission.RECORD_AUDIO` 权限,[权限配置详情](https://uniapp.dcloud.net.cn/tutorial/app-nativeresource-android.html#permissions);iOS平台:当前应用没有配置麦克风权限描述 |\n@| notificationAuthorized | string | 是 | - | | 允许 App 通知的开关
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| authorized | - | 已经获得授权,无需再次请求授权 |\n@@| denied | - | 请求授权被拒绝,无法再次请求授权。Android平台:需要申请相册相关权限;iOS平台:此情况需要引导用户打开系统设置,在设置页中打开权限 |\n@@| not determined | - | 尚未请求授权,会在App下一次调用系统相应权限时请求;(仅 iOS 会出现。此种情况下引导用户打开系统设置,不展示开关) |\n@@| config error | - | Android平台没有该值;iOS平台:没有包含推送权限描述 |\n@| notificationAlertAuthorized | string | 否 | - | | 允许 App 通知带有提醒的开关(仅 iOS 支持)
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| authorized | - | 已经获得授权,无需再次请求授权 |\n@@| denied | - | 请求授权被拒绝,无法再次请求授权。Android平台:需要申请相册相关权限;iOS平台:此情况需要引导用户打开系统设置,在设置页中打开权限 |\n@@| not determined | - | 尚未请求授权,会在App下一次调用系统相应权限时请求;(仅 iOS 会出现。此种情况下引导用户打开系统设置,不展示开关) |\n@@| config error | - | 当前应用没有配置推送权限描述 |\n@| notificationBadgeAuthorized | string | 否 | - | | 允许 App 通知带有标记的开关(仅 iOS 支持)
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| authorized | - | 已经获得授权,无需再次请求授权 |\n@@| denied | - | 请求授权被拒绝,无法再次请求授权。Android平台:需要申请相册相关权限;iOS平台:此情况需要引导用户打开系统设置,在设置页中打开权限 |\n@@| not determined | - | 尚未请求授权,会在App下一次调用系统相应权限时请求;(仅 iOS 会出现。此种情况下引导用户打开系统设置,不展示开关) |\n@@| config error | - | 当前应用没有配置推送权限描述 |\n@| notificationSoundAuthorized | string | 否 | - | | 允许 App 通知带有声音的开关(仅 iOS 支持)
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| authorized | - | 已经获得授权,无需再次请求授权 |\n@@| denied | - | 请求授权被拒绝,无法再次请求授权。Android平台:需要申请相册相关权限;iOS平台:此情况需要引导用户打开系统设置,在设置页中打开权限 |\n@@| not determined | - | 尚未请求授权,会在App下一次调用系统相应权限时请求;(仅 iOS 会出现。此种情况下引导用户打开系统设置,不展示开关) |\n@@| config error | - | 当前应用没有配置推送权限描述 |\n@| phoneCalendarAuthorized | string | 否 | - | | 允许读写日历的开关(仅微信小程序支持)
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| authorized | - | 已经获得授权,无需再次请求授权 |\n@@| denied | - | 请求授权被拒绝,无法再次请求授权;(此情况需要引导用户打开系统设置,在设置页中打开权限) |\n@@| not determined | - | 尚未请求授权,会在App下一次调用系统相应权限时请求;(仅 iOS 会出现。此种情况下引导用户打开系统设置,不展示开关) | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.getAppAuthorizeSetting)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/getappauthorizesetting.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getAppAuthorizeSetting&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getAppAuthorizeSetting&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getAppAuthorizeSetting&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getAppAuthorizeSetting&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getAppAuthorizeSetting&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getAppAuthorizeSetting)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getAppAuthorizeSetting&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/get-app-authorize-setting/get-app-authorize-setting.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/get-app-authorize-setting/get-app-authorize-setting\n```uvue\n\r\n\r\n\r\n\n\n```\n:::"},"getSystemSetting":{"name":"## uni.getSystemSetting() @getsystemsetting","description":"获取系统设置","compatibility":"### getSystemSetting 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","param":"","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| **GetSystemSettingResult** |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| bluetoothEnabled | boolean | 否 | - | | 蓝牙是否开启
|\n@| bluetoothError | string | 否 | - | | 蓝牙的报错信息
|\n@| locationEnabled | boolean | 是 | - | | 位置是否开启
|\n@| wifiEnabled | boolean | 否 | - | | wifi是否开启
|\n@| wifiError | string | 否 | - | | wifi的报错信息
|\n@| deviceOrientation | string | 是 | - | | 设备方向
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| portrait | - | 纵向 |\n@@| landscape | - | 横向 | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.getSystemSetting)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/getsystemsetting.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getSystemSetting&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getSystemSetting&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getSystemSetting&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getSystemSetting&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getSystemSetting&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getSystemSetting)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getSystemSetting&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/get-system-setting/get-system-setting.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/get-system-setting/get-system-setting\n```uvue\n\r\n\r\n\r\n\r\n\n\n```\n:::"},"installApk":{"name":"## uni.installApk(options) @installapk","description":"安装apk","compatibility":"### installApk 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.94 | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **InstallApkOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| filePath | string | 是 | - | - | apk文件地址 |\n@| success | (res: [InstallApkSuccess](#installapksuccess-values)) => void | 否 | null | - | 接口调用成功的回调函数 |\n@| fail | (err: [InstallApkFail](#installapkfail-values)) => void | 否 | null | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | null | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### InstallApkSuccess 的属性值 @installapksuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | 安装成功消息 |\n\n#### InstallApkFail 的属性值 @installapkfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码
- 1300002 找不到文件 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.installApk)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/install-apk/install-apk.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/install-apk/install-apk\n```uvue\n\r\n\r\n\n\n```\n:::"},"getBatteryInfo":{"name":"## uni.getBatteryInfo(options) @getbatteryinfo","description":"获取电池电量信息\n\n\n> 本 API 是 [uni ext api](https://uniapp.dcloud.net.cn/api/extapi.html),需下载插件:[uni-getbatteryinfo](https://ext.dcloud.net.cn/plugin?name=uni-getbatteryinfo)\n","compatibility":"### getBatteryInfo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **GetBatteryInfoOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (res: [GetBatteryInfoSuccess](#getbatteryinfosuccess-values)) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) |\n@| fail | (res: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用成功的回调 | \n\n#### GetBatteryInfoSuccess 的属性值 @getbatteryinfosuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n| level | number | 是 | - | - | 设备电量,范围1 - 100 |\n| isCharging | boolean | 是 | - | - | 是否正在充电中 |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.getBatteryInfo.getBatteryInfo)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getBatteryInfo&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getBatteryInfo&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getBatteryInfo&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getBatteryInfo&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getBatteryInfo&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getBatteryInfo)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getBatteryInfo&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/get-battery-info/get-battery-info.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/get-battery-info/get-battery-info\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/get-battery-info/get-battery-info\n\n>Template\n```vue\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n level: 0,\r\n isCharging: false\r\n }\r\n },\r\n onLoad() {\r\n try {\r\n uni.getBatteryInfo({\r\n success: res => {\r\n this.level = res.level;\r\n this.isCharging = res.isCharging;\r\n }\r\n });\r\n } catch (e) {\r\n console.error((e as Error).message);\r\n uni.showModal({\r\n content: (e as Error).message,\r\n showCancel: false\r\n });\r\n }\r\n }\r\n }\r\n\n```\n\n:::"},"getBatteryInfoSync":{"name":"## uni.getBatteryInfoSync() @getbatteryinfosync","description":"同步获取电池电量信息\n\n\n> 本 API 是 [uni ext api](https://uniapp.dcloud.net.cn/api/extapi.html),需下载插件:[uni-getbatteryinfo](https://ext.dcloud.net.cn/plugin?name=uni-getbatteryinfo)\n","compatibility":"### getBatteryInfoSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n","param":"","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| **GetBatteryInfoResult** |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| level | number | 是 | - | - | 设备电量,范围1 - 100 |\n@| isCharging | boolean | 是 | - | - | 是否正在充电中 | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.getBatteryInfo.getBatteryInfoSync)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getBatteryInfoSync&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getBatteryInfoSync&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getBatteryInfoSync&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getBatteryInfoSync&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getBatteryInfoSync&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getBatteryInfoSync)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getBatteryInfoSync&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"makePhoneCall":{"name":"## uni.makePhoneCall(options) @makephonecall","description":"拨打电话\n","compatibility":"### makePhoneCall 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **MakePhoneCallOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| phoneNumber | string | 是 | - | - | 需要拨打的电话号码 |\n@| success | (result: MakePhoneCallSuccess) => void | 否 | - | - | 成功返回的回调函数 |\n@| fail | (result: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | - | - | 失败的回调函数 |\n@| complete | (result: any) => void | 否 | - | - | 结束的回调函数(调用成功、失败都会执行) | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.makePhoneCall)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/phone.html#makephonecall)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=makePhoneCall&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=makePhoneCall&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=makePhoneCall&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=makePhoneCall&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=makePhoneCall&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=makePhoneCall)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=makePhoneCall&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/make-phone-call/make-phone-call.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/make-phone-call/make-phone-call\n\n>Template\n```vue\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n title: 'makePhoneCall',\r\n disabled: true,\r\n inputValue: ''\r\n }\r\n },\r\n methods: {\r\n bindInput: function (e : UniInputEvent) {\r\n this.inputValue = e.detail.value\r\n if (this.inputValue.length > 0) {\r\n this.disabled = false\r\n } else {\r\n this.disabled = true\r\n }\r\n },\r\n makePhoneCall: function () {\r\n uni.makePhoneCall({\r\n phoneNumber: this.inputValue,\r\n success: () => {\r\n console.log(\"成功拨打电话\")\r\n }\r\n })\r\n }\r\n }\r\n }\r\n\n```\n\n:::"},"getClipboardData":{"name":"## uni.getClipboardData(options) @getclipboarddata","description":"获得系统剪贴板的内容\n","compatibility":"### getClipboardData 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **GetClipboardDataOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (result: [GetClipboardDataSuccess](#getclipboarddatasuccess-values)) => void | 否 | - | - | 成功返回的回调函数 |\n@| fail | (result: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | - | - | 失败的回调函数 |\n@| complete | (result: any) => void | 否 | - | - | 结束的回调函数(调用成功、失败都会执行) | \n\n#### GetClipboardDataSuccess 的属性值 @getclipboarddatasuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| data | string | 是 | - | - | 剪贴板的内容 |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.clipboard.getClipboardData)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/clipboard.html#getclipboarddata)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getClipboardData&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getClipboardData&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getClipboardData&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getClipboardData&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getClipboardData&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getClipboardData)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getClipboardData&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"setClipboardData":{"name":"## uni.setClipboardData(options) @setclipboarddata","description":"设置系统剪贴板的内容\n","compatibility":"### setClipboardData 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **SetClipboardDataOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| data | string | 是 | - | - | 需要设置的内容 |\n@| showToast | boolean | 否 | - | - | 是否弹出提示,默认弹出提示 |\n@| success | (result: SetClipboardDataSuccess) => void | 否 | - | - | 成功返回的回调函数 |\n@| fail | (result: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | - | - | 失败的回调函数 |\n@| complete | (result: any) => void | 否 | - | - | 结束的回调函数(调用成功、失败都会执行) | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.clipboard.setClipboardData)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/clipboard.html#setclipboarddata)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=setClipboardData&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=setClipboardData&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=setClipboardData&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=setClipboardData&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=setClipboardData&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=setClipboardData)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=setClipboardData&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"clipboard":{"example":"## 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/clipboard/clipboard.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/clipboard/clipboard\n\n>Template\n```vue\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n title: 'get/setClipboardData',\r\n data: '',\r\n // 自动化测试\r\n getDataTest: '',\r\n setClipboardTest: false\r\n }\r\n },\r\n methods: {\r\n dataChange: function (e) {\r\n this.data = e.detail.value\r\n },\r\n getClipboard: function () {\r\n uni.getClipboardData({\r\n success: (res) => {\r\n console.log(res.data);\r\n this.getDataTest = res.data;\r\n const content = res.data ? '剪贴板内容为:' + res.data : '剪贴板暂无内容';\r\n uni.showModal({\r\n content,\r\n title: '读取剪贴板',\r\n showCancel: false\r\n })\r\n },\r\n fail: () => {\r\n uni.showModal({\r\n content: '读取剪贴板失败!',\r\n showCancel: false\r\n })\r\n }\r\n });\r\n },\r\n setClipboard: function () {\r\n if (this.data.length === 0) {\r\n uni.showModal({\r\n title: '设置剪贴板失败',\r\n content: '内容不能为空',\r\n showCancel: false\r\n })\r\n } else {\r\n uni.setClipboardData({\r\n data: this.data,\r\n success: () => {\r\n this.setClipboardTest = true\r\n // 成功处理\r\n uni.showToast({\r\n title: '设置剪贴板成功',\r\n icon: \"success\",\r\n mask: !1\r\n })\r\n },\r\n fail: () => {\r\n // bug:自动化测试时设置成功也进入了fail\r\n this.setClipboardTest = false\r\n // 失败处理\r\n uni.showToast({\r\n title: '储存数据失败!',\r\n icon: \"none\",\r\n mask: !1\r\n })\r\n }\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\n```\n\n:::"},"onCompassChange":{"name":"## uni.onCompassChange(callback) @oncompasschange","description":"监听罗盘数据\n","compatibility":"### onCompassChange 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [OnCompassChangeSuccess](#oncompasschangesuccess-values)) => void | 是 | - | - | - | \n\n### OnCompassChangeSuccess 的属性值 @oncompasschangesuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| direction | number | 是 | - | - | 面对的方向度数 |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.onCompassChange)\n - [参见uni-app相关文档](https://uniapp.dcloud.io/api/system/compass.html#oncompasschange)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=onCompassChange&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=onCompassChange&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=onCompassChange&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=onCompassChange&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=onCompassChange&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=onCompassChange)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=onCompassChange&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"offCompassChange":{"name":"## uni.offCompassChange(callback) @offcompasschange","description":"取消监听罗盘数据\n","compatibility":"### offCompassChange 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.offCompassChange)\n - [参见uni-app相关文档](https://uniapp.dcloud.io/api/system/compass.html#offcompasschange)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=offCompassChange&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=offCompassChange&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=offCompassChange&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=offCompassChange&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=offCompassChange&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=offCompassChange)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=offCompassChange&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"startCompass":{"name":"## uni.startCompass(options?) @startcompass","description":"开始监听罗盘数据\n","compatibility":"### startCompass 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **StartCompassOptions** | 否 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (res: CompassSuccess) => void | 否 | - | - | uni.startCompass成功回调函数定义 |\n@| fail | (res: [ICompassError](#icompasserror-values)) => void | 否 | - | - | uni.startCompass失败回调函数定义 |\n@| complete | (res: any) => void | 否 | - | - | uni.startCompass完成回调函数定义 | \n\n#### ICompassError 的属性值 @icompasserror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | - |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.startCompass)\n - [参见uni-app相关文档](https://uniapp.dcloud.io/api/system/compass.html#startcompass)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=startCompass&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=startCompass&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=startCompass&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=startCompass&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=startCompass&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=startCompass)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=startCompass&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"stopCompass":{"name":"## uni.stopCompass(options?) @stopcompass","description":"停止监听罗盘数据\n","compatibility":"### stopCompass 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **StopCompassOptions** | 否 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (res: CompassSuccess) => void | 否 | - | - | 成功返回的回调函数 |\n@| fail | (res: [ICompassError](#icompasserror-values)) => void | 否 | - | - | 失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 结束的回调函数(调用成功、失败都会执行) | \n\n#### ICompassError 的属性值 @icompasserror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | - |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.stopCompass)\n - [参见uni-app相关文档](https://uniapp.dcloud.io/api/system/compass.html#stopcompass)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=stopCompass&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=stopCompass&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=stopCompass&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=stopCompass&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=stopCompass&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=stopCompass)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=stopCompass&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"compass":{"example":"## 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/compass/compass.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/compass/compass\n\n>Template\n```vue\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n title: 'onCompassChange',\r\n direction: 0\r\n }\r\n },\r\n onReady: function () {\r\n uni.onCompassChange((res) => {\r\n console.log('onCompassChange', res)\r\n this.direction = res.direction\r\n })\r\n },\r\n onUnload() {\r\n uni.stopCompass();\r\n this.direction = 0;\r\n }\r\n }\r\n\n```\n\n:::"},"onAccelerometerChange":{"name":"## uni.onAccelerometerChange(callback) @onaccelerometerchange","description":"监听加速度数据\n","compatibility":"### onAccelerometerChange 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [OnAccelerometerChangeCallbackResult](#onaccelerometerchangecallbackresult-values)) => void | 是 | - | - | - | \n\n### OnAccelerometerChangeCallbackResult 的属性值 @onaccelerometerchangecallbackresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | X 轴 |\n| y | number | 是 | - | - | Y 轴 |\n| z | number | 是 | - | - | Z 轴 |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.onAccelerometerChange)\n - [参见uni-app相关文档](https://uniapp.dcloud.io/api/system/accelerometer.html#onaccelerometerchange)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=onAccelerometerChange&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=onAccelerometerChange&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=onAccelerometerChange&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=onAccelerometerChange&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=onAccelerometerChange&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=onAccelerometerChange)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=onAccelerometerChange&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"offAccelerometerChange":{"name":"## uni.offAccelerometerChange(callback) @offaccelerometerchange","description":"取消监听加速度数据\n","compatibility":"### offAccelerometerChange 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.offAccelerometerChange)\n - [参见uni-app相关文档](https://uniapp.dcloud.io/api/system/accelerometer.html#offaccelerometerchange)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=offAccelerometerChange&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=offAccelerometerChange&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=offAccelerometerChange&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=offAccelerometerChange&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=offAccelerometerChange&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=offAccelerometerChange)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=offAccelerometerChange&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"startAccelerometer":{"name":"## uni.startAccelerometer(options) @startaccelerometer","description":"开始监听加速度数据\n","compatibility":"### startAccelerometer 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **StartAccelerometerOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| interval | string | 否 | - | - | interval
- game: 适用于更新游戏的回调频率,在 20ms/次 左右
- ui: 适用于更新游戏的回调频率,在 20ms/次 左右
- normal: 普通的回调频率,在 200ms/次 左右 |\n@| success | (result: StartAccelerometerSuccess) => void | 否 | - | - | 成功返回的回调函数 |\n@| fail | (result: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | - | - | 失败的回调函数 |\n@| complete | (result: any) => void | 否 | - | - | 结束的回调函数(调用成功、失败都会执行) | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.startAccelerometer)\n - [参见uni-app相关文档](https://uniapp.dcloud.io/api/system/accelerometer.html#startaccelerometer)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=startAccelerometer&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=startAccelerometer&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=startAccelerometer&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=startAccelerometer&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=startAccelerometer&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=startAccelerometer)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=startAccelerometer&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"stopAccelerometer":{"name":"## uni.stopAccelerometer(options) @stopaccelerometer","description":"停止监听加速度数据\n","compatibility":"### stopAccelerometer 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **StopAccelerometerOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (result: StopAccelerometerSuccess) => void | 否 | - | - | 成功返回的回调函数 |\n@| fail | (result: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | - | - | 失败的回调函数 |\n@| complete | (result: any) => void | 否 | - | - | 结束的回调函数(调用成功、失败都会执行) | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.stopAccelerometer)\n - [参见uni-app相关文档](https://uniapp.dcloud.io/api/system/accelerometer.html#stopaccelerometer)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=stopAccelerometer&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=stopAccelerometer&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=stopAccelerometer&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=stopAccelerometer&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=stopAccelerometer&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=stopAccelerometer)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=stopAccelerometer&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"startWifi":{"name":"## uni.startWifi(option) @startwifi","description":"初始化Wi-Fi模块\n\n\n> 本 API 是 [uni ext api](https://uniapp.dcloud.net.cn/api/extapi.html),需下载插件:[uni-wifi](https://ext.dcloud.net.cn/plugin?name=uni-wifi)\n","compatibility":"### startWifi 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| option | **WifiOption** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (res: [UniWifiResult](#uniwifiresult-values)) => void | 否 | - | - | - |\n@| fail | (res: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | - | - | - |\n@| complete | (res: any) => void | 否 | - | - | - | \n\n#### UniWifiResult 的属性值 @uniwifiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | - |\n| errSubject | string | 是 | - | - | - |\n| errMsg | string | 是 | - | - | - |\n| wifi | **UniWifiInfo** | 否 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| SSID | string | 是 | - | - | - |\n@| BSSID | string | 否 | - | - | - |\n@| secure | boolean | 否 | - | - | - |\n@| signalStrength | number | 否 | - | - | - |\n@| frequency | number | 否 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.wifi.startWifi)\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/wifi.html#startwifi)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=startWifi&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=startWifi&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=startWifi&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=startWifi&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=startWifi&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=startWifi)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=startWifi&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"stopWifi":{"name":"## uni.stopWifi(option) @stopwifi","description":"关闭 Wi-Fi 模块\n\n\n> 本 API 是 [uni ext api](https://uniapp.dcloud.net.cn/api/extapi.html),需下载插件:[uni-wifi](https://ext.dcloud.net.cn/plugin?name=uni-wifi)\n","compatibility":"### stopWifi 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | x | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| option | **WifiOption** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (res: [UniWifiResult](#uniwifiresult-values)) => void | 否 | - | - | - |\n@| fail | (res: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | - | - | - |\n@| complete | (res: any) => void | 否 | - | - | - | \n\n#### UniWifiResult 的属性值 @uniwifiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | - |\n| errSubject | string | 是 | - | - | - |\n| errMsg | string | 是 | - | - | - |\n| wifi | **UniWifiInfo** | 否 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| SSID | string | 是 | - | - | - |\n@| BSSID | string | 否 | - | - | - |\n@| secure | boolean | 否 | - | - | - |\n@| signalStrength | number | 否 | - | - | - |\n@| frequency | number | 否 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.wifi.stopWifi)\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/wifi.html#stopwifi)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=stopWifi&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=stopWifi&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=stopWifi&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=stopWifi&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=stopWifi&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=stopWifi)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=stopWifi&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"connectWifi":{"name":"## uni.connectWifi(option) @connectwifi","description":"","compatibility":"### connectWifi 兼容性 \n| Web | Android 系统版本 | Android | iOS |\n| :- | :- | :- | :- |\n| - | >=4.4 && <10.0 | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| option | **WifiConnectOption** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| SSID | string | 否 | - | - | - |\n@| BSSID | string | 否 | - | - | - |\n@| password | string | 否 | - | - | - |\n@| maunal | boolean | 否 | - | - | - |\n@| partialInfo | boolean | 否 | - | - | - |\n@| success | (res: [UniWifiResult](#uniwifiresult-values)) => void | 否 | - | - | - |\n@| fail | (res: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | - | - | - |\n@| complete | (res: any) => void | 否 | - | - | - | \n\n#### UniWifiResult 的属性值 @uniwifiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | - |\n| errSubject | string | 是 | - | - | - |\n| errMsg | string | 是 | - | - | - |\n| wifi | **UniWifiInfo** | 否 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| SSID | string | 是 | - | - | - |\n@| BSSID | string | 否 | - | - | - |\n@| secure | boolean | 否 | - | - | - |\n@| signalStrength | number | 否 | - | - | - |\n@| frequency | number | 否 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.wifi.connectWifi)\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/wifi.html#connectWifi)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=connectWifi&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=connectWifi&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=connectWifi&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=connectWifi&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=connectWifi&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=connectWifi)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=connectWifi&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"getWifiList":{"name":"## uni.getWifiList(option) @getwifilist","description":"请求获取 Wi-Fi 列表。wifiList 数据会在 onGetWifiList 注册的回调中返回。\n\n> 本 API 是 [uni ext api](https://uniapp.dcloud.net.cn/api/extapi.html),需下载插件:[uni-wifi](https://ext.dcloud.net.cn/plugin?name=uni-wifi)\n","compatibility":"### getWifiList 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| option | **WifiOption** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (res: [UniWifiResult](#uniwifiresult-values)) => void | 否 | - | - | - |\n@| fail | (res: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | - | - | - |\n@| complete | (res: any) => void | 否 | - | - | - | \n\n#### UniWifiResult 的属性值 @uniwifiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | - |\n| errSubject | string | 是 | - | - | - |\n| errMsg | string | 是 | - | - | - |\n| wifi | **UniWifiInfo** | 否 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| SSID | string | 是 | - | - | - |\n@| BSSID | string | 否 | - | - | - |\n@| secure | boolean | 否 | - | - | - |\n@| signalStrength | number | 否 | - | - | - |\n@| frequency | number | 否 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.wifi.getWifiList)\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/wifi.html#getWifiList)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getWifiList&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getWifiList&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getWifiList&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getWifiList&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getWifiList&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getWifiList)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getWifiList&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"onGetWifiList":{"name":"## uni.onGetWifiList(callback) @ongetwifilist","description":"监听获取到 Wi-Fi 列表数据事件。\n\n\n> 本 API 是 [uni ext api](https://uniapp.dcloud.net.cn/api/extapi.html),需下载插件:[uni-wifi](https://ext.dcloud.net.cn/plugin?name=uni-wifi)\n","compatibility":"### onGetWifiList 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (wifiInfo: Record\\) => void | 是 | - | - | | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.wifi.onGetWifiList)\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/wifi.html#onGetWifiList)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=onGetWifiList&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=onGetWifiList&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=onGetWifiList&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=onGetWifiList&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=onGetWifiList&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=onGetWifiList)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=onGetWifiList&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"offGetWifiList":{"name":"## uni.offGetWifiList(callback) @offgetwifilist","description":"移除获取到 Wi-Fi 列表数据事件的监听函数。\n\n\n> 本 API 是 [uni ext api](https://uniapp.dcloud.net.cn/api/extapi.html),需下载插件:[uni-wifi](https://ext.dcloud.net.cn/plugin?name=uni-wifi)\n","compatibility":"### offGetWifiList 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | () => void | 是 | - | - | | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.wifi.offGetWifiList)\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/wifi.html#offGetWifiList)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=offGetWifiList&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=offGetWifiList&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=offGetWifiList&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=offGetWifiList&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=offGetWifiList&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=offGetWifiList)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=offGetWifiList&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"getConnectedWifi":{"name":"## uni.getConnectedWifi(option) @getconnectedwifi","description":"获取已连接的 Wi-Fi 信息\n\n\n> 本 API 是 [uni ext api](https://uniapp.dcloud.net.cn/api/extapi.html),需下载插件:[uni-wifi](https://ext.dcloud.net.cn/plugin?name=uni-wifi)\n","compatibility":"### getConnectedWifi 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| option | **GetConnectedWifiOptions** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| partialInfo | boolean | 否 | - | - | - |\n@| success | (res: [UniWifiResult](#uniwifiresult-values)) => void | 否 | - | - | - |\n@| fail | (res: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | - | - | - |\n@| complete | (res: any) => void | 否 | - | - | - | \n\n#### UniWifiResult 的属性值 @uniwifiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | - |\n| errSubject | string | 是 | - | - | - |\n| errMsg | string | 是 | - | - | - |\n| wifi | **UniWifiInfo** | 否 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| SSID | string | 是 | - | - | - |\n@| BSSID | string | 否 | - | - | - |\n@| secure | boolean | 否 | - | - | - |\n@| signalStrength | number | 否 | - | - | - |\n@| frequency | number | 否 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.wifi.getConnectedWifi)\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/wifi.html#getConnectedWifi)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getConnectedWifi&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getConnectedWifi&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getConnectedWifi&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getConnectedWifi&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getConnectedWifi&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getConnectedWifi)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getConnectedWifi&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"onWifiConnected":{"name":"## uni.onWifiConnected(callback) @onwificonnected","description":"监听连接上 Wi-Fi 的事件\n\n\n> 本 API 是 [uni ext api](https://uniapp.dcloud.net.cn/api/extapi.html),需下载插件:[uni-wifi](https://ext.dcloud.net.cn/plugin?name=uni-wifi)\n","compatibility":"### onWifiConnected 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (wifiInfo: [UniWifiResult](#uniwifiresult-values)) => void | 是 | - | - | | \n\n### UniWifiResult 的属性值 @uniwifiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | - |\n| errSubject | string | 是 | - | - | - |\n| errMsg | string | 是 | - | - | - |\n| wifi | **UniWifiInfo** | 否 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| SSID | string | 是 | - | - | - |\n@| BSSID | string | 否 | - | - | - |\n@| secure | boolean | 否 | - | - | - |\n@| signalStrength | number | 否 | - | - | - |\n@| frequency | number | 否 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.wifi.onWifiConnected)\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/wifi.html#onWifiConnected)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=onWifiConnected&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=onWifiConnected&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=onWifiConnected&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=onWifiConnected&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=onWifiConnected&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=onWifiConnected)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=onWifiConnected&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"onWifiConnectedWithPartialInfo":{"name":"## uni.onWifiConnectedWithPartialInfo(callback) @onwificonnectedwithpartialinfo","description":"监听连接上 Wi-Fi 的事件。\n\n\n> 本 API 是 [uni ext api](https://uniapp.dcloud.net.cn/api/extapi.html),需下载插件:[uni-wifi](https://ext.dcloud.net.cn/plugin?name=uni-wifi)\n","compatibility":"### onWifiConnectedWithPartialInfo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (wifiInfo: [UniWifiInfoWithPartialInfo](#uniwifiinfowithpartialinfo-values)) => void | 是 | - | - | | \n\n### UniWifiInfoWithPartialInfo 的属性值 @uniwifiinfowithpartialinfo-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| SSID | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.wifi.onWifiConnectedWithPartialInfo)\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/wifi.html#onWifiConnectedWithPartialInfo)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=onWifiConnectedWithPartialInfo&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=onWifiConnectedWithPartialInfo&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=onWifiConnectedWithPartialInfo&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=onWifiConnectedWithPartialInfo&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=onWifiConnectedWithPartialInfo&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=onWifiConnectedWithPartialInfo)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=onWifiConnectedWithPartialInfo&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"offWifiConnected":{"name":"## uni.offWifiConnected(callback?) @offwificonnected","description":"移除连接上 Wi-Fi 的事件的监听函数。\n\n\n> 本 API 是 [uni ext api](https://uniapp.dcloud.net.cn/api/extapi.html),需下载插件:[uni-wifi](https://ext.dcloud.net.cn/plugin?name=uni-wifi)\n","compatibility":"### offWifiConnected 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | () => void | 否 | - | - | | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.wifi.offWifiConnected)\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/wifi.html#offWifiConnected)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=offWifiConnected&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=offWifiConnected&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=offWifiConnected&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=offWifiConnected&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=offWifiConnected&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=offWifiConnected)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=offWifiConnected&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"setWifiList":{"name":"## uni.setWifiList(option) @setwifilist","description":"SetWifiList 暂未实现\n\n\n> 本 API 是 [uni ext api](https://uniapp.dcloud.net.cn/api/extapi.html),需下载插件:[uni-wifi](https://ext.dcloud.net.cn/plugin?name=uni-wifi)\n","compatibility":"### setWifiList 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| option | **WifiOption** | 是 | - | - | Wifi 函数通用入参封装 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (res: [UniWifiResult](#uniwifiresult-values)) => void | 否 | - | - | - |\n@| fail | (res: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | - | - | - |\n@| complete | (res: any) => void | 否 | - | - | - | \n\n#### UniWifiResult 的属性值 @uniwifiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | - |\n| errSubject | string | 是 | - | - | - |\n| errMsg | string | 是 | - | - | - |\n| wifi | **UniWifiInfo** | 否 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| SSID | string | 是 | - | - | - |\n@| BSSID | string | 否 | - | - | - |\n@| secure | boolean | 否 | - | - | - |\n@| signalStrength | number | 否 | - | - | - |\n@| frequency | number | 否 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.wifi.setWifiList)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=setWifiList&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=setWifiList&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=setWifiList&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=setWifiList&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=setWifiList&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=setWifiList)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=setWifiList&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"onMemoryWarning":{"name":"## uni.onMemoryWarning(callback) @onmemorywarning","description":"监听内存不足告警事件。\n","compatibility":"### onMemoryWarning 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [OnMemoryWarningCallbackResult](#onmemorywarningcallbackresult-values)) => void | 是 | - | - | - | \n\n### OnMemoryWarningCallbackResult 的属性值 @onmemorywarningcallbackresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| level | number | 是 | - | - | 仅 Android 有该字段,对应系统内存告警等级宏定义 |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.memory.onMemoryWarning)\n - [参见uni-app相关文档](https://uniapp.dcloud.io/api/system/memory.html#onmemorywarning)\n- [参见uni-app相关文档](https://uniapp.dcloud.io/system/memory.html#onmemorywarning)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=onMemoryWarning&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=onMemoryWarning&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=onMemoryWarning&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=onMemoryWarning&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=onMemoryWarning&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=onMemoryWarning)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=onMemoryWarning&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"offMemoryWarning":{"name":"## uni.offMemoryWarning(callback) @offmemorywarning","description":"取消监听内存不足告警事件。不传入 callback 则取消所有监听。\n","compatibility":"### offMemoryWarning 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [OffMemoryWarningCallbackResult](#offmemorywarningcallbackresult-values)) => void | 是 | - | - | - | \n\n### OffMemoryWarningCallbackResult 的属性值 @offmemorywarningcallbackresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| level | number | 是 | - | - | 仅 Android 有该字段,对应系统内存告警等级宏定义 |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.memory.offMemoryWarning)\n - [参见uni-app相关文档](https://uniapp.dcloud.io/api/media/background-audio-manager.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=offMemoryWarning&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=offMemoryWarning&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=offMemoryWarning&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=offMemoryWarning&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=offMemoryWarning&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=offMemoryWarning)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=offMemoryWarning&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"onUserCaptureScreen":{"name":"## uni.onUserCaptureScreen(callback?) @onusercapturescreen","description":"开启截屏监听\r\n\n\n> 本 API 是 [uni ext api](https://uniapp.dcloud.net.cn/api/extapi.html),需下载插件:[uni-usercapturescreen](https://ext.dcloud.net.cn/plugin?name=uni-usercapturescreen)\n","compatibility":"### onUserCaptureScreen 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (res: [OnUserCaptureScreenCallbackResult](#onusercapturescreencallbackresult-values)) => void | 否 | - | - | | \n\n### OnUserCaptureScreenCallbackResult 的属性值 @onusercapturescreencallbackresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| path | string | 否 | - | - | 截屏文件路径(仅Android返回) |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.captureScreen.onUserCaptureScreen)\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/capture-screen.html#onusercapturescreen)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=onUserCaptureScreen&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=onUserCaptureScreen&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=onUserCaptureScreen&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=onUserCaptureScreen&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=onUserCaptureScreen&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=onUserCaptureScreen)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=onUserCaptureScreen&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"offUserCaptureScreen":{"name":"## uni.offUserCaptureScreen(callback?) @offusercapturescreen","description":"关闭截屏监听\r\n\n\n> 本 API 是 [uni ext api](https://uniapp.dcloud.net.cn/api/extapi.html),需下载插件:[uni-usercapturescreen](https://ext.dcloud.net.cn/plugin?name=uni-usercapturescreen)\n","compatibility":"### offUserCaptureScreen 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (res: [OnUserCaptureScreenCallbackResult](#onusercapturescreencallbackresult-values)) => void | 否 | - | - | | \n\n### OnUserCaptureScreenCallbackResult 的属性值 @onusercapturescreencallbackresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| path | string | 否 | - | - | 截屏文件路径(仅Android返回) |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.captureScreen.offUserCaptureScreen)\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/capture-screen.html#offusercapturescreen)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=offUserCaptureScreen&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=offUserCaptureScreen&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=offUserCaptureScreen&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=offUserCaptureScreen&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=offUserCaptureScreen&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=offUserCaptureScreen)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=offUserCaptureScreen&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"setUserCaptureScreen":{"name":"## uni.setUserCaptureScreen(options) @setusercapturescreen","description":"设置防截屏\r\n\n\n> 本 API 是 [uni ext api](https://uniapp.dcloud.net.cn/api/extapi.html),需下载插件:[uni-usercapturescreen](https://ext.dcloud.net.cn/plugin?name=uni-usercapturescreen)\n","compatibility":"### setUserCaptureScreen 兼容性 \n| Web | Android | iOS 系统版本 | iOS |\n| :- | :- | :- | :- |\n| - | 3.9.0 | 13.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **SetUserCaptureScreenOptions** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| enable | boolean | 是 | - | - | true: 允许用户截屏 false: 不允许用户截屏,防止用户截屏到应用页面内容 |\n@| success | (res: SetUserCaptureScreenSuccess) => void | 否 | - | - | uni.setUserCaptureScreen成功回调函数定义 |\n@| fail | (res: [IUniError](#iunierror-values)) => void | 否 | - | - | uni.setUserCaptureScreen失败回调函数定义 |\n@| complete | (res: any) => void | 否 | - | - | uni.setUserCaptureScreen完成回调函数定义 | \n\n#### IUniError 的属性值 @iunierror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 统一错误码 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.captureScreen.setUserCaptureScreen)\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/capture-screen.html#setusercapturescreen)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=setUserCaptureScreen&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=setUserCaptureScreen&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=setUserCaptureScreen&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=setUserCaptureScreen&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=setUserCaptureScreen&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=setUserCaptureScreen)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=setUserCaptureScreen&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"createRequestPermissionListener":{"name":"## uni.createRequestPermissionListener() @createrequestpermissionlistener","description":"创建一个监听权限申请的对象。","compatibility":"### createRequestPermissionListener 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.0 | x |\n","param":"","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| [RequestPermissionListener](#requestpermissionlistener-values) |\n\n#### RequestPermissionListener 的方法 @requestpermissionlistener-values \n\n#### onRequest(callback : RequestPermissionListenerRequestCallback) : void @onrequest\n监听申请系统权限\n##### onRequest 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (permissions: Array\\) => void | 是 | - | - | 申请系统权限回调,permissions为触发权限申请的所有权限 | \n\n\n#### onConfirm(callback : RequestPermissionListenerConfirmCallback) : void @onconfirm\n监听弹出系统权限授权框\n##### onConfirm 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (permissions: Array\\) => void | 是 | - | - | 弹出系统权限授权框回调,permissions为触发弹出权限授权框的所有权限 | \n\n\n#### onComplete(callback : RequestPermissionListenerCompleteCallback) : void @oncomplete\n监听权限申请完成\n##### onComplete 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (permissions: Array\\) => void | 是 | - | - | 权限申请完成回调,permissions为申请完成的所有权限 | \n\n\n#### stop() : void @stop\n取消所有监听\n##### stop 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.createRequestPermissionListener)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/system/create-request-permission-listener.html)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/create-request-permission-listener/create-request-permission-listener.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/create-request-permission-listener/create-request-permission-listener\n```uvue\n\r\n\r\n\r\n\r\n\n\n```\n:::"},"scanCode":{"name":"## uni.scanCode(options?) @scancode","description":"扫码","compatibility":"### scanCode 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | - | - |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **ScanCodeOptions** | 否 | - | - | uni.scanCode参数定义 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| onlyFromCamera | boolean | 否 | - | - | 是否只能从相机扫码,不允许从相册选择图片 |\n@| scanType | Array\\<'barCode' \\| 'qrCode' \\| 'datamatrix' \\| 'pdf417'\\> | 否 | - | - | 扫码类型 |\n@| success | (res: [ScanCodeSuccess](#scancodesuccess-values)) => void | 否 | - | - | uni.scanCode成功回调函数定义 |\n@| fail | (res: ScanCodeFail) => void | 否 | - | - | uni.scanCode失败回调函数定义 |\n@| complete | (res: any) => void | 否 | - | - | uni.scanCode完成回调函数定义 | \n\n#### ScanCodeSuccess 的属性值 @scancodesuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| result | string | 是 | - | - | - |\n| scanType | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.device.scanCode)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=scanCode&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=scanCode&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=scanCode&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=scanCode&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=scanCode&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=scanCode)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=scanCode&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"chooseImage":{"name":"## uni.chooseImage(options) @chooseimage","description":"从本地相册选择图片或使用相机拍照","compatibility":"### chooseImage 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **ChooseImageOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| pageOrientation | string | 否 | - | | 屏幕方向。默认为page.json中的pageOrientation。 |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| auto | - | 自动 |\n@@| portrait | - | 竖屏显示 |\n@@| landscape | - | 横屏显示 |\n@| albumMode | string | 否 | \"custom\" | | 图片选择模式 |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| custom | - | 自定义媒体选择器 |\n@@| system | - | 系统媒体选择器 |\n@| count | number | 否 | 9 | - | 最多可以选择的图片张数,app端不限制,微信小程序最多可支持20个。 |\n@| sizeType | Array\\ | 否 | ['original','compressed'\\] | | original 原图,compressed 压缩图,默认二者都有 |\n@| sourceType | Array\\ | 否 | ['album','camera'\\] | - | album 从相册选图,camera 使用相机,默认二者都有 |\n@| extension | Array\\ | 否 | - | | 根据文件拓展名过滤,每一项都不能是空字符串。默认不过滤。仅H5支持 |\n@| crop | **ChooseImageCropOptions** | 否 | - | | 图像裁剪参数,设置后 sizeType 失效。 |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| width | number | 是 | - | - | 裁剪的宽度,单位为px,用于计算裁剪宽高比。 |\n@@| height | number | 是 | - | - | 裁剪的高度,单位为px,用于计算裁剪宽高比。 |\n@@| quality | number | 否 | 80 | - | 取值范围为1-100,数值越小,质量越低(仅对jpg格式有效)。默认值为80。 |\n@@| resize | boolean | 否 | - | - | 是否将width和height作为裁剪保存图片真实的像素值。默认值为true。注:设置为false时在裁剪编辑界面显示图片的像素值,设置为true时不显示。 |\n@| success | (callback: [ChooseImageSuccess](#chooseimagesuccess-values)) => void | 否 | - | - | 成功则返回图片的本地文件路径列表 tempFilePaths |\n@| fail | (callback: [IMediaError](#imediaerror-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (callback: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### ChooseImageSuccess 的属性值 @chooseimagesuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errSubject | string | 是 | - | - | 调用API的名称 |\n| errMsg | string | 是 | - | - | 描述信息 |\n| tempFilePaths | Array\\ | 是 | - | - | 图片的本地文件路径列表 |\n| tempFiles | Array\\<**ChooseImageTempFile**\\> | 是 | - | - | 图片的本地文件列表 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| path | string | 是 | - | - | 本地文件路径 |\n@| size | number | 是 | - | - | 本地文件大小,单位:B |\n@| name | string | 否 | - | - | 包含扩展名的文件名称,仅H5支持 |\n@| type | string | 否 | - | - | 文件类型,仅H5支持 |\n\n#### IMediaError 的属性值 @imediaerror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 1101001 | - | 用户取消 |\n@| 1101002 | - | urls至少包含一张图片地址 |\n@| 1101003 | - | 文件不存在 |\n@| 1101004 | - | 图片加载失败 |\n@| 1101005 | - | 未获取权限 |\n@| 1101006 | - | 图片或视频保存失败 |\n@| 1101007 | - | 图片裁剪失败 |\n@| 1101008 | - | 拍照或录像失败 |\n@| 1101009 | - | 图片压缩失败 |\n@| 1101010 | - | 其他错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.media.chooseImage)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/media/image.html#chooseimage)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=chooseImage&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=chooseImage&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=chooseImage&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=chooseImage&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=chooseImage&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=chooseImage)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=chooseImage&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/choose-image/choose-image.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/choose-image/choose-image\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/choose-image/choose-image\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n var sourceTypeArray = [\r\n ['camera'],\r\n ['album'],\r\n ['camera', 'album']\r\n ]\r\n var sizeTypeArray = [\r\n ['compressed'],\r\n ['original'],\r\n ['compressed', 'original']\r\n ]\n var orientationTypeArray = [\n 'portrait',\n 'landscape',\n 'auto'\n ]\r\n var albumModeTypeArray = [\r\n \"custom\",\r\n \"system\"\r\n ]\r\n export default {\r\n data() {\r\n return {\r\n title: 'chooseImage',\r\n imageList: [] as Array,\r\n sourceTypeIndex: 2,\r\n sourceType: ['拍照', '相册', '拍照或相册'],\r\n sizeTypeIndex: 2,\r\n sizeType: ['压缩', '原图', '压缩或原图'],\n orientationTypeIndex: 0,\n orientationType: ['竖屏', '横屏', '自动'],\r\n albumModeTypeIndex:0,\r\n albumModeType:[\"自定义相册\",\"系统相册\"],\r\n countIndex: 8,\r\n count: [1, 2, 3, 4, 5, 6, 7, 8, 9],\r\n isCrop: false,\r\n cropPercent: 80,\r\n cropWidth: 100,\r\n cropHeight: 100,\r\n cropResize: false\r\n }\r\n },\r\n onUnload() {\r\n this.imageList = [];\r\n this.sourceTypeIndex = 2\r\n this.sourceType = ['拍照', '相册', '拍照或相册']\r\n this.sizeTypeIndex = 2\r\n this.sizeType = ['压缩', '原图', '压缩或原图']\r\n this.countIndex = 8\n this.orientationTypeIndex = 0\n this.orientationType = ['竖屏', '横屏', '自动']\r\n },\r\n methods: {\r\n cropHeightConfim(e : InputConfirmEvent) {\r\n let value = parseInt(e.detail.value)\r\n if (value > 0) {\r\n this.cropHeight = value\r\n } else {\r\n uni.showToast({\r\n position: \"bottom\",\r\n title: \"裁剪高度需要大于0\"\r\n })\r\n }\r\n },\r\n cropWidthConfim(e : InputConfirmEvent) {\r\n let value = parseInt(e.detail.value)\r\n if (value > 0) {\r\n this.cropWidth = value\r\n } else {\r\n uni.showToast({\r\n position: \"bottom\",\r\n title: \"裁剪宽度需要大于0\"\r\n })\r\n }\r\n },\r\n cropPercentConfim(e : InputConfirmEvent) {\r\n let value = parseInt(e.detail.value)\r\n if (value > 0 && value <= 100) {\r\n this.cropPercent = value\r\n } else {\r\n uni.showToast({\r\n position: \"bottom\",\r\n title: \"请输入0~100之间的值\"\r\n })\r\n }\r\n },\r\n albumModeChange(){\r\n uni.showActionSheet({\r\n itemList: this.albumModeType,\r\n success: (e) => {\r\n this.albumModeTypeIndex = e.tapIndex!\r\n }\r\n })\r\n },\r\n cropResizeChange(e : UniSwitchChangeEvent) {\r\n this.cropResize = e.detail.value\r\n },\r\n switchCrop(e : UniSwitchChangeEvent) {\r\n this.isCrop = e.detail.value\r\n },\r\n removeImage(index : number) {\r\n this.imageList.splice(index, 1)\r\n },\r\n chooseImageSource() {\r\n uni.showActionSheet({\r\n itemList: ['拍照', '相册', '拍照或相册'],\r\n success: (e) => {\r\n this.sourceTypeIndex = e.tapIndex!\r\n }\r\n })\r\n },\r\n chooseImageType() {\r\n uni.showActionSheet({\r\n itemList: ['压缩', '原图', '压缩或原图'],\r\n success: (e) => {\r\n this.sizeTypeIndex = e.tapIndex!\r\n }\r\n })\r\n },\n chooseOrientationType(){\n uni.showActionSheet({\n itemList: ['竖屏', '横屏', '自动'],\n success: (e) => {\n this.orientationTypeIndex = e.tapIndex!\n }\n })\n },\r\n chooseImageCount(event : InputConfirmEvent) {\r\n let count = parseInt(event.detail.value) - 1\r\n if (count < 0) {\r\n uni.showToast({\r\n position: \"bottom\",\r\n title: \"图片数量应该大于0\"\r\n })\r\n return\r\n }\r\n this.countIndex = count\r\n },\r\n chooseImage: function () {\r\n // var cropOption:ChooseImageCropOptions|null = this.isCrop ? null : new ChooseImageCropOptions( )\r\n if (this.imageList.length >= 9) {\r\n uni.showToast({\r\n position: \"bottom\",\r\n title: \"已经有9张图片了,请删除部分图片之后重新选择\"\r\n })\r\n return\r\n }\r\n uni.chooseImage({\r\n sourceType: sourceTypeArray[this.sourceTypeIndex],\r\n sizeType: sizeTypeArray[this.sizeTypeIndex],\r\n crop: this.isCrop ? { \"quality\": this.cropPercent, \"width\": this.cropWidth, \"height\": this.cropHeight, \"resize\": this.cropResize } as ChooseImageCropOptions : null,\r\n count: this.imageList.length + this.count[this.countIndex] > 9 ? 9 - this.imageList.length : this.count[this.countIndex],\n // #ifdef APP\r\n pageOrientation: orientationTypeArray[this.orientationTypeIndex],\r\n // #endif\r\n // #ifdef APP-ANDROID\r\n albumMode: albumModeTypeArray[this.albumModeTypeIndex],\r\n // #endif\r\n success: (res) => {\r\n this.imageList = this.imageList.concat(res.tempFilePaths);\r\n },\r\n fail: (err) => {\r\n console.log(\"err: \", JSON.stringify(err));\r\n }\r\n })\r\n },\r\n previewImage: function (index : number) {\r\n uni.previewImage({\r\n current: index,\r\n urls: this.imageList\r\n })\r\n }\r\n }\r\n }\r\n\n```\n\n:::"},"previewImage":{"name":"## uni.previewImage(options) @previewimage","description":"预览图片","compatibility":"### previewImage 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **PreviewImageOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| current | any | 否 | - | - | current 为当前显示图片的链接/索引值,不填或填写的值无效则为 urls 的第一张。APP平台仅支持索引值。 |\n@| urls | Array\\<[string.ImageURIString](/uts/data-type.md#ide-string)\\> | 是 | - | - | 需要预览的图片链接列表 |\n@| showmenu | boolean | 否 | - | | 是否显示长按菜单
|\n@| indicator | \"default\" \\\\| \"number\" \\\\| \"none\" | 否 | - | | 图片指示器样式
|\n@| loop | boolean | 否 | - | | 是否可循环预览 |\n@| success | (callback: [PreviewImageSuccess](#previewimagesuccess-values)) => void | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (callback: [IMediaError](#imediaerror-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (callback: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### PreviewImageSuccess 的属性值 @previewimagesuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errSubject | string | 是 | - | - | 调用API的名称 |\n| errMsg | string | 是 | - | - | 描述信息 |\n\n#### IMediaError 的属性值 @imediaerror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 1101001 | - | 用户取消 |\n@| 1101002 | - | urls至少包含一张图片地址 |\n@| 1101003 | - | 文件不存在 |\n@| 1101004 | - | 图片加载失败 |\n@| 1101005 | - | 未获取权限 |\n@| 1101006 | - | 图片或视频保存失败 |\n@| 1101007 | - | 图片裁剪失败 |\n@| 1101008 | - | 拍照或录像失败 |\n@| 1101009 | - | 图片压缩失败 |\n@| 1101010 | - | 其他错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.media.previewImage.previewImage)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/media/image.html#unipreviewimageobject)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=previewImage&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=previewImage&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=previewImage&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=previewImage&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=previewImage&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=previewImage)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=previewImage&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/preview-image/preview-image.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/preview-image/preview-image\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/preview-image/preview-image\n\n>Template\n```vue\n\n\n\n\n\n\n```\n\n>Script\n```uts\n\n type Indicator = \"number\" | \"default\" | \"none\"\n type ItemType = {\n value : Indicator,\n name : string\n }\n export default {\n data() {\n return {\n imageList: [\"https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/uni@2x.png\", \"/static/uni.png\"],\n indicator: [{\n value: \"default\",\n name: \"圆点\"\n }, {\n value: \"number\",\n name: \"数字\"\n }, {\n value: \"none\",\n name: \"不显示\"\n }] as ItemType[],\n currentIndicator: \"default\" as Indicator,\n isLoop: true\n }\n },\n methods: {\n previewImage(index : number) {\n uni.previewImage({\n urls: this.imageList,\n current: index,\n indicator: this.currentIndicator,\n loop: this.isLoop\n })\n },\n chooseImage() {\n uni.chooseImage({\n sourceType: ['album'],\n success: (e) => {\n this.imageList = this.imageList.concat(e.tempFilePaths)\n },\n fail(_) {\n }\n })\n },\n onIndicatorChanged(e : UniRadioGroupChangeEvent) {\n this.currentIndicator = e.detail.value as Indicator\n },\n onCheckboxChange(_ : UniCheckboxGroupChangeEvent) {\n this.isLoop = !this.isLoop\n }\n }\n }\n\n```\n\n:::"},"closePreviewImage":{"name":"## uni.closePreviewImage(options) @closepreviewimage","description":"关闭图片预览","compatibility":"### closePreviewImage 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **ClosePreviewImageOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (callback: [ClosePreviewImageSuccess](#closepreviewimagesuccess-values)) => void | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (callback: [IMediaError](#imediaerror-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (callback: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### ClosePreviewImageSuccess 的属性值 @closepreviewimagesuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | 错误信息 |\n\n#### IMediaError 的属性值 @imediaerror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 1101001 | - | 用户取消 |\n@| 1101002 | - | urls至少包含一张图片地址 |\n@| 1101003 | - | 文件不存在 |\n@| 1101004 | - | 图片加载失败 |\n@| 1101005 | - | 未获取权限 |\n@| 1101006 | - | 图片或视频保存失败 |\n@| 1101007 | - | 图片裁剪失败 |\n@| 1101008 | - | 拍照或录像失败 |\n@| 1101009 | - | 图片压缩失败 |\n@| 1101010 | - | 其他错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.media.previewImage.closePreviewImage)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/media/image.html#closepreviewimage)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=closePreviewImage&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=closePreviewImage&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=closePreviewImage&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=closePreviewImage&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=closePreviewImage&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=closePreviewImage)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=closePreviewImage&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"saveImageToPhotosAlbum":{"name":"## uni.saveImageToPhotosAlbum(options) @saveimagetophotosalbum","description":"保存图片到系统相册","compatibility":"### saveImageToPhotosAlbum 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **SaveImageToPhotosAlbumOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| filePath | [string.ImageURIString](/uts/data-type.md#ide-string) | 是 | - | - | 图片文件路径,可以是临时文件路径也可以是永久文件路径,不支持网络图片路径 |\n@| success | (callback: [SaveImageToPhotosAlbumSuccess](#saveimagetophotosalbumsuccess-values)) => void | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (callback: [IMediaError](#imediaerror-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (callback: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### SaveImageToPhotosAlbumSuccess 的属性值 @saveimagetophotosalbumsuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| path | string | 是 | - | - | 保存到相册的图片路径 |\n\n#### IMediaError 的属性值 @imediaerror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 1101001 | - | 用户取消 |\n@| 1101002 | - | urls至少包含一张图片地址 |\n@| 1101003 | - | 文件不存在 |\n@| 1101004 | - | 图片加载失败 |\n@| 1101005 | - | 未获取权限 |\n@| 1101006 | - | 图片或视频保存失败 |\n@| 1101007 | - | 图片裁剪失败 |\n@| 1101008 | - | 拍照或录像失败 |\n@| 1101009 | - | 图片压缩失败 |\n@| 1101010 | - | 其他错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.media.saveImageToPhotosAlbum)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/media/image.html#saveimagetophotosalbum)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=saveImageToPhotosAlbum&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=saveImageToPhotosAlbum&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=saveImageToPhotosAlbum&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=saveImageToPhotosAlbum&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=saveImageToPhotosAlbum&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=saveImageToPhotosAlbum)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=saveImageToPhotosAlbum&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/save-image-to-photos-album/save-image-to-photos-album.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/save-image-to-photos-album/save-image-to-photos-album\n```uvue\n\r\n\r\n\r\n\r\n\n\n```\n:::"},"getImageInfo":{"name":"## uni.getImageInfo(options) @getimageinfo","description":"获取图片信息","compatibility":"### getImageInfo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.18 | 4.25 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **GetImageInfoOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| src | [string.ImageURIString](/uts/data-type.md#ide-string) | 是 | - | - | 图片的路径,可以是相对路径,临时文件路径,存储文件路径,网络图片路径 |\n@| success | (callback: [GetImageInfoSuccess](#getimageinfosuccess-values)) => void | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (callback: [IMediaError](#imediaerror-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (callback: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### GetImageInfoSuccess 的属性值 @getimageinfosuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| width | number | 是 | - | - | 图片宽度,单位px |\n| height | number | 是 | - | - | 图片高度,单位px |\n| path | string | 是 | - | - | 返回图片的本地路径 |\n| orientation | string | 否 | - | | 返回图片的方向 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| up | - | - |\n@| down | - | - |\n@| left | - | - |\n@| right | - | - |\n@| up-mirrored | - | - |\n@| down-mirrored | - | - |\n@| left-mirrored | - | - |\n@| right-mirrored | - | - |\n| type | string | 否 | - | | 返回图片的格式 |\n\n#### IMediaError 的属性值 @imediaerror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 1101001 | - | 用户取消 |\n@| 1101002 | - | urls至少包含一张图片地址 |\n@| 1101003 | - | 文件不存在 |\n@| 1101004 | - | 图片加载失败 |\n@| 1101005 | - | 未获取权限 |\n@| 1101006 | - | 图片或视频保存失败 |\n@| 1101007 | - | 图片裁剪失败 |\n@| 1101008 | - | 拍照或录像失败 |\n@| 1101009 | - | 图片压缩失败 |\n@| 1101010 | - | 其他错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.media.getImageInfo)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/media/image.html#getimageinfo)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getImageInfo&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getImageInfo&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getImageInfo&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getImageInfo&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getImageInfo&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getImageInfo)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getImageInfo&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/get-image-info/get-image-info.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/get-image-info/get-image-info\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/get-image-info/get-image-info\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n title: \"getImageInfo\",\r\n relativeImagePath: \"/static/test-image/logo.png\",\r\n relativeImageInfo: \"\",\r\n absoluteImagePath: \"\",\r\n absoluteImageInfo: \"\",\r\n remoteImagePath: \"https://qiniu-web-assets.dcloud.net.cn/uni-app-x/static/img/building.jpg\",\r\n remoteImageInfo: \"\",\r\n // 自动化测试\r\n imageInfoForTest: null as UTSJSONObject | null,\r\n }\r\n },\r\n methods: {\r\n chooseImage() {\r\n uni.chooseImage({\r\n count: 1,\r\n success: (res) => {\r\n this.absoluteImagePath = res.tempFilePaths[0];\r\n uni.getImageInfo({\r\n src: res.tempFilePaths[0],\r\n success: (_res) => {\r\n console.log(\"getImageInfo success\", JSON.stringify(_res));\r\n this.relativeImageInfo = `图片宽度: ${_res.width}\\n图片高度: ${_res.height}\\n图片路径: ${_res.path}\\n图片方向: ${_res.orientation}\\n图片格式: ${_res.type}`;\r\n },\r\n fail: (err) => {\r\n uni.showModal({\r\n title: \"获取图片信息失败\",\r\n content: JSON.stringify(err),\r\n showCancel: false\r\n });\r\n }\r\n });\r\n }\r\n });\r\n }\r\n },\r\n onReady() {\r\n uni.getImageInfo({\r\n src: this.relativeImagePath,\r\n success: (res) => {\r\n console.log(\"getImageInfo success\", JSON.stringify(res));\r\n this.absoluteImageInfo = `图片宽度: ${res.width}\\n图片高度: ${res.height}\\n图片路径: ${res.path}\\n图片方向: ${res.orientation}\\n图片格式: ${res.type}`;\r\n this.imageInfoForTest = {\r\n \"width\": res.width,\r\n \"height\": res.height,\r\n \"path\": res.path.slice(res.path.indexOf('/static')),\r\n \"orientation\": res.orientation,\r\n \"type\": res.type\r\n };\r\n },\r\n fail: (err) => {\r\n uni.showModal({\r\n title: \"获取图片信息失败\",\r\n content: JSON.stringify(err),\r\n showCancel: false\r\n });\r\n this.imageInfoForTest = null;\r\n }\r\n });\r\n uni.getImageInfo({\r\n src: this.remoteImagePath,\r\n success: (res) => {\r\n console.log(\"getImageInfo success\", JSON.stringify(res));\r\n this.remoteImageInfo = `图片宽度: ${res.width}\\n图片高度: ${res.height}\\n图片路径: ${res.path}\\n图片方向: ${res.orientation}\\n图片格式: ${res.type}`;\r\n },\r\n fail: (err) => {\r\n uni.showModal({\r\n title: \"获取图片信息失败\",\r\n content: JSON.stringify(err),\r\n showCancel: false\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\n```\n\n:::"},"compressImage":{"name":"## uni.compressImage(options) @compressimage","description":"压缩图片","compatibility":"### compressImage 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.18 | 4.25 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **CompressImageOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| src | [string.ImageURIString](/uts/data-type.md#ide-string) | 是 | - | - | 图片路径,图片的路径,可以是相对路径、临时文件路径、存储文件路径 |\n@| quality | number | 否 | - | - | 压缩质量,范围0~100,数值越小,质量越低,压缩率越高(仅对jpg有效) |\n@| rotate | number | 否 | - | - | 旋转度数,范围0~360 |\n@| compressedHeight | number | 否 | - | - | 压缩后图片的高度,单位为px,若不填写则默认以compressedWidth为准等比缩放 |\n@| compressedWidth | number | 否 | - | - | 压缩后图片的宽度,单位为px,若不填写则默认以compressedHeight为准等比缩放。 |\n@| success | (callback: [CompressImageSuccess](#compressimagesuccess-values)) => void | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (callback: [IMediaError](#imediaerror-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (callback: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) |\n@| ~~height~~ | string | 否 | - | - | 缩放图片的高度 **已废弃** |\n@| ~~width~~ | string | 否 | - | - | 缩放图片的宽度 **已废弃** | \n\n#### CompressImageSuccess 的属性值 @compressimagesuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| tempFilePath | string | 是 | - | - | 压缩后图片的临时文件路径 |\n\n#### IMediaError 的属性值 @imediaerror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 1101001 | - | 用户取消 |\n@| 1101002 | - | urls至少包含一张图片地址 |\n@| 1101003 | - | 文件不存在 |\n@| 1101004 | - | 图片加载失败 |\n@| 1101005 | - | 未获取权限 |\n@| 1101006 | - | 图片或视频保存失败 |\n@| 1101007 | - | 图片裁剪失败 |\n@| 1101008 | - | 拍照或录像失败 |\n@| 1101009 | - | 图片压缩失败 |\n@| 1101010 | - | 其他错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.media.compressImage)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/media/image.html#compressimage)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=compressImage&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=compressImage&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=compressImage&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=compressImage&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=compressImage&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=compressImage)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=compressImage&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/compress-image/compress-image.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/compress-image/compress-image\n```uvue\n\n\n\n\n\n\n```\n:::"},"chooseVideo":{"name":"## uni.chooseVideo(options) @choosevideo","description":"拍摄视频或从手机相册中选视频,返回视频的临时文件路径。","compatibility":"### chooseVideo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.18 | 4.18 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **ChooseVideoOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| pageOrientation | string | 否 | - | | 屏幕方向。默认为page.json中的pageOrientation。 |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| auto | - | 自动 |\n@@| portrait | - | 竖屏显示 |\n@@| landscape | - | 横屏显示 |\n@| albumMode | string | 否 | \"custom\" | | 视频选择模式 |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| custom | - | 自定义媒体选择器 |\n@@| system | - | 系统媒体选择器 |\n@| sourceType | Array\\ | 否 | - | - | album 从相册选视频,camera 使用相机拍摄,默认为:['album', 'camera'\\] |\n@| compressed | boolean | 否 | true | | 是否压缩所选的视频源文件,默认值为true,需要压缩 |\n@| maxDuration | number | 否 | - | | 拍摄视频最长拍摄时间,单位秒。最长支持 60 秒 |\n@| camera | string | 否 | - | | 摄像切换
|\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| front | - | 前置摄像头 |\n@@| back | - | 后置摄像头 |\n@| extension | Array\\ | 否 | - | | 根据文件拓展名过滤,每一项都不能是空字符串。默认不过滤。 |\n@| success | (callback: [ChooseVideoSuccess](#choosevideosuccess-values)) => void | 否 | - | - | 接口调用成功,返回视频文件的临时文件路径,详见返回参数说明 |\n@| fail | (callback: [IMediaError](#imediaerror-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (callback: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### ChooseVideoSuccess 的属性值 @choosevideosuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| tempFilePath | string | 是 | - | - | 选定视频的临时文件路径 |\n| duration | number | 是 | - | - | 选定视频的时间长度 |\n| size | number | 是 | - | - | 选定视频的数据量大小 |\n| height | number | 是 | - | - | 返回选定视频的长 |\n| width | number | 是 | - | - | 返回选定视频的宽 |\n\n#### IMediaError 的属性值 @imediaerror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 1101001 | - | 用户取消 |\n@| 1101002 | - | urls至少包含一张图片地址 |\n@| 1101003 | - | 文件不存在 |\n@| 1101004 | - | 图片加载失败 |\n@| 1101005 | - | 未获取权限 |\n@| 1101006 | - | 图片或视频保存失败 |\n@| 1101007 | - | 图片裁剪失败 |\n@| 1101008 | - | 拍照或录像失败 |\n@| 1101009 | - | 图片压缩失败 |\n@| 1101010 | - | 其他错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.media.chooseVideo)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/media/video.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=chooseVideo&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=chooseVideo&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=chooseVideo&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=chooseVideo&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=chooseVideo&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=chooseVideo)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=chooseVideo&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/choose-video/choose-video.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/choose-video/choose-video\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/choose-video/choose-video\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\r\n\n```\n\n>Script\n```uts\n\r\n import { ItemType } from '@/components/enum-data/enum-data-types';\r\n type Camera = \"back\" | \"front\"\r\n type Source = \"album\" | \"camera\"\r\n export default {\r\n data() {\r\n return {\r\n title: \"chooseVideo\",\r\n src: \"\",\r\n orientationTypeItemTypes: [{ \"value\": 0, \"name\": \"竖屏\" }, { \"value\": 1, \"name\": \"横屏\" }, { \"value\": 2, \"name\": \"自动\" }] as ItemType[],\r\n sourceTypeItemTypes: [{ \"value\": 0, \"name\": \"从相册中选择视频\" }, { \"value\": 1, \"name\": \"拍摄视频\" }, { \"value\": 2, \"name\": \"从相册中选择视频或拍摄视频\" }] as ItemType[],\r\n sourceTypeItems: [[\"album\"], [\"camera\"], [\"album\", \"camera\"]] as Source[][],\r\n cameraItemTypes: [{ \"value\": 0, \"name\": \"后置摄像头\" }, { \"value\": 1, \"name\": \"前置摄像头\" }] as ItemType[],\r\n albumModeTypes: [{ \"value\": 0, \"name\": \"自定义视频选择器\" }, { \"value\": 1, \"name\": \"系统视频选择器\" }] as ItemType[],\r\n albumModeTypeItems: [\"custom\", \"system\"],\r\n cameraItems: [\"back\", \"front\"] as Camera[],\r\n sourceType: [\"album\", \"camera\"] as Source[],\r\n orientationType: \"portrait\",\r\n orientationTypeItems: [\"portrait\", \"landscape\", \"auto\"],\r\n compressed: true,\r\n maxDuration: 60,\r\n camera: \"back\" as Camera,\r\n videoInfo: \"\",\r\n albumMode: \"custom\"\r\n }\r\n },\r\n methods: {\r\n chooseVideo() {\r\n uni.chooseVideo({\r\n sourceType: this.sourceType,\r\n // #ifdef APP\r\n compressed: this.compressed,\r\n pageOrientation: this.orientationType,\r\n // #endif\r\n maxDuration: this.maxDuration,\r\n // #ifdef APP-ANDROID\r\n albumMode: this.albumMode,\r\n // #endif\r\n camera: this.camera,\r\n success: (res) => {\r\n console.log(\"chooseVideo success\", JSON.stringify(res));\r\n this.src = res.tempFilePath;\r\n this.videoInfo = `视频长度: ${res.duration}s\\n视频大小: ${Math.ceil(res.size / 1024)}KB\\n视频宽度: ${res.width}\\n视频高度: ${res.height}\\n`;\r\n },\r\n fail: (err) => {\r\n uni.showModal({\r\n title: \"选择视频失败\",\r\n content: JSON.stringify(err),\r\n showCancel: false\r\n });\r\n }\r\n });\r\n },\r\n onOrientationTypeChange(value : number) {\r\n this.orientationType = this.orientationTypeItems[value];\r\n },\r\n onSourceTypeChange(value : number) {\r\n this.sourceType = this.sourceTypeItems[value];\r\n },\r\n onCompressedChange(value : boolean) {\r\n this.compressed = value;\r\n },\r\n onMaxDurationConfirm(value : number) {\r\n this.maxDuration = value;\r\n },\r\n onCameraChange(value : number) {\r\n this.camera = this.cameraItems[value];\r\n },\r\n onAlbumModeChange(value : number) {\r\n this.albumMode = this.albumModeTypeItems[value]\r\n }\r\n }\r\n }\r\n\n```\n\n:::"},"saveVideoToPhotosAlbum":{"name":"## uni.saveVideoToPhotosAlbum(options) @savevideotophotosalbum","description":"保存视频到系统相册","compatibility":"### saveVideoToPhotosAlbum 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.18 | 4.18 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **SaveVideoToPhotosAlbumOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| filePath | [string.VideoURIString](/uts/data-type.md#ide-string) | 是 | - | - | 视频文件路径,可以是临时文件路径也可以是永久文件路径 |\n@| success | (callback: SaveVideoToPhotosAlbumSuccess) => void | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (callback: [IMediaError](#imediaerror-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (callback: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### IMediaError 的属性值 @imediaerror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 1101001 | - | 用户取消 |\n@| 1101002 | - | urls至少包含一张图片地址 |\n@| 1101003 | - | 文件不存在 |\n@| 1101004 | - | 图片加载失败 |\n@| 1101005 | - | 未获取权限 |\n@| 1101006 | - | 图片或视频保存失败 |\n@| 1101007 | - | 图片裁剪失败 |\n@| 1101008 | - | 拍照或录像失败 |\n@| 1101009 | - | 图片压缩失败 |\n@| 1101010 | - | 其他错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.media.saveVideoToPhotosAlbum)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/media/video.html#savevideotophotosalbum)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=saveVideoToPhotosAlbum&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=saveVideoToPhotosAlbum&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=saveVideoToPhotosAlbum&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=saveVideoToPhotosAlbum&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=saveVideoToPhotosAlbum&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=saveVideoToPhotosAlbum)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=saveVideoToPhotosAlbum&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/save-video-to-photos-album/save-video-to-photos-album.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/save-video-to-photos-album/save-video-to-photos-album\n```uvue\n\r\n\r\n\r\n\r\n\n\n```\n:::"},"getVideoInfo":{"name":"## uni.getVideoInfo(options) @getvideoinfo","description":"获取视频详细信息","compatibility":"### getVideoInfo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.18 | 4.25 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **GetVideoInfoOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| src | [string.VideoURIString](/uts/data-type.md#ide-string) | 是 | - | - | 视频文件路径,可以是临时文件路径也可以是永久文件路径 |\n@| success | (callback: [GetVideoInfoSuccess](#getvideoinfosuccess-values)) => void | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (callback: [IMediaError](#imediaerror-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (callback: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### GetVideoInfoSuccess 的属性值 @getvideoinfosuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| orientation | string | 否 | - | | 画面方向 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| up | - | - |\n@| down | - | - |\n@| left | - | - |\n@| right | - | - |\n@| up-mirrored | - | - |\n@| down-mirrored | - | - |\n@| left-mirrored | - | - |\n@| right-mirrored | - | - |\n| type | string | 否 | - | | 视频格式 |\n| duration | number | 是 | - | - | 视频长度 |\n| size | number | 是 | - | - | 视频大小,单位 kB |\n| height | number | 是 | - | - | 视频的长,单位 px |\n| width | number | 是 | - | - | 视频的宽,单位 px |\n| fps | number | 否 | - | | 视频帧率 |\n| bitrate | number | 否 | - | | 视频码率,单位 kbps |\n\n#### IMediaError 的属性值 @imediaerror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 1101001 | - | 用户取消 |\n@| 1101002 | - | urls至少包含一张图片地址 |\n@| 1101003 | - | 文件不存在 |\n@| 1101004 | - | 图片加载失败 |\n@| 1101005 | - | 未获取权限 |\n@| 1101006 | - | 图片或视频保存失败 |\n@| 1101007 | - | 图片裁剪失败 |\n@| 1101008 | - | 拍照或录像失败 |\n@| 1101009 | - | 图片压缩失败 |\n@| 1101010 | - | 其他错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.media.getVideoInfo)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/media/video.html#getvideoinfo)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getVideoInfo&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getVideoInfo&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getVideoInfo&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getVideoInfo&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getVideoInfo&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getVideoInfo)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getVideoInfo&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/get-video-info/get-video-info.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/get-video-info/get-video-info\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/get-video-info/get-video-info\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n title: \"getVideoInfo\",\r\n relativeVideoPath: \"/static/test-video/10second-demo.mp4\",\r\n relativeVideoInfo: \"\",\r\n absoluteVideoPath: \"\",\r\n absoluteVideoInfo: \"\",\r\n // 自动化测试\r\n videoInfoForTest: null as UTSJSONObject | null\r\n }\r\n },\r\n onReady() {\r\n uni.getVideoInfo({\r\n src: this.relativeVideoPath,\r\n success: (res) => {\r\n console.log(\"getVideoInfo success\", JSON.stringify(res));\r\n this.relativeVideoInfo = `视频画面方向: ${res.orientation}\\n视频格式: ${res.type}\\n视频长度: ${res.duration}s\\n视频大小: ${res.size}KB\\n视频宽度: ${res.width}\\n视频高度: ${res.height}\\n视频帧率: ${res.fps}fps\\n视频码率: ${res.bitrate}kbps`;\r\n },\r\n fail: (err) => {\r\n uni.showModal({\r\n title: \"获取视频信息失败\",\r\n content: JSON.stringify(err),\r\n showCancel: false\r\n });\r\n }\r\n });\r\n },\r\n methods: {\r\n chooseVideo() {\r\n uni.chooseVideo({\r\n compressed: false,\r\n success: (res) => {\r\n this.absoluteVideoPath = res.tempFilePath;\r\n uni.getVideoInfo({\r\n src: res.tempFilePath,\r\n success: (_res) => {\r\n console.log(\"getVideoInfo success\", JSON.stringify(_res));\r\n this.absoluteVideoInfo = `视频画面方向: ${_res.orientation}\\n视频格式: ${_res.type}\\n视频长度: ${_res.duration}s\\n视频大小: ${_res.size}KB\\n视频宽度: ${_res.width}\\n视频高度: ${_res.height}\\n视频帧率: ${_res.fps}fps\\n视频码率: ${_res.bitrate}kbps`;\r\n },\r\n fail: (err) => {\r\n uni.showModal({\r\n title: \"获取视频信息失败\",\r\n content: JSON.stringify(err),\r\n showCancel: false\r\n });\r\n }\r\n });\r\n }\r\n });\r\n },\r\n testGetVideoInfo() {\r\n uni.getVideoInfo({\r\n src: '/static/test-video/10second-demo.mp4',\r\n success: (res) => {\r\n this.videoInfoForTest = {\r\n \"orientation\": res.orientation,\r\n \"type\": res.type,\r\n \"duration\": Math.trunc(res.duration),\r\n \"size\": res.size,\r\n \"width\": res.width,\r\n \"height\": res.height,\r\n \"fps\": res.fps,\r\n \"bitrate\": res.bitrate\r\n };\r\n },\r\n fail: (_) => {\r\n this.videoInfoForTest = null;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\n```\n\n:::"},"compressVideo":{"name":"## uni.compressVideo(options) @compressvideo","description":"压缩视频","compatibility":"### compressVideo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.18 | 4.25 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **CompressVideoOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| src | [string.VideoURIString](/uts/data-type.md#ide-string) | 是 | - | - | 视频文件路径,可以是临时文件路径也可以是永久文件路径 |\n@| quality | string | 否 | - | - | 压缩质量
|\n@| bitrate | number | 否 | - | | 码率,单位 kbps |\n@| fps | number | 否 | - | | 帧率 |\n@| resolution | number | 否 | - | - | 相对于原视频的分辨率比例,取值范围(0, 1\\] |\n@| success | (callback: [CompressVideoSuccess](#compressvideosuccess-values)) => void | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (callback: [IMediaError](#imediaerror-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (callback: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### CompressVideoSuccess 的属性值 @compressvideosuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| tempFilePath | string | 是 | - | - | 压缩后的临时文件地址 |\n| size | number | 是 | - | - | 压缩后的大小,单位 kB |\n\n#### IMediaError 的属性值 @imediaerror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 1101001 | - | 用户取消 |\n@| 1101002 | - | urls至少包含一张图片地址 |\n@| 1101003 | - | 文件不存在 |\n@| 1101004 | - | 图片加载失败 |\n@| 1101005 | - | 未获取权限 |\n@| 1101006 | - | 图片或视频保存失败 |\n@| 1101007 | - | 图片裁剪失败 |\n@| 1101008 | - | 拍照或录像失败 |\n@| 1101009 | - | 图片压缩失败 |\n@| 1101010 | - | 其他错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.media.compressVideo)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/media/video.html#compressvideo)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=compressVideo&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=compressVideo&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=compressVideo&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=compressVideo&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=compressVideo&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=compressVideo)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=compressVideo&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/compress-video/compress-video.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/compress-video/compress-video\n```uvue\n\n\n\n\n\n\n```\n:::"},"createInnerAudioContext":{"name":"## uni.createInnerAudioContext() @createinneraudiocontext","description":"创建并返回 audio 上下文 audioContext 对象\n","compatibility":"### createInnerAudioContext 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | 4.41 | 4.41 |\n","param":"","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| [InnerAudioContext](#inneraudiocontext-values) |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| duration | number | 是 | - | | 当前音频的长度(单位:s),只有在当前有合法的 src 时返回 |\n@| currentTime | number | 是 | - | | 当前音频的播放位置(单位:s),只有在当前有合法的 src 时返回 |\n@| paused | boolean | 是 | - | | 当前是是否暂停或停止状态,true 表示暂停或停止,false 表示正在播放 |\n@| src | string | 是 | - | | 音频的数据链接,用于直接播放 |\n@| startTime | number | 是 | - | | 音频开始播放的位置(单位:s) |\n@| buffered | number | 是 | - | | 音频缓冲的时间点,仅保证当前播放时间点到此时间点内容已缓冲 |\n@| autoplay | boolean | 是 | false | | 是否自动开始播放,默认 false |\n@| loop | boolean | 是 | false | | 是否循环播放,默认 false |\n@| obeyMuteSwitch | boolean | 是 | - | | 是否遵循系统静音开关,当此参数为 false 时,即使用户打开了静音开关,也能继续发出声音,默认值 true |\n@| volume | number | 是 | - | | 音量。范围 0~1。 |\n@| playbackRate | number | 否 | 1.0 | | 播放的倍率。可取值: 0.5/0.8/1.0/1.25/1.5/2.0,默认值为1.0。(仅 App 支持) |\n#### InnerAudioContext 的方法 @inneraudiocontext-values \n\n#### pause(): void; @pause\n暂停\n##### pause 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | 4.41 | 4.41 |\n\n\n\n#### stop(): void; @stop\n停止\n##### stop 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | 4.41 | 4.41 |\n\n\n\n#### play(): void; @play\n播放\n##### play 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | 4.41 | 4.41 |\n\n\n\n#### seek(position: number): void; @seek\n跳转到指定位置,单位 s\n##### seek 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | 4.41 | 4.41 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| position | number | 是 | - | - | - | \n\n\n#### destroy(): void; @destroy\n销毁当前实例\n##### destroy 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | 4.41 | 4.41 |\n\n\n\n#### onCanplay(callback: (result: any) => void): void; @oncanplay\n音频进入可以播放状态,但不保证后面可以流畅播放\n##### onCanplay 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | 4.41 | 4.41 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### onPlay(callback: (result: any) => void): void; @onplay\n音频播放事件\n##### onPlay 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | 4.41 | 4.41 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### onPause(callback: (result: any) => void): void; @onpause\n音频暂停事件\n##### onPause 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | 4.41 | 4.41 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### onStop(callback: (result: any) => void): void; @onstop\n音频停止事件\n##### onStop 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | 4.41 | 4.41 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### onEnded(callback: (result: any) => void): void; @onended\n音频自然播放结束事件\n##### onEnded 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | 4.41 | 4.41 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### onTimeUpdate(callback: (result: any) => void): void; @ontimeupdate\n音频播放进度更新事件\n##### onTimeUpdate 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | 4.41 | 4.41 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### onError(callback: (result: ICreateInnerAudioContextFail) => void): void; @onerror\n音频播放错误事件\n##### onError 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | 4.41 | 4.41 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [ICreateInnerAudioContextFail](#icreateinneraudiocontextfail-values)) => void | 是 | - | - | - | \n\n##### ICreateInnerAudioContextFail 的属性值 @icreateinneraudiocontextfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 1107601 | - | 系统错误 |\n@| 1107602 | - | 网络错误 |\n@| 1107603 | - | 文件错误 |\n@| 1107604 | - | 格式错误 |\n@| 1107605 | - | 未知错误 |\n@| 1107609 | - | 播放路径不能为空 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n\n#### onWaiting(callback: (result: any) => void): void; @onwaiting\n音频加载中事件,当音频因为数据不足,需要停下来加载时会触发\n##### onWaiting 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | 4.41 | 4.41 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### onSeeking(callback: (result: any) => void): void; @onseeking\n音频进行 seek 操作事件\n##### onSeeking 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | 4.41 | 4.41 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### onSeeked(callback: (result: any) => void): void; @onseeked\n音频完成 seek 操作事件\n##### onSeeked 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | 4.41 | 4.41 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### offCanplay(callback: (result: any) => void): void; @offcanplay\n取消监听 onCanplay 事件\n##### offCanplay 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | 4.41 | 4.41 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### offPlay(callback: (result: any) => void): void; @offplay\n取消监听 onPlay 事件\n##### offPlay 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | 4.41 | 4.41 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### offPause(callback: (result: any) => void): void; @offpause\n取消监听 onPause 事件\n##### offPause 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | 4.41 | 4.41 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### offStop(callback: (result: any) => void): void; @offstop\n取消监听 onStop 事件\n##### offStop 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | 4.41 | 4.41 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### offEnded(callback: (result: any) => void): void; @offended\n取消监听 onEnded 事件\n##### offEnded 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | 4.41 | 4.41 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### offTimeUpdate(callback: (result: any) => void): void; @offtimeupdate\n取消监听 onTimeUpdate 事件\n##### offTimeUpdate 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | 4.41 | 4.41 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### offError(callback: (result: ICreateInnerAudioContextFail) => void): void; @offerror\n取消监听 onWaiting 事件\n##### offError 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | 4.41 | 4.41 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [ICreateInnerAudioContextFail](#icreateinneraudiocontextfail-values)) => void | 是 | - | - | - | \n\n\n#### offWaiting(callback: (result: any) => void): void; @offwaiting\n取消监听 onWaiting 事件\n##### offWaiting 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | 4.41 | 4.41 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### offSeeking(callback: (result: any) => void): void; @offseeking\n取消监听 onSeeking 事件\n##### offSeeking 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | 4.41 | 4.41 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### offSeeked(callback: (result: any) => void): void; @offseeked\n取消监听 onSeeked 事件\n##### offSeeked 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| 4.0 | 4.33 | 4.33 | 4.41 | 4.41 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.media.createInnerAudioContext)\n - [参见uni-app相关文档](http://uniapp.dcloud.io/api/media/audio-context.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=createInnerAudioContext&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=createInnerAudioContext&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=createInnerAudioContext&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=createInnerAudioContext&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=createInnerAudioContext&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=createInnerAudioContext)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=createInnerAudioContext&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/create-inner-audio-context/create-inner-audio-context.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/create-inner-audio-context/create-inner-audio-context\n\n>Template\n```vue\n\n\n\n\n```\n\n>Script\n```uts\n\n\tconst audioUrl = 'https://web-ext-storage.dcloud.net.cn/uni-app/ForElise.mp3'\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\ttitle: \"innerAudioContext\",\n\t\t\t\tcurrentTime: 0,\n\t\t\t\tduration: 100,\n\t\t\t\tstartTime: 0,\n\t\t\t\tbuffered: 0,\n\t\t\t\tvolume: 0.5,\n\t\t\t\tisCanplay: false,\n\t\t\t\tisPlaying: false,\n\t\t\t\tisPaused: true,\n\t\t\t\tisPlayEnd: false,\n\t\t\t\t_isChanging: false,\n\t\t\t\t_audioContext: null as InnerAudioContext | null,\n\t\t\t\t// 自动化测试\n\t\t\t\tonSeekingTest: false,\n\t\t\t\tonSeekedTest: false,\n\t\t\t\tonWaitingTest: false,\n\t\t\t\tplaybackRateChecked: true,\n\t\t\t\tonTimeUpdateCb: (res : any) => { },\n\t\t\t\tonWaitingCb: (res : any) => { }\n\t\t\t}\n\t\t},\n\t\tcomputed: {\n\t\t\tposition() {\n\t\t\t\treturn this.isPlayEnd ? 0 : this.currentTime;\n\t\t\t},\n\t\t},\n\t\tonReady() {\n\t\t\tthis._audioContext = uni.createInnerAudioContext();\n\t\t\tthis._audioContext!.src = audioUrl;\n\t\t\tthis.volume = this._audioContext!.volume;\n\t\t\tthis.onCanplay()\n\t\t\tthis._audioContext!.onPlay(() => {\n\t\t\t\tthis.isPaused = false;\n\t\t\t\tthis.isPlaying = true;\n\t\t\t\tconsole.log('开始播放', this.isPaused);\n\t\t\t});\n\n\t\t\tthis.onTimeUpdateCb = (res : any) => {\n\t\t\t\tif (this._isChanging) { return; }\n\t\t\t\tthis.currentTime = this._audioContext!.currentTime;\n\t\t\t\tconsole.log('onTimeUpdateCb', this.currentTime)\n\t\t\t\tif (this.currentTime > this.buffered) {\n\t\t\t\t\tconsole.log('缓冲不足');\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tthis.onWaitingCb = (res : any) => {\n\t\t\t\tconsole.log('音频加载中事件');\n\t\t\t\tthis.onWaitingTest = true\n\t\t\t}\n\n\t\t\tthis.onTimeUpdate()\n\t\t\t// this.onWaiting()\n\t\t\tthis.onError()\n\t\t\tthis.onEnded()\n\t\t},\n\t\tonUnload() {\n\t\t\tif (this._audioContext != null) {\n\t\t\t\tif (this.isPlaying) {\n\t\t\t\t\tthis.stop();\n\t\t\t\t}\n\t\t\t\tthis._audioContext!.destroy()\n\t\t\t}\n\t\t},\n\t\tmethods: {\n\t\t\tonCanplay() {\n\t\t\t\tthis._audioContext!.onCanplay(() => {\n\t\t\t\t\tconsole.log('音频进入可以播放状态事件');\n\t\t\t\t\tthis.isCanplay = true;\n\t\t\t\t\t// 当音频可以播放时,获取缓冲信息\n\t\t\t\t\tthis.buffered = this._audioContext!.buffered;\n\t\t\t\t\tthis.duration = this._audioContext!.duration\n\t\t\t\t});\n\t\t\t},\n\t\t\tonchanging() {\n\t\t\t\tthis._isChanging = true;\n\t\t\t},\n\t\t\tonchange(e : UniSliderChangeEvent) {\n\t\t\t\tlet pos = e.detail.value;\n\t\t\t\tconsole.log('pos', pos);\n\t\t\t\tthis._audioContext!.seek(pos);\n\t\t\t\tthis.onSeeking()\n\t\t\t\tthis.onSeeked()\n\t\t\t\tthis._isChanging = false;\n\t\t\t},\n\t\t\tonchangeValue(pos : number) {\n\t\t\t\tthis._audioContext!.seek(pos);\n\t\t\t\tthis.onSeeking()\n\t\t\t\tthis.onSeeked()\n\t\t\t\tthis._isChanging = false;\n\t\t\t},\n\t\t\tstartTimeInput(e : UniInputEvent) {\n\t\t\t\tlet startTimeValue = parseInt(e.detail.value)\n\t\t\t\tthis._audioContext!.startTime = startTimeValue;\n\t\t\t\tthis.onchangeValue(startTimeValue)\n\t\t\t},\n\t\t\tsetAutoplay() {\n\t\t\t\tthis._audioContext!.autoplay = !this._audioContext!.autoplay;\n\t\t\t\tconsole.log(this._audioContext!.autoplay, 'autoplay');\n\t\t\t},\n\t\t\tsetLoop() {\n\t\t\t\tthis._audioContext!.loop = !this._audioContext!.loop;\n\t\t\t\tconsole.log(this._audioContext!.loop, 'loop');\n\t\t\t},\n\t\t\tplay() {\n\t\t\t\tif (!this.isCanplay) {\n\t\t\t\t\tuni.showToast({\n\t\t\t\t\t\ttitle: '音频未进入可以播放状态,请稍后再试',\n\t\t\t\t\t\ticon: 'error'\n\t\t\t\t\t});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.isPlaying = true;\n\t\t\t\tthis._audioContext!.play();\n\t\t\t\tthis.isPlayEnd = false;\n\t\t\t\tif (this._audioContext!.startTime > 0) {\n\t\t\t\t\tthis.onchangeValue(this._audioContext!.startTime)\n\t\t\t\t}\n\t\t\t},\n\t\t\tonSeeking() {\n\t\t\t\tthis._audioContext!.onSeeking(() => {\n\t\t\t\t\tconsole.log('音频进行 seek 操作事件');\n\t\t\t\t\tthis.onSeekingTest = true\n\t\t\t\t});\n\t\t\t},\n\t\t\tonSeeked() {\n\t\t\t\tthis._audioContext!.onSeeked(() => {\n\t\t\t\t\tconsole.log('音频完成 seek 操作事件');\n\t\t\t\t\tthis.onSeekedTest = true\n\t\t\t\t});\n\t\t\t},\n\t\t\tonWaiting() {\n\t\t\t\tthis._audioContext!.onWaiting(this.onWaitingCb);\n\t\t\t},\n\t\t\toffWaiting() {\n\t\t\t\tthis._audioContext!.offWaiting(this.onWaitingCb);\n\t\t\t},\n\t\t\tonTimeUpdate() {\n\t\t\t\tthis._audioContext!.onTimeUpdate(this.onTimeUpdateCb);\n\t\t\t},\n\t\t\toffTimeUpdate() {\n\t\t\t\tthis._audioContext!.offTimeUpdate(this.onTimeUpdateCb);\n\t\t\t},\n\t\t\tincreaseVolume() {\n\t\t\t\tthis.volume = Math.min(this.volume + 0.1, 1);\n\t\t\t\tthis.volume = parseFloat(this.volume.toFixed(1));\n\t\t\t\tthis._audioContext!.volume = this.volume\n\t\t\t\tconsole.log('增加音量', this.volume);\n\t\t\t},\n\t\t\tdecreaseVolume() {\n\t\t\t\tthis.volume = Math.max(this.volume - 0.1, 0);\n\t\t\t\tthis.volume = parseFloat(this.volume.toFixed(1));\n\t\t\t\tconsole.log('减少音量', this.volume);\n\t\t\t\tthis._audioContext!.volume = this.volume\n\t\t\t},\n\t\t\tonEnded() {\n\t\t\t\tthis._audioContext!.onEnded(() => {\n\t\t\t\t\tconsole.log('播放结束');\n\t\t\t\t\tthis.currentTime = 0;\n\t\t\t\t\tthis.startTime = 0\n\t\t\t\t\tthis.isPlaying = false;\n\t\t\t\t\tthis.isPaused = true;\n\t\t\t\t\tthis.isPlayEnd = true;\n\t\t\t\t\t(this.$refs[\"slider\"] as UniSliderElement).value = 0\n\t\t\t\t});\n\t\t\t},\n\t\t\tonError() {\n\t\t\t\tthis._audioContext!.onError((err) => {\n\t\t\t\t\tconsole.log('err', err);\n\t\t\t\t\tthis.isPlaying = false;\n\t\t\t\t\tthis.isPaused = true;\n\t\t\t\t});\n\t\t\t},\n\t\t\tpause() {\n\t\t\t\tthis._audioContext!.pause();\n\t\t\t\tthis._audioContext!.onPause(() => {\n\t\t\t\t\tconsole.log('音频暂停事件');\n\t\t\t\t\tthis.isPaused = true;\n\t\t\t\t});\n\t\t\t\tthis.isPlaying = false;\n\t\t\t},\n\t\t\tstop() {\n\t\t\t\tconsole.log('stop');\n\t\t\t\tthis._audioContext!.stop();\n\t\t\t\tthis._audioContext!.onStop(() => {\n\t\t\t\t\t// 第一次点停止时,不触发\n\t\t\t\t\tthis.isPaused = true;\n\t\t\t\t\tconsole.log('音频停止事件');\n\t\t\t\t});\n\t\t\t\tthis.isPlaying = false;\n\t\t\t\tconsole.log('stop', this.isPaused);\n\t\t\t},\n\t\t\tdestory() {\n\t\t\t\tif (this._audioContext != null) {\n\t\t\t\t\tthis.isPlaying = false;\n\t\t\t\t\tthis._audioContext!.destroy()\n\t\t\t\t}\n\t\t\t},\n\t\t\tplaybackRateChange(e : UniRadioGroupChangeEvent) {\n\t\t\t\t// if (this._audioContext != null && this.isPlaying) {\n\t\t\t\t\tconsole.log(parseFloat(e.detail.value))\n\t\t\t\t\tthis._audioContext!.playbackRate = parseFloat(e.detail.value)\n\t\t\t\t// }\n\t\t\t},\n //just for test\n setSrc(src:string){\n if(\tthis._audioContext!=null){\n this._audioContext!.src = src\n }\n }\n\t\t}\n\t}\n\n```\n\n:::"},"getBackgroundAudioManager":{"name":"## uni.getBackgroundAudioManager() @getbackgroundaudiomanager","description":"获取全局唯一的背景音频管理器 backgroundAudioManager\n","compatibility":"### getBackgroundAudioManager 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.41 | x |\n","param":"","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| [BackgroundAudioManager](#backgroundaudiomanager-values) |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| duration | number | 是 | - | | 当前音频的长度(单位:s),只有在当前有合法的 src 时返回 |\n@| currentTime | number | 是 | - | | 当前音频的播放位置(单位:s),只有在当前有合法的 src 时返回 |\n@| paused | boolean | 是 | - | | 当前是是否暂停或停止状态,true 表示暂停或停止,false 表示正在播放 |\n@| src | string | 是 | - | | 音频的数据源,默认为空字符串,当设置了新的 src 时,会自动开始播放 ,目前支持的格式有 m4a, aac, mp3, wav |\n@| startTime | number | 是 | - | | 音频开始播放的位置(单位:s) |\n@| buffered | number | 是 | - | | 音频缓冲的时间点,仅保证当前播放时间点到此时间点内容已缓冲 |\n@| title | string | 是 | - | | 音频标题,用于做原生音频播放器音频标题。原生音频播放器中的分享功能,分享出去的卡片标题,也将使用该值。 |\n@| epname | string | 是 | - | | 专辑名,原生音频播放器中的分享功能,分享出去的卡片简介,也将使用该值 |\n@| singer | string | 是 | - | | 歌手名,原生音频播放器中的分享功能,分享出去的卡片简介,也将使用该值 |\n@| coverImgUrl | string | 是 | - | | 封面图url,用于做原生音频播放器背景图。原生音频播放器中的分享功能,分享出去的卡片配图及背景也将使用该图。 |\n@| webUrl | string | 是 | - | | 页面链接,原生音频播放器中的分享功能,分享出去的卡片简介,也将使用该值 |\n@| protocol | string | 是 | - | | 音频协议。默认值为 'http',设置 'hls' 可以支持播放 HLS 协议的直播音频 |\n@| playbackRate | number | 否 | - | | 播放的倍率。可取值: 0.5/0.8/1.0/1.25/1.5/2.0,默认值为1.0。(仅 App 支持) |\n#### BackgroundAudioManager 的方法 @backgroundaudiomanager-values \n\n#### play(): void; @play\n播放\n##### play 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| - | 4.41 | 4.41 | x | x |\n\n\n\n#### pause(): void; @pause\n暂停\n##### pause 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| - | 4.41 | 4.41 | x | x |\n\n\n\n#### seek(position: number): void; @seek\n跳转到指定位置,单位 s\n##### seek 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| - | 4.41 | 4.41 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| position | number | 是 | - | - | - | \n\n\n#### stop(): void; @stop\n停止\n##### stop 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| - | 4.41 | 4.41 | x | x |\n\n\n\n#### onCanplay(callback: (result: any) => void): void; @oncanplay\n背景音频进入可以播放状态,但不保证后面可以流畅播放\n##### onCanplay 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| - | 4.41 | 4.41 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### onPlay(callback: (result: any) => void): void; @onplay\n背景音频播放事件\n##### onPlay 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| - | 4.41 | 4.41 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### onPause(callback: (result: any) => void): void; @onpause\n背景音频暂停事件\n##### onPause 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| - | 4.41 | 4.41 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### onStop(callback: (result: any) => void): void; @onstop\n背景音频停止事件\n##### onStop 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| - | 4.41 | 4.41 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### onEnded(callback: (result: any) => void): void; @onended\n背景音频自然播放结束事件\n##### onEnded 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| - | 4.41 | 4.41 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### onTimeUpdate(callback: (result: any) => void): void; @ontimeupdate\n背景音频播放进度更新事件\n##### onTimeUpdate 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| - | 4.41 | 4.41 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### onPrev(callback: (result: any) => void): void; @onprev\n用户在系统音乐播放面板点击上一曲事件\n##### onPrev 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| - | 4.41 | 4.41 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### onNext(callback: (result: any) => void): void; @onnext\n用户在系统音乐播放面板点击下一曲事件\n##### onNext 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| - | 4.41 | 4.41 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### onError(callback : (result : ICreateBackgroundAudioFail) => void) : void; @onerror\n背景音频播放错误事件\n##### onError 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| - | 4.41 | 4.41 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [ICreateBackgroundAudioFail](#icreatebackgroundaudiofail-values)) => void | 是 | - | - | - | \n\n##### ICreateBackgroundAudioFail 的属性值 @icreatebackgroundaudiofail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 1107601 | - | 系统错误 |\n@| 1107602 | - | 网络错误 |\n@| 1107603 | - | 文件错误 |\n@| 1107604 | - | 格式错误 |\n@| 1107605 | - | 未知错误 |\n@| 1107609 | - | 播放路径不能为空 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n\n#### onWaiting(callback: (result: any) => void): void; @onwaiting\n音频加载中事件,当音频因为数据不足,需要停下来加载时会触发\n##### onWaiting 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| - | 4.41 | 4.41 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.media.getBackgroundAudioManager)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/media/background-audio-manager.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getBackgroundAudioManager&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getBackgroundAudioManager&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getBackgroundAudioManager&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getBackgroundAudioManager&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getBackgroundAudioManager&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getBackgroundAudioManager)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getBackgroundAudioManager&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"canvasToTempFilePath":{"name":"## uni.canvasToTempFilePath(options, componentInstance) @canvastotempfilepath","description":"把当前画布指定区域的内容导出生成指定大小的图片\n","compatibility":"### canvasToTempFilePath 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **CanvasToTempFilePathOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| x | number | 否 | - | - | 画布x轴起点(默认0) |\n@| y | number | 否 | - | - | 画布y轴起点(默认0) |\n@| width | number | 否 | - | - | 画布宽度(默认为canvas宽度-x) |\n@| height | number | 否 | - | - | 画布高度(默认为canvas高度-y) |\n@| destWidth | number | 否 | - | - | 输出图片宽度(默认为 width * 屏幕像素密度) |\n@| destHeight | number | 否 | - | - | 输出图片高度(默认为 height * 屏幕像素密度) |\n@| canvasId | string | 是 | - | - | 画布标识,传入 \\ 的 canvas-id |\n@| fileType | string | 否 | - | - | 目标文件的类型,默认为 'png' |\n@| quality | number | 否 | - | - | 图片的质量,取值范围为 (0, 1],不在范围内时当作1.0处理 |\n@| success | (result: [CanvasToTempFilePathSuccess](#canvastotempfilepathsuccess-values)) => void | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (result: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) |\n| componentInstance | any | 是 | - | - | - | \n\n#### CanvasToTempFilePathSuccess 的属性值 @canvastotempfilepathsuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| tempFilePath | string | 是 | - | - | 导出生成的图片路径 |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.canvas.canvasToTempFilePath)\n - [参见uni-app相关文档](https://uniapp.dcloud.io/api/canvas/canvasToTempFilePath.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=canvasToTempFilePath&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=canvasToTempFilePath&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=canvasToTempFilePath&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=canvasToTempFilePath&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=canvasToTempFilePath&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=canvasToTempFilePath)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=canvasToTempFilePath&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"createCanvasContextAsync":{"name":"## uni.createCanvasContextAsync(options) @createcanvascontextasync","description":"获取CanvasContext对象实例\n","compatibility":"### createCanvasContextAsync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.25 | 4.25 | 4.25 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **CreateCanvasContextAsyncOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| id | [string.IDString](/uts/data-type.md#ide-string) | 是 | - | | canvas 元素的 id 属性 |\n@| component | ComponentPublicInstance | 否 | - | | 组件或页面实例,限定在什么范围内查找id |\n@| success | (context: [CanvasContext](#canvascontext-values)) => void | 否 | - | | 接口调用成功的回调函数 |\n@| fail | (error: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | - | | 接口调用失败的回调函数 |\n@| complete | () => void | 否 | - | | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### CanvasContext 的方法 @canvascontext-values \n\n#### getContext(type: '2d'): CanvasRenderingContext2D \\| null @getcontext\n\n##### getContext 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | - | \n\n##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [CanvasRenderingContext2D](/api/canvasrenderingcontext2d.md) | 否 |\n \n\n#### toBlob(callback: CanvasContextToBlobCallback, type?: string, quality?: number): void @toblob\n创造 Blob 对象\n##### toBlob 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.25 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (blob: Blob) => void | 是 | - | - | - |\n| type | string | 否 | - | - | - |\n| quality | number | 否 | - | - | - | \n\n\n#### toDataURL(): string @todataurl\n返回一个包含图片展示的 data URI\n##### toDataURL 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.25 | 4.25 | 4.25 |\n\n\n##### 返回值 \n\n| 类型 |\n| :- |\n| string |\n \n\n#### createImage(): Image @createimage\n返回一个包含图片展示的 data URI\n##### createImage 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.25 | 4.25 | 4.25 |\n\n\n##### 返回值 \n\n| 类型 | 描述 |\n| :- | :- |\n| [Image](#image-values) | 重复的图像源,支持代码包路径和本地临时路径 (本地路径) |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| src | [string.ImageURIString](/uts/data-type.md#ide-string) | 是 | - | | 图片url |\n@| classList | Array\\ | 是 | - | | 只读属性 获取当前元素的的 class 属性的动态集合。 |\n@| firstChild | [UniElement](/dom/unielement.md) | 否 | - | | 只读属性 获取当前元素的的第一个子元素,如果元素是无子元素,则返回 null。 |\n@| lastChild | [UniElement](/dom/unielement.md) | 否 | - | | 只读属性 获取当前元素的最后一个子元素,如果没有子元素,则返回 null。 |\n@| parentElement | [UniElement](/dom/unielement.md) | 否 | - | | 只读属性 获取当前元素在 DOM 树中的父元素,如果没有父元素(如未添加到DOM树中),则返回null。 |\n@| previousSibling | [UniElement](/dom/unielement.md) | 否 | - | | 只读属性 获取当前元素的前一个同级元素,没有则返回null。 |\n@| nextElementSibling | [UniElement](/dom/unielement.md) | 否 | - | | 只读属性 获取在 DOM 树中紧跟在其后面的同级元素,如果指定的元素为最后一个元素,则返回 null。 |\n@| children | Array\\<[UniElement](/dom/unielement.md)\\> | 是 | - | | 只读属性 获取当前元素包含的子元素的集合 |\n@| tagName | string | 是 | - | | 只读属性 获取当前元素的标签名 |\n@| nodeName | string | 是 | - | | 只读属性 获取当前元素的元素名称 |\n@| dataset | Map\\ | 是 | - | | 只读属性 获取元素上自定义数据属性(data-*)的集合 |\n@| attributes | Map\\ | 是 | - | | 只读属性 获取元素上所有属性元素的集合 |\n@| style | [CSSStyleDeclaration](/dom/cssstyledeclaration.md) | 是 | - | | 只读属性 获取元素的CSS样式对象 |\n@| scrollWidth | number | 是 | - | | 只读属性 获取可滚动元素内容的总宽度,仅scroll-view、list-view组件支持,其他组件返回视图宽度 |\n@| scrollHeight | number | 是 | - | | 只读属性 获取可滚动元素内容的总高度,仅scroll-view、list-view组件支持,其他组件返回视图高度 |\n@| scrollLeft | number | 是 | - | | 获取或修改元素滚动条到元素左边的距离像素数,仅scroll-view、list-view组件支持。其他组件返回0 |\n@| scrollTop | number | 是 | - | | 获取或修改元素滚动条到元素顶部的距离像素数,仅scroll-view、list-view组件支持。其他组件返回0 |\n@| offsetLeft | number | 是 | - | | 只读属性 元素的左边界偏移值 单位px |\n@| offsetTop | number | 是 | - | | 只读属性 元素的顶部边界偏移值 单位px |\n@| offsetWidth | number | 是 | - | | 只读属性 元素的布局宽度,宽度包含border、padding的数据值 单位px |\n@| offsetHeight | number | 是 | - | | 只读属性 元素的布局高度,高度包含border、padding的数据值 单位px |\n@| ext | Map\\ | 是 | - | | 只读属性 扩展属性 |\n###### Image 的方法 @image-values \n\n###### onload(): void \\| null @onload\n图片加载完成事件\n###### onload 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.25 | 4.25 | x |\n\n\n\n###### takeSnapshot(options: TakeSnapshotOptions): void @takesnapshot\n对当前组件进行截图,调用此方法会将当前组件(包含子节点)渲染结果导出成图片。\n成功会返回图片对应的临时文件路径,目前默认png格式\n\n###### takeSnapshot 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| x | 3.93 | 4.11 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **TakeSnapshotOptions** | 是 | - | - | 组件截图的参数对象 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| type | string | 否 | \"file\" | - | 截图导出类型,目前仅支持 'file' 保存到临时文件目录 |\n@| format | string | 否 | \"png\" | - | 截图文件格式,目前仅支持 'png' |\n@| success | (res: [TakeSnapshotSuccess](#takesnapshotsuccess-values)) => void | 否 | - | - | 成功回调函数定义 |\n@| fail | (res: [TakeSnapshotFail](#takesnapshotfail-values)) => void | 否 | - | - | 失败回调函数定义 |\n@| complete | (res: any) => void | 否 | - | - | 完成回调函数定义 | \n\n###### TakeSnapshotSuccess 的属性值 @takesnapshotsuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| tempFilePath | string | 是 | - | - | 截图保存的临时文件路径 |\n\n###### TakeSnapshotFail 的属性值 @takesnapshotfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n\n\n###### appendChild(aChild: UniElement): void @appendchild\n将一个元素添加到指定父元素的子元素列表的末尾处。如果将被插入的元素已经存在于当前文档的文档树中,那么将会它从原先的位置移动到新的位置。\n###### appendChild 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| aChild | [UniElement](/dom/unielement.md) | 是 | - | - | 插入子元素对象 | \n\n\n###### insertBefore(newChild: UniElement, refChild?: UniElement \\| null): UniElement \\| null @insertbefore\n在参考元素之前插入一个拥有指定父元素的子元素。如果给定的子元素是对文档中现有元素的引用,insertBefore() 会将其从当前位置移动到新位置。\n###### insertBefore 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| newChild | [UniElement](/dom/unielement.md) | 是 | - | - | 插入子元素对象 |\n| refChild | [UniElement](/dom/unielement.md) | 否 | - | - | 已存在父元素的子元素对象 | \n\n###### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniElement](/dom/unielement.md) | 否 |\n \n\n###### setAttribute(key: string, value: string): void @setattribute\n设置指定元素上的某个属性值。如果设置的属性已经存在,则更新该属性值;否则使用指定的名称和值添加一个新的属性。\n###### setAttribute 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | 属性名称 |\n| value | string | 是 | - | - | 属性值域 | \n\n\n###### getAttribute(key: string): string \\| null @getattribute\n获取元素指定的属性值,如果指定的属性不存在则返回null。\n###### getAttribute 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | 属性名称 | \n\n###### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| string | 否 |\n \n\n###### hasAttribute(key: string): boolean @hasattribute\n返回改元素是否包含有指定的属性,属性存在则返回true,否则返回false。\n###### hasAttribute 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | 属性名称 | \n\n###### 返回值 \n\n| 类型 |\n| :- |\n| boolean |\n \n\n###### removeAttribute(key: string): void @removeattribute\n从元素中删除一个属性,如果指定的属性不存在,则不做任何操作,也不会产生错误。\n###### removeAttribute 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | 属性名称 | \n\n\n###### getBoundingClientRect(): DOMRect @getboundingclientrect\n获取元素的大小及其相对于窗口的位置信息。\n###### getBoundingClientRect 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n\n\n###### 返回值 \n\n| 类型 |\n| :- |\n| [DOMRect](/dom/domrect.md) |\n \n\n###### getBoundingClientRectAsync(options?: GetBoundingClientRectAsyncOptions \\| null): Promise\\ \\| null @getboundingclientrectasync\n获取元素的大小及其相对于窗口的位置信息 异步。\n###### getBoundingClientRectAsync 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| x | 4.41 | x | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **GetBoundingClientRectAsyncOptions** | 否 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (rect: [DOMRect](/dom/domrect.md)) => void | 否 | - | - | |\n@| fail | () => void | 否 | - | - | |\n@| complete | (rect?: any) => void | 否 | - | - | | \n\n###### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Promise\\<[DOMRect](/dom/domrect.md)> | 否 |\n \n\n###### getDrawableContext(): DrawableContext \\| null @getdrawablecontext\n获取组件的绘制对象,仅uvue页面中的 view 组件支持,其它组件不支持则返回null。\n###### getDrawableContext 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| x | 3.9 | 4.11 | 4.25 |\n\n\n###### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [DrawableContext](/dom/drawablecontext.md) | 否 |\n \n\n###### removeChild(aChild: UniElement): UniElement \\| null @removechild\n从元素中删除一个子元素,返回删除的元素。\n###### removeChild 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| aChild | [UniElement](/dom/unielement.md) | 是 | - | - | 被删除子元素对象 | \n\n###### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniElement](/dom/unielement.md) | 否 |\n \n\n###### remove(): void @remove\n把元素对象从它所属的 DOM 树中删除。\n###### remove 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n\n\n\n###### scrollTo(x: number, y: number): void @scrollto\n使界面滚动到给定元素的指定坐标位置 仅scroll-view、list-view组件支持\n###### scrollTo 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | x轴要滚动到坐标位置(单位px) |\n| y | number | 是 | - | - | y轴要滚动到坐标位置(单位px) | \n\n\n###### scrollBy(x: number, y: number): void @scrollby\n使得元素滚动一段特定距离 仅scroll-view、list-view组件支持\n###### scrollBy 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | x轴要滚动的距离(单位px) |\n| y | number | 是 | - | - | y轴要滚动的距离(单位px) | \n\n\n###### querySelector(selector: string.cssSelectorString): UniElement \\| null @queryselector\n返回文档中与指定选择器或选择器组匹配的第一个 Element对象。如果找不到匹配项,则返回null\n###### querySelector 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| selector | [string.cssSelectorString](/uts/data-type.md#ide-string) | 是 | - | - | CSS 选择器字符串 | \n\n###### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniElement](/dom/unielement.md) | 否 |\n \n\n###### querySelectorAll(selector: string.cssSelectorString): UniElement[] \\| null @queryselectorall\n返回与指定的选择器组匹配的文档中的元素列表\n###### querySelectorAll 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| selector | [string.cssSelectorString](/uts/data-type.md#ide-string) | 是 | - | - | CSS 选择器字符串 | \n\n###### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Array\\<[UniElement](/dom/unielement.md)\\> | 否 |\n \n\n###### focus(): void @focus\n使元素获取焦点 仅input、Textarea组件支持\n###### focus 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n\n\n\n###### blur(): void @blur\n使元素丢失焦点 仅input、Textarea组件支持\n###### blur 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.0 | 4.0 | 4.11 | 4.25 |\n\n\n\n###### getIOSView(): UIView \\| null @getiosview\n获取元素ios原生view\n###### getIOSView 兼容性 \n| Web | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- | :- |\n| - | x | x | x | 4.25 |\n\n\n###### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| UIView | 否 |\n \n\n###### getAndroidView(): View \\| null @getandroidview\n获取元素android原生view 可能返回null\n###### getAndroidView 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.25 | x |\n\n\n###### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| View | 否 |\n \n\n###### getAndroidActivity(): Activity \\| null @getandroidactivity\n获取元素android原生activity 可能返回null\n###### getAndroidActivity 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.25 | x |\n\n\n###### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Activity | 否 |\n \n\n###### getPage(): UniPage \\| null @getpage\n获取元素所属的页面对象\n###### getPage 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.31 | 4.31 | 4.31 |\n\n\n###### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniPage](#unipage-values) | 否 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| route | string | 是 | - | | 页面的路由地址 |\n@| options | UTSJSONObject | 是 | - | | 页面的路由参数信息 |\n@| vm | ComponentPublicInstance | 否 | - | | UniPage vue 实例对象 |\n@| ~~$vm~~ | ComponentPublicInstance | 否 | - | | UniPage vue 实例对象 **已废弃,仅为了向下兼容保留** |\n###### UniPage 的方法 @unipage-values \n\n###### getPageStyle(): UTSJSONObject @getpagestyle\n获取当前页面样式。详细属性配置请参考PageStyle\n###### getPageStyle 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.31 | 4.31 | 4.31 | 4.31 |\n\n\n###### 返回值 \n\n| 类型 |\n| :- |\n| UTSJSONObject |\n \n\n###### setPageStyle(style: UTSJSONObject): void @setpagestyle\n设置当前页面样式。详细属性配置请参考PageStyle\n###### setPageStyle 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.31 | 4.31 | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| style | UTSJSONObject | 是 | - | - | - | \n\n\n###### getParentPage(): UniPage \\| null @getparentpage\n用于 dialogPage 获取所属父页面\n###### getParentPage 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.31 | 4.31 | 4.31 | 4.31 |\n\n\n###### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniPage](#unipage-values) | 否 |\n \n\n###### getDialogPages(): UniPage[\\] @getdialogpages\n获取当前页面的 dialog 子页面集合\n###### getDialogPages 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| 4.31 | 4.31 | 4.31 | 4.31 |\n\n\n###### 返回值 \n\n| 类型 |\n| :- |\n| Array\\<[UniPage](#unipage-values)\\> |\n \n\n###### getElementById(id: string.IDString \\| string): UniElement \\| null @getelementbyid\n返回一个匹配特定 ID 的元素, 如果不存在,返回 null。\\\n如果需要获取指定的节点类型,需要使用 as 进行类型转换。\\\nID 区分大小写,且应该是唯一的。如果存在多个匹配的元素,则返回第一个匹配的元素。\n\n###### getElementById 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.31 | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| id | [string.IDString](/uts/data-type.md#ide-string) \\\\| string | 是 | - | - | - | \n\n###### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniElement](/dom/unielement.md) | 否 |\n \n\n###### getAndroidView(): View \\| null @getandroidview\n返回 android 平台页面根 view\n\n###### getAndroidView 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.31 | x |\n\n\n###### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| View | 否 |\n \n\n###### getIOSView(): UIView \\| null @getiosview\n返回 ios 平台页面根 view\n\n###### getIOSView 兼容性 \n| Web | Android | iOS | iOS uni-app x UTS 插件 |\n| :- | :- | :- | :- |\n| x | x | x | 4.33 |\n\n\n###### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| UIView | 否 |\n \n\n###### getHTMLElement(): UniElement \\| null @gethtmlelement\n返回页面 HTML Element 对象\n\n###### getHTMLElement 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.31 | x | x |\n\n\n###### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniElement](/dom/unielement.md) | 否 |\n \n\n###### ~~$setPageStyle(style: UTSJSONObject): void~~ @$setpagestyle\n设置当前页面样式。详细属性配置请参考PageStyle **已废弃,仅为了向下兼容保留**\n###### $setPageStyle 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.13 | 4.13 | 4.13 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| style | UTSJSONObject | 是 | - | - | - | \n\n\n###### ~~$getPageStyle(): UTSJSONObject~~ @$getpagestyle\n获取当前页面样式。详细属性配置请参考PageStyle **已废弃,仅为了向下兼容保留**\n###### $getPageStyle 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.13 | 4.13 | 4.13 |\n\n\n###### 返回值 \n\n| 类型 |\n| :- |\n| UTSJSONObject |\n \n \n \n\n#### createPath2D(): Path2D @createpath2d\n返回一个包含图片展示的 data URI\n##### createPath2D 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.25 | 4.25 | 4.25 |\n\n\n##### 返回值 \n\n| 类型 |\n| :- |\n| [Path2D](/api/path2d.md) |\n \n\n#### requestAnimationFrame(callback: RequestAnimationFrameCallback): number; @requestanimationframe\n在下一次重绘之前,调用用户提供的回调函数\n##### requestAnimationFrame 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.25 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (time: number) => void | 是 | - | - | - | \n\n##### 返回值 \n\n| 类型 |\n| :- |\n| number |\n \n\n#### cancelAnimationFrame(taskId: number): void; @cancelanimationframe\n取消一个先前通过调用 uni.requestAnimationFrame() 方法添加到计划中的动画帧请求\n##### cancelAnimationFrame 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.25 | 4.25 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| taskId | number | 是 | - | - | - | \n\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.canvas.createCanvasContextAsync)"},"getLocation":{"name":"## uni.getLocation(options) @getlocation","description":"获取当前的地理位置、速度","compatibility":"### getLocation 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **GetLocationOptions** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| provider | string | 否 | system | | 定位服务提供商,通过 [uni.getProvider](https://doc.dcloud.net.cn/uni-app-x/api/provider.html) 获取,目前支持系统定位(system)、腾讯定位(tencent)
腾讯定位是4.25版本后支持的;
web端暂不支持provider机制; |\n@| type | string | 否 | wgs84 | | 默认为 wgs84 返回 gps 坐标,gcj02 返回可用于uni.openLocation的坐标,web端需配置定位 SDK 信息才可支持 gcj02; |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| wgs84 | | wgs84坐标系,系统定位默认取值wgs84,系统定位仅支持wgs84坐标系 |\n@@| gcj02 | | gcj02坐标系,腾讯定位默认取值gcj02,腾讯定位仅支持gcj02坐标系 |\n@| altitude | boolean | 否 | false | | 传入 true 会返回高度信息,由于获取高度需要较高精确度,会减慢接口返回速度 |\n@| geocode | boolean | 否 | false | | 传入 true 会解析地址;
使用系统定位时平台差异:iOS支持逆地理编码,Android不支持; |\n@| highAccuracyExpireTime | number | 否 | 3000 | | 高精度定位超时时间(ms),指定时间内返回最高精度,该值3000ms以上高精度定位才有效果 |\n@| isHighAccuracy | boolean | 否 | false | | 开启高精度定位 |\n@| success | (result: [GetLocationSuccess](#getlocationsuccess-values)) => void | 否 | - | | 接口调用成功的回调函数 |\n@| fail | (result: [IGetLocationFail](#igetlocationfail-values)) => void | 否 | - | | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | - | | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### GetLocationSuccess 的属性值 @getlocationsuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| latitude | number | 是 | 0 | | 纬度,浮点数,范围为-90~90,负数表示南纬 |\n| longitude | number | 是 | 0 | | 经度,范围为-180~180,负数表示西经 |\n| speed | number | 是 | 0 | | 速度,浮点数,单位m/s |\n| accuracy | number | 是 | - | | 位置的精确度 |\n| altitude | number | 是 | 0 | | 高度,单位 m |\n| verticalAccuracy | number | 是 | 0 | | 垂直精度,单位 m(Android 无法获取,返回 0) |\n| horizontalAccuracy | number | 是 | 0 | | 水平精度,单位 m |\n| address | string | 否 | null | | 地址信息 |\n\n#### IGetLocationFail 的属性值 @igetlocationfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 1505003 | | 系统定位未开启,请在系统设置中开启系统定位 |\n@| 1505004 | | 应用定位权限未开启 |\n@| 1505023 | | 不支持逆地理编码 |\n@| 1505600 | | 超时 |\n@| 1505601 | | 不支持的定位类型 |\n@| 1505602 | | 捕获定位失败 |\n@| 1505603 | | 逆地理编码捕获失败 |\n@| 1505604 | | 服务供应商获取失败 |\n@| 1505605 | | 未通过配置预校验,通常是腾讯定位 api key 配置错误 |\n@| 1505607 | | 腾讯定位只支持GCJ-02 |\n@| 1505700 | | 不支持逆地理编码 |\n@| 1505701 | | 没有找到具体的定位引擎(GPS_PROVIDER,NETWORK_PROVIDER,PASSIVE_PROVIDER等),请确定系统定位是否开启 |\n@| 1505800 | | 应用高精度定位权限未开启 |\n@| ~~1505026~~ | | 捕获定位失败 **从4.25开始已经废弃** |\n@| ~~1505025~~ | | 逆地理编码捕获失败 **从4.25开始已经废弃** |\n@| ~~1505024~~ | | 没有找到具体的定位引擎(GPS_PROVIDER,NETWORK_PROVIDER,PASSIVE_PROVIDER等),请定位开关是否已打开 **从4.25开始已经废弃** |\n@| ~~1505022~~ | | 不支持的定位类型 **从4.25开始已经废弃** |\n@| ~~1505021~~ | | 超时 **从4.25开始已经废弃** |\n@| ~~1505005~~ | | 缺失高精度权限授权(iOS特有) **从4.25开始已经废弃** |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.location.getLocation)\n- [参见uni-app相关文档](http://uniapp.dcloud.io/api/location/location?id=getlocation)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getLocation&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getLocation&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getLocation&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getLocation&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getLocation&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getLocation)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getLocation&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/get-location/get-location.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/get-location/get-location\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/get-location/get-location\n\n>Template\n```vue\n\r\n\r\n\n```\n\n>Script\n```uts\n\r\n type GetLocationType = 'wgs84' | 'gcj02'\r\n export type LocationItem = { id : string, name : string, provider ?: UniProvider }\r\n export type ItemType = { value : GetLocationType, name : GetLocationType }\r\n\r\n export default {\r\n data() {\r\n return {\r\n title: 'get-location',\r\n altitudeSelect: false,\r\n isHighAccuracySelect: false,\r\n geocodeSelect: false,\r\n exeRet: '',\r\n items: [\r\n {\r\n value: 'wgs84',\r\n name: 'wgs84'\r\n },\r\n {\r\n value: 'gcj02',\r\n name: 'gcj02'\r\n }\r\n ] as ItemType[],\r\n providerList: [] as LocationItem[],\r\n current: 0,\r\n currentProvider: 0,\r\n jest_provider: '',\r\n jest_type: 'wgs84' as GetLocationType,\r\n jest_isAltitude: false,\r\n jest_isGeocode: false,\r\n jest_isHighAccuracy: false,\r\n jest_altitude: -1000,\r\n jest_longitude: 200,\r\n jest_latitude: 100,\r\n jest_address: '',\r\n jest_errCode: 0,\r\n jest_complete: false\r\n }\r\n },\r\n onLoad: function () {\r\n // #ifdef APP\r\n this.getProvider()\r\n // #endif\r\n },\r\n methods: {\r\n getProvider() {\r\n // #ifdef APP\r\n\r\n let provider = uni.getProviderSync({\r\n service: \"location\",\r\n } as GetProviderSyncOptions)\r\n console.log(provider)\r\n provider.providerObjects.forEach((value : UniProvider) => {\r\n var currentProvider = value\r\n if (value.id == 'system') {\r\n currentProvider = value as UniLocationSystemProvider\r\n } else if (value.id == 'tencent') {\r\n currentProvider = value as UniLocationTencentProvider\r\n }\r\n this.providerList.push({\r\n name: currentProvider.description,\r\n id: currentProvider.id,\r\n provider: currentProvider\r\n } as LocationItem);\r\n })\r\n\r\n this.providerList.forEach((value, index) => {\r\n if (value.id == \"system\") {\r\n this.currentProvider = index\r\n }\r\n })\r\n // #endif\r\n },\r\n altitudeChange: function (e : UniSwitchChangeEvent) {\r\n this.altitudeSelect = e.detail.value\r\n },\r\n geocodeChange: function (e : UniSwitchChangeEvent) {\r\n this.geocodeSelect = e.detail.value\r\n },\r\n highAccuracySelectChange: function (e : UniSwitchChangeEvent) {\r\n this.isHighAccuracySelect = e.detail.value\r\n },\r\n radioChange(e : UniRadioGroupChangeEvent) {\r\n for (let i = 0; i < this.items.length; i++) {\r\n if (this.items[i].value === e.detail.value) {\r\n this.current = i;\r\n break;\r\n }\r\n }\r\n },\r\n radioChangePV(e : UniRadioGroupChangeEvent) {\r\n for (let i = 0; i < this.providerList.length; i++) {\r\n if (this.providerList[i].id === e.detail.value) {\r\n this.currentProvider = i;\r\n break;\r\n }\r\n }\r\n if (e.detail.value == \"system\") {\r\n this.current = 0\r\n } else if (e.detail.value == \"tencent\") {\r\n this.current = 1\r\n }\r\n },\r\n getLocationTap: function () {\r\n // #ifdef APP\r\n if (this.providerList.length == 0) {\r\n uni.showToast({\r\n title: '未获取到provider,请确定基座中包含location功能',\r\n icon: \"error\"\r\n })\r\n console.log(\"未获取到provider,请确定基座中包含location功能\")\r\n return\r\n }\r\n // #endif\r\n uni.showLoading({\r\n title: '定位中'\r\n })\r\n uni.getLocation(({\r\n // #ifdef APP\r\n provider: this.providerList[this.currentProvider].id,\r\n // #endif\r\n type: this.items[this.current].value,\r\n altitude: this.altitudeSelect,\r\n isHighAccuracy: this.isHighAccuracySelect,\r\n geocode: this.geocodeSelect,\r\n success: (res : any) => {\r\n uni.hideLoading()\r\n this.exeRet = JSON.stringify(res)\r\n },\r\n fail: (res : any) => {\r\n uni.hideLoading()\r\n this.exeRet = JSON.stringify(res)\r\n },\r\n complete: (res : any) => {\r\n uni.hideLoading()\r\n this.exeRet = JSON.stringify(res)\r\n }\r\n }));\r\n },\r\n\r\n // 仅用于自动化测试\r\n jestGetLocation() {\r\n this.jest_complete = false\r\n this.jest_errCode = 0\r\n uni.getLocation(({\r\n // #ifdef APP\r\n provider: this.jest_provider,\r\n // #endif\r\n type: this.jest_type,\r\n altitude: this.jest_isAltitude,\r\n isHighAccuracy: this.jest_isHighAccuracy,\r\n geocode: this.jest_isGeocode,\r\n success: (res) => {\r\n if (res.address != null) {\r\n this.jest_address = res.address!\r\n }\r\n this.jest_longitude = res.longitude\r\n this.jest_latitude = res.latitude\r\n this.jest_altitude = res.altitude\r\n this.jest_complete = true\r\n },\r\n fail: (err) => {\r\n this.jest_errCode = err.errCode\r\n this.jest_complete = true\r\n }\r\n }));\r\n }\r\n }\r\n }\r\n\n```\n\n:::"},"openLocation":{"name":"## uni.openLocation(options) @openlocation","description":"使用地图查看位置\n","compatibility":"### openLocation 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **OpenLocationOptions** | 是 | - | - | uni.openLocation |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| latitude | number | 是 | - | - | 纬度,范围为-90~90,负数表示南纬 |\n@| longitude | number | 是 | - | - | 经度,范围为-180~180,负数表示西经 |\n@| scale | number | 否 | - | - | 缩放比例,范围5~18,默认为18 |\n@| name | string | 否 | - | - | 位置名称 |\n@| address | string | 否 | - | - | 地址的详细说明 |\n@| success | (res: OpenLocationSuccess) => void | 否 | - | - | uni.openLocation成功回调函数定义 |\n@| fail | (res: [IOpenLocationError](#iopenlocationerror-values)) => void | 否 | - | - | uni.openLocation失败回调函数定义 |\n@| complete | (res: any) => void | 否 | - | - | uni.openLocation完成回调函数定义 | \n\n#### IOpenLocationError 的属性值 @iopenlocationerror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | - |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.location.openLocation)\n - [参见uni-app相关文档](https://uniapp.dcloud.io/api/location/open-location.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=openLocation&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=openLocation&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=openLocation&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=openLocation&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=openLocation&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=openLocation)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=openLocation&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/open-location/open-location.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/open-location/open-location\n\n>Template\n```vue\n\n\n\n\n\n```\n\n>Script\n```uts\n\n export default {\n data() {\n return {\n title: 'openLocation'\n }\n },\n methods: {\n openLocation: function (e) {\n console.log(e)\n var value = e.detail.value\n uni.openLocation({\n longitude: Number(value.longitude),\n latitude: Number(value.latitude),\n name: value.name,\n address: value.address\n })\n }\n }\n }\n\n```\n\n:::"},"chooseLocation":{"name":"## uni.chooseLocation(options) @chooselocation","description":"打开地图选择位置","compatibility":"### chooseLocation 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.33 | 4.33 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **ChooseLocationOptions** | 是 | - | - | uni.chooseLocation函数参数定义 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| latitude | number | 否 | - | | 指示位置的经度 |\n@| longitude | number | 否 | - | | 指示位置的纬度 |\n@| keyword | string | 否 | - | | 指示位置的名称 |\n@| payload | UTSJSONObject | 否 | - | | 用户自定义参数 |\n@| success | (result: [ChooseLocationSuccess](#chooselocationsuccess-values)) => void | 否 | - | | 接口调用成功的回调函数 |\n@| fail | (result: [ChooseLocationFail](#chooselocationfail-values)) => void | 否 | - | | 接口调用失败的回调函数 |\n@| complete | (result: [AsyncApiResult](#asyncapiresult-values)) => void | 否 | - | | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### ChooseLocationSuccess 的属性值 @chooselocationsuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| name | string | 是 | - | - | - |\n| address | string | 是 | - | - | - |\n| latitude | number | 是 | - | - | - |\n| longitude | number | 是 | - | - | - |\n| errMsg | string | 是 | - | - | - |\n\n#### ChooseLocationFail 的属性值 @chooselocationfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 1 | | 取消 |\n@| 4 | | 框架内部错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n#### AsyncApiResult 的属性值 @asyncapiresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.location.chooseLocation)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=chooseLocation&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=chooseLocation&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=chooseLocation&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=chooseLocation&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=chooseLocation&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=chooseLocation)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=chooseLocation&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/choose-location/choose-location.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/choose-location/choose-location\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/choose-location/choose-location\n\n>Template\n```vue\n\n\n\n\n\n```\n\n>Script\n```uts\n\n type Location = {\n latitude: string[]\n longitude: string[]\n }\n export default {\n data() {\n return {\n title: 'chooseLocation',\n hasLocation: false,\n location: {\n latitude: [],\n longitude: []\n } as Location,\n locationName: '',\n locationAddress: '',\n dialogPagesNum: -1\n }\n },\n methods: {\n chooseLocation: function () {\n uni.chooseLocation({\n success: (res) => {\n console.log('chooseLocation success', res)\n this.hasLocation = true\n this.location = this.formatLocation(res.longitude, res.latitude)\n this.locationName = res.name\n this.locationAddress = res.address\n }\n })\n // 自动化测试\n setTimeout(() => {\n const pages = getCurrentPages()\n const page = pages[pages.length - 1]\n const dialogPages = page.getDialogPages()\n this.dialogPagesNum = dialogPages.length\n }, 500)\n },\n formatLocation: function(longitude:number, latitude:number):Location {\n const longitudeArr = longitude.toString().split('.')\n const latitudeArr = latitude.toString().split('.')\n if(longitudeArr.length>1){\n longitudeArr[1] = longitudeArr[1].substring(0,2)\n }\n if(latitudeArr.length>1){\n latitudeArr[1] = latitudeArr[1].substring(0,2)\n }\n return {\n longitude: longitudeArr,\n latitude: latitudeArr\n }\n },\n clear: function () {\n this.hasLocation = false\n }\n }\n }\n\n```\n\n:::"},"onLocationChange":{"name":"## uni.onLocationChange(callback) @onlocationchange","description":"监听实时地理位置变化事件,需结合 uni.startLocationUpdate 或 uni.startLocationUpdateBackground 使用。\n","compatibility":"### onLocationChange 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [OnLocationChangeCallbackResult](#onlocationchangecallbackresult-values)) => void | 是 | - | - | - | \n\n### OnLocationChangeCallbackResult 的属性值 @onlocationchangecallbackresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| latitude | number | 否 | - | - | 纬度,范围为 -90~90,负数表示南纬 |\n| longitude | number | 否 | - | - | 经度,范围为 -180~180,负数表示西经 |\n| accuracy | number | 否 | - | - | 位置的精确度 |\n| altitude | number | 否 | - | - | 高度,单位 m |\n| altitudeAccuracy | number | 否 | - | - | 高度的精确度 |\n| speed | number | 否 | - | - | 速度,单位 m/s |\n| horizontalAccuracy | number | 否 | - | - | 水平精度,单位 m |\n| verticalAccuracy | number | 否 | - | - | 垂直精度,单位 m(Android 无法获取,返回 0) |\n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| any |\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.location.onLocationChange)\n - [参见uni-app相关文档](https://uniapp.dcloud.io/api/location/location-change.html#onlocationchange)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=onLocationChange&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=onLocationChange&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=onLocationChange&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=onLocationChange&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=onLocationChange&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=onLocationChange)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=onLocationChange&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"offLocationChange":{"name":"## uni.offLocationChange(callback) @offlocationchange","description":"关闭监听实时位置变化,前后台都停止消息接收。\n","compatibility":"### offLocationChange 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [OffLocationChangeCallbackResult](#offlocationchangecallbackresult-values)) => void | 是 | - | - | - | \n\n### OffLocationChangeCallbackResult 的属性值 @offlocationchangecallbackresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| latitude | number | 否 | - | - | 纬度,范围为 -90~90,负数表示南纬 |\n| longitude | number | 否 | - | - | 经度,范围为 -180~180,负数表示西经 |\n| accuracy | number | 否 | - | - | 位置的精确度 |\n| altitude | number | 否 | - | - | 高度,单位 m |\n| altitudeAccuracy | number | 否 | - | - | 高度的精确度 |\n| speed | number | 否 | - | - | 速度,单位 m/s |\n| horizontalAccuracy | number | 否 | - | - | 水平精度,单位 m |\n| verticalAccuracy | number | 否 | - | - | 垂直精度,单位 m(Android 无法获取,返回 0) |\n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| any |\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.location.offLocationChange)\n - [参见uni-app相关文档](https://uniapp.dcloud.io/api/location/location-change.html#offLocationChange)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=offLocationChange&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=offLocationChange&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=offLocationChange&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=offLocationChange&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=offLocationChange&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=offLocationChange)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=offLocationChange&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"onLocationChangeError":{"name":"## uni.onLocationChangeError(callback) @onlocationchangeerror","description":"监听持续定位接口返回失败时触发。\n","compatibility":"### onLocationChangeError 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| any |\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.location.onLocationChangeError)\n - [参见uni-app相关文档](https://uniapp.dcloud.io/api/location/location-change.html#onlocationchangeerror)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=onLocationChangeError&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=onLocationChangeError&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=onLocationChangeError&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=onLocationChangeError&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=onLocationChangeError&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=onLocationChangeError)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=onLocationChangeError&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"offLocationChangeError":{"name":"## uni.offLocationChangeError(callback) @offlocationchangeerror","description":"取消注册位置更新错误回调。\n","compatibility":"### offLocationChangeError 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| any |\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.location.offLocationChangeError)\n - [参见uni-app相关文档](https://uniapp.dcloud.io/api/location/location-change.html#offlocationchangeerror)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=offLocationChangeError&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=offLocationChangeError&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=offLocationChangeError&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=offLocationChangeError&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=offLocationChangeError&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=offLocationChangeError)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=offLocationChangeError&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"startLocationUpdate":{"name":"## uni.startLocationUpdate(options) @startlocationupdate","description":"开启小程序进入前台时接收位置消息。\n","compatibility":"### startLocationUpdate 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **StartLocationUpdateOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| type | string | 否 | - | - | 指定坐标系类型,可以是 wgs84 或 gcj02 |\n@| success | (result: [StartLocationUpdateSuccess](#startlocationupdatesuccess-values)) => void | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (result: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### StartLocationUpdateSuccess 的属性值 @startlocationupdatesuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| name | string | 是 | - | - | 位置名称 |\n| address | string | 是 | - | - | 详细地址 |\n| latitude | number | 是 | - | - | 纬度,浮点数,范围为-90~90,负数表示南纬 |\n| longitude | number | 是 | - | - | 经度,范围为-180~180,负数表示西经 |\n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| any |\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.location.startLocationUpdate)\n - [参见uni-app相关文档](https://uniapp.dcloud.io/api/location/location-change.html#startLocationUpdate)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=startLocationUpdate&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=startLocationUpdate&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=startLocationUpdate&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=startLocationUpdate&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=startLocationUpdate&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=startLocationUpdate)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=startLocationUpdate&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"stopLocationUpdate":{"name":"## uni.stopLocationUpdate(options) @stoplocationupdate","description":"关闭监听实时位置变化,前后台都停止消息接收。\n","compatibility":"### stopLocationUpdate 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | x | x |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | any | 是 | - | - | - | \n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| any |\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.location.stopLocationUpdate)\n - [参见uni-app相关文档](https://uniapp.dcloud.io/api/location/location-change.html#stoplocationupdate)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=stopLocationUpdate&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=stopLocationUpdate&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=stopLocationUpdate&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=stopLocationUpdate&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=stopLocationUpdate&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=stopLocationUpdate)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=stopLocationUpdate&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"getStorageInfo":{"name":"## uni.getStorageInfo(options) @getstorageinfo","description":"uni.getStorageInfo函数定义\n异步获取当前 storage 的相关信息。\n","compatibility":"### getStorageInfo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **GetStorageInfoOptions** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (res: [GetStorageInfoSuccess](#getstorageinfosuccess-values)) => void | 否 | - | - | uni.getStorageInfo成功回调函数定义 |\n@| fail | (res: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | - | - | uni.getStorageInfo失败回调函数定义 |\n@| complete | (res: any) => void | 否 | - | - | uni.getStorageInfo完成回调函数定义 | \n\n#### GetStorageInfoSuccess 的属性值 @getstorageinfosuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| keys | Array\\ | 是 | - | - | 当前 storage 中所有的 key |\n| currentSize | number | 是 | - | - | 当前占用的空间大小, 单位:kb |\n| limitSize | number | 是 | - | - | 限制的空间大小, 单位:kb |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.storage.storage.getStorageInfo)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/storage/storage.html#getstorageinfo)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getStorageInfo&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getStorageInfo&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getStorageInfo&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getStorageInfo&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getStorageInfo&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getStorageInfo)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getStorageInfo&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"getStorageInfoSync":{"name":"## uni.getStorageInfoSync() @getstorageinfosync","description":"uni.getStorageInfoSync函数定义\n同步获取当前 storage 的相关信息。\n","compatibility":"### getStorageInfoSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n","param":"","returnValue":"### 返回值 \n\n| 类型 | 描述 |\n| :- | :- |\n| **GetStorageInfoSuccess** | uni.getStorageInfo成功回调参数 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| keys | Array\\ | 是 | - | - | 当前 storage 中所有的 key |\n@| currentSize | number | 是 | - | - | 当前占用的空间大小, 单位:kb |\n@| limitSize | number | 是 | - | - | 限制的空间大小, 单位:kb | \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.storage.storage.getStorageInfoSync)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/storage/storage.html#getstorageinfosync)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getStorageInfoSync&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getStorageInfoSync&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getStorageInfoSync&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getStorageInfoSync&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getStorageInfoSync&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getStorageInfoSync)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getStorageInfoSync&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"getStorage":{"name":"## uni.getStorage(options) @getstorage","description":"uni.getStorage函数定义\n从本地存储中异步获取指定 key 对应的内容。\n","compatibility":"### getStorage 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **GetStorageOptions** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| key | string | 是 | - | - | 本地存储中的指定的 key |\n@| success | (res: [GetStorageSuccess](#getstoragesuccess-values)) => void | 否 | - | - | uni.getStorage成功回调函数定义 |\n@| fail | (res: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | - | - | uni.getStorage失败回调函数定义 |\n@| complete | (res: any) => void | 否 | - | - | uni.getStorage完成回调函数定义 | \n\n#### GetStorageSuccess 的属性值 @getstoragesuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| data | any | 否 | - | - | key 对应的内容 |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.storage.storage.getStorage)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/storage/storage.html#getstorage)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getStorage&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getStorage&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getStorage&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getStorage&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getStorage&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getStorage)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getStorage&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"getStorageSync":{"name":"## uni.getStorageSync(key) @getstoragesync","description":"uni.getStorageSync函数定义\n从本地存储中同步获取指定 key 对应的内容。\n","compatibility":"### getStorageSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | 本地存储中的指定的 key | \n","returnValue":"### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| any | 否 |\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.storage.storage.getStorageSync)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/storage/storage.html#getstoragesync)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getStorageSync&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getStorageSync&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getStorageSync&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getStorageSync&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getStorageSync&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getStorageSync)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getStorageSync&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"setStorage":{"name":"## uni.setStorage(options) @setstorage","description":"uni.setStorage函数定义\n将数据存储在本地storage存储中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个异步接口。\n","compatibility":"### setStorage 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **SetStorageOptions** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| key | string | 是 | - | - | 本地存储中的指定的 key |\n@| data | any | 是 | - | - | 需要存储的内容,只支持能通过 JSON.stringify 序列化的对象 |\n@| success | (res: SetStorageSuccess) => void | 否 | - | - | uni.setStorage成功回调函数定义 |\n@| fail | (res: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | - | - | uni.setStorage失败回调函数定义 |\n@| complete | (res: any) => void | 否 | - | - | uni.setStorage完成回调函数定义 | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.storage.storage.setStorage)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/storage/storage.html#setstorage)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=setStorage&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=setStorage&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=setStorage&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=setStorage&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=setStorage&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=setStorage)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=setStorage&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"setStorageSync":{"name":"## uni.setStorageSync(key, data) @setstoragesync","description":"uni.setStorageSync函数定义\n将 data 存储在本地storage存储中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个同步接口。\n","compatibility":"### setStorageSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | 本地storage存储中的指定的 key |\n| data | any | 是 | - | - | 需要存储的内容,只支持能通过 JSON.stringify 序列化的对象 | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.storage.storage.setStorageSync)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/storage/storage.html#setstoragesync)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=setStorageSync&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=setStorageSync&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=setStorageSync&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=setStorageSync&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=setStorageSync&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=setStorageSync)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=setStorageSync&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"removeStorage":{"name":"## uni.removeStorage(options) @removestorage","description":"uni.removeStorage函数定义\n从本地存储中异步移除指定 key。\n","compatibility":"### removeStorage 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **RemoveStorageOptions** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| key | string | 是 | - | - | 本地存储中的指定的 key |\n@| success | (res: RemoveStorageSuccess) => void | 否 | - | - | uni.removeStorage成功回调函数定义 |\n@| fail | (res: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | - | - | uni.removeStorage失败回调函数定义 |\n@| complete | (res: any) => void | 否 | - | - | uni.removeStorage完成回调函数定义 | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.storage.storage.removeStorage)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/storage/storage.html#removestorage)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=removeStorage&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=removeStorage&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=removeStorage&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=removeStorage&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=removeStorage&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=removeStorage)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=removeStorage&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"removeStorageSync":{"name":"## uni.removeStorageSync(key) @removestoragesync","description":"uni.removeStorageSync函数定义\n从本地存储中同步移除指定 key。\n","compatibility":"### removeStorageSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | 本地存储中的指定的 key | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.storage.storage.removeStorageSync)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/storage/storage.html#removestoragesync)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=removeStorageSync&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=removeStorageSync&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=removeStorageSync&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=removeStorageSync&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=removeStorageSync&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=removeStorageSync)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=removeStorageSync&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"clearStorage":{"name":"## uni.clearStorage(option?) @clearstorage","description":"uni.clearStorage函数定义\n清除本地数据存储。\n","compatibility":"### clearStorage 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| option | **ClearStorageOptions** | 否 | - | - | uni.removeStorage参数定义 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (res: ClearStorageSuccess) => void | 否 | - | - | uni.clearStorage 成功回调函数定义 |\n@| fail | (res: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | - | - | uni.clearStorage 失败回调函数定义 |\n@| complete | (res: any) => void | 否 | - | - | uni.clearStorage 完成回调函数定义 | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.storage.storage.clearStorage)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/storage/storage.html#clearstorage)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=clearStorage&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=clearStorage&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=clearStorage&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=clearStorage&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=clearStorage&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=clearStorage)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=clearStorage&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"clearStorageSync":{"name":"## uni.clearStorageSync() @clearstoragesync","description":"uni.clearStorageSync函数定义\n清除本地数据存储。\n","compatibility":"### clearStorageSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n","param":"","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.storage.storage.clearStorageSync)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/storage/storage.html#clearstoragesync)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=clearStorageSync&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=clearStorageSync&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=clearStorageSync&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=clearStorageSync&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=clearStorageSync&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=clearStorageSync)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=clearStorageSync&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"storage":{"example":"## 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/storage/storage.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/storage/storage\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/storage/storage\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n title: 'get/set/clearStorage',\r\n key: '',\r\n data: '' as any,\r\n apiGetData: '' as any | null,\r\n storageInfo: '',\r\n staticComplexRet: false,\n jest_saveUTSJSONObjectSyncResult: 0,\n jest_saveUTSJSONObjectAsyncResult: 0\r\n }\r\n },\r\n methods: {\r\n getStorageInfo() {\r\n uni.getStorageInfo({\r\n success: (res) => {\r\n this.apiGetData = res\r\n this.storageInfo = JSON.stringify(res)\r\n },\r\n })\r\n },\r\n getStorageInfoSync() {\r\n try {\r\n const res = uni.getStorageInfoSync()\r\n this.apiGetData = res\r\n this.storageInfo = JSON.stringify(res)\r\n } catch (e) {\r\n // error\r\n console.log(e)\r\n }\r\n },\r\n jsonLikeMock() {\r\n this.key = 'key_' + Math.random()\r\n this.data = JSON.stringify({\r\n name: \"james\",\r\n age: 12,\r\n from: \"american\"\r\n });\r\n\r\n },\r\n longLikeMock() {\r\n this.key = 'key_' + Math.random()\r\n this.data = \"1234567890\"\r\n },\r\n floatLikeMock() {\r\n this.key = 'key_' + Math.random()\r\n this.data = \"321456.1234567890\"\r\n },\r\n negativeLikeMock() {\r\n this.key = 'key_' + Math.random()\r\n this.data = \"-321456\"\r\n },\r\n strMock() {\r\n this.key = 'key_' + Math.random()\r\n this.data = '测试字符串数据,长度为16个字符'\r\n },\r\n complexStaticTest() {\r\n uni.setStorageSync(\"key_complexStaticMock\", {\r\n name: \"张三\",\r\n age: 12\r\n })\r\n let savedData = uni.getStorageSync(\"key_complexStaticMock\")\r\n this.staticComplexRet = false\r\n if (savedData instanceof UTSJSONObject) {\r\n if ((savedData as UTSJSONObject).getNumber('age') == 12) {\r\n this.staticComplexRet = true\r\n uni.showToast({\r\n icon: 'success',\r\n title: '测试通过'\r\n })\r\n }\r\n }\r\n },\r\n complexMock() {\r\n this.key = 'key_' + Math.random()\r\n let jsonObj = {\r\n name: '张三',\r\n age: 12,\r\n classMate: [\r\n {\r\n id: 1001,\r\n name: '李四',\r\n },\r\n {\r\n id: 1002,\r\n name: 'jack ma',\r\n },\r\n ],\r\n }\r\n this.data = jsonObj\r\n },\r\n numberMock() {\r\n this.key = 'key_' + Math.random()\r\n this.data = 10011\r\n },\r\n floatMock() {\r\n this.key = 'key_' + Math.random()\r\n this.data = 3.1415926535893384626\r\n },\r\n\r\n keyChange: function (e : InputEvent) {\r\n this.key = e.detail.value\r\n },\r\n dataChange: function (e : InputEvent) {\r\n this.data = e.detail.value\r\n },\r\n getStorage: function () {\r\n var key = this.key\r\n if (key.length == 0) {\r\n uni.showModal({\r\n title: '读取数据失败',\r\n content: 'key 不能为空',\r\n showCancel: false,\r\n })\r\n } else {\r\n let that = this\r\n uni.getStorage({\r\n key: key,\r\n success: (res) => {\r\n\r\n that.apiGetData = res.data\r\n let desc : string = typeof this.apiGetData\r\n if (\"object\" == desc) {\r\n desc = desc + \": \" + JSON.stringify(this.apiGetData)\r\n } else {\r\n desc = desc + \": \" + this.apiGetData\r\n }\r\n\r\n uni.showModal({\r\n title: '读取数据成功',\r\n content: desc,\r\n showCancel: false,\r\n })\r\n },\r\n fail: () => {\r\n uni.showModal({\r\n title: '读取数据失败',\r\n content: '找不到 key 对应的数据',\r\n showCancel: false,\r\n })\r\n },\r\n })\r\n }\r\n },\r\n getStorageSync: function () {\r\n var key = this.key\r\n if (key.length == 0) {\r\n uni.showModal({\r\n title: '读取数据失败',\r\n content: 'key 不能为空',\r\n showCancel: false,\r\n })\r\n } else {\r\n this.apiGetData = uni.getStorageSync(key)\r\n\r\n let desc : string = typeof this.apiGetData\r\n if (\"object\" == desc) {\r\n desc = desc + \": \" + JSON.stringify(this.apiGetData)\r\n } else {\r\n desc = desc + \": \" + this.apiGetData\r\n }\r\n\r\n uni.showModal({\r\n title: '读取数据成功',\r\n content: desc,\r\n showCancel: false,\r\n })\r\n }\r\n },\r\n setStorage: function () {\r\n var key = this.key\r\n var data = this.data\r\n if (key.length == 0) {\r\n uni.showModal({\r\n title: '保存数据失败',\r\n content: 'key 不能为空',\r\n showCancel: false,\r\n })\r\n } else {\r\n uni.setStorage({\r\n key: key,\r\n data: data,\r\n success: () => {\r\n uni.showModal({\r\n title: '存储数据成功',\r\n showCancel: false,\r\n })\r\n },\r\n fail: () => {\r\n uni.showModal({\r\n title: '储存数据失败!',\r\n showCancel: false,\r\n })\r\n },\r\n })\r\n }\r\n },\r\n setStorageSync: function () {\r\n var key = this.key\r\n var data = this.data\r\n if (key.length == 0) {\r\n uni.showModal({\r\n title: '保存数据失败',\r\n content: 'key 不能为空',\r\n showCancel: false,\r\n })\r\n } else {\r\n uni.setStorageSync(key, data)\r\n uni.showModal({\r\n title: '存储数据成功',\r\n showCancel: false,\r\n })\r\n }\r\n },\r\n removeStorage: function () {\r\n uni.removeStorage({\r\n key: this.key,\r\n success: () => {\r\n uni.showModal({\r\n title: '移除数据成功',\r\n showCancel: false,\r\n })\r\n },\r\n fail: () => {\r\n uni.showModal({\r\n title: '移除数据失败',\r\n showCancel: false,\r\n })\r\n },\r\n })\r\n },\r\n removeStorageSync: function () {\r\n uni.removeStorageSync(this.key)\r\n uni.showModal({\r\n title: '移除数据成功',\r\n showCancel: false,\r\n })\r\n },\r\n clearStorage: function () {\r\n this.key = ''\r\n this.data = ''\r\n uni.clearStorage({\r\n success: function (_) {\r\n uni.showModal({\r\n title: '清除数据成功',\r\n showCancel: false,\r\n })\r\n },\r\n fail: function (_) {\r\n uni.showModal({\r\n title: '清除数据失败',\r\n showCancel: false,\r\n })\r\n },\r\n })\r\n },\r\n clearStorageSync: function () {\r\n this.key = ''\r\n this.data = ''\r\n uni.clearStorageSync()\r\n uni.showModal({\r\n title: '清除数据成功',\r\n content: ' ',\r\n showCancel: false,\r\n })\r\n },\n jest_saveUTSJSONObject: function () {\n const key = 'test_key_saveUTSJSONObject'\n uni.setStorageSync(key, {\n a: {\n b: 1\n }\n })\n const dataSync = uni.getStorageSync(key) as UTSJSONObject\n const dataSyncA = dataSync['a'] as UTSJSONObject\n this.jest_saveUTSJSONObjectSyncResult = dataSyncA.get('b') as number\n uni.getStorage({\n key,\n success: (res) => {\n const dataAsync = res.data as UTSJSONObject\n const dataAsyncA = dataAsync['a'] as UTSJSONObject\n this.jest_saveUTSJSONObjectAsyncResult = dataAsyncA.get('b') as number\n console.log('this.jest_saveUTSJSONObjectSyncResult: ' + this.jest_saveUTSJSONObjectSyncResult)\n console.log('this.jest_saveUTSJSONObjectAsyncResult: ' + this.jest_saveUTSJSONObjectAsyncResult)\n }\n })\n }\r\n },\r\n }\r\n\n```\n\n:::"},"getFileSystemManager":{"name":"## uni.getFileSystemManager() @getfilesystemmanager","description":"获取文件管理器","compatibility":"### getFileSystemManager 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9.0 | 4.11 |\n","param":"","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| [FileSystemManager](#filesystemmanager-values) |\n\n#### FileSystemManager 的方法 @filesystemmanager-values \n\n#### readFile(options: ReadFileOptions): void; @readfile\n读取本地文件内容\n##### readFile 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9.0 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **ReadFileOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| encoding | string | 否 | - | - | base64 / utf-8,指定读取文件的字符编码,4.31及以后版本Android平台如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容 |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| base64 | - | - |\n@@| utf-8 | - | - |\n@| filePath | [string.URIString](/uts/data-type.md#ide-string) | 是 | - | - | 文件路径,支持相对地址和绝对地址,app-android平台支持代码包文件目录 |\n@| success | (res: [ReadFileSuccessResult](#readfilesuccessresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 通用的错误返回结果回调 |\n@| complete | (res: any) => void | 否 | - | - | 通用的结束返回结果回调 | \n\n###### ReadFileSuccessResult 的属性值 @readfilesuccessresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| data | any | 是 | - | | 读取的内容,类型为 String 或 ArrayBuffer,在4.31以前类型是string,4.31起为了同时支持arraybuffer,类型改成了any,请在使用时手动as为指定类型 |\n\n###### IFileSystemManagerFail 的属性值 @ifilesystemmanagerfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | - |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n\n#### readFileSync(filePath: string, encoding?: string): any; @readfilesync\nFileSystemManager.readFile 的同步版本参数\n##### readFileSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| filePath | string | 是 | - | - | 文件路径,支持相对地址和绝对地址,app-android平台支持代码包文件目录 |\n| encoding | string | 否 | - | - | base64 / utf-8,指定读取文件的字符编码,4.31及以后版本如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容 | \n\n##### 返回值 \n\n| 类型 |\n| :- |\n| any |\n \n\n#### writeFile(options: WriteFileOptions): void; @writefile\n写文件\n##### writeFile 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9.0 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **WriteFileOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| filePath | [string.URIString](/uts/data-type.md#ide-string) | 是 | - | - | 文件路径,只支持绝对地址 |\n@| encoding | string | 否 | - | - | 指定写入文件的字符编码
支持:ascii base64 utf-8 ,只在 data 类型是 String 时有效 |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| ascii | - | - |\n@@| base64 | - | - |\n@@| utf-8 | - | - |\n@| data | any | 是 | - | | 写入的内容,类型为 String 或 ArrayBuffer,在4.31以前类型是string,4.31起为了同时支持arraybuffer,类型改成了any |\n@| success | (res: [FileManagerSuccessResult](#filemanagersuccessresult-values)) => void | 否 | - | - | 通用的正确返回结果回调 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n###### FileManagerSuccessResult 的属性值 @filemanagersuccessresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n\n\n#### read(option: ReadOption): void; @read\n读文件\n##### read 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.31 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| option | **ReadOption** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| arrayBuffer | ArrayBuffer | 是 | - | - | 数据写入的缓冲区,必须是 ArrayBuffer 实例 |\n@| fd | string | 是 | - | - | 文件描述符。fd 通过 FileSystemManager.open 或 FileSystemManager.openSync 接口获得 |\n@| length | number | 否 | - | - | 要从文件中读取的字节数,默认0 |\n@| offset | number | 否 | - | - | 缓冲区中的写入偏移量,默认0 |\n@| position | number | 否 | - | - | 文件读取的起始位置,如不传或传 null,则会从当前文件指针的位置读取。如果 position 是正整数,则文件指针位置会保持不变并从 position 读取文件。 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| success | (result: [ReadSuccessCallbackResult](#readsuccesscallbackresult-values)) => void | 否 | - | - | 接口调用成功的回调函数 | \n\n###### ReadSuccessCallbackResult 的属性值 @readsuccesscallbackresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| arrayBuffer | ArrayBuffer | 是 | - | | 被写入的缓存区的对象,即接口入参的 arrayBuffer |\n| bytesRead | number | 是 | - | - | 实际读取的字节数 |\n| errMsg | string | 是 | - | - | - |\n\n\n#### readSync(option: ReadSyncOption): ReadResult; @readsync\n读文件\n##### readSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.31 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| option | **ReadSyncOption** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| arrayBuffer | ArrayBuffer | 是 | - | | 数据写入的缓冲区,必须是 ArrayBuffer 实例 |\n@| fd | string | 是 | - | - | 文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) 接口获得 |\n@| length | number | 否 | - | - | 要从文件中读取的字节数,默认0 |\n@| offset | number | 否 | - | - | 缓冲区中的写入偏移量,默认0 |\n@| position | number | 否 | - | - | 文件读取的起始位置,如不传或传 null,则会从当前文件指针的位置读取。如果 position 是正整数,则文件指针位置会保持不变并从 position 读取文件。 | \n\n##### 返回值 \n\n| 类型 |\n| :- |\n| **ReadResult** |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| arrayBuffer | ArrayBuffer | 是 | - | | 被写入的缓存区的对象,即接口入参的 arrayBuffer |\n@| bytesRead | number | 是 | - | - | 实际读取的字节数 | \n\n#### writeFileSync(filePath: string, data: any, encoding?: string): void; @writefilesync\nFileSystemManager.writeFile 的同步版本\n##### writeFileSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| filePath | string | 是 | - | - | 文件路径,只支持绝对地址 |\n| data | any | 是 | - | - | 要写入的文本或二进制数据,4.31及以后版本支持ArrayBuffer |\n| encoding | string | 否 | - | - | 指定写入文件的字符编码,支持:ascii base64 utf-8,只在 data 类型是 String 时有效 | \n\n\n#### unlink(options: UnLinkOptions): void; @unlink\n删除文件\n##### unlink 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9.0 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **UnLinkOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| filePath | [string.URIString](/uts/data-type.md#ide-string) | 是 | - | - | 文件路径,只支持绝对地址 |\n@| success | (res: [FileManagerSuccessResult](#filemanagersuccessresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n\n#### unlinkSync(filePath: string): void; @unlinksync\nFileSystemManager.unlink 的同步版本\n##### unlinkSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| filePath | string | 是 | - | - | 文件路径,只支持绝对地址 | \n\n\n#### mkdir(options: MkDirOptions): void; @mkdir\n创建目录\n##### mkdir 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9.0 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **MkDirOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| dirPath | [string.URIString](/uts/data-type.md#ide-string) | 是 | - | - | 创建的目录路径 (本地路径) |\n@| recursive | boolean | 是 | - | - | 是否在递归创建该目录的上级目录后再创建该目录。如果对应的上级目录已经存在,则不创建该上级目录。如 dirPath 为 a/b/c/d 且 recursive 为 true,将创建 a 目录,再在 a 目录下创建 b 目录,以此类推直至创建 a/b/c 目录下的 d 目录。 |\n@| success | (res: [FileManagerSuccessResult](#filemanagersuccessresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n\n#### mkdirSync(dirPath: string, recursive: boolean): void; @mkdirsync\nFileSystemManager.mkdir 的同步版本\n##### mkdirSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| dirPath | string | 是 | - | - | 创建的目录路径 (本地路径) |\n| recursive | boolean | 是 | - | - | 是否在递归创建该目录的上级目录后再创建该目录。如果对应的上级目录已经存在,则不创建该上级目录。如 dirPath 为 a/b/c/d 且 recursive 为 true,将创建 a 目录,再在 a 目录下创建 b 目录,以此类推直至创建 a/b/c 目录下的 d 目录。 | \n\n\n#### rmdir(options: RmDirOptions): void; @rmdir\n删除目录\n##### rmdir 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9.0 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **RmDirOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| dirPath | [string.URIString](/uts/data-type.md#ide-string) | 是 | - | - | 要删除的目录路径 (本地路径) |\n@| recursive | boolean | 是 | - | - | 是否递归删除目录。如果为 true,则删除该目录和该目录下的所有子目录以及文件。 |\n@| success | (res: [FileManagerSuccessResult](#filemanagersuccessresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n\n#### rmdirSync(dirPath: string, recursive: boolean): void; @rmdirsync\nFileSystemManager.rmdir 的同步版本\n##### rmdirSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| dirPath | string | 是 | - | - | 要删除的目录路径 (本地路径) |\n| recursive | boolean | 是 | - | - | 是否递归删除目录。如果为 true,则删除该目录和该目录下的所有子目录以及文件。 | \n\n\n#### readdir(options: ReadDirOptions): void; @readdir\n读取目录内文件列表\n##### readdir 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9.0 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **ReadDirOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| dirPath | [string.URIString](/uts/data-type.md#ide-string) | 是 | - | - | 要读取的目录路径 (本地路径) |\n@| success | (res: [ReadDirSuccessResult](#readdirsuccessresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n###### ReadDirSuccessResult 的属性值 @readdirsuccessresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| files | Array\\ | 是 | - | - | - |\n\n\n#### readdirSync(dirPath: string): string[] \\| null; @readdirsync\nFileSystemManager.readdir 的同步版本\n##### readdirSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| dirPath | string | 是 | - | - | 要读取的目录路径 (本地路径) | \n\n##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Array\\ | 否 |\n \n\n#### access(options: AccessOptions): void; @access\n判断文件/目录是否存在\n##### access 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9.0 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **AccessOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| path | [string.URIString](/uts/data-type.md#ide-string) | 是 | - | - | 要判断是否存在的文件/目录路径 (本地路径) |\n@| success | (res: [FileManagerSuccessResult](#filemanagersuccessresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n\n#### accessSync(path: string): void; @accesssync\nFileSystemManager.access 的同步版本\n##### accessSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| path | string | 是 | - | - | 要判断是否存在的文件/目录路径 (本地路径) | \n\n\n#### rename(options: RenameOptions): void; @rename\n重命名文件。可以把文件从 oldPath 移动到 newPath\n##### rename 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9.0 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **RenameOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| oldPath | [string.URIString](/uts/data-type.md#ide-string) | 是 | - | - | 源文件路径,支持本地路径 |\n@| newPath | [string.URIString](/uts/data-type.md#ide-string) | 是 | - | - | 新文件路径,支持本地路径 |\n@| success | (res: [FileManagerSuccessResult](#filemanagersuccessresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n\n#### renameSync(oldPath: string, newPath: string): void; @renamesync\nFileSystemManager.rename 的同步版本\n##### renameSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| oldPath | string | 是 | - | - | 源文件路径,支持本地路径 |\n| newPath | string | 是 | - | - | 新文件路径,支持本地路径 | \n\n\n#### copyFile(options: CopyFileOptions): void; @copyfile\n复制文件\n##### copyFile 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9.0 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **CopyFileOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| srcPath | [string.URIString](/uts/data-type.md#ide-string) | 是 | - | - | 源文件路径,支持本地路径 |\n@| destPath | [string.URIString](/uts/data-type.md#ide-string) | 是 | - | - | 新文件路径,支持本地路径 |\n@| success | (res: [FileManagerSuccessResult](#filemanagersuccessresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n\n#### copyFileSync(srcPath: string, destPath: string): void; @copyfilesync\nFileSystemManager.copyFile 的同步版本\n##### copyFileSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| srcPath | string | 是 | - | - | 源文件路径,支持本地路径 |\n| destPath | string | 是 | - | - | 新文件路径,支持本地路径 | \n\n\n#### getFileInfo(options: GetFileInfoOptions): void; @getfileinfo\n获取该本地临时文件 或 本地缓存文件 信息\n##### getFileInfo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9.0 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **GetFileInfoOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| filePath | [string.URIString](/uts/data-type.md#ide-string) | 是 | - | - | 要读取的文件路径 (本地路径) |\n@| digestAlgorithm | string | 否 | - | - | md5 / sha1 |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| md5 | - | - |\n@@| sha1 | - | - |\n@| success | (res: [GetFileInfoSuccessResult](#getfileinfosuccessresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n###### GetFileInfoSuccessResult 的属性值 @getfileinfosuccessresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| digest | string | 是 | - | - | - |\n| size | number | 是 | - | - | - |\n| errMsg | string | 是 | - | - | - |\n\n\n#### stat(options: StatOptions): void; @stat\n获取文件 Stats 对象\n##### stat 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9.0 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **StatOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| path | [string.URIString](/uts/data-type.md#ide-string) | 是 | - | - | 文件/目录路径 (本地路径) |\n@| recursive | boolean | 是 | - | - | 是否递归获取目录下的每个文件的 Stats 信息 |\n@| success | (res: [StatSuccessResult](#statsuccessresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n###### StatSuccessResult 的属性值 @statsuccessresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n| stats | Array\\<[FileStats](#filestats-values)\\> | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| path | string | 是 | - | - | - |\n@| stats | [Stats](#stats-values) | 是 | - | - | - |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| mode | number | 是 | - | - | 文件的类型和存取的权限,对应 POSIX stat.st_mode
注意android中,文件类型只包含是否是目录与文件,
另外在android中这里的权限指的是当前进程对文件或者文件夹是否有读,写,执行的权限,
这里没有与 POSIX stat.st_mode对应的组,其他人等相关权限的数据返回,只有所有者的相关权限 |\n@@| size | number | 是 | - | - | 文件大小,单位:B,对应 POSIX stat.st_size |\n@@| lastAccessedTime | number | 是 | - | - | 文件最近一次被存取或被执行的时间,UNIX 时间戳,对应 POSIX stat.st_atime
注意:android中由于系统限制无法获取该数据 |\n@@| lastModifiedTime | number | 是 | - | - | 文件最后一次被修改的时间,UNIX 时间戳,对应 POSIX stat.st_mtime |\n\n###### Stats 的方法 @stats-values \n\n###### isDirectory(): boolean; @isdirectory\n判断当前文件是否一个目录\n###### isDirectory 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n\n###### 返回值 \n\n| 类型 |\n| :- |\n| boolean |\n \n\n###### isFile(): boolean; @isfile\n判断当前文件是否一个普通文件\n###### isFile 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n\n\n###### 返回值 \n\n| 类型 |\n| :- |\n| boolean |\n \n\n\n#### statSync(path: string, recursive: boolean): FileStats[]; @statsync\nFileSystemManager.stat 的同步版本\n##### statSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| path | string | 是 | - | - | 文件/目录路径 (本地路径) |\n| recursive | boolean | 是 | - | - | 是否递归获取目录下的每个文件的 Stats 信息 | \n\n##### 返回值 \n\n| 类型 |\n| :- |\n| Array\\<[FileStats](#filestats-values)\\> |\n \n\n#### appendFile(options: AppendFileOptions): void; @appendfile\n在文件结尾追加内容\n##### appendFile 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **AppendFileOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| filePath | [string.URIString](/uts/data-type.md#ide-string) | 是 | - | - | 要追加内容的文件路径 (本地路径) |\n@| encoding | string | 否 | - | - | 指定写入文件的字符编码
支持:ascii base64 utf-8
只在 data 类型是 String 时有效 |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| ascii | - | - |\n@@| base64 | - | - |\n@@| utf-8 | - | - |\n@| data | any | 是 | - | | 要追加的文本或二进制数据,类型为 String 或 ArrayBuffer,在4.31以前类型是string,4.31起为了同时支持arraybuffer,类型改成了any |\n@| success | (res: [FileManagerSuccessResult](#filemanagersuccessresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n\n#### appendFileSync(filePath: string, data: any, encoding?: string): void; @appendfilesync\nFileSystemManager.appendFile 的同步版本\n##### appendFileSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| filePath | string | 是 | - | - | 要追加内容的文件路径 (本地路径) |\n| data | any | 是 | - | - | 要追加的文本或二进制数据,类型为 String 或 ArrayBuffer,在4.31以前类型是string,4.31起为了同时支持arraybuffer,类型改成了any |\n| encoding | string | 否 | - | - | 指定写入文件的字符编码支持:ascii base64 utf-8,只在 data 类型是 String 时有效 | \n\n\n#### saveFile(options: SaveFileOptions): void; @savefile\n保存临时文件到本地。此接口会移动临时文件,因此调用成功后,tempFilePath 将不可用。\n##### saveFile 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **SaveFileOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| tempFilePath | [string.URIString](/uts/data-type.md#ide-string) | 是 | - | - | 临时存储文件路径 (本地路径) |\n@| filePath | [string.URIString](/uts/data-type.md#ide-string) | 否 | - | - | 要存储的文件路径 (本地路径) |\n@| success | (res: [SaveFileSuccessResult](#savefilesuccessresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n###### SaveFileSuccessResult 的属性值 @savefilesuccessresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| savedFilePath | string | 是 | - | - | 存储后的文件路径 (本地路径) |\n\n\n#### saveFileSync(tempFilePath: string, filePath: string \\| null): string; @savefilesync\nFileSystemManager.saveFile 的同步版本\n##### saveFileSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| tempFilePath | string | 是 | - | - | 临时存储文件路径 (本地路径) |\n| filePath | string | 否 | - | - | 要存储的文件路径 (本地路径) | \n\n##### 返回值 \n\n| 类型 |\n| :- |\n| string |\n \n\n#### removeSavedFile(options: RemoveSavedFileOptions): void; @removesavedfile\n删除该小程序下已保存的本地缓存文件\n##### removeSavedFile 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **RemoveSavedFileOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| filePath | [string.URIString](/uts/data-type.md#ide-string) | 是 | - | - | 需要删除的文件路径 (本地路径) |\n@| success | (res: [FileManagerSuccessResult](#filemanagersuccessresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n\n#### unzip(options: UnzipFileOptions): void; @unzip\n解压文件\n##### unzip 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **UnzipFileOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| zipFilePath | string | 是 | - | - | 源文件路径,支持本地路径, 只可以是 zip 压缩文件 |\n@| targetPath | string | 是 | - | - | 目标目录路径, 支持本地路径 |\n@| success | (res: [FileManagerSuccessResult](#filemanagersuccessresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n\n#### getSavedFileList(options: GetSavedFileListOptions): void; @getsavedfilelist\n获取该已保存的本地缓存文件列表\n##### getSavedFileList 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **GetSavedFileListOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (res: [GetSavedFileListResult](#getsavedfilelistresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n###### GetSavedFileListResult 的属性值 @getsavedfilelistresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| fileList | Array\\ | 是 | - | - | - |\n\n\n#### truncate(options: TruncateFileOptions): void; @truncate\n对文件内容进行截断操作\n##### truncate 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **TruncateFileOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| filePath | [string.URIString](/uts/data-type.md#ide-string) | 是 | - | - | 要截断的文件路径 (本地路径) |\n@| length | number | 是 | - | - | 截断位置,默认0。如果 length 小于文件长度(字节),则只有前面 length 个字节会保留在文件中,其余内容会被删除;
如果 length 大于文件长度,不做处理 |\n@| success | (res: [FileManagerSuccessResult](#filemanagersuccessresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n\n#### truncateSync(filePath: string, length?: number): void; @truncatesync\n对文件内容进行截断操作 (truncate 的同步版本)\n##### truncateSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| filePath | string | 是 | - | - | 要截断的文件路径 (本地路径) |\n| length | number | 否 | - | - | 截断位置,默认0。如果 length 小于文件长度(字节),则只有前面 length 个字节会保留在文件中,其余内容会被删除;如果 length 大于文件长度,不做处理 | \n\n\n#### readCompressedFile(options: ReadCompressedFileOptions): void; @readcompressedfile\n读取指定压缩类型的本地文件内容\n##### readCompressedFile 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **ReadCompressedFileOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| filePath | [string.URIString](/uts/data-type.md#ide-string) | 是 | - | - | 要读取的文件的路径 (本地用户文件或代码包文件),app-android平台支持代码包文件目录 |\n@| compressionAlgorithm | string | 是 | - | - | 文件压缩类型,目前仅支持 'br'。 |\n@| success | (res: [ReadCompressedFileResult](#readcompressedfileresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n###### ReadCompressedFileResult 的属性值 @readcompressedfileresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| data | string | 是 | - | - | - |\n\n\n#### readCompressedFileSync(filePath: string, compressionAlgorithm: string): string @readcompressedfilesync\n同步读取指定压缩类型的本地文件内容\n##### readCompressedFileSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| filePath | string | 是 | - | - | 要读取的文件的路径 (本地用户文件或代码包文件),app-android平台支持代码包文件目录 |\n| compressionAlgorithm | string | 是 | - | - | 文件压缩类型,目前仅支持 'br'。 | \n\n##### 返回值 \n\n| 类型 |\n| :- |\n| string |\n \n\n#### open(options: OpenFileOptions): void; @open\n打开文件,返回文件描述符\n##### open 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **OpenFileOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| filePath | [string.URIString](/uts/data-type.md#ide-string) | 是 | - | - | 要追加内容的文件路径 (本地路径) |\n@| flag | string | 是 | - | - | 文件系统标志,默认值: 'r' |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| a | - | - |\n@@| ax | - | - |\n@@| a+ | - | - |\n@@| ax+ | - | - |\n@@| r | - | - |\n@@| r+ | - | - |\n@@| w | - | - |\n@@| wx | - | - |\n@@| w+ | - | - |\n@@| wx | - | - |\n@@| wx+ | - | - |\n@| success | (res: [OpenFileSuccessResult](#openfilesuccessresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n###### OpenFileSuccessResult 的属性值 @openfilesuccessresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| fd | string | 是 | - | - | - |\n\n\n#### openSync(options: OpenFileSyncOptions): string; @opensync\n同步打开文件,返回文件描述符\n##### openSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **OpenFileSyncOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| filePath | [string.URIString](/uts/data-type.md#ide-string) | 是 | - | - | 要追加内容的文件路径 (本地路径) |\n@| flag | string | 是 | - | - | 文件系统标志,默认值: 'r' |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| a | - | - |\n@@| ax | - | - |\n@@| a+ | - | - |\n@@| ax+ | - | - |\n@@| r | - | - |\n@@| r+ | - | - |\n@@| w | - | - |\n@@| wx | - | - |\n@@| w+ | - | - |\n@@| wx | - | - |\n@@| wx+ | - | - | \n\n##### 返回值 \n\n| 类型 |\n| :- |\n| string |\n \n\n#### write(options: WriteOptions): void; @write\n写入文件\n##### write 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **WriteOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| fd | string | 是 | - | - | 文件描述符。fd 通过 FileSystemManager.open 或 FileSystemManager.openSync 接口获得 |\n@| data | any | 是 | - | | 写入的内容,类型为 String 或 ArrayBuffer,在4.31以前类型是string,4.31起为了同时支持arraybuffer,类型改成了any |\n@| offset | number | 否 | 0 | | 4.31及以后版本新增,只在 data 类型是 ArrayBuffer 时有效,决定 ArrayBuffer 中要被写入的部位,即 ArrayBuffer 中的索引,默认0 |\n@| length | number | 否 | - | | 4.31及以后版本新增,只在 data 类型是 ArrayBuffer 时有效,指定要写入的字节数,默认为 ArrayBuffer 从0开始偏移 offset 个字节后剩余的字节数 |\n@| position | number | 否 | - | | 4.31及以后版本新增,指定文件开头的偏移量,即数据要被写入的位置。当 position 不传或者传入非 Number 类型的值时,数据会被写入当前指针所在位置。 |\n@| encoding | string | 否 | - | - | 只在 data 类型是 String 时有效,指定写入文件的字符编码,默认为 utf8
支持:ascii base64 utf-8 |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| ascii | - | - |\n@@| base64 | - | - |\n@@| utf-8 | - | - |\n@| success | (res: [WriteResult](#writeresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n###### WriteResult 的属性值 @writeresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| bytesWritten | number | 是 | - | - | 实际被写入到文件中的字节数(注意,被写入的字节数不一定与被写入的字符串字符数相同) |\n| errMsg | string | 是 | - | - | - |\n\n\n#### writeSync(options: WriteSyncOptions): WriteResult; @writesync\n同步写入文件\n##### writeSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **WriteSyncOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| fd | string | 是 | - | - | 文件描述符。fd 通过 FileSystemManager.open 或 FileSystemManager.openSync 接口获得 |\n@| data | any | 是 | - | | 写入的内容,类型为 String 或 ArrayBuffer,在4.31以前类型是string,4.31起为了同时支持arraybuffer,类型改成了any |\n@| encoding | string | 否 | - | - | 只在 data 类型是 String 时有效,指定写入文件的字符编码,默认为 utf8
支持:ascii base64 utf-8 |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| ascii | - | - |\n@@| base64 | - | - |\n@@| utf-8 | - | - |\n@| length | number | 否 | - | | 只在 data 类型是 ArrayBuffer 时有效,指定要写入的字节数,默认为 arrayBuffer 从0开始偏移 offset 个字节后剩余的字节数 ,4.31及以后版本新增 |\n@| offset | number | 否 | - | | 只在 data 类型是 ArrayBuffer 时有效,决定 arrayBuffe 中要被写入的部位,即 arrayBuffer 中的索引,默认0,4.31及以后版本新增 |\n@| position | number | 否 | - | | 指定文件开头的偏移量,即数据要被写入的位置。当 position 不传或者传入非 Number 类型的值时,数据会被写入当前指针所在位置。4.31及以后版本新增 | \n\n##### 返回值 \n\n| 类型 |\n| :- |\n| [WriteResult](#writeresult-values) |\n \n\n#### close(options: CloseOptions): void; @close\n关闭文件\n##### close 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **CloseOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| fd | string | 是 | - | - | 需要被关闭的文件描述符。fd 通过 FileSystemManager.open 或 FileSystemManager.openSync 接口获得 |\n@| success | (res: [FileManagerSuccessResult](#filemanagersuccessresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n\n#### closeSync(options: CloseSyncOptions): void; @closesync\n同步关闭文件\n##### closeSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **CloseSyncOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| fd | string | 是 | - | - | 需要被关闭的文件描述符。fd 通过 FileSystemManager.open 或 FileSystemManager.openSync 接口获得 | \n\n\n#### fstat(options: FStatOptions): void; @fstat\n获取文件的状态信息\n##### fstat 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **FStatOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| fd | string | 是 | - | - | 文件描述符。fd 通过 FileSystemManager.open 或 FileSystemManager.openSync 接口获得 |\n@| success | (res: [FStatSuccessResult](#fstatsuccessresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n###### FStatSuccessResult 的属性值 @fstatsuccessresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| stats | [Stats](#stats-values) | 是 | - | - | Stats 对象,包含了文件的状态信息 |\n\n\n#### fstatSync(options: FStatSyncOptions): Stats; @fstatsync\n同步获取文件的状态信息\n##### fstatSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **FStatSyncOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| fd | string | 是 | - | - | 文件描述符。fd 通过 FileSystemManager.open 或 FileSystemManager.openSync 接口获得 | \n\n##### 返回值 \n\n| 类型 | 描述 |\n| :- | :- |\n| [Stats](#stats-values) | Stats 对象,包含了文件的状态信息 |\n \n\n#### ftruncate(options: FTruncateFileOptions): void; @ftruncate\n对文件内容进行截断操作\n##### ftruncate 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **FTruncateFileOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| fd | string | 是 | - | - | 文件描述符。fd 通过 FileSystemManager.open 或 FileSystemManager.openSync 接口获得 |\n@| length | number | 是 | - | - | 截断位置,默认0。如果 length 小于文件长度(字节),则只有前面 length 个字节会保留在文件中,其余内容会被删除;
如果 length 大于文件长度,不做处理 |\n@| success | (res: [FileManagerSuccessResult](#filemanagersuccessresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n\n#### ftruncateSync(options: FTruncateFileSyncOptions): void; @ftruncatesync\n同步对文件内容进行截断操作\n##### ftruncateSync 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **FTruncateFileSyncOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| fd | string | 是 | - | - | 文件描述符。fd 通过 FileSystemManager.open 或 FileSystemManager.openSync 接口获得 |\n@| length | number | 是 | - | - | 截断位置,默认0。如果 length 小于文件长度(字节),则只有前面 length 个字节会保留在文件中,其余内容会被删除;
如果 length 大于文件长度,不做处理 | \n\n\n#### readZipEntry(options: ReadZipEntryOptions): void; @readzipentry\n读取压缩包内的文件\n##### readZipEntry 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **ReadZipEntryOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| filePath | [string.URIString](/uts/data-type.md#ide-string) | 是 | - | - | 要读取的压缩包的路径 (本地路径),app-android平台支持代码包文件目录 |\n@| encoding | string | 否 | - | - | 统一指定读取文件的字符编码,只在 entries 值为\"all\"时有效。
4.31及以后版本如果 entries 值为 null 且不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容 |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| ascii | - | - |\n@@| base64 | - | - |\n@@| utf-8 | - | - |\n@| entries | Array\\<**EntryItem**\\> | 否 | - | - | 要读取的压缩包内的文件列表(当不传入时表示读取压缩包内所有文件) |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| path | string | 是 | - | - | 压缩包内文件路径 |\n@@| encoding | string | 否 | - | - | 指定写入文件的字符编码
支持:ascii base64 utf-8;4.31及以后版本如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容 |\n@@@| 合法值 | 兼容性 | 描述 |\n@@@| :- | :-: | :- |\n@@@| ascii | - | - |\n@@@| base64 | - | - |\n@@@| utf-8 | - | - |\n@| success | (res: [EntriesResult](#entriesresult-values)) => void | 否 | - | - | 接口调用的回调函数 |\n@| fail | (res: [IFileSystemManagerFail](#ifilesystemmanagerfail-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n###### EntriesResult 的属性值 @entriesresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| result | Map\\ | 是 | - | - | 文件路径 |\n\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.file.getFileSystemManager)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getFileSystemManager&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getFileSystemManager&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getFileSystemManager&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getFileSystemManager&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getFileSystemManager&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getFileSystemManager)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getFileSystemManager&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/get-file-system-manager/get-file-system-manager.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/get-file-system-manager/get-file-system-manager\n```uvue\n\r\n\r\n\r\n\r\n\r\n\n```\n:::"},"getUniverifyManager":{"name":"## uni.getUniverifyManager() @getuniverifymanager","description":"获取一键登录管理对象","compatibility":"### getUniverifyManager 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.99 | 4.18 |\n","param":"","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| [UniverifyManager](#univerifymanager-values) |\n\n#### UniverifyManager 的方法 @univerifymanager-values \n\n#### preLogin(options : PreLoginOptions) : void @prelogin\n预登录\n##### preLogin 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 3.99 | 4.18 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **PreLoginOptions** | 是 | - | - | 预登录参数 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (res: [PreLoginSuccess](#preloginsuccess-values)) => void | 否 | - | - | - |\n@| fail | (err: [PreLoginFail](#preloginfail-values)) => void | 否 | - | - | - |\n@| complete | (res: any) => void | 否 | - | - | - | \n\n###### PreLoginSuccess 的属性值 @preloginsuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| number | string | 是 | - | - | 手机号(脱敏) |\n| slogan | string | 是 | - | - | 运营商slogan,如移动:中国移动提供认证服务,联通:认证服务由联通统一认证提供,电信:天翼账号提供认证服务 |\n| privacyName | string | 是 | - | - | 运营商隐私协议名称,如移动:中国移动认证服务条款,联通:联通统一认证服务条款,电信:天翼账号服务与隐私协议 |\n| privacyUrl | string | 是 | - | - | 运营商隐私协议url地址 |\n\n###### PreLoginFail 的属性值 @preloginfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 1000 | - | 当前应用appid尚未开通uni一键登录 |\n@| 1001 | - | 应用所有者账号信息异常,请检查账号一键登录服务是否正常 |\n@| 1002 | - | 应用所有者账号信息异常,请检查账号余额是否充足 |\n@| 1004 | - | uni一键登录应用不存在 |\n@| 4001 | - | 参数异常 |\n@| 30004 | - | 其他错误 |\n@| 30005 | - | 预登录失败 |\n@| 30006 | - | 一键登录失败 |\n@| 40001 | - | 未同意隐私条款 |\n@| 40002 | - | 授权页不合规,请参考文档修改 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n\n#### login(options : LoginOptions) : void @login\n登录\n##### login 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 3.99 | 4.18 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **LoginOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| scopes | any | 否 | - | - | 授权类型,默认 auth_base。支持 auth_base(静默授权)/ auth_user(主动授权) / auth_zhima(芝麻信用)
|\n@| timeout | number | 否 | - | - | 超时时间,单位 ms |\n@| univerifyStyle | **UniverifyStyle** | 否 | - | | 一键登录页面样式
|\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| fullScreen | boolean | 否 | - | - | 是否全屏模式。

true表示全屏模式,false表示非全屏模式,默认值为false。 |\n@@| backgroundColor | string | 否 | - | - | 授权界面背景颜色。

格式为\"#RRGGBB\",默认值为\"#FFFFF\"。 |\n@@| backgroundImage | string | 否 | - | - | 背景图片 |\n@@| icon | **UniverifyIconStyles** | 否 | - | - | 授权界面图标样式。

可设置自定义图标,默认为应用图标。 |\n@@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@@| :- | :- | :- | :- | :-: | :- |\n@@@| path | string | 是 | - | - | 图标地址

仅支持本地路径,默认为应用图标。 |\n@@@| width | string | 否 | - | - | 图标宽度

格式为“XXpx\",默认值为\"60px\"。 |\n@@@| height | string | 否 | - | - | 图标高度

格式为“XXpx\",默认值为\"60px\"。 |\n@@| phoneNum | **UniverifyPhoneNumStyles** | 否 | - | - | 授权界面电话号码样式

可设置自定义电话号码文字颜色、大小等。 |\n@@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@@| :- | :- | :- | :- | :-: | :- |\n@@@| color | string | 否 | - | - | 字体颜色

格式为\"#RRGGBB\",默认值为\"#000000\"。 |\n@@@| fontSize | string | 否 | - | - | 字体大小

格式为“XXpx\",默认值为\"18px\"。注意:字体加粗显示。 |\n@@| slogan | **UniverifySloganStyles** | 否 | - | - | 授权界面服务说明样式

可设置自定义服务说明文字颜色、大小等。 |\n@@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@@| :- | :- | :- | :- | :-: | :- |\n@@@| color | string | 否 | - | - | 字体颜色

格式为\"#RRGGBB\",默认值为\"#8a8b90\"。 |\n@@@| fontSize | string | 否 | - | - | 字体大小

格式为“XXpx\",默认值为\"12px\"。 |\n@@| authButton | **UniverifyAuthButtonStyles** | 否 | - | - | 授权界面其他登录按钮样式

可设置自定义其他登录按钮背景颜色、文本内容、大小等。 |\n@@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@@| :- | :- | :- | :- | :-: | :- |\n@@@| normalColor | string | 否 | - | - | 正常状态按钮颜色

格式为\"#RRGGBB\",默认值为\"#3479f5\"。 |\n@@@| highlightColor | string | 否 | - | - | 按下状态按钮颜色

格式为\"#RRGGBB\",默认值为\"#2861c5\"。 |\n@@@| disabledColor | string | 否 | - | - | 不可点击状态按钮颜色

格式为\"#RRGGBB\",默认值为\"#73aaf5\"。 注意:仅iOS平台支持。 |\n@@@| width | string | 否 | - | - | 按钮宽度

格式为“XXpx\",默认值为自适应,距离屏幕左右\"32px\"。 |\n@@@| height | string | 否 | - | - | 按钮高度

格式为“XXpx\",默认值为\"94px\"。 |\n@@@| textColor | string | 否 | - | - | 按钮上文字颜色

格式为\"#RRGGBB\",默认值为\"#ffffff\"。 |\n@@@| title | string | 否 | - | - | 按钮上文字内容

默认值为\"本机号码一键登录\"。 |\n@@@| borderRadius | string | 否 | - | - | 授权按钮圆角

格式为“XXpx\",默认值:\"24px\" (按钮高度的一半) |\n@@| otherLoginButton | **UniverifyOtherButtonStyles** | 否 | - | - | 支付宝小程序登录成功的授权 scope |\n@@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@@| :- | :- | :- | :- | :-: | :- |\n@@@| visible | boolean | 否 | - | - | 是否显示其它按钮

可取值: true - 显示其它按钮;false - 不显示其它按钮。 默认值为true。 |\n@@@| normalColor | string | 否 | - | - | 正常状态按钮颜色

格式为\"#RRGGBB\",默认值为\"#f8f8f8\"。 |\n@@@| highlightColor | string | 否 | - | - | 按下状态按钮颜色

格式为\"#RRGGBB\",默认值为\"#dedede\"。 |\n@@@| width | string | 否 | - | - | 按钮宽度

格式为“XXpx\",默认值为自适应,距离屏幕左右\"32px\"。 |\n@@@| height | string | 否 | - | - | 按钮高度

格式为“XXpx\",默认值为\"94px\"。 |\n@@@| textColor | string | 否 | - | - | 按钮上文字颜色

格式为\"#RRGGBB\",默认值为\"#000000\"。 |\n@@@| title | string | 否 | - | - | 按钮上文字内容

默认值为\"本机号码一键登录\"。 |\n@@@| borderWidth | string | 否 | - | - | 按钮边框宽度

格式为“XXpx\",默认值为\"1px\"。 注意:仅iOS平台支持。 |\n@@@| borderColor | string | 否 | - | - | 按钮边框颜色

格式为\"#RRGGBB\",默认值为\"#c5c5c5\"。 注意:仅iOS平台支持。 |\n@@@| borderRadius | string | 否 | - | - | 其他登录按钮圆角

格式为“XXpx\",默认值:\"24px\" (按钮高度的一半) |\n@@| privacyTerms | **UniverifyPrivacyTermsStyles** | 否 | - | - | 授权界面服务协议样式

自定义设置服务器协议文字颜色、文本内容,添加自定义服务协议链接等。 |\n@@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@@| :- | :- | :- | :- | :-: | :- |\n@@@| defaultCheckBoxState | boolean | 否 | - | - | 默认是否勾选同意协议选择框

ture表示勾选,false表示不勾选。默认值为true。
HBuilderX3.1.0+版本新增支持。 |\n@@@| textColor | string | 否 | - | - | 普通文字颜色

格式为\"#RRGGBB\",默认值为\"#8a8b90\"。 |\n@@@| termsColor | string | 否 | - | - | 协议链接文字颜色

格式为\"#RRGGBB\",默认值为\"#1d4788\"。 |\n@@@| prefix | string | 否 | - | - | 服务协议前文本内容

默认值为\"我已阅读并同意\"。 |\n@@@| suffix | string | 否 | - | - | 服务协议后文本内容

默认值为\"并使用本机号码登录\"。 |\n@@@| fontSize | string | 否 | - | - | 字体大小

格式为“XXpx\",默认值为\"12px\"。 |\n@@@| privacyItems | Array\\<**UniverifyPrivacyItemStyles**\\> | 否 | - | - | 服务协议

自定义服务协议,可设置使用手机号码登录的协议,最多可设置两个协议。 注意:运营商的服务协议链接会自动添加到自定义服务协议之前。 |\n@@@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@@@| :- | :- | :- | :- | :-: | :- |\n@@@@| url | string | 是 | - | - | 链接地址

http/https开头的协议链接地址。 |\n@@@@| title | string | 是 | - | - | 协议链接文字 |\n@@| buttons | **UniVerifyButtonsStyles** | 否 | - | - | 自定义登录按钮列表样式

自定义设置更多登录按钮列表,如其它三方登录等。
注意:HBuilderX3.1.14+版本支持。 |\n@@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@@| :- | :- | :- | :- | :-: | :- |\n@@@| iconWidth | string | 否 | - | - | 自定义登录按钮图标宽度

单位为px,默认值为45px。
按指定宽度缩放,高度等比例缩放。 |\n@@@| list | Array\\<**UniVerifyButtonListItem**\\> | 是 | - | - | 自定义登录按钮列表 |\n@@@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@@@| :- | :- | :- | :- | :-: | :- |\n@@@@| provider | string | 是 | - | - | 该按钮标识,会原样返回。 |\n@@@@| iconPath | string | 是 | - | - | 图片路径

仅支持本地图片 |\n@| onlyAuthorize | boolean | 否 | - | | 微信登录仅请求授权认证
|\n@| success | (result: [LoginSuccess](#loginsuccess-values)) => void | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (result: [IUniError](#iunierror-values)) => void | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n###### LoginSuccess 的属性值 @loginsuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | 描述信息 |\n| authResult | any | 是 | - | - | 登录服务商提供的登录信息,服务商不同返回的结果不完全相同 |\n| code | string | 是 | - | - | 小程序用户临时登录凭证 |\n| anonymousCode | string | 否 | - | - | 头条小程序当前设备标识 |\n| authCode | string | 否 | - | - | 支付宝小程序授权码 |\n| authErrorScope | any | 否 | - | - | 支付宝小程序登录失败的授权类型,key是授权失败的 scope,value 是对应的错误码 |\n| authSucessScope | Array\\ | 否 | - | - | 支付宝小程序登录成功的授权 scope |\n| appleInfo | **AppleLoginAppleInfo** | 否 | - | - | 苹果登录成功返回的信息 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| authorizationCode | string | 否 | - | - | 应用程序用来与服务器交互的令牌 |\n@| fullName | any | 否 | - | - | 返回身份的全名 |\n@| identityToken | string | 否 | - | - | 一个JSON Web令牌(JWT),可以安全地将用户信息传递给应用程序 |\n@| realUserStatus | number | 否 | - | - | 指示用户是否为真人 |\n@| user | string | 否 | - | - | 验证用户的标识符 |\n\n###### IUniError 的属性值 @iunierror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 统一错误码 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n\n#### customLogin(options : CustomLoginOptions) : void @customlogin\n自定义登录页登录\n##### customLogin 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 4.41 | 4.41 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **CustomLoginOptions** | 是 | - | - | 自定义登录页登录参数 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| numberTextElement | [UniElement](/dom/unielement.md) | 是 | - | - | |\n@| sloganTextElement | [UniElement](/dom/unielement.md) | 是 | - | - | |\n@| loginButtonElement | [UniElement](/dom/unielement.md) | 是 | - | - | |\n@| privacyCheckBoxElement | [UniElement](/dom/unielement.md) | 是 | - | - | |\n@| privacyTextElement | [UniElement](/dom/unielement.md) | 是 | - | - | |\n@| success | (result: [LoginSuccess](#loginsuccess-values)) => void | 否 | - | - | |\n@| fail | (result: [IUniError](#iunierror-values)) => void | 否 | - | - | |\n@| complete | (result: any) => void | 否 | - | - | | \n\n\n#### close() : void @close\n关闭登录页\n##### close 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 3.99 | 4.18 |\n\n\n\n#### isPreLoginValid() : boolean @ispreloginvalid\n预登录是否有效\n##### isPreLoginValid 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 3.99 | 4.18 |\n\n\n##### 返回值 \n\n| 类型 |\n| :- |\n| boolean |\n \n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.loginVerify.getUniverifyManager)\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/univerify.html#univerifymanager)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/get-univerify-manager/get-univerify-manager.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/get-univerify-manager/get-univerify-manager\n```uvue\n\r\n\r\n\r\n\r\n\n\n```\n:::"},"getFacialRecognitionMetaInfo":{"name":"## uni.getFacialRecognitionMetaInfo() @getfacialrecognitionmetainfo","description":"获取阿里云实人认证meta info","compatibility":"### getFacialRecognitionMetaInfo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","param":"","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| string |\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.loginVerify.facialRecognitionMetaInfo.getFacialRecognitionMetaInfo)"},"startFacialRecognitionVerify":{"name":"## uni.startFacialRecognitionVerify(faceStyle) @startfacialrecognitionverify","description":"启动人脸识别","compatibility":"### startFacialRecognitionVerify 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| faceStyle | **StartFacialRecognitionVerifyOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| certifyId | string | 是 | - | - | certifyId 调用实人认证的id |\n@| progressBarColor | string | 否 | - | | 活体检测页面的进度条颜色。
|\n@| screenOrientation | string | 否 | \"port\" | | 认证时屏幕方向 |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| land | - | 横屏 |\n@@| port | - | 竖屏 |\n@| success | (res: [StartFacialRecognitionVerifySuccess](#startfacialrecognitionverifysuccess-values)) => void | 否 | - | - | 成功回调 |\n@| fail | (res: [IFacialRecognitionVerifyError](#ifacialrecognitionverifyerror-values)) => void | 否 | - | - | 失败回调 |\n@| complete | (res: any) => void | 否 | - | - | 完成回调 | \n\n#### StartFacialRecognitionVerifySuccess 的属性值 @startfacialrecognitionverifysuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n| errSubject | string | 是 | - | - | 调用API的名称 |\n| errMsg | string | 是 | - | - | 错误的详细信息 |\n| cause | **SourceError** | 否 | - | - | 错误来源 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| subject | string | 否 | - | - | 源错误模块名称 |\n@| message | string | 是 | - | - | 源错误描述信息 |\n@| code | number | 是 | - | - | 源错误的错误码 |\n@| name | string | 是 | - | - | - |\n@| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | |\n\n#### IFacialRecognitionVerifyError 的属性值 @ifacialrecognitionverifyerror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 10001 | - | certifyId 不能为空 |\n@| 10002 | - | 当前设备不支持 |\n@| 10010 | - | 刷脸异常 |\n@| 10011 | - | 验证中断 |\n@| 10012 | - | 网络异常 |\n@| 10013 | - | 刷脸验证失败 |\n@| 10020 | - | 设备设置时间异常 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.loginVerify.facialRecognitionMetaInfo.startFacialRecognitionVerify)"},"facialRecognitionMetaInfo":{"example":"## 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/facial-recognition-meta-info/facial-recognition-meta-info.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/facial-recognition-meta-info/facial-recognition-meta-info\n```uvue\n\r\n\r\n\r\n\r\n\n\n```\n:::"},"createRewardedVideoAd":{"name":"## uni.createRewardedVideoAd(option) @createrewardedvideoad","description":"创建激励视频广告对象","compatibility":"### createRewardedVideoAd 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.0 | 4.22 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| option | **CreateRewardedVideoAdOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| adpid | string | 是 | - | - | 广告位 id |\n@| urlCallback | **UrlCallbackOptions** | 否 | - | - | 服务器回调透传参数 |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| userId | string | 否 | - | - | 透传到服务器端的userId |\n@@| extra | string | 否 | - | - | 透传到服务器端的extra,不推荐设置过于复杂的字符串 | \n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| [RewardedVideoAd](#rewardedvideoad-values) |\n\n#### RewardedVideoAd 的方法 @rewardedvideoad-values \n\n#### show() : Promise\\ @show\n广告加载成功之后,调用此方法展示广告\n##### show 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.0 | 4.22 |\n\n\n##### 返回值 \n\n| 类型 |\n| :- |\n| Promise\\ |\n \n\n#### load() : Promise\\ @load\n加载广告\n##### load 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.0 | 4.22 |\n\n\n##### 返回值 \n\n| 类型 |\n| :- |\n| Promise\\ |\n \n\n#### destroy() : void @destroy\n销毁广告\n##### destroy 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.0 | 4.22 |\n\n\n\n#### onLoad(callback : AdCallBackEvent) : void @onload\n绑定广告 load 事件的监听器\n##### onLoad 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.0 | 4.22 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### offLoad(callback : AdCallBackEvent) : void @offload\n解除绑定 load 事件的监听器\n##### offLoad 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.0 | 4.22 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### onError(callback : AdErrorCallBackEvent) : void @onerror\n绑定 error 事件的监听器\n##### onError 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.0 | 4.22 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [IUniAdError](#iuniaderror-values)) => void | 是 | - | - | - | \n\n##### IUniAdError 的属性值 @iuniaderror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码
- -5001 广告位标识adpid为空,请传入有效的adpid
- -5002 无效的广告位标识adpid,请使用正确的adpid
- -5003 广告位未开通广告,请在广告平台申请并确保已审核通过
- -5004 无广告模块,打包时请配置要使用的广告模块
- -5005 广告加载失败,请稍后重试
- -5006 广告已经展示过了,请重新加载
- -5007 广告不可用或已过期,请重新请求
- -5008 广告不可用或已过期,请重新请求
- -5009 广告类型不符,请检查后再试
- -5011 打包或开通的渠道,不支持此类型广告
- -5013 广告播放失败,请重新加载 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n\n#### offError(callback : AdErrorCallBackEvent) : void @offerror\n解除绑定 error 事件的监听器\n##### offError 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.0 | 4.22 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [IUniAdError](#iuniaderror-values)) => void | 是 | - | - | - | \n\n\n#### onClose(callback : AdCloseCallBackEvent) : void @onclose\n绑定 close 事件的监听器\n##### onClose 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.0 | 4.22 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [VideoAdClose](#videoadclose-values)) => void | 是 | - | - | - | \n\n##### VideoAdClose 的属性值 @videoadclose-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| isEnded | boolean | 是 | - | - | true表示广告播放完毕或者达到发放奖励的条件 |\n\n\n#### offClose(callback : AdCloseCallBackEvent) : void @offclose\n解除绑定 close 事件的监听器\n##### offClose 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.0 | 4.22 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [VideoAdClose](#videoadclose-values)) => void | 是 | - | - | - | \n\n\n#### onAdClicked(callback : AdCallBackEvent) : void; @onadclicked\n绑定广告可点击屏幕区域事件的监听器\n##### onAdClicked 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.0 | 4.22 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### onVerify(callback : AdVerifyCallBackEvent) : void; @onverify\n绑定 verify 事件的监听器\n##### onVerify 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.0 | 4.22 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: UTSJSONObject) => void | 是 | - | - | - | \n\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.ad.createRewardedVideoAd)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=createRewardedVideoAd&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=createRewardedVideoAd&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=createRewardedVideoAd&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=createRewardedVideoAd&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=createRewardedVideoAd&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=createRewardedVideoAd)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=createRewardedVideoAd&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/create-rewarded-video-ad/create-rewarded-video-ad.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/create-rewarded-video-ad/create-rewarded-video-ad\n```uvue\n\r\n\r\n\r\n\r\n\n\n```\n:::"},"createInterstitialAd":{"name":"## uni.createInterstitialAd(option) @createinterstitialad","description":"创建插屏广告对象","compatibility":"### createInterstitialAd 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.31 | 4.31 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| option | **CreateInterstitialAdOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| adpid | string | 是 | - | - | 广告位 id | \n","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| [InterstitialAd](#interstitialad-values) |\n\n#### InterstitialAd 的方法 @interstitialad-values \n\n#### show() : Promise\\ @show\n广告加载成功之后,调用此方法展示广告\n##### show 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.31 | 4.31 |\n\n\n##### 返回值 \n\n| 类型 |\n| :- |\n| Promise\\ |\n \n\n#### load() : Promise\\ @load\n加载广告\n##### load 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.31 | 4.31 |\n\n\n##### 返回值 \n\n| 类型 |\n| :- |\n| Promise\\ |\n \n\n#### destroy() : void @destroy\n销毁广告\n##### destroy 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.31 | 4.31 |\n\n\n\n#### onLoad(callback : AdCallBackEvent) : void @onload\n绑定广告 load 事件的监听器\n##### onLoad 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### offLoad(callback : AdCallBackEvent) : void @offload\n解除绑定 load 事件的监听器\n##### offLoad 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### onError(callback : AdErrorCallBackEvent) : void @onerror\n绑定 error 事件的监听器\n##### onError 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [IUniAdError](#iuniaderror-values)) => void | 是 | - | - | - | \n\n##### IUniAdError 的属性值 @iuniaderror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码
- -5001 广告位标识adpid为空,请传入有效的adpid
- -5002 无效的广告位标识adpid,请使用正确的adpid
- -5003 广告位未开通广告,请在广告平台申请并确保已审核通过
- -5004 无广告模块,打包时请配置要使用的广告模块
- -5005 广告加载失败,请稍后重试
- -5006 广告已经展示过了,请重新加载
- -5007 广告不可用或已过期,请重新请求
- -5008 广告不可用或已过期,请重新请求
- -5009 广告类型不符,请检查后再试
- -5011 打包或开通的渠道,不支持此类型广告
- -5013 广告播放失败,请重新加载 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n\n#### offError(callback : AdErrorCallBackEvent) : void @offerror\n解除绑定 error 事件的监听器\n##### offError 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [IUniAdError](#iuniaderror-values)) => void | 是 | - | - | - | \n\n\n#### onClose(callback : AdCallBackEvent) : void @onclose\n绑定 close 事件的监听器\n##### onClose 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### offClose(callback : AdCallBackEvent) : void @offclose\n解除绑定 close 事件的监听器\n##### offClose 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n\n#### onAdClicked(callback : AdCallBackEvent) : void; @onadclicked\n绑定广告可点击屏幕区域事件的监听器\n##### onAdClicked 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: any) => void | 是 | - | - | - | \n\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.ad.createInterstitialAd)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=createInterstitialAd&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=createInterstitialAd&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=createInterstitialAd&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=createInterstitialAd&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=createInterstitialAd&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=createInterstitialAd)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=createInterstitialAd&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/create-interstitial-ad/create-interstitial-ad.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/create-interstitial-ad/create-interstitial-ad\n```uvue\n\r\n\r\n\r\n\r\n\n\n```\n:::"},"requestPayment":{"name":"## uni.requestPayment(options) @requestpayment","description":"请求支付","compatibility":"### requestPayment 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.02 | 4.18 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **RequestPaymentOptions** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| provider | string | 是 | - | | 支付服务提供商,通过 [uni.getProvider](https://doc.dcloud.net.cn/uni-app-x/api/provider.html) 获取,目前支持支付宝支付(alipay),微信支付(wxpay) |\n@| orderInfo | string | 是 | - | | 订单数据 |\n@| success | (result: [RequestPaymentSuccess](#requestpaymentsuccess-values)) => void | 否 | - | | 接口调用成功的回调函数 |\n@| fail | (result: [IRequestPaymentFail](#irequestpaymentfail-values)) => void | 否 | - | | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | - | | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### RequestPaymentSuccess 的属性值 @requestpaymentsuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| data | any | 否 | - | | 返回数据 |\n\n#### IRequestPaymentFail 的属性值 @irequestpaymentfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 700000 | | 其它支付错误。 |\n@| 700600 | | 正在处理中,支付结果未知(有可能已经支付成功),请查询商家订单列表中订单的支付状态 |\n@| 700601 | | 用户中途取消。 |\n@| 700602 | | 网络连接出错。 |\n@| 700603 | | 支付结果未知(有可能已经支付成功),请查询商家订单列表中订单的支付状态。 |\n@| 700604 | | 微信没有安装。 |\n@| 700605 | | 服务供应商获取失败。 |\n@| 700607 | | 支付未完成。 |\n@| 700608 | | 服务商返回参数错误。 |\n@| 700800 | | 没有配置对应的URL Scheme。 |\n@| 700801 | | 没有配置对应的Universal Link。 |\n@| 701100 | | 订单支付失败。 |\n@| 701110 | | 重复请求。 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.payment.requestPayment)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/plugins/payment.html#requestpayment)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=requestPayment&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=requestPayment&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=requestPayment&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=requestPayment&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=requestPayment&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=requestPayment)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=requestPayment&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/request-payment/request-payment.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/request-payment/request-payment\n```uvue\n\r\n\r\n\r\n\r\n\n\n```\n:::"},"requestVirtualPayment":{"name":"## uni.requestVirtualPayment(options) @requestvirtualpayment","description":"请求支付","compatibility":"### requestVirtualPayment 兼容性 \n| Web | Android | iOS 系统版本 | iOS |\n| :- | :- | :- | :- |\n| x | x | 15.0 | 4.25 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **RequestVirtualPaymentOptions** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| apple | **AppleIAPOptions** | 否 | - | | 苹果IAP的参数 |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| productId | string | 是 | - | | 产品id,在苹果开发者中心配置 |\n@@| appAccountToken | string | 否 | - | | 透传参数,一般用于标记订单和用户的关系,可以用来验证和关联用户账户和购买记录 |\n@@| quantity | number | 是 | - | | 购买数量,默认是1,最小值是1,最大值是10 |\n@@| promotionalOffer | **AppleIAPPromotionalOffer** | 否 | - | | 促销优惠参数说明 |\n@@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@@| :- | :- | :- | :- | :-: | :- |\n@@@| offerIdentifier | string | 是 | - | | 促销id |\n@@@| keyIdentifier | string | 是 | - | | 密钥 |\n@@@| nonce | string | 是 | - | | 唯一id (必须小写 24小时有效) |\n@@@| signature | string | 是 | - | | 签名 |\n@@@| timestamp | number | 是 | - | | 创建证书的时间戳(毫秒 24小时有效) |\n@| success | (result: [RequestVirtualPaymentSuccess](#requestvirtualpaymentsuccess-values)) => void | 否 | - | | 接口调用成功的回调函数 |\n@| fail | (result: [IRequestVirtualPaymentFail](#irequestvirtualpaymentfail-values)) => void | 否 | - | | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | - | | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### RequestVirtualPaymentSuccess 的属性值 @requestvirtualpaymentsuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| apple | **AppleIAPTransactionOptions** | 否 | - | | 支付成功返回结果 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| productId | string | 是 | - | | 产品id,和苹果开发者中心配置的一样 |\n@| appAccountToken | string | 否 | - | | 透传参数,一般用于标记订单和用户的关系,可以用来验证和关联用户账户和购买记录 |\n@| quantity | number | 是 | - | | 购买数量 |\n@| transactionDate | Date | 是 | - | | 交易日期,示例 2022-01-01 08:00:00 |\n@| transactionIdentifier | string | 是 | - | | 交易唯一标识 |\n@| originalTransactionDate | Date | 是 | - | | 原始交易日期,示例 2022-01-01 08:00:00 |\n@| originalTransactionIdentifier | string | 是 | - | | 原始交易唯一标识 |\n@| jsonRepresentation | string | 是 | - | | 支付票据 |\n\n#### IRequestVirtualPaymentFail 的属性值 @irequestvirtualpaymentfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 700000 | | 其他未知错误。 |\n@| 700600 | | 正在处理中,支付结果未知 |\n@| 700601 | | 用户中途取消。 |\n@| 700602 | | 网络连接出错。 |\n@| 700604 | | 不允许App内购买项目, 请授权应用内购买权限。 |\n@| 700605 | | 产品无效。 |\n@| 700606 | | 促销信息错误。 |\n@| 700607 | | 缺少支付参数。 |\n@| 700800 | | 只支持iOS15以上的版本。 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.payment.virtualPayment.requestVirtualPayment)"},"getVirtualPaymentManager":{"name":"## uni.getVirtualPaymentManager() @getvirtualpaymentmanager","description":"获取各平台虚拟支付的管理类,用于操作各平台专有的API。","compatibility":"### getVirtualPaymentManager 兼容性 \n| Web | Android | iOS 系统版本 | iOS |\n| :- | :- | :- | :- |\n| x | x | 15.0 | 4.25 |\n","param":"","returnValue":"### 返回值 \n\n| 类型 | 描述 |\n| :- | :- |\n| () => [VirtualPaymentManager](#virtualpaymentmanager-values) | virtual-payment的管理类 |\n\n#### VirtualPaymentManager 的方法 @virtualpaymentmanager-values \n\n#### restoreTransactions(options: AppleIAPRestoreOptions): void; @restoretransactions\n恢复苹果服务器已支付的交易列表\n##### restoreTransactions 兼容性 \n| Web | Android | iOS 系统版本 | iOS |\n| :- | :- | :- | :- |\n| x | x | 15.0 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **AppleIAPRestoreOptions** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (result: [AppleIAPRestoreSuccess](#appleiaprestoresuccess-values)) => void | 否 | - | | 接口调用成功的回调函数 |\n@| fail | (result: [IAppleIAPRestoreFail](#iappleiaprestorefail-values)) => void | 否 | - | | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | - | | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n###### AppleIAPRestoreSuccess 的属性值 @appleiaprestoresuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| transactions | Array\\<**AppleIAPTransactionOptions**\\> | 否 | - | | 返回的交易列表 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| productId | string | 是 | - | | 产品id,和苹果开发者中心配置的一样 |\n@| appAccountToken | string | 否 | - | | 透传参数,一般用于标记订单和用户的关系,可以用来验证和关联用户账户和购买记录 |\n@| quantity | number | 是 | - | | 购买数量 |\n@| transactionDate | Date | 是 | - | | 交易日期,示例 2022-01-01 08:00:00 |\n@| transactionIdentifier | string | 是 | - | | 交易唯一标识 |\n@| originalTransactionDate | Date | 是 | - | | 原始交易日期,示例 2022-01-01 08:00:00 |\n@| originalTransactionIdentifier | string | 是 | - | | 原始交易唯一标识 |\n@| jsonRepresentation | string | 是 | - | | 支付票据 |\n\n###### IAppleIAPRestoreFail 的属性值 @iappleiaprestorefail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 700600 | | apple restore 请求失败。 |\n@| 700601 | | 用户中途取消。 |\n@| 700602 | | 网络连接出错。 |\n@| 700800 | | 只支持iOS15以上的版本。 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n\n#### getUnfinishedTransactions(options: AppleIAPUnfinishedTransactionOptions): void; @getunfinishedtransactions\n获取苹果服务器已支付且未关闭的交易列表\n##### getUnfinishedTransactions 兼容性 \n| Web | Android | iOS 系统版本 | iOS |\n| :- | :- | :- | :- |\n| x | x | 15.0 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **AppleIAPUnfinishedTransactionOptions** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (result: [AppleIAPUnfinishedTransactionSuccess](#appleiapunfinishedtransactionsuccess-values)) => void | 否 | - | | 接口调用成功的回调函数 |\n@| fail | (result: [IAppleIAPUnfinishedTransactionFail](#iappleiapunfinishedtransactionfail-values)) => void | 否 | - | | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | - | | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n###### AppleIAPUnfinishedTransactionSuccess 的属性值 @appleiapunfinishedtransactionsuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| transactions | Array\\<[AppleIAPTransactionOptions](#appleiaptransactionoptions-values)\\> | 否 | - | | 返回的交易列表 |\n\n###### IAppleIAPUnfinishedTransactionFail 的属性值 @iappleiapunfinishedtransactionfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码
- 700800 只支持iOS15以上的版本。 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n\n#### finishTransaction(options: AppleIAPFinishTransactionOptions): void; @finishtransaction\n关闭苹果服务器订单\n##### finishTransaction 兼容性 \n| Web | Android | iOS 系统版本 | iOS |\n| :- | :- | :- | :- |\n| x | x | 15.0 | 4.25 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **AppleIAPFinishTransactionOptions** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| transaction | [AppleIAPTransactionOptions](#appleiaptransactionoptions-values) | 是 | - | | 交易对象 |\n@| success | (result: [AppleIAPFinishTransactionSuccess](#appleiapfinishtransactionsuccess-values)) => void | 否 | - | | 接口调用成功的回调函数 |\n@| fail | (result: [IAppleIAPFinishTransactionFail](#iappleiapfinishtransactionfail-values)) => void | 否 | - | | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | - | | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n###### AppleIAPFinishTransactionSuccess 的属性值 @appleiapfinishtransactionsuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| state | boolean | 否 | - | | 关单状态 |\n\n###### IAppleIAPFinishTransactionFail 的属性值 @iappleiapfinishtransactionfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 700600 | | 没有该交易。 |\n@| 700800 | | 只支持iOS15以上的版本。 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.payment.virtualPayment.getVirtualPaymentManager)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=getVirtualPaymentManager&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=getVirtualPaymentManager&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=getVirtualPaymentManager&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=getVirtualPaymentManager&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=getVirtualPaymentManager&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=getVirtualPaymentManager)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=getVirtualPaymentManager&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"virtualPayment":{"example":"## 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/virtual-payment/virtual-payment.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/virtual-payment/virtual-payment\n```uvue\n\r\n\r\n\r\n\r\n\r\n\n\n```\n:::"},"shareWithSystem":{"name":"## uni.shareWithSystem(options) @sharewithsystem","description":"使用系统分享。\n","compatibility":"### shareWithSystem 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.33 | 4.33 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **ShareWithSystemOptions** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| type | string | 否 | - | | 分享类型,默认为text。 |\n@@| 合法值 | 兼容性 | 描述 |\n@@| :- | :-: | :- |\n@@| text | | text类型 |\n@@| image | | image类型 |\n@@| video | | video类型 |\n@@| audio | | audio类型 |\n@@| file | | file类型 |\n@| summary | string | 否 | - | | 分享的文字内容 |\n@| href | string | 否 | - | | 分享链接 |\n@| imageUrl | string | 否 | - | | 分享单个图片,仅支持本地路径 |\n@| imagePaths | Array\\ | 否 | - | | 分享图片,仅支持本地路径 |\n@| videoPaths | Array\\ | 否 | - | | 分享video,仅支持本地路径 |\n@| audioPaths | Array\\ | 否 | - | | 分享audio,仅支持本地路径 |\n@| filePaths | Array\\ | 否 | - | | 分享文件,仅支持本地路径 |\n@| success | (res: ShareWithSystemSuccess) => void | 否 | - | | uni.shareWithSystem成功回调函数定义 |\n@| fail | (res: [IShareWithSystemFail](#isharewithsystemfail-values)) => void | 否 | - | | uni.shareWithSystem失败回调函数定义 |\n@| complete | (res: any) => void | 否 | - | | uni.shareWithSystem完成回调函数定义 | \n\n#### IShareWithSystemFail 的属性值 @isharewithsystemfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 1310600 | | 取消分享 |\n@| 1310601 | | 分享内容不可以为空 |\n@| 1310602 | | 已经成功调用系统分享接口,系统分享出错 |\n@| 1310603 | | 图片路径无效 |\n@| 1310604 | | 无效的链接 |\n@| 1310605 | | video 路径无效 |\n@| 1310606 | | file 文件不存在 |\n@| 1310607 | | audio 路径无效 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.share.shareWithSystem)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=shareWithSystem&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=shareWithSystem&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=shareWithSystem&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=shareWithSystem&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=shareWithSystem&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=shareWithSystem)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=shareWithSystem&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/share-with-system/share-with-system.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/share-with-system/share-with-system\n```uvue\n\n\n\n\n\n\n```\n:::"},"getPushClientId":{"name":"## uni.getPushClientId(options) @getpushclientid","description":"获取客户端唯一的推送标识","compatibility":"### getPushClientId 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.27 | 3.98 | 4.18 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **GetPushClientIdOptions** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (result: [GetPushClientIdSuccess](#getpushclientidsuccess-values)) => void | 否 | null | - | 接口调用成功的回调函数 |\n@| fail | (result: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | null | - | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n#### GetPushClientIdSuccess 的属性值 @getpushclientidsuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| cid | string | 是 | - | | 个推客户端推送id,对应uni-id-device表的push_clientid
|\n| errMsg | string | 是 | - | | 错误描述
|\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.push.uni-push.getPushClientId)\n- [参见uni-app相关文档](http://uniapp.dcloud.io/api/plugins/push.html#getpushclientid)"},"onPushMessage":{"name":"## uni.onPushMessage(callback) @onpushmessage","description":"启动监听推送消息事件","compatibility":"### onPushMessage 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.27 | 3.98 | 4.18 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [OnPushMessageCallbackResult](#onpushmessagecallbackresult-values)) => void | 是 | - | - | | \n\n### OnPushMessageCallbackResult 的属性值 @onpushmessagecallbackresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | | 事件类型
- click 从系统推送服务点击消息启动应用事件
- receive 应用从推送服务器接收到推送消息事件 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| click | - | - |\n@| receive | - | - |\n| data | UTSJSONObject | 是 | - | | 消息内容
|\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.push.uni-push.onPushMessage)\n- [参见uni-app相关文档](http://uniapp.dcloud.io/api/plugins/push.html#onpushmessage)"},"offPushMessage":{"name":"## uni.offPushMessage(callback) @offpushmessage","description":"关闭推送消息监听事件,iOS端调用会关闭所有监听。","compatibility":"### offPushMessage 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.27 | 3.98 | 4.18 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (result: [OnPushMessageCallbackResult](#onpushmessagecallbackresult-values)) => void | 是 | - | - | | \n\n### OnPushMessageCallbackResult 的属性值 @onpushmessagecallbackresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | | 事件类型
- click 从系统推送服务点击消息启动应用事件
- receive 应用从推送服务器接收到推送消息事件 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| click | - | - |\n@| receive | - | - |\n| data | UTSJSONObject | 是 | - | | 消息内容
|\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.push.uni-push.offPushMessage)\n- [参见uni-app相关文档](http://uniapp.dcloud.io/api/plugins/push.html#offpushmessage)"},"createPushMessage":{"name":"## uni.createPushMessage(options) @createpushmessage","description":"创建本地通知栏消息","compatibility":"### createPushMessage 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.98 | 4.18 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **CreatePushMessageOptions** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| cover | boolean | 否 | false | | 是否覆盖上一次提示的消息 |\n@| delay | number | 否 | 0 | | 提示消息延迟显示的时间,单位为s |\n@| icon | string | 否 | null | | 推送消息的图标 |\n@| sound | string | 否 | \"system\" | | 推送消息的提示音
- system: 使用系统通知提示音(默认值)
- none: 不使用提示音 |\n@| title | string | 否 | App的名称 | | 推送消息的标题 |\n@| content | string | 是 | - | | 消息显示的内容,在系统通知中心中显示的文本内容。鸿蒙系统中,此字段为必填字段。
|\n@| payload | any | 否 | null | | 消息承载的数据,可根据业务逻辑自定义数据格式,在点击通知消息时`onPushMessage`回调中会返回此字段的数据。 |\n@| when | number | 否 | 当前时间 | | 消息上显示的提示时间,需要传入时间戳。 |\n@| channelId | string | 否 | \"DcloudChannelID\" | | 渠道id,Android特有字段,[通知渠道介绍](https://developer.android.com/develop/ui/views/notifications/channels?hl=zh-cn),
创建通知渠道请使用`getPushChannelManager`获取PushChannelManager对象,调用`setPushChannel`方法配置渠道。 |\n@| category | string | 否 | null | | 通知类别,Android特有字段,[通知渠道介绍](https://developer.android.com/develop/ui/views/notifications/channels?hl=zh-cn),
标识通知的类别,应用场景为对于离线推送厂商配置的支持,比如[华为消息分类](https://developer.huawei.com/consumer/cn/doc/HMSCore-Guides/message-classification-0000001149358835#section5101818813) |\n@| success | (result: CreatePushMessageSuccess) => void | 否 | null | - | 接口调用成功的回调函数 |\n@| fail | (result: [UniError](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror)) => void | 否 | null | - | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.push.uni-push.getChannelManager)\n- [参见uni-app相关文档](http://uniapp.dcloud.io/api/plugins/push.html#createpushmessage)"},"getPushChannelManager":{"name":"## uni.getPushChannelManager() @getpushchannelmanager","description":"获取通知渠道管理器,Android 8系统以上才可以设置通知渠道,Android 8系统以下返回null,[通知渠道介绍](https://developer.android.com/develop/ui/views/notifications/channels?hl=zh-cn),iOS不支持。","compatibility":"### getPushChannelManager 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.25 | x |\n","param":"","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| [ChannelManager](#channelmanager-values) |\n\n#### ChannelManager 的方法 @channelmanager-values \n\n#### setPushChannel(options: SetPushChannelOptions): void; @setpushchannel\n设置推送渠道\n\n##### setPushChannel 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.98 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **SetPushChannelOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| soundName | string | 否 | null | - | 添加的声音文件,注意raw目录下必须要有 ,不传此字段将使用默认铃音。 |\n@| channelId | string | 是 | - | - | 通知渠道id |\n@| channelDesc | string | 是 | - | - | 通知渠道描述 |\n@| enableLights | boolean | 否 | false | - | 呼吸灯闪烁 |\n@| enableVibration | boolean | 否 | false | - | 震动 |\n@| importance | number | 否 | 3 | - | 通知的重要性级别,可选范围IMPORTANCE_LOW:2、IMPORTANCE_DEFAULT:3、IMPORTANCE_HIGH:4 。 |\n@| lockscreenVisibility | number | 否 | -1000 | - | 锁屏可见性,可选范围VISIBILITY_PRIVATE:0、VISIBILITY_PUBLIC:1、VISIBILITY_SECRET:-1、VISIBILITY_NO_OVERRIDE:-1000。 | \n\n\n#### getAllChannels(): Array\\; @getallchannels\n获取当前应用注册的所有的通知渠道。\n\n##### getAllChannels 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.98 | x |\n\n\n##### 返回值 \n\n| 类型 |\n| :- |\n| Array\\ |\n \n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.push.uni-push.createPushMessage)"},"setAppBadgeNumber":{"name":"## uni.setAppBadgeNumber(num, options?) @setappbadgenumber","description":"设置应用图标上显示的角标数字,注意:不同手机厂商的角标显示规则不同,有部分设备的rom版本不支持显示角标,另有部分rom需要在应用的通知管理里开启`桌面角标`配置,才可以设置角标成功。","compatibility":"### setAppBadgeNumber 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.25 | 4.25 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| num | number | 是 | - | - | 要显示的角标数字值,参数为0则表示清除角标数字。 |\n| options | **BadgeOptions** | 否 | - | - | 小米手机显示角标需要在系统消息中心显示一条通知,此参数用于设置通知的标题(title)和内容(content)。 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| title | string | 否 | 应用的名称 | | 消息的标题 |\n@| content | string | 否 | '您有x条未读消息',其中x为设置的角标数字值。 | | 消息的内容 | \n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.push.uni-push.getPushChannelManager)"},"getChannelManager":{"name":"## uni.~~getChannelManager()~~ @getchannelmanager","description":"获取通知渠道管理器,Android 8系统以上才可以设置通知渠道,Android 8系统以下返回null,[通知渠道介绍](https://developer.android.com/develop/ui/views/notifications/channels?hl=zh-cn) ,iOS不支持。 **已废弃,仅为了向下兼容保留,建议使用`getPushChannelManager`。**","compatibility":"### getChannelManager 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.98 | x |\n","param":"","returnValue":"### 返回值 \n\n| 类型 |\n| :- |\n| [ChannelManager](#channelmanager-values) |\n\n#### ChannelManager 的方法 @channelmanager-values \n\n#### setPushChannel(options: SetPushChannelOptions): void; @setpushchannel\n设置推送渠道\n\n##### setPushChannel 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.98 | x |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **SetPushChannelOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| soundName | string | 否 | null | - | 添加的声音文件,注意raw目录下必须要有 ,不传此字段将使用默认铃音。 |\n@| channelId | string | 是 | - | - | 通知渠道id |\n@| channelDesc | string | 是 | - | - | 通知渠道描述 |\n@| enableLights | boolean | 否 | false | - | 呼吸灯闪烁 |\n@| enableVibration | boolean | 否 | false | - | 震动 |\n@| importance | number | 否 | 3 | - | 通知的重要性级别,可选范围IMPORTANCE_LOW:2、IMPORTANCE_DEFAULT:3、IMPORTANCE_HIGH:4 。 |\n@| lockscreenVisibility | number | 否 | -1000 | - | 锁屏可见性,可选范围VISIBILITY_PRIVATE:0、VISIBILITY_PUBLIC:1、VISIBILITY_SECRET:-1、VISIBILITY_NO_OVERRIDE:-1000。 | \n\n\n#### getAllChannels(): Array\\; @getallchannels\n获取当前应用注册的所有的通知渠道。\n\n##### getAllChannels 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.98 | x |\n\n\n##### 返回值 \n\n| 类型 |\n| :- |\n| Array\\ |\n \n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.push.uni-push.setAppBadgeNumber)"},"uni-push":{"example":"## 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/uni-push/uni-push.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/uni-push/uni-push\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/uni-push/uni-push\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n const channelInfo = ref(\"\")\r\n\r\n onMounted(() => {\r\n uni.onPushMessage((res : OnPushMessageCallbackResult) => {\r\n uni.showModal({\r\n title: \"onPushMessage回调信息\",\r\n content: `type:${res.type} \\n data:${JSON.stringify(res.data)}`\r\n })\r\n })\r\n })\r\n\r\n const handleCreateChannel = (showToast : boolean) => {\r\n // #ifdef APP-ANDROID\r\n const manager = uni.getPushChannelManager()\r\n manager.setPushChannel({\r\n channelId: \"msg-pass\",\r\n channelDesc: \"留言审核通过\",\r\n soundName: \"#填写配置的声音文件名#\",\r\n enableLights: true,\r\n enableVibration: true,\r\n importance: 4,\r\n lockscreenVisibility: 1\r\n } as SetPushChannelOptions)\r\n if (showToast) {\r\n uni.showToast({\r\n title: \"设置渠道成功\"\r\n })\r\n }\r\n // #endif\r\n }\r\n const handleGetAllChannels = () => {\r\n // #ifdef APP-ANDROID\r\n const manager = uni.getPushChannelManager()\r\n console.log(\"channels : \" + manager.getAllChannels());\r\n channelInfo.value = `渠道信息为: \\n ${manager.getAllChannels()}`\r\n // #endif\r\n }\r\n const handleCreateLocalNotification = () => {\r\n if (uni.getAppAuthorizeSetting().notificationAuthorized == \"authorized\") {\r\n handleCreateChannel(false)\r\n const date = new Date();\r\n const hour = date.getHours()\r\n const minute = date.getMinutes()\r\n const second = date.getSeconds()\r\n const formateTime = (target : number) : string => {\r\n return target < 10 ? `0${target}` : `${target}`\r\n }\r\n uni.createPushMessage({\r\n title: \"主标题(title)\",\r\n content: `内容(content),创建时间: ${formateTime(hour)}:${formateTime(minute)}:${formateTime(second)}`,\r\n cover: false,\r\n channelId: \"msg-pass\",\r\n when: Date.now() + 10000,\r\n icon: \"/static/uni.png\",\r\n sound: \"system\",\r\n delay: 1,\r\n payload: {\r\n pkey: \"pvalue1\"\r\n },\r\n category: \"IM\",\r\n success(res) {\r\n console.log(\"res: \" + res);\r\n uni.hideToast()\r\n uni.showToast({\r\n title: \"创建本地通知消息成功\"\r\n })\r\n },\r\n fail(e) {\r\n console.log(\"fail :\" + e);\r\n uni.hideToast()\r\n uni.showToast({\r\n title: \"创建本地通知消息失败\",\r\n icon: \"error\"\r\n })\r\n }\r\n })\r\n } else {\r\n uni.showToast({\r\n title: \"请在设置中开启通知权限\",\r\n icon: \"error\"\r\n })\r\n }\r\n }\r\n const handleGetClientId = () => {\r\n uni.showLoading({\r\n title: \"正在获取cid\",\r\n })\r\n uni.getPushClientId({\r\n success: (res : GetPushClientIdSuccess) => {\r\n uni.hideLoading()\r\n uni.showModal({\r\n title: \"信息\",\r\n content: `cid : ${res.cid}`\r\n })\r\n },\r\n fail: () => {\r\n uni.hideLoading()\r\n uni.showToast({\r\n title: `获取cid失败`,\r\n icon: \"error\"\r\n })\r\n }\r\n })\r\n }\r\n const handleSetBadge = () => {\r\n if (uni.getDeviceInfo().deviceBrand?.toLowerCase() == \"xiaomi\") {\r\n if (uni.getAppAuthorizeSetting().notificationAuthorized == \"authorized\") {\r\n uni.setAppBadgeNumber(5, {\r\n title: \"AppName\",\r\n content: \"您有5条未读消息\"\r\n } as BadgeOptions)\r\n uni.showToast({\r\n title: \"设置应用角标数为5\"\r\n })\r\n } else {\r\n uni.showToast({\r\n title: \"请在设置中开启通知权限\",\r\n icon: \"error\"\r\n })\r\n }\r\n\r\n } else {\r\n uni.setAppBadgeNumber(5)\r\n uni.showToast({\r\n title: \"设置应用角标数为5\"\r\n })\r\n }\r\n }\r\n const handleCleanBadge = () => {\r\n if (uni.getDeviceInfo().deviceBrand?.toLowerCase() == \"xiaomi\") {\r\n if (uni.getAppAuthorizeSetting().notificationAuthorized == \"authorized\") {\r\n uni.setAppBadgeNumber(0, {} as BadgeOptions)\r\n uni.showToast({\r\n title: \"清空应用角标数\"\r\n })\r\n } else {\r\n uni.showToast({\r\n title: \"请在设置中开启通知权限\",\r\n icon: \"error\"\r\n })\r\n }\r\n } else {\r\n uni.setAppBadgeNumber(0)\r\n uni.showToast({\r\n title: \"清空应用角标数\"\r\n })\r\n }\r\n\r\n }\r\n\n```\n\n:::"},"report":{"name":"## uni.report(options) @report","description":"uni统计自定义上报方法。\n\n> 本 API 是 [uni ext api](https://uniapp.dcloud.net.cn/api/extapi.html),需下载插件:[uni-stat](https://ext.dcloud.net.cn/plugin?name=uni-stat)\n","compatibility":"### report 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.33 | 4.33 | 4.33 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **ReportOptions** | 是 | - | - | 自定义事件参数 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| name | string | 是 | - | - | 自定义事件名称,内置名称不允许覆盖,可选值:
`uni-app-launch`:应用启动,options 参数必填,值为 onLaunch 返回值
`uni-app-show`:应用进入前台
`uni-app-hide`:应用进入后台
`uni-app-error`:应用发生错误,options 参数必填,值为错误信息,类型为String
`title`:标题采集
`自定义name`:用户自定义 |\n@| options | any | 否 | - | - | 额外参数 |\n@| success | (res: [ReportSuccess](#reportsuccess-values)) => void | 否 | - | - | 接口调用成功回调 |\n@| fail | (err: [ReportError](#reporterror-values)) => void | 否 | - | - | 接口调用失败回调 |\n@| complete | (res: any) => void | 否 | - | - | 接口调用结束回调(调用成功、失败都会执行) | \n\n#### ReportSuccess 的属性值 @reportsuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | 成功的详细信息 |\n\n#### ReportError 的属性值 @reporterror-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 61000 | - | 应用已集成uni统计,但未关联服务空间,请在uniCloud目录右键关联服务空间 |\n@| 61001 | - | 统计服务尚未初始化,需在`main.uts`中引入统计插件 |\n@| 61002 | - | name参数是uni-app-launch时, options 参数未填写 |\n@| 61003 | - | name参数未填写 |\n@| 61004 | - | name参数类型错误,应为`String`类型 |\n@| 61005 | - | name参数长度超限,最大不超过255 |\n@| 61006 | - | options参数错误,应为String或Object类型 |\n@| 61007 | - | options参数为String类型时,长度超限,最大不超过255 |\n@| 61008 | - | name参数为title时,options参数类型错误,应为String |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.stat.report)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=report&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=report&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=report&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=report&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=report&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=report)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=report&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)","example":"### 示例\n\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/API/report/report.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/report/report\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/report/report\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n msg: '点击按钮,测试上报'\r\n }\r\n },\r\n methods: {\r\n handleAppLaunch() {\r\n const options = uni.getLaunchOptionsSync()\n uni.report({\r\n name: 'uni-app-launch',\r\n options: options,\r\n success:(res)=> {\n this.msg = 'onLaunch --> ' + res.errMsg\r\n console.log(res);\r\n }, fail:(err)=> {\r\n this.msg = 'onLaunch --> ' + err.errMsg\n console.log(err);\r\n }\r\n })\r\n },\r\n handleAppHide() {\r\n uni.report({\r\n name: 'uni-app-hide',\r\n success:(res)=> {\n this.msg = 'onAppHide --> ' + res.errMsg\n console.log(res);\n }, fail:(err)=> {\n this.msg = 'onAppHide --> ' + err.errMsg\n console.log(err);\n }\r\n })\r\n },\r\n handleAppShow() {\r\n // const options = uni.getLaunchOptionsSync()\r\n uni.report({\r\n name: 'uni-app-show',\r\n success:(res)=> {\n this.msg = 'onAppShow --> ' + res.errMsg\n console.log(res);\n }, fail:(err)=> {\n this.msg = 'onAppShow --> ' + err.errMsg\n console.log(err);\n }\r\n })\r\n },\r\n handleAppError() {\r\n const errmsg = '测试错误'\r\n uni.report({\r\n name: 'uni-app-error',\r\n options: errmsg,\r\n success:(res)=> {\n this.msg = 'onAppError --> ' + res.errMsg\n console.log(res);\n }, fail:(err)=> {\n this.msg = 'onAppError --> ' + err.errMsg\n console.log(err);\n }\r\n })\r\n },\r\n }\r\n }\r\n\n```\n\n:::"},"createWebviewContext":{"name":"## uni.createWebviewContext(webviewId, component?) @createwebviewcontext","description":"创建 web-view 组件的上下文对象,用于操作 web-view 的行为。","compatibility":"### createWebviewContext 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9.0 | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| webviewId | [string.WebviewIdString](/uts/data-type.md#ide-string) | 是 | - | - | - |\n| component | ComponentPublicInstance | 否 | - | - | | \n","returnValue":"### 返回值 \n\n| 类型 | 描述 | 必备 |\n| :- | :- | :- |\n| [WebviewContext](#webviewcontext-values) | web-view组件上下文对象 | 否 |\n\n#### WebviewContext 的方法 @webviewcontext-values \n\n#### back() : void @back\n后退到 web-view 组件网页加载历史的上一页,如果不存在上一页则没有任何效果。\n##### back 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 3.9.0 | 4.11 |\n\n\n\n#### forward() : void @forward\n前进到 web-view 组件网页加载历史的下一页,如果不存在下一页则没有任何效果。\n##### forward 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 3.9.0 | 4.11 |\n\n\n\n#### reload() : void @reload\n重新加载 web-view 组件当前页面。\n##### reload 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 3.9.0 | 4.11 |\n\n\n\n#### stop() : void @stop\n停止加载 web-view 组件当前网页,该方法不能阻止已经加载的 html 文档,但是能够阻止未完成的图片及延迟加载的资源。\n##### stop 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 3.9.0 | 4.11 |\n\n\n\n#### evalJS(js : string) : void @evaljs\n在网页中执行指定的js脚本,在 uvue 页面中可通过此方法向 web-view 组件加载的页面发送数据\n##### evalJS 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 3.9.0 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| js | string | 是 | - | - | - | \n\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.component.createWebviewContext)"},"createVideoContext":{"name":"## uni.createVideoContext(videoId, component?) @createvideocontext","description":"创建并返回 video 上下文 videoContext 对象","compatibility":"### createVideoContext 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | √ | 4.11 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| videoId | [string.VideoIdString](/uts/data-type.md#ide-string) | 是 | - | - | - |\n| component | ComponentPublicInstance | 否 | - | - | | \n","returnValue":"### 返回值 \n\n| 类型 | 描述 | 必备 |\n| :- | :- | :- |\n| [VideoContext](#videocontext-values) | video组件上下文对象 | 否 |\n\n#### VideoContext 的方法 @videocontext-values \n\n#### play(): void; @play\n播放\n##### play 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n\n\n\n#### pause(): void; @pause\n暂停\n##### pause 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n\n\n\n#### seek(position: number): void; @seek\n跳转到指定位置\n##### seek 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| position | number | 是 | - | - | 跳转到指定位置(秒) | \n\n\n#### stop(): void; @stop\n停止视频\n##### stop 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n\n\n\n#### sendDanmu(danmu: Danmu): void; @senddanmu\n发送弹幕\n##### sendDanmu 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| danmu | **Danmu** | 是 | - | - | text, color |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| text | string | 否 | - | - | 弹幕文字 |\n@| color | string | 否 | - | - | 弹幕颜色 |\n@| time | number | 否 | - | - | 显示时刻 | \n\n\n#### playbackRate(rate: number): void; @playbackrate\n设置倍速播放\n##### playbackRate 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| rate | number | 是 | - | - | , 支持倍率 0.5/0.8/1.0/1.25/1.5 | \n\n\n#### requestFullScreen(direction?: RequestFullScreenOptions \\| null): void; @requestfullscreen\n进入全屏\n##### requestFullScreen 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| direction | **RequestFullScreenOptions** | 否 | - | - | , 0\\|正常竖向, 90\\|屏幕逆时针90度, -90\\|屏幕顺时针90度 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| direction | number | 否 | - | | direction
- 0: 正常竖向
- 90: 屏幕逆时针90度
- -90: 屏幕顺时针90度 | \n\n\n#### exitFullScreen(): void; @exitfullscreen\n退出全屏\n##### exitFullScreen 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9.0 | 4.11 |\n\n\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.component.createVideoContext)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/media/video-context.html#createvideocontext)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=createVideoContext&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=createVideoContext&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=createVideoContext&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=createVideoContext&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=createVideoContext&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=createVideoContext)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=createVideoContext&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"createMapContext":{"name":"## uni.createMapContext(mapId, component?) @createmapcontext","description":"创建并返回 map 上下文 mapContext 对象","compatibility":"### createMapContext 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.31 | 4.31 |\n","param":"### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| mapId | string | 是 | - | - | - |\n| component | ComponentPublicInstance | 否 | - | - | | \n","returnValue":"### 返回值 \n\n| 类型 | 描述 | 必备 |\n| :- | :- | :- |\n| [MapContext](#mapcontext-values) | map组件上下文对象 | 否 |\n\n#### MapContext 的方法 @mapcontext-values \n\n#### getCenterLocation(options : MapContextGetCenterLocationOptions) : void; @getcenterlocation\n获取当前地图中心的经纬度,返回的是 gcj02 坐标系,可以用于 uni.openLocation\n##### getCenterLocation 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **MapContextGetCenterLocationOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (result: [LocationObject](#locationobject-values)) => void | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (result: [MapContextFail](#mapcontextfail-values)) => void | 否 | null | - | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n###### LocationObject 的属性值 @locationobject-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| latitude | number | 是 | - | | 纬度,浮点数,范围为-90~90,负数表示南纬 |\n| longitude | number | 是 | - | | 经度,范围为-180~180,负数表示西经 |\n\n###### MapContextFail 的属性值 @mapcontextfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errCode | number | 是 | - | - | 错误码 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| 500001 | - | 获取当前地图中心的经纬度失败 |\n@| 500002 | - | 未找到当前定位位置 |\n@| 500003 | - | 未找到marker |\n@| 500004 | - | 创建自定义图片图层失败 |\n@| 500005 | - | 未找到自定义图层id |\n@| 500006 | - | 网络图片加载失败 |\n@| 500012 | - | 地图内部错误 |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| data | any | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |\n| errMsg | string | 是 | - | - | - |\n\n\n#### moveToLocation(options : MapContextMoveToLocationOptions) : void; @movetolocation\n将地图中心移动到当前定位点,需要配合map组件的show-location使用\n##### moveToLocation 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **MapContextMoveToLocationOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| latitude | number | 否 | null | | 纬度,浮点数,范围为-90~90,负数表示南纬 |\n@| longitude | number | 否 | null | | 经度,范围为-180~180,负数表示西经 |\n@| success | (result: any) => void | 否 | null | - | 接口调用成功的回调函数 |\n@| fail | (result: [MapContextFail](#mapcontextfail-values)) => void | 否 | null | - | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n\n#### translateMarker(options : MapContextTranslateMarkerOptions) : void; @translatemarker\n平移marker,带动画\n##### translateMarker 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **MapContextTranslateMarkerOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| markerId | number | 是 | - | | 指定marker |\n@| destination | [LocationObject](#locationobject-values) | 是 | - | | 指定marker移动到的目标点 |\n@| autoRotate | boolean | 否 | - | | 移动过程中是否自动旋转marker |\n@| rotate | number | 否 | 0 | | marker的旋转角度 |\n@| moveWithRotate | boolean | 否 | false | | 平移和旋转同时进行 |\n@| duration | number | 否 | 1000 | | 动画持续时长,平移与旋转分别计算 |\n@| success | (result: any) => void | 否 | null | - | 接口调用成功的回调函数 |\n@| fail | (result: [MapContextFail](#mapcontextfail-values)) => void | 否 | null | - | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n\n#### includePoints(options : MapContextIncludePointsOptions) : void; @includepoints\n缩放视野展示所有经纬度\n##### includePoints 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **MapContextIncludePointsOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| points | Array\\<[LocationObject](#locationobject-values)\\> | 是 | - | | 要显示在可视区域内的坐标点列表,[{latitude, longitude}\\] |\n@| success | (result: any) => void | 否 | null | - | 接口调用成功的回调函数 |\n@| fail | (result: [MapContextFail](#mapcontextfail-values)) => void | 否 | null | - | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n\n#### getRegion(options : MapContextGetRegionOptions) : void; @getregion\n获取当前地图的视野范围\n##### getRegion 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **MapContextGetRegionOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (result: [MapContextGetRegionResult](#mapcontextgetregionresult-values)) => void | 否 | null | - | 接口调用成功的回调函数 |\n@| fail | (result: [MapContextFail](#mapcontextfail-values)) => void | 否 | null | - | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n###### MapContextGetRegionResult 的属性值 @mapcontextgetregionresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| southwest | [LocationObject](#locationobject-values) | 是 | - | | 西南角的经纬度 |\n| northeast | [LocationObject](#locationobject-values) | 是 | - | | 东北角的经纬度 |\n\n\n#### getScale(options : MapContextGetScaleOptions) : void; @getscale\n获取当前地图的缩放级别\n##### getScale 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **MapContextGetScaleOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| success | (result: [MapContextGetScaleResult](#mapcontextgetscaleresult-values)) => void | 否 | null | - | 接口调用成功的回调函数 |\n@| fail | (result: [MapContextFail](#mapcontextfail-values)) => void | 否 | null | - | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n###### MapContextGetScaleResult 的属性值 @mapcontextgetscaleresult-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| scale | number | 是 | - | | 地图缩放级别 |\n\n\n#### addGroundOverlay(options : MapContextAddGroundOverlayOptions) : void; @addgroundoverlay\n创建自定义图片图层,图片会随着地图缩放而缩放\n##### addGroundOverlay 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **MapContextAddGroundOverlayOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| id | string | 是 | - | | 图片图层 id |\n@| src | string | 是 | - | | 图片路径,支持网络图片、临时路径、代码包路径 |\n@| bounds | **Bounds** | 是 | - | | 图片覆盖的经纬度范围 |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| southwest | [LocationObject](#locationobject-values) | 是 | - | | 西南角的经纬度 |\n@@| northeast | [LocationObject](#locationobject-values) | 是 | - | | 东北角的经纬度 |\n@| visible | boolean | 否 | false | | 是否可见 |\n@| zIndex | number | 否 | 0 | | 图层绘制顺序 |\n@| opacity | number | 否 | 1 | | 图层透明度 |\n@| success | (result: any) => void | 否 | null | - | 接口调用成功的回调函数 |\n@| fail | (result: [MapContextFail](#mapcontextfail-values)) => void | 否 | null | - | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n\n#### addMarkers(options : MapContextAddMarkersOptions) : void; @addmarkers\n添加 marker\n##### addMarkers 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **MapContextAddMarkersOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| markers | Array\\<**Marker**\\> | 是 | - | | 同传入 map 组件的 marker 属性 |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| id | number | 是 | - | | 标记点id,marker点击事件回调会返回此id。建议为每个marker设置上Number类型id,保证更新marker时有更好的性能。最大限制9位数 |\n@@| latitude | number | 是 | - | | 纬度,浮点数,范围 -90 ~ 90 |\n@@| longitude | number | 是 | - | | 经度,浮点数,范围 -180 ~ 180 |\n@@| iconPath | string | 是 | - | | 显示的图标,项目目录下的图片路径,支持相对路径写法,以'/'开头则表示相对小程序根目录;也支持临时路径 |\n@@| title | string | 否 | null | | 标注点名,点击时显示,callout存在时将被忽略 |\n@@| rotate | number | 否 | 0 | | 旋转角度,顺时针旋转的角度,范围 0 ~ 360 |\n@@| alpha | number | 否 | 1 | | 标注的透明度,范围 0 ~ 1 |\n@@| width | number | 否 | 默认为图片实际宽度 | | 标注图标宽度 |\n@@| height | number | 否 | 默认为图片实际高度 | | 标注图标高度 |\n@@| ariaLabel | string | 否 | null | | 无障碍访问,(属性)元素的额外描述 |\n@@| anchor | **Anchor** | 否 | [0.5, 1\\] | | 经纬度在标注图标的锚点,默认底边中点\t{x, y},x表示横向(0-1),y表示竖向(0-1)。{x: .5, y: 1} 表示底边中点 |\n@@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@@| :- | :- | :- | :- | :-: | :- |\n@@@| x | number | 是 | - | - | - |\n@@@| y | number | 是 | - | - | - |\n@@| callout | **MapMarkerCallout** | 否 | - | - | |\n@@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@@| :- | :- | :- | :- | :-: | :- |\n@@@| content | string | 否 | - | - | |\n@@@| color | string | 否 | - | - | |\n@@@| fontSize | number | 否 | - | - | |\n@@@| borderRadius | number | 否 | - | - | |\n@@@| borderWidth | number | 否 | - | - | |\n@@@| borderColor | string | 否 | - | - | |\n@@@| bgColor | string | 否 | - | - | |\n@@@| padding | number | 否 | - | - | |\n@@@| display | string | 否 | - | - | - |\n@@@@| 合法值 | 兼容性 | 描述 |\n@@@@| :- | :-: | :- |\n@@@@| BYCLICK | - | - |\n@@@@| ALWAYS | - | - |\n@@@| textAlign | string | 否 | - | - | - |\n@@@@| 合法值 | 兼容性 | 描述 |\n@@@@| :- | :-: | :- |\n@@@@| left | - | - |\n@@@@| center | - | - |\n@@@@| right | - | - |\n@@@| anchorX | number | 否 | - | - | |\n@@@| anchorY | number | 否 | - | - | |\n@@| label | **MapMarkerLabel** | 否 | - | - | |\n@@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@@| :- | :- | :- | :- | :-: | :- |\n@@@| content | string | 否 | - | - | |\n@@@| color | string | 否 | - | - | |\n@@@| fontSize | number | 否 | - | - | |\n@@@| x | number | 否 | - | - | |\n@@@| y | number | 否 | - | - | |\n@@@| anchorX | number | 否 | - | - | |\n@@@| anchorY | number | 否 | - | - | |\n@@@| borderWidth | number | 否 | - | - | |\n@@@| borderColor | string | 否 | - | - | |\n@@@| borderRadius | number | 否 | - | - | |\n@@@| bgColor | string | 否 | - | - | |\n@@@| padding | number | 否 | - | - | |\n@@@| textAlign | string | 否 | - | - | - |\n@@@@| 合法值 | 兼容性 | 描述 |\n@@@@| :- | :-: | :- |\n@@@@| left | - | - |\n@@@@| center | - | - |\n@@@@| right | - | - |\n@@@| ariaLabel | string | 否 | - | - | |\n@@| clusterId | number | 否 | - | - | |\n@@| customCallout | [MapMarkerCallout](#mapmarkercallout-values) | 否 | - | - | |\n@@| joinCluster | boolean | 否 | - | - | |\n@| clear | boolean | 是 | - | | 是否先清空地图上所有 marker |\n@| success | (result: any) => void | 否 | null | - | 接口调用成功的回调函数 |\n@| fail | (result: [MapContextFail](#mapcontextfail-values)) => void | 否 | null | - | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n\n#### moveAlong(options : MapContextMoveAlongOptions) : void; @movealong\n沿指定路径移动 marker,用于轨迹回放等场景。动画完成时触发回调事件,若动画进行中,对同一 marker 再次调用 moveAlong 方法,前一次的动画将被打断。\n##### moveAlong 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **MapContextMoveAlongOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| markerId | number | 是 | - | | 指定marker |\n@| path | Array\\<[LocationObject](#locationobject-values)\\> | 是 | - | | 移动路径的坐标串,坐标点格式 {longitude, latitude} |\n@| duration | number | 否 | 1000 | | 平滑移动的时间 |\n@| success | (result: any) => void | 否 | null | - | 接口调用成功的回调函数 |\n@| fail | (result: [MapContextFail](#mapcontextfail-values)) => void | 否 | null | - | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n\n#### removeGroundOverlay(options : MapContextRemoveGroundOverlayOptions) : void; @removegroundoverlay\n移除自定义图片图层\n##### removeGroundOverlay 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **MapContextRemoveGroundOverlayOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| id | string | 是 | - | | 图片图层 id |\n@| success | (result: any) => void | 否 | null | - | 接口调用成功的回调函数 |\n@| fail | (result: [MapContextFail](#mapcontextfail-values)) => void | 否 | null | - | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n\n#### removeMarkers(options : MapContextRemoveMarkersOptions) : void; @removemarkers\n移除 marker\n##### removeMarkers 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **MapContextRemoveMarkersOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| markerIds | Array\\ | 是 | - | | 要被删除的marker的id属性组成的数组 |\n@| success | (result: any) => void | 否 | null | - | 接口调用成功的回调函数 |\n@| fail | (result: [MapContextFail](#mapcontextfail-values)) => void | 否 | null | - | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n\n#### updateGroundOverlay(options : MapContextUpdateGroundOverlayOptions) : void; @updategroundoverlay\n更新自定义图片图层。\n##### updateGroundOverlay 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | 4.31 | 4.31 |\n\n##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | **MapContextUpdateGroundOverlayOptions** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| id | string | 是 | - | | 图片图层 id |\n@| src | string | 是 | - | | 图片路径,支持网络图片、临时路径、代码包路径 |\n@| bounds | [Bounds](#bounds-values) | 是 | - | | 图片覆盖的经纬度范围 |\n@| visible | boolean | 否 | true | | 是否可见 |\n@| zIndex | number | 否 | 0 | | 图层绘制顺序 |\n@| opacity | number | 否 | 1 | | 图层透明度 |\n@| success | (result: any) => void | 否 | null | - | 接口调用成功的回调函数 |\n@| fail | (result: [MapContextFail](#mapcontextfail-values)) => void | 否 | null | - | 接口调用失败的回调函数 |\n@| complete | (result: any) => void | 否 | null | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n \n","tutorial":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=api.component.createMapContext)\n - [参见uni-app相关文档](https://uniapp.dcloud.net.cn/api/location/map.html#createmapcontext)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=createMapContext&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=createMapContext&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=createMapContext&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=createMapContext&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=createMapContext&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=createMapContext)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=createMapContext&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"general_type":{"name":"## 通用类型\n","param":"### GeneralCallbackResult \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | 错误信息 |\n"}} \ No newline at end of file diff --git a/docs/.vuepress/utils/utsComJson.json b/docs/.vuepress/utils/utsComJson.json index 6372feae..22dae0cd 100644 --- a/docs/.vuepress/utils/utsComJson.json +++ b/docs/.vuepress/utils/utsComJson.json @@ -1 +1 @@ -{"view":{"name":"## view","description":"> 组件类型:UniViewElement \n\n 基本视图容器","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","attribute":"### 属性 \n| 名称 | 类型 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :-: | :- |\n| hover-class | string([string.ClassString](/uts/data-type.md#ide-string)) | \"none\" | | 指定按下去的样式类。当 hover-class=\"none\" 时,没有点击态效果 |\n| hover-stop-propagation | boolean | false | | 指定是否阻止本节点的祖先节点出现点击态(祖先节点:指根节点到该节点路径上的所有节点都是这个节点的祖先节点) |\n| hover-start-time | number | 50 | | 按住后多久出现点击态,单位毫秒 |\n| hover-stay-time | number | 400 | | 手指松开后点击态保留时间,单位毫秒 |","event":"","example":"### 示例\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/component/view/view.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/component/view/view\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/component/view/view\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\n```\n\n>Script\n```uts\n\r\n import { ItemType } from '@/components/enum-data/enum-data-types'\r\n export default {\r\n data() {\r\n return {\r\n hover_class: false,\r\n stop_propagation: false,\r\n start_time: 50,\r\n stay_time: 400,\r\n start_time_enum: [{ \"value\": 50, \"name\": \"50毫秒\" }, { \"value\": 200, \"name\": \"200毫秒\" }] as ItemType[],\r\n stay_time_enum: [{ \"value\": 400, \"name\": \"400毫秒\" }, { \"value\": 200, \"name\": \"200毫秒\" }] as ItemType[]\r\n }\r\n },\r\n methods: {\r\n change_hover_class_boolean(checked : boolean) {\r\n this.hover_class = checked\r\n },\r\n change_stop_propagation_boolean(checked : boolean) {\r\n this.stop_propagation = checked\r\n },\r\n radio_change_start_time_enum(time : number) {\r\n this.start_time = time\r\n },\r\n radio_change_stay_time_enum(time : number) {\r\n this.stay_time = time\r\n },\r\n },\r\n }\r\n\n```\n\n:::","children":"","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.view-container.view)\n- [参见uni-app相关文档](https://uniapp.dcloud.io/component/view.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=view&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=view&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=view&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=view&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=view&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=view)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=view&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"scroll-view":{"name":"## scroll-view","description":"> 组件类型:UniScrollViewElement \n\n 可滚动视图容器","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","attribute":"### 属性 \n| 名称 | 类型 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :-: | :- |\n| type | string | - | | 渲染模式,可取值 nested |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| nested | | 嵌套模式。用于处理父子 scroll-view 间的嵌套滚动,子节点只能是 nested-scroll-header nested-scroll-body 组件或自定义 refresher |\n| direction | string | \"vertical\" | | 滚动方向,可取值 none、all、horizontal、vertical,默认值vertical |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| none | | 禁止滚动 |\n@| all | | 横向竖向都可滚动 app端不支持 |\n@| horizontal | | 横向滚动 |\n@| vertical | | 竖向滚动 |\n| associative-container | string | \"\" | | 关联的滚动容器 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| nested-scroll-view | | 嵌套滚动 |\n| enable-back-to-top | boolean | false | | iOS点击顶部状态栏滚动条返回顶部,只支持竖向 |\n| bounces | boolean | true | | 控制是否回弹效果 优先级高于rebound |\n| upper-threshold | number | 50 | | 距顶部/左边多远时(单位px),触发 scrolltoupper 事件 |\n| lower-threshold | number | 50 | | 距底部/右边多远时(单位px),触发 scrolltolower 事件 |\n| scroll-top | number | 0 | | 设置竖向滚动条位置 |\n| scroll-left | number | 0 | | 设置横向滚动条位置 |\n| scroll-into-view | string([string.IDString](/uts/data-type.md#ide-string)) | - | | 值应为某子元素id(id不能以数字开头)。设置哪个方向可滚动,则在哪个方向滚动到该元素起始位置 |\n| scroll-with-animation | boolean | false | | 是否在设置滚动条位置时使用滚动动画,设置false没有滚动动画 |\n| refresher-enabled | boolean | false | | 开启下拉刷新,暂时不支持scroll-x = true横向刷新 |\n| refresher-threshold | number | 45 | | 设置下拉刷新阈值 |\n| refresher-max-drag-distance | number | - | | 设置下拉最大拖拽距离(单位px),默认是下拉刷新控件高度的2.5倍 |\n| refresher-default-style | string | \"black\" | | 设置下拉刷新默认样式,支持设置 black \\| white \\| none, none 表示不使用默认样式 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| black | | 深颜色雪花样式 |\n@| white | | 浅白色雪花样式 |\n@| none | | 不使用默认样式 |\n| refresher-background | string([string.ColorString](/uts/data-type.md#ide-string)) | \"transparent\" | | 设置下拉刷新区域背景颜色,默认透明 |\n| refresher-triggered | boolean | false | | 设置当前下拉刷新状态,true 表示下拉刷新已经被触发,false 表示下拉刷新未被触发 |\n| show-scrollbar | boolean | true | | 控制是否出现滚动条 |\n| custom-nested-scroll | boolean | false | | 子元素是否开启嵌套滚动 将滚动事件与父元素协商处理 |\n| nested-scroll-child | string([string.IDString](/uts/data-type.md#ide-string)) | \"\" | | 嵌套滚动子元素的id属性,不支持ref,scroll-view惯性滚动时会让对应id元素视图进行滚动,子元素滚动时会触发scroll-view的nestedprescroll事件,嵌套子元素需要设置custom-nested-scroll = true |\n| @refresherpulling | (event: [UniRefresherEvent](#unirefresherevent)) => void | - | | 下拉刷新控件被下拉 |\n| @refresherrefresh | (event: [UniRefresherEvent](#unirefresherevent)) => void | - | | 下拉刷新被触发 |\n| @refresherrestore | (event: [UniRefresherEvent](#unirefresherevent)) => void | - | | 下拉刷新被复位 |\n| @refresherabort | (event: [UniRefresherEvent](#unirefresherevent)) => void | - | | 下拉刷新被中止 |\n| @scrolltoupper | (event: [UniScrollToUpperEvent](#uniscrolltoupperevent)) => void | - | | 滚动到顶部/左边,会触发 scrolltoupper 事件 |\n| @scrolltolower | (event: [UniScrollToLowerEvent](#uniscrolltolowerevent)) => void | - | | 滚动到底部/右边,会触发 scrolltolower 事件 |\n| @scroll | (event: [UniScrollEvent](#uniscrollevent)) => void | - | | 滚动时触发,event.detail = {scrollLeft, scrollTop, scrollHeight, scrollWidth, deltaX, deltaY} |\n| @scrollend | (event: [UniScrollEvent](#uniscrollevent)) => void | - | | 滚动结束时触发,event.detail = {scrollLeft, scrollTop, scrollHeight, scrollWidth, deltaX, deltaY} |\n| @startnestedscroll | (event: [UniStartNestedScrollEvent](#unistartnestedscrollevent)) => Boolean | - | | 子元素开始滚动时触发, return true表示与子元素开启滚动协商 默认return false! event = {node} |\n| @nestedprescroll | (event: [UniNestedPreScrollEvent](#uninestedprescrollevent)) => void | - | | 子元素滚动时触发,可执行event.consumed(x,y)告知子元素deltaX、deltaY各消耗多少。子元素将执行差值后的deltaX、deltaY滚动距离。不执行consumed(x,y)则表示父元素不消耗deltaX、deltaY。event = {deltaX, deltaY} |\n| @stopnestedscroll | (event: [UniStopNestedScrollEvent](#unistopnestedscrollevent)) => void | - | | 子元素滚动结束或意外终止时触发 |\n| ~~rebound~~ | boolean | true | | 控制是否回弹效果。已废弃,请改用bounces |\n| ~~scroll-y~~ | boolean | true | | 允许纵向滚动,不支持同时设置scroll-x属性为true,同时设置true时scroll-y生效。已废弃,请改用direction |\n| ~~scroll-x~~ | boolean | false | | 允许横向滚动,不支持同时设置scroll-y属性为true,同时设置true时scroll-y生效。已废弃,请改用direction |","event":"\n### 事件\n#### UniRefresherEvent\n\n```mermaid\ngraph LR\n \nUniRefresherEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```\n##### UniRefresherEvent 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| detail | **UniRefresherEventDetail** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| dy | number | 是 | - | - | - |\n\n\n#### UniScrollToUpperEvent\n\n```mermaid\ngraph LR\n \nUniScrollToUpperEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```\n##### UniScrollToUpperEvent 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| detail | **UniScrollToUpperEventDetail** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| direction | string | 是 | - | - | 滚动方向 top 或 left |\n\n\n#### UniScrollToLowerEvent\n\n```mermaid\ngraph LR\n \nUniScrollToLowerEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```\n##### UniScrollToLowerEvent 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| detail | **UniScrollToLowerEventDetail** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| direction | string | 是 | - | - | 滚动方向 bottom 或 right |\n\n\n#### UniScrollEvent\n\n```mermaid\ngraph LR\n \nUniScrollEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```\n##### UniScrollEvent 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| detail | **UniScrollEventDetail** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| scrollTop | number | 是 | - | - | 竖向滚动的距离 |\n@| scrollLeft | number | 是 | - | - | 横向滚动的距离 |\n@| scrollHeight | number | 是 | - | - | 滚动区域的高度 |\n@| scrollWidth | number | 是 | - | - | 滚动区域的宽度 |\n@| deltaY | number | 是 | - | - | 当次滚动事件竖向滚动量 |\n@| deltaX | number | 是 | - | - | 当次滚动事件横向滚动量 |\n\n\n#### UniStartNestedScrollEvent\n\n```mermaid\ngraph LR\n \nUniStartNestedScrollEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```\n##### UniStartNestedScrollEvent 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| node | [UniElement](/dom/unielement.md) | 是 | - | - | 开始滚动子节点对象 |\n| isTouch | boolean | 是 | - | | 是否由触摸行为发生的Event |\n\n\n#### UniNestedPreScrollEvent\n\n```mermaid\ngraph LR\n \nUniNestedPreScrollEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```\n##### UniNestedPreScrollEvent 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| deltaX | number | 是 | - | - | x轴滚动距离 |\n| deltaY | number | 是 | - | - | y轴滚动距离 |\n| isTouch | boolean | 是 | - | | 是否由触摸行为发生的Event |\n\n\n##### UniNestedPreScrollEvent 的方法\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| consumed | (consumedX: number, consumedY: number) => void | 是 | - | - | 通知到子节点x,y轴滚动距离的消耗 |\n\n#### UniStopNestedScrollEvent\n\n```mermaid\ngraph LR\n \nUniStopNestedScrollEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```\n##### UniStopNestedScrollEvent 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| isTouch | boolean | 是 | - | - | 是否由触摸行为发生的Event |\n\n","example":"### 示例\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/component/scroll-view/scroll-view.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/component/scroll-view/scroll-view\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/component/scroll-view/scroll-view\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\n```\n\n>Script\n```uts\n\r\n type ScrollEventTest = {\r\n type : string;\r\n target : UniElement | null;\r\n currentTarget : UniElement | null;\r\n direction ?: string\r\n }\r\n export default {\r\n data() {\r\n return {\r\n scrollTop: 0,\r\n oldScrollTop: 0,\r\n scrollLeft: 120,\r\n showScrollbar: true,\r\n // 自动化测试\r\n isScrollTest: '',\r\n isScrolltolowerTest: '',\r\n isScrolltoupperTest: '',\r\n scrollDetailTest: null as UniScrollEventDetail | null,\r\n scrollEndDetailTest: null as UniScrollEventDetail | null,\r\n }\r\n },\r\n methods: {\r\n upper: function (e : UniScrollToUpperEvent) {\r\n console.log('滚动到顶部/左边', e)\r\n this.checkEventTest({\r\n type: e.type,\r\n target: e.target,\r\n currentTarget: e.currentTarget,\r\n direction: e.detail.direction,\r\n } as ScrollEventTest, 'scrolltoupper')\r\n },\r\n lower: function (e : UniScrollToLowerEvent) {\r\n console.log('滚动到底部/右边', e)\r\n this.checkEventTest({\r\n type: e.type,\r\n target: e.target,\r\n currentTarget: e.currentTarget,\r\n direction: e.detail.direction,\r\n } as ScrollEventTest, 'scrolltolower')\r\n },\r\n scroll: function (e : UniScrollEvent) {\r\n this.scrollDetailTest = e.detail\r\n this.checkEventTest({\r\n type: e.type,\r\n target: e.target,\r\n currentTarget: e.currentTarget\r\n } as ScrollEventTest, 'scroll')\r\n this.oldScrollTop = e.detail.scrollTop\r\n },\r\n end: function (e : UniScrollEvent) {\r\n console.log('滚动结束时触发', e)\r\n this.scrollEndDetailTest = e.detail\r\n this.checkEventTest({\r\n type: e.type,\r\n target: e.target,\r\n currentTarget: e.currentTarget\r\n } as ScrollEventTest, 'scrollend')\r\n },\r\n goTop: function () {\r\n // 解决view层不同步的问题\r\n this.scrollTop = this.oldScrollTop\r\n this.$nextTick(function () {\r\n this.scrollTop = 0\r\n })\r\n uni.showToast({\r\n icon: 'none',\r\n title: '纵向滚动 scrollTop 值已被修改为 0',\r\n })\r\n },\r\n // 自动化测试专用(由于事件event参数对象中存在循环引用,在ios端JSON.stringify报错,自动化测试无法page.data获取)\r\n checkEventTest(e : ScrollEventTest, eventName : String) {\r\n const isPass = e.type === eventName && e.target instanceof UniElement && e.currentTarget instanceof UniElement;\r\n const result = isPass ? `${eventName}:Success` : `${eventName}:Fail`;\r\n switch (eventName) {\r\n case 'scroll':\r\n this.isScrollTest = result\r\n break;\r\n case 'scrolltolower':\r\n this.isScrolltolowerTest = result + `-${e.direction}`\r\n break;\r\n case 'scrolltoupper':\r\n this.isScrolltoupperTest = result + `-${e.direction}`\r\n break;\r\n default:\r\n break;\r\n }\r\n },\r\n // 自动化测试专用\r\n setVerticalScrollBy(y : number) {\r\n const element = uni.getElementById(\"verticalScrollView\")\r\n if (element != null) {\r\n element.scrollBy(0, y)\r\n }\r\n }\r\n },\r\n }\r\n\n```\n\n:::","children":"","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.view-container.scroll-view)\n- [参见uni-app相关文档](https://uniapp.dcloud.io/component/scroll-view.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=scroll-view&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=scroll-view&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=scroll-view&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=scroll-view&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=scroll-view&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=scroll-view)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=scroll-view&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"swiper-item":{"name":"## swiper-item","description":"> 组件类型:UniSwiperItemElement \n\n swiper的唯一合法子组件。每个swiper-item代表一个滑块。宽高自动设置为100%","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","attribute":"### 属性 \n| 名称 | 类型 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :-: | :- |\n| item-id | string | - | | 该 swiper-item 的标识符 |","event":"","example":"","children":"","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.view-container.swiper.swiper-item)\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/component/swiper.html#swiper-item)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=swiper-item&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=swiper-item&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=swiper-item&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=swiper-item&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=swiper-item&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=swiper-item)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=swiper-item&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"swiper":{"name":"## swiper","description":"> 组件类型:UniSwiperElement \n\n 滑块视图容器","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","attribute":"### 属性 \n| 名称 | 类型 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :-: | :- |\n| indicator-dots | boolean | false | | 是否显示面板指示点 |\n| indicator-color | string([string.ColorString](/uts/data-type.md#ide-string)) | \"rgba(0, 0, 0, .3)\" | | 指示点颜色 |\n| indicator-active-color | string([string.ColorString](/uts/data-type.md#ide-string)) | \"#000000\" | | 当前选中的指示点颜色 |\n| active-class | string | - | | swiper-item 可见时的 class |\n| changing-class | boolean | - | | acceleration 设置为 {{true}} 时且处于滑动过程中,中间若干屏处于可见时的class |\n| acceleration | boolean | - | | 当开启时,会根据滑动速度,连续滑动多屏 |\n| disable-programmatic-animation | boolean | - | | 是否禁用代码变动触发 swiper 切换时使用动画。 |\n| disable-touch | boolean | false | | 是否禁止用户 touch 操作 |\n| touchable | boolean | - | | 是否监听用户的触摸事件 |\n| easing-function | string | - | | 指定 swiper 切换缓动动画类型,有效值:default、linear、easeInCubic、easeOutCubic、easeInOutCubic |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| default | | |\n@| linear | | |\n@| easeInCubic | | |\n@| easeOutCubic | | |\n@| easeInOutCubic | | |\n| autoplay | boolean | false | | 是否自动切换 |\n| current | number | 0 | | 当前所在滑块的 index |\n| current-item-id | string | - | | 当前所在滑块的 item-id ,不能与 current 被同时指定 |\n| interval | number | 3000 | | 自动切换时间间隔 |\n| duration | number | - | | 滑动动画时长 |\n| circular | boolean | false | | 是否采用衔接滑动 |\n| vertical | boolean | false | | 滑动方向是否为纵向 |\n| rebound | boolean | true | | 控制是否回弹效果 |\n| previous-margin | string | - | | 前边距,可用于露出前一项的一小部分,接受 px 和 rpx 值 |\n| next-margin | string | - | | 后边距,可用于露出后一项的一小部分,接受 px 和 rpx 值 |\n| display-multiple-items | number | - | | 同时显示的滑块数量 |\n| skip-hidden-item-layout | boolean | - | | 是否跳过未显示的滑块布局,设为 true 可优化复杂情况下的滑动性能,但会丢失隐藏状态滑块的布局信息 |\n| @change | (event: [UniSwiperChangeEvent](#uniswiperchangeevent)) => void | - | | current 改变时会触发 change 事件,event.detail = {current: current, source: source} |\n| @transition | (event: [UniSwiperTransitionEvent](#uniswipertransitionevent)) => void | - | | swiper-item 的位置发生改变时会触发 transition 事件,event.detail = {dx: dx, dy: dy} |\n| @animationfinish | (event: [UniSwiperAnimationFinishEvent](#uniswiperanimationfinishevent)) => void | - | | 动画结束时会触发 animationfinish 事件,event.detail = {current: current, source: source} |","event":"\n### 事件\n#### UniSwiperChangeEvent\n\n```mermaid\ngraph LR\n \nUniSwiperChangeEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```\n##### UniSwiperChangeEvent 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| detail | **UniSwiperChangeEventDetail** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| current | number | 是 | - | - | 发生change事件的滑块下标 |\n@| currentItemId | string | 否 | - | | 切换结束的 swiper-item 的 item-id 属性值 |\n@| source | string | 是 | - | - | autoplay 自动播放导致swiper变化;touch 用户划动引起swiper变化 |\n\n\n#### UniSwiperTransitionEvent\n\n```mermaid\ngraph LR\n \nUniSwiperTransitionEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```\n##### UniSwiperTransitionEvent 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| detail | **UniSwiperTransitionEventDetail** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| dx | number | 是 | - | - | 横向偏移量,单位是逻辑像素px |\n@| dy | number | 是 | - | - | 纵向偏移量,单位是逻辑像素px |\n\n\n#### UniSwiperAnimationFinishEvent\n\n```mermaid\ngraph LR\n \nUniSwiperAnimationFinishEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```\n##### UniSwiperAnimationFinishEvent 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| detail | **UniSwiperAnimationFinishEventDetail** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| current | number | 是 | - | - | 发生动画结束事件的滑块下标 |\n@| currentItemId | string | 否 | - | | 动画结束的 swiper-item 的 item-id 属性值 |\n@| source | string | 是 | - | - | autoplay 自动播放导致swiper变化;touch 用户划动引起swiper变化 |\n\n","example":"### 示例\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/component/swiper/swiper.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/component/swiper/swiper\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/component/swiper/swiper\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n type SwiperEventTest = {\r\n type : string;\r\n target : UniElement | null;\r\n currentTarget : UniElement | null;\r\n }\r\n export default {\r\n data() {\r\n return {\r\n background: ['color1', 'color2', 'color3'],\r\n dotsSelect: false,\r\n reboundSelect: false,\r\n autoplaySelect: false,\r\n circularSelect: false,\r\n indicatorColorSelect: false,\r\n verticalSelect: false,\r\n currentSelect: false,\r\n currentItemIdSelect: false,\r\n intervalSelect: 2000,\r\n indicatorColor: \"\",\r\n indicatorColorActive: \"\",\r\n currentVal: 0,\r\n currentItemIdVal: \"\",\r\n disableTouchSelect: false,\r\n swiperTransitionSelect: false,\r\n swiperAnimationfinishSelect: false,\r\n swiperChangeSelect: false,\r\n currentValChange: 0,\r\n // 自动化测试\r\n changeDetailTest: null as UniSwiperChangeEventDetail | null,\r\n transitionDetailTest: null as UniSwiperTransitionEventDetail | null,\r\n animationfinishDetailTest: null as UniSwiperAnimationFinishEventDetail | null,\r\n isChangeTest: '',\r\n isTransitionTest: '',\r\n isAnimationfinishTest: '',\n swipeX: 0,\n swipeY: 0\r\n }\r\n },\n onReady() {\n // 获取模拟滑动手势的起始点\n let ele = uni.getElementById(\"swiper-view\")\n let eleRect = ele?.getBoundingClientRect()\r\n if(eleRect != null) {\r\n this.swipeX = eleRect.width - 10\r\n this.swipeY += eleRect.y + uni.getSystemInfoSync().safeArea.top + 44 + 35\r\n }\n },\r\n methods: {\n swipertouchStart(e: UniTouchEvent) {\n console.log(\"swiper touchstart\")\n },\n viewtouchStart(e: UniTouchEvent) {\n console.log(\"view touchstart:\")\n },\r\n swiperChange: function (e : UniSwiperChangeEvent) {\r\n this.changeDetailTest = e.detail\r\n this.checkEventTest({\r\n type: e.type,\r\n target: e.target,\r\n currentTarget: e.currentTarget\r\n } as SwiperEventTest, 'change')\r\n this.currentValChange = e.detail.current\r\n console.log(this.currentValChange)\r\n if (this.swiperChangeSelect) {\r\n console.log(\"swiperChange\")\r\n console.log(e)\r\n }\r\n },\r\n swiperTransition: function (e : UniSwiperTransitionEvent) {\r\n this.transitionDetailTest = e.detail\r\n this.checkEventTest({\r\n type: e.type,\r\n target: e.target,\r\n currentTarget: e.currentTarget\r\n } as SwiperEventTest, 'transition')\r\n if (this.swiperTransitionSelect) {\r\n console.log(\"swiperTransition\")\r\n console.log(e)\r\n }\r\n },\r\n swiperAnimationfinish: function (e : UniSwiperAnimationFinishEvent) {\r\n this.animationfinishDetailTest = e.detail\r\n this.checkEventTest({\r\n type: e.type,\r\n target: e.target,\r\n currentTarget: e.currentTarget\r\n } as SwiperEventTest, 'animationfinish')\r\n if (this.swiperAnimationfinishSelect) {\r\n console.log(\"swiperAnimationfinish\")\r\n console.log(e)\r\n }\r\n },\r\n // 自动化测试专用(由于事件event参数对象中存在循环引用,在ios端JSON.stringify报错,自动化测试无法page.data获取)\r\n checkEventTest(e : SwiperEventTest, eventName : String) {\r\n const isPass = e.type === eventName && e.target instanceof UniElement && e.currentTarget instanceof UniElement;\r\n const result = isPass ? `${eventName}:Success` : `${eventName}:Fail`;\r\n switch (eventName) {\r\n case 'change':\r\n this.isChangeTest = result\r\n break;\r\n case 'transition':\r\n this.isTransitionTest = result\r\n break;\r\n case 'animationfinish':\r\n this.isAnimationfinishTest = result\r\n break;\r\n default:\r\n break;\r\n }\r\n },\r\n dotsChange: function (e : UniSwitchChangeEvent) {\r\n this.dotsSelect = e.detail.value\r\n },\r\n swiperTransitionChange: function (e : UniSwitchChangeEvent) {\r\n this.swiperTransitionSelect = e.detail.value\r\n },\r\n swiperChangeChange: function (e : UniSwitchChangeEvent) {\r\n this.swiperChangeSelect = e.detail.value\r\n },\r\n swiperAnimationfinishChange: function (e : UniSwitchChangeEvent) {\r\n this.swiperAnimationfinishSelect = e.detail.value\r\n },\r\n autoplayChange: function (e : UniSwitchChangeEvent) {\r\n this.autoplaySelect = e.detail.value\r\n },\r\n verticalChange: function (e : UniSwitchChangeEvent) {\r\n this.verticalSelect = e.detail.value\r\n },\r\n disableTouchChange: function (e : UniSwitchChangeEvent) {\r\n this.disableTouchSelect = e.detail.value\r\n },\r\n currentItemIdChange: function (e : UniSwitchChangeEvent) {\r\n this.currentItemIdSelect = e.detail.value\r\n if (this.currentItemIdSelect) {\r\n this.currentItemIdVal = 'C'\r\n } else {\r\n this.currentItemIdVal = 'A'\r\n }\r\n },\r\n currentChange: function (e : UniSwitchChangeEvent) {\r\n this.currentSelect = e.detail.value\r\n if (this.currentSelect) {\r\n this.currentVal = 2\r\n } else {\r\n this.currentVal = 0\r\n }\r\n\r\n },\r\n circularChange: function (e : UniSwitchChangeEvent) {\r\n this.circularSelect = e.detail.value\r\n console.log(this.circularSelect)\r\n },\r\n reboundSelectChange: function (e : UniSwitchChangeEvent) {\r\n this.reboundSelect = e.detail.value\r\n console.log(this.reboundSelect)\r\n },\r\n sliderChange(e : UniSliderChangeEvent) {\r\n this.intervalSelect = e.detail.value\r\n },\r\n indicatorColorChange(e : UniSwitchChangeEvent) {\r\n this.indicatorColorSelect = e.detail.value\r\n if (this.indicatorColorSelect) {\r\n // 选择了定制指示器颜色\r\n this.indicatorColor = \"#ff00ff\"\r\n this.indicatorColorActive = \"#0000ff\"\r\n } else {\r\n // 没有选择颜色\r\n this.indicatorColor = \"\"\r\n this.indicatorColorActive = \"\"\r\n }\r\n }\r\n }\r\n }\r\n\n```\n\n:::","children":"### 子组件 @children-tags\n| 子组件 | 兼容性 |\n| :- | :- |\n| [swiper-item](swiper-item.md) | |","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.view-container.swiper.swiper)\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/component/swiper.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=swiper&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=swiper&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=swiper&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=swiper&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=swiper&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=swiper)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=swiper&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"match-media":{"name":"## match-media","description":"media query 匹配检测节点","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","attribute":"### 属性 \n| 名称 | 类型 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :-: | :- |\n| width | number | - | | 页面宽度(px 为单位) |\n| min-width | number | - | | 页面最小宽度(px 为单位) |\n| max-width | number | - | | 页面最大宽度(px 为单位) |\n| height | number | - | | 页面高度(px 为单位) |\n| min-height | number | - | | 页面最小高度(px 为单位) |\n| max-height | number | - | | 页面最大高度(px 为单位) |\n| orientation | string | - | | 屏幕方向(landscape 或 portrait) |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| vertical | - | |\n@| horizontal | - | |","event":"","example":"","children":"","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.view-container.match-media)\n- [参见uni-app相关文档](https://uniapp.dcloud.io/component/match-media.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=match-media&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=match-media&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=match-media&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=match-media&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=match-media&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=match-media)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=match-media&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"movable-area":{"name":"## movable-area","description":"movable-view 的可移动区域","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","attribute":"","event":"","example":"","children":"","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.view-container.movable.movable-area)\n- [参见uni-app相关文档](https://uniapp.dcloud.io/component/movable-area.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=movable-area&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=movable-area&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=movable-area&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=movable-area&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=movable-area&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=movable-area)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=movable-area&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"movable-view":{"name":"## movable-view","description":"可移动的视图容器,在页面中可以拖拽滑动","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","attribute":"### 属性 \n| 名称 | 类型 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :-: | :- |\n| direction | string | - | | movable-view的移动方向,属性值有all、vertical、horizontal、none |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| all | - | |\n@| vertical | - | |\n@| horizontal | - | |\n@| none | - | |\n| inertia | boolean | - | | movable-view 是否带有惯性。 |\n| out-of-bounds | boolean | - | | 超过可移动区域后,movable-view 是否还可以移动。 |\n| x | string \\\\| number | - | | 定义 x 轴方向的偏移,如果 x 的值不在可移动范围内,会自动移动到可移动范围;改变 x 的值会触发动画。 |\n| y | string \\\\| number | - | | 定义 y 轴方向的偏移,如果 y 的值不在可移动范围内,会自动移动到可移动范围;改变 y 的值会触发动画。 |\n| damping | number | - | | 阻尼系数,用于控制 x 或 y 改变时的动画和过界回弹的动画,值越大移动越快。 |\n| friction | number | - | | 摩擦系数,用于控制惯性滑动的动画,值越大摩擦力越大,滑动越快停止;必须大于0,否则会被设置成默认值 2。 |\n| disabled | boolean | - | | 是否禁用。 |\n| scale | boolean | - | | 是否支持双指缩放,默认缩放手势生效区域是在 movable-view 内。 |\n| scale-min | number | - | | 定义缩放倍数最小值,默认为 0.5。 |\n| scale-max | number | - | | 定义缩放倍数最大值,默认为 10。 |\n| scale-value | number | - | | 定义缩放倍数,取值范围为 0.5 - 10 |\n| animation | boolean | - | | 是否使用动画,默认为 true。 |\n| @change | (event: [UniEvent](/component/common.md#unievent)) => void | - | | 拖动过程中触发的事件,event.detail = {x: x, y: y, source: source}。其中source表示产生移动的原因,值可为touch(拖动)、touch-out-of-bounds(超出移动范围)、out-of-bounds(超出移动范围后的回弹)、friction(惯性)和空字符串(setData)。 |\n| @scale | (event: [UniEvent](/component/common.md#unievent)) => void | - | | 缩放过程中触发的事件,event.detail = {x: x, y: y, scale: scale}。 |","event":"","example":"### 示例\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/component/movable-view/movable-view.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/component/movable-view/movable-view\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n x: 0,\r\n y: 0,\r\n scale: 2,\r\n old: {\r\n x: 0,\r\n y: 0,\r\n scale: 2\r\n }\r\n }\r\n },\r\n methods: {\r\n tap: function (e) {\r\n // 解决view层不同步的问题\r\n this.x = this.old.x\r\n this.y = this.old.y\r\n this.$nextTick(function () {\r\n this.x = 30\r\n this.y = 30\r\n })\r\n },\r\n tap2() {\r\n // 解决view层不同步的问题\r\n this.scale = this.old.scale\r\n this.scale = this.old.scale\r\n this.$nextTick(function () {\r\n this.scale = 3\r\n })\r\n },\r\n onChange: function (e) {\r\n this.old.x = e.detail.x\r\n this.old.y = e.detail.y\r\n },\r\n onScale: function (e) {\r\n this.old.scale = e.detail.scale\r\n }\r\n }\r\n }\r\n\n```\n\n:::","children":"","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.view-container.movable.movable-view)\n- [参见uni-app相关文档](https://uniapp.dcloud.io/component/movable-view.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=movable-view&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=movable-view&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=movable-view&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=movable-view&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=movable-view&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=movable-view)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=movable-view&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"cover-view":{"name":"## cover-view","description":"覆盖在原生组件之上的文本视图,可覆盖的原生组件包括map、video、canvas、camera,只支持嵌套cover-view、cover-image","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","attribute":"","event":"","example":"### 示例\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/component/cover-view/cover-view.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/component/cover-view/cover-view\n\n>Template\n```vue\n\n\n\n\n\n\n```\n\n>Script\n```uts\n\n export default {\n data() {\n return {\n showMap: false,\n latitude: 39.909,\n longitude: 116.39742\n };\n },\n onLoad() {\n this.showMap = true\n }\n }\n\n```\n\n:::","children":"","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.view-container.cover.cover-view)\n- [参见uni-app相关文档](https://uniapp.dcloud.io/component/cover-view.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=cover-view&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=cover-view&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=cover-view&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=cover-view&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=cover-view&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=cover-view)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=cover-view&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"cover-image":{"name":"## cover-image","description":"覆盖在原生组件之上的图片视图,可覆盖的原生组件同cover-view,支持嵌套在cover-view里。","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","attribute":"### 属性 \n| 名称 | 类型 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :-: | :- |\n| v-for | Any | - | | - |\n| v-if | Any | - | | - |\n| v-show | Any | - | | - |\n| src | string([string.ImageURIString](/uts/data-type.md#ide-string)) | - | | 图标路径,支持临时路径、网络地址(1.6.0起支持)。暂不支持base64格式。 |","event":"","example":"","children":"","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.view-container.cover.cover-image)\n- [参见uni-app相关文档](https://uniapp.dcloud.io/component/cover-image.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=cover-image&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=cover-image&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=cover-image&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=cover-image&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=cover-image&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=cover-image)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=cover-image&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"list-item":{"name":"## list-item","description":"> 组件类型:UniListItemElement \n\n list-view组件的唯一合法子组件。每个item是一行","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.02 | 3.9 | 4.11 |\n","attribute":"### 属性 \n| 名称 | 类型 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :-: | :- |\n| type | number | 0 | | 对应list-item的类型 list-view 将对同类型条目进行复用,所以合理的类型拆分,可以很好地提升 list-view 性能 |","event":"","example":"","children":"","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.view-container.list-view.list-item)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=list-item&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=list-item&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=list-item&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=list-item&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=list-item&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=list-item)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=list-item&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"sticky-header":{"name":"## sticky-header","description":"> 组件类型:UniStickyHeaderElement \n\n 吸顶布局容器

注意:暂时仅支持作为list-view、sticky-section的子节点, sticky-header不支持css样式!当一个容器视图设置多个sticky-header时,后一个sticky-header会停靠在前一个sticky-header的末尾处。","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.02 | 3.93 | 4.11 |\n","attribute":"### 属性 \n| 名称 | 类型 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :-: | :- |\n| padding | array\\ | [0,0,0,0\\] | | 长度为 4 的数组,按 top、right、bottom、left 顺序指定内边距 |","event":"","example":"### 示例\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/component/sticky-header/sticky-header.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/component/sticky-header/sticky-header\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/component/sticky-header/sticky-header\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n sift_item: [\"排序\", \"筛选\"],\r\n list_item: [] as Array,\r\n refresher_enabled_boolean: true,\r\n refresher_triggered_boolean: false,\r\n scroll_top_input: 0\r\n }\r\n },\r\n onLoad() {\r\n let lists : Array = []\r\n for (let i = 0; i < 40; i++) {\r\n lists.push(\"item---\" + i)\r\n }\r\n this.list_item = lists\r\n },\r\n methods: {\r\n list_view_refresherrefresh() {\r\n console.log(\"下拉刷新被触发 \")\r\n this.refresher_triggered_boolean = true\r\n setTimeout(() => {\r\n this.refresher_triggered_boolean = false\r\n }, 1500)\r\n },\r\n confirm_scroll_top_input(value : number) {\r\n this.scroll_top_input = value\r\n },\r\n clickTH(index : number) {\r\n console.log(\"点击表头:\" + index);\r\n }\r\n }\r\n }\r\n\n```\n\n:::","children":"","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.view-container.sticky.sticky-header)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=sticky-header&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=sticky-header&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=sticky-header&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=sticky-header&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=sticky-header&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=sticky-header)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=sticky-header&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"sticky-section":{"name":"## sticky-section","description":"> 组件类型:UniStickySectionElement \n\n 吸顶布局容器

注意:暂时仅支持作为list-view的子节点, sticky-section不支持css样式!","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.02 | 3.98 | 4.11 |\n","attribute":"### 属性 \n| 名称 | 类型 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :-: | :- |\n| push-pinned-header | boolean | true | | sticky-section元素重叠时是否继续上推 |\n| padding | array\\ | [0,0,0,0\\] | | 长度为 4 的数组,按 top、right、bottom、left 顺序指定内边距 |","event":"","example":"### 示例\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/component/sticky-section/sticky-section.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/component/sticky-section/sticky-section\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/component/sticky-section/sticky-section\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export type sectionData = {\r\n name : string,\r\n list : sectionListItem[]\r\n }\r\n export type sectionListItem = {\r\n text : string\r\n }\r\n export default {\r\n data() {\r\n return {\r\n data: ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N'],\r\n sectionPadding: [0, 10, 0, 10] as Array,\r\n scrollIntoView: \"\",\r\n scrolling: false,\r\n sectionArray: [] as sectionData[],\r\n appendId: 0\r\n }\r\n },\r\n onLoad() {\r\n this.data.forEach(key => {\r\n const list = [] as sectionListItem[]\r\n for (let i = 1; i < 11; i++) {\r\n const item = { text: key + \"--item--content----\" + i } as sectionListItem\r\n list.push(item)\r\n }\r\n const data = { name: key, list: list } as sectionData\r\n this.sectionArray.push(data)\r\n }\r\n )\r\n },\r\n methods: {\r\n toTop() {\r\n this.scrollIntoView = \"\"\r\n uni.getElementById(\"list-view\")!.scrollTop = 0\r\n },\r\n //用于自动化测试\r\n listViewScrollByY(y : number) {\r\n const listview = this.$refs[\"list-view\"] as UniElement\r\n // listview.scrollBy(0, y)\r\n listview.scrollTop = y\r\n },\r\n gotoStickyHeader(id : string) {\r\n // #ifdef APP\r\n this.scrollIntoView = id\r\n // #endif\r\n // #ifdef WEB\r\n console.log(\"web端不支持该功能\")\r\n // #endif\r\n },\r\n onScroll() {\r\n this.scrolling = true\r\n },\r\n onScrollEnd() {\r\n this.scrolling = false\r\n //滚动后重置scrollIntoView = \"\"\r\n if (this.scrollIntoView != \"\") {\r\n this.scrollIntoView = \"\"\r\n }\r\n },\r\n appendSectionItem(index : number) {\r\n const data = this.sectionArray[index]\r\n this.appendId++\r\n const list = [\r\n { text: data.name + \"--item--content----new1--\" + this.appendId } as sectionListItem,\r\n { text: data.name + \"--item--content----new2--\" + this.appendId } as sectionListItem,\r\n { text: data.name + \"--item--content----new3--\" + this.appendId } as sectionListItem,\r\n { text: data.name + \"--item--content----new4--\" + this.appendId } as sectionListItem,\r\n { text: data.name + \"--item--content----new5--\" + this.appendId } as sectionListItem\r\n ] as sectionListItem[]\r\n data.list.unshift(...list)\r\n },\r\n deleteSection() {\r\n this.sectionArray.shift()\r\n }\r\n }\r\n }\r\n\n```\n\n:::","children":"","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.view-container.sticky.sticky-section)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=sticky-section&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=sticky-section&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=sticky-section&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=sticky-section&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=sticky-section&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=sticky-section)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=sticky-section&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"list-view":{"name":"## list-view","description":"> 组件类型:UniListViewElement \n\n 列表组件","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.02 | 3.9 | 4.11 |\n","attribute":"### 属性 \n| 名称 | 类型 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :-: | :- |\n| direction | string | \"vertical\" | | 滚动方向,可取值 none、horizontal、vertical,默认值vertical。注:iOS 平台仅支持vertical |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| none | | 禁止滚动 |\n@| horizontal | | 横向滚动 |\n@| vertical | | 竖向滚动 |\n| associative-container | string | \"\" | | 关联的滚动容器 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| nested-scroll-view | | 嵌套滚动 |\n| bounces | boolean | true | | 控制是否回弹效果 优先级高于rebound |\n| upper-threshold | number | 50 | | 距顶部/左边多远时(单位px),触发 scrolltoupper 事件 |\n| lower-threshold | number | 50 | | 距底部/右边多远时(单位px),触发 scrolltolower 事件 |\n| scroll-top | number | 0 | | 设置竖向滚动条位置 |\n| scroll-left | number | 0 | | 设置横向滚动条位置 |\n| show-scrollbar | boolean | true | | 控制是否出现滚动条 |\n| scroll-into-view | string([string.IDString](/uts/data-type.md#ide-string)) | - | | 值应为某子元素id(id不能以数字开头)。设置哪个方向可滚动,则在哪个方向滚动到该元素起始位置 |\n| scroll-with-animation | boolean | false | | 是否在设置滚动条位置时使用滚动动画,设置false没有滚动动画 |\n| refresher-enabled | boolean | false | | 开启下拉刷新,暂时不支持scroll-x = true横向刷新 |\n| refresher-threshold | number | 45 | | 设置下拉刷新阈值, 仅 refresher-default-style = 'none' 自定义样式下生效 |\n| refresher-max-drag-distance | number | - | | 设置下拉最大拖拽距离(单位px),默认是下拉刷新控件高度的2.5倍 |\n| refresher-default-style | string | \"black\" | | 设置下拉刷新默认样式,支持设置 black \\| white \\| none, none 表示不使用默认样式 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| black | | 深颜色雪花样式 |\n@| white | | 浅白色雪花样式 |\n@| none | | 不使用默认样式 |\n| refresher-background | string([string.ColorString](/uts/data-type.md#ide-string)) | \"transparent\" | | 设置下拉刷新区域背景颜色,默认透明 |\n| refresher-triggered | boolean | false | | 设置当前下拉刷新状态,true 表示下拉刷新已经被触发,false 表示下拉刷新未被触发 |\n| enable-back-to-top | boolean | false | | iOS点击顶部状态栏滚动条返回顶部,只支持竖向 |\n| custom-nested-scroll | boolean | false | | 子元素是否开启嵌套滚动 将滚动事件与父元素协商处理 |\n| @refresherpulling | (event: [UniRefresherEvent](#unirefresherevent)) => void | - | | 下拉刷新控件被下拉 |\n| @refresherrefresh | (event: [UniRefresherEvent](#unirefresherevent)) => void | - | | 下拉刷新被触发 |\n| @refresherrestore | (event: [UniRefresherEvent](#unirefresherevent)) => void | - | | 下拉刷新被复位 |\n| @refresherabort | (event: [UniRefresherEvent](#unirefresherevent)) => void | - | | 下拉刷新被中止 |\n| @scrolltoupper | (event: [UniScrollToUpperEvent](#uniscrolltoupperevent)) => void | - | | 滚动到顶部/左边,会触发 scrolltoupper 事件 |\n| @scrolltolower | (event: [UniScrollToLowerEvent](#uniscrolltolowerevent)) => void | - | | 滚动到底部/右边,会触发 scrolltolower 事件 |\n| @scroll | (event: [UniScrollEvent](#uniscrollevent)) => void | - | | 滚动时触发,event.detail = {scrollLeft, scrollTop, scrollHeight, scrollWidth, deltaX, deltaY} |\n| @scrollend | (event: [UniScrollEvent](#uniscrollevent)) => void | - | | 滚动结束时触发,event.detail = {scrollLeft, scrollTop, scrollHeight, scrollWidth, deltaX, deltaY} |\n| ~~rebound~~ | boolean | true | | 控制是否回弹效果。已废弃,请改用bounces |\n| ~~scroll-y~~ | boolean | true | | 允许纵向滚动,不支持同时设置scroll-x属性为true,同时设置true时scroll-y生效。已废弃,请改用direction |\n| ~~scroll-x~~ | boolean | false | | 允许横向滚动,不支持同时设置scroll-y属性为true,同时设置true时scroll-y生效。已废弃,请改用direction |","event":"\n### 事件\n#### UniRefresherEvent\n\n```mermaid\ngraph LR\n \nUniRefresherEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```\n##### UniRefresherEvent 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| detail | **UniRefresherEventDetail** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| dy | number | 是 | - | - | - |\n\n\n#### UniScrollToUpperEvent\n\n```mermaid\ngraph LR\n \nUniScrollToUpperEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```\n##### UniScrollToUpperEvent 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| detail | **UniScrollToUpperEventDetail** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| direction | string | 是 | - | - | 滚动方向 top 或 left |\n\n\n#### UniScrollToLowerEvent\n\n```mermaid\ngraph LR\n \nUniScrollToLowerEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```\n##### UniScrollToLowerEvent 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| detail | **UniScrollToLowerEventDetail** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| direction | string | 是 | - | - | 滚动方向 bottom 或 right |\n\n\n#### UniScrollEvent\n\n```mermaid\ngraph LR\n \nUniScrollEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```\n##### UniScrollEvent 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| detail | **UniScrollEventDetail** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| scrollTop | number | 是 | - | - | 竖向滚动的距离 |\n@| scrollLeft | number | 是 | - | - | 横向滚动的距离 |\n@| scrollHeight | number | 是 | - | - | 滚动区域的高度 |\n@| scrollWidth | number | 是 | - | - | 滚动区域的宽度 |\n@| deltaY | number | 是 | - | - | 当次滚动事件竖向滚动量 |\n@| deltaX | number | 是 | - | - | 当次滚动事件横向滚动量 |\n\n","example":"### 示例\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/component/list-view/list-view.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/component/list-view/list-view\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/component/list-view/list-view\n\n>Template\n```vue\n\n\n\n\n\n\n```\n\n>Script\n```uts\n\n type ScrollEventTest = {\n type : string;\n target : UniElement | null;\n currentTarget : UniElement | null;\n direction ?: string\n }\n import { ItemType } from '@/components/enum-data/enum-data-types'\n export default {\n data() {\n return {\n refresher_triggered_boolean: false,\n refresher_enabled_boolean: false,\n scroll_with_animation_boolean: false,\n show_scrollbar_boolean: false,\n bounces_boolean: true,\n scroll_y_boolean: true,\n scroll_x_boolean: false,\n scroll_direction: \"vertical\",\n upper_threshold_input: 50,\n lower_threshold_input: 50,\n scroll_top_input: 0,\n scroll_left_input: 0,\n refresher_background_input: \"#FFF\",\n scrollData: [] as Array,\n size_enum: [{ \"value\": 0, \"name\": \"item---0\" }, { \"value\": 3, \"name\": \"item---3\" }] as ItemType[],\n scrollIntoView: \"\",\n refresherrefresh: false,\n refresher_default_style_input: \"black\",\n text: ['继续下拉执行刷新', '释放立即刷新', '刷新中', \"\"],\n state: 3,\n reset: true,\n // 自动化测试\n isScrollTest: '',\n isScrolltolowerTest: '',\n isScrolltoupperTest: '',\n scrollDetailTest: null as UniScrollEventDetail | null,\n scrollEndDetailTest: null as UniScrollEventDetail | null,\n }\n },\n onLoad() {\n let lists : Array = []\n for (let i = 0; i < 10; i++) {\n lists.push(\"item---\" + i)\n }\n this.scrollData = lists\n },\n methods: {\n list_view_click() { console.log(\"组件被点击时触发\") },\n list_view_touchstart() { console.log(\"手指触摸动作开始\") },\n list_view_touchmove() { console.log(\"手指触摸后移动\") },\n list_view_touchcancel() { console.log(\"手指触摸动作被打断,如来电提醒,弹窗\") },\n list_view_touchend() { console.log(\"手指触摸动作结束\") },\n list_view_tap() { console.log(\"手指触摸后马上离开\") },\n list_view_longpress() { console.log(\"如果一个组件被绑定了 longpress 事件,那么当用户长按这个组件时,该事件将会被触发。\") },\n list_view_refresherpulling(e : RefresherEvent) {\n console.log(\"下拉刷新控件被下拉\")\n if (this.reset) {\n if (e.detail.dy > 45) {\n this.state = 1\n } else {\n this.state = 0\n }\n }\n },\n list_view_refresherrefresh() {\n console.log(\"下拉刷新被触发 \")\n this.refresherrefresh = true\n this.refresher_triggered_boolean = true\n this.state = 2\n this.reset = false;\n setTimeout(() => {\n this.refresher_triggered_boolean = false\n }, 1500)\n },\n list_view_refresherrestore() {\n this.refresherrefresh = false\n this.state = 3\n this.reset = true\n console.log(\"下拉刷新被复位\")\n },\n list_view_refresherabort() { console.log(\"下拉刷新被中止\") },\n list_view_scrolltoupper(e : UniScrollToUpperEvent) {\n console.log(\"滚动到顶部/左边,会触发 scrolltoupper 事件 direction=\" + e.detail.direction)\n this.checkEventTest({\n type: e.type,\n target: e.target,\n currentTarget: e.currentTarget,\n direction: e.detail.direction,\n } as ScrollEventTest, 'scrolltoupper')\n },\n list_view_scrolltolower(e : UniScrollToLowerEvent) {\n console.log(\"滚动到底部/右边,会触发 scrolltolower 事件 direction=\" + e.detail.direction)\n this.checkEventTest({\n type: e.type,\n target: e.target,\n currentTarget: e.currentTarget,\n direction: e.detail.direction,\n } as ScrollEventTest, 'scrolltolower')\n },\n list_view_scroll(e : UniScrollEvent) {\n console.log(\"滚动时触发,event.detail = {scrollLeft, scrollTop, scrollHeight, scrollWidth, deltaX, deltaY}\")\n this.scrollDetailTest = e.detail\n this.checkEventTest({\n type: e.type,\n target: e.target,\n currentTarget: e.currentTarget\n } as ScrollEventTest, 'scroll')\n },\n list_view_scrollend(e : UniScrollEvent) {\n console.log(\"滚动结束时触发\", e.detail)\n this.scrollEndDetailTest = e.detail\n this.checkEventTest({\n type: e.type,\n target: e.target,\n currentTarget: e.currentTarget\n } as ScrollEventTest, 'scrollend')\n },\n list_item_click() { console.log(\"list-item组件被点击时触发\") },\n list_item_touchstart() { console.log(\"手指触摸list-item组件动作开始\") },\n list_item_touchmove() { console.log(\"手指触摸list-item组件后移动\") },\n list_item_touchcancel() { console.log(\"手指触摸list-item组件动作被打断,如来电提醒,弹窗\") },\n list_item_touchend() { console.log(\"手指触摸list-item组件动作结束\") },\n list_item_tap() { console.log(\"手指触摸list-item组件后马上离开\") },\n list_item_longpress() { console.log(\"list-item组件被绑定了 longpress 事件,那么当用户长按这个组件时,该事件将会被触发。\") },\n change_refresher_triggered_boolean(checked : boolean) { this.refresher_triggered_boolean = checked },\n change_refresher_enabled_boolean(checked : boolean) { this.refresher_enabled_boolean = checked },\n change_scroll_with_animation_boolean(checked : boolean) { this.scroll_with_animation_boolean = checked },\n change_show_scrollbar_boolean(checked : boolean) { this.show_scrollbar_boolean = checked },\n change_bounces_boolean(checked : boolean) { this.bounces_boolean = checked },\n change_scroll_y_boolean(checked : boolean) {\n this.scroll_y_boolean = checked\n this.change_scroll_direction()\n },\n change_scroll_x_boolean(checked : boolean) {\n this.scroll_x_boolean = checked\n this.change_scroll_direction()\n },\n change_scroll_direction() {\n if (this.scroll_y_boolean && this.scroll_x_boolean || this.scroll_y_boolean) {\n this.scroll_direction = \"vertical\"\n } else if (!this.scroll_y_boolean && !this.scroll_x_boolean) {\n this.scroll_direction = \"none\"\n } else if (!this.scroll_y_boolean && this.scroll_x_boolean) {\n this.scroll_direction = \"horizontal\"\n }\n },\n confirm_upper_threshold_input(value : number) { this.upper_threshold_input = value },\n confirm_lower_threshold_input(value : number) { this.lower_threshold_input = value },\n confirm_scroll_top_input(value : number) { this.scroll_top_input = value },\n confirm_scroll_left_input(value : number) { this.scroll_left_input = value },\n confirm_refresher_background_input(value : string) { this.refresher_background_input = value },\n item_change_size_enum(index : number) { this.scrollIntoView = \"item---\" + index },\n // 自动化测试专用(由于事件event参数对象中存在循环引用,在ios端JSON.stringify报错,自动化测试无法page.data获取)\n checkEventTest(e : ScrollEventTest, eventName : String) {\n const isPass = e.type === eventName && e.target instanceof UniElement && e.currentTarget instanceof UniElement;\n const result = isPass ? `${eventName}:Success` : `${eventName}:Fail`;\n switch (eventName) {\n case 'scroll':\n this.isScrollTest = result\n break;\n case 'scrolltolower':\n this.isScrolltolowerTest = result + `-${e.direction}`\n break;\n case 'scrolltoupper':\n this.isScrolltoupperTest = result + `-${e.direction}`\n break;\n default:\n break;\n }\n },\n //自动化测试例专用\n check_scroll_height() : Boolean {\n var listElement = this.$refs[\"listview\"] as UniElement\n console.log(\"check_scroll_height--\" + listElement.scrollHeight)\n if (listElement.scrollHeight > 2000) {\n return true\n }\n return false\n },\n //自动化测试例专用\n check_scroll_width() : Boolean {\n var listElement = this.$refs[\"listview\"] as UniElement\n console.log(\"check_scroll_width\" + listElement.scrollWidth)\n if (listElement.scrollWidth > 2000) {\n return true\n }\n return false\n },\n change_refresher_style_boolean(checked : boolean) {\n if (checked) {\n this.refresher_default_style_input = \"none\"\n } else {\n this.refresher_default_style_input = \"black\"\n }\n }\n }\n }\n\n```\n\n:::","children":"### 子组件 @children-tags\n| 子组件 | 兼容性 |\n| :- | :- |\n| [list-item](list-item.md) | |\n| [sticky-header](sticky-header.md) | |\n| [sticky-section](sticky-section.md) | |","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.view-container.list-view.list-view)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=list-view&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=list-view&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=list-view&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=list-view&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=list-view&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=list-view)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=list-view&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"nested-scroll-header":{"name":"## nested-scroll-header","description":"> 组件类型:UniNestedScrollHeaderElement \n\n scroll-view 嵌套模式场景中属于外层 scroll-view 的节点,仅支持作为 \\ 嵌套模式的直接子节点。不支持复数子节点,渲染时会取其第一个子节点来渲染","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.11 | 4.11 |\n","attribute":"","event":"","example":"### 示例\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/component/nested-scroll-header/nested-scroll-header.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/component/nested-scroll-header/nested-scroll-header\n```uvue\n\r\n\r\n\r\n\r\n\n\n```\n:::","children":"","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.view-container.nested-scroll.nested-scroll-header)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=nested-scroll-header&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=nested-scroll-header&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=nested-scroll-header&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=nested-scroll-header&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=nested-scroll-header&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=nested-scroll-header)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=nested-scroll-header&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"nested-scroll-body":{"name":"## nested-scroll-body","description":"> 组件类型:UniNestedScrollHeaderElement \n\n scroll-view 嵌套模式场景中属于嵌套内层 scroll-view 的父节点,仅支持作为 \\ 嵌套模式的直接子节点。不支持复数子节点,渲染时会取其第一个子节点来渲染","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.11 | 4.11 |\n","attribute":"","event":"","example":"### 示例\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/component/nested-scroll-body/nested-scroll-body.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/component/nested-scroll-body/nested-scroll-body\n```uvue\n\r\n\r\n\r\n\r\n\n\n```\n:::","children":"","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.view-container.nested-scroll.nested-scroll-body)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=nested-scroll-body&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=nested-scroll-body&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=nested-scroll-body&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=nested-scroll-body&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=nested-scroll-body&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=nested-scroll-body)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=nested-scroll-body&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"icon":{"name":"## icon","description":"图标","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","attribute":"### 属性 \n| 名称 | 类型 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :-: | :- |\n| type | string | - | | icon的类型,有效值:success, success_no_circle, info, warn, waiting, cancel, download, search, clear |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| success | - | |\n@| success_no_circle | - | |\n@| warn | - | |\n@| waiting | - | |\n@| cancel | - | |\n@| download | - | |\n@| search | - | |\n@| clear | - | |\n| size | number | - | | icon的大小,单位px |\n| color | string([string.ColorString](/uts/data-type.md#ide-string)) | - | | icon的颜色,同css的color |","event":"","example":"","children":"","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.basic-content.icon)\n- [参见uni-app相关文档](https://uniapp.dcloud.io/component/icon.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=icon&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=icon&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=icon&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=icon&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=icon&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=icon)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=icon&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"text":{"name":"## text","description":"> 组件类型:[UniTextElement](/dom/unitextelement.md) \n\n 文本","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","attribute":"### 属性 \n| 名称 | 类型 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :-: | :- |\n| selectable | boolean | false | | 文本是否可选 |\n| space | string | - | | 显示连续空格 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| ensp | | 中文字符空格一半大小 |\n@| emsp | | 中文字符空格大小 |\n@| nbsp | | 根据字体设置的空格大小 |\n| decode | boolean | false | | 是否解码 (app平台如需解析字符实体,需要配置为 true) |","event":"","example":"### 示例\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/component/text/text.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/component/text/text\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/component/text/text\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n title: 'text',\r\n texts: [\r\n 'HBuilderX,轻巧、极速,极客编辑器',\r\n 'uni-app x,终极跨平台方案',\r\n 'uniCloud,js serverless云服务',\r\n 'uts,大一统语言',\r\n 'uniMPSdk,让你的App具备小程序能力',\r\n 'uni-admin,开源、现成的全端管理后台',\r\n 'uni-id,开源、全端的账户中心',\r\n 'uni-pay,开源、云端一体、全平台的支付',\r\n 'uni-ai,聚合ai能力',\r\n 'uni-cms,开源、云端一体、全平台的内容管理平台',\r\n 'uni-im,开源、云端一体、全平台的im即时消息',\r\n 'uni统计,开源、完善、全平台的统计报表',\r\n '......'\r\n ] as string[],\r\n text: '',\r\n canAdd: true,\r\n canRemove: false,\r\n extraLine: [] as string[]\r\n }\r\n },\r\n methods: {\r\n add: function () {\r\n this.extraLine.push(this.texts[this.extraLine.length % 12]);\r\n this.text = this.extraLine.join('\\n');\r\n this.canAdd = this.extraLine.length < 12;\r\n this.canRemove = this.extraLine.length > 0;\r\n },\r\n remove: function () {\r\n if (this.extraLine.length > 0) {\r\n this.extraLine.pop();\r\n this.text = this.extraLine.join('\\n');\r\n this.canAdd = this.extraLine.length < 12;\r\n this.canRemove = this.extraLine.length > 0;\r\n }\r\n },\r\n textProps: function () {\r\n uni.navigateTo({\r\n url: '/pages/component/text/text-props'\r\n })\r\n }\r\n }\r\n }\r\n\n```\n\n:::","children":"### 子组件 @children-tags\n| 子组件 | 兼容性 |\n| :- | :- |\n| [text](text.md) | |","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.basic-content.text)\n- [参见uni-app相关文档](https://uniapp.dcloud.io/component/text.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=text&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=text&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=text&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=text&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=text&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=text)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=text&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"rich-text":{"name":"## rich-text","description":"> 组件类型:UniRichTextElement \n\n 富文本。可渲染文字样式、图片、超链接。支持部分HTML标签","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","attribute":"### 属性 \n| 名称 | 类型 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :-: | :- |\n| nodes | array \\\\| string | - | | 节点列表 \\| HTML String |\n| selectable | boolean | false | | 文本是否可选 |\n| @itemclick | (event: [UniRichTextItemClickEvent](#unirichtextitemclickevent)) => void | - | | 拦截点击事件(只支持 a、img标签),返回img标签的src属性或a标签的href属性。event.detail={ src \\| href } |","event":"\n### 事件\n#### UniRichTextItemClickEvent\n\n```mermaid\ngraph LR\n \nUniRichTextItemClickEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```\n##### UniRichTextItemClickEvent 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| detail | **UniRichTextItemClickEventDetail** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| src | string | 否 | - | - | \\图片链接 |\n@| href | string | 否 | - | - | \\超链接 |\n\n","example":"### 示例\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/component/rich-text/rich-text.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/component/rich-text/rich-text\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/component/rich-text/rich-text\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n text: \"hello uni-app x!
uni-app x,终极跨平台方案\",\r\n richTextHeight: 0,\r\n richTextElement: null as UniElement | null,\r\n // 自动化测试\r\n autoTest: false,\r\n testNodes: '',\r\n isItemClickTrigger: false,\r\n richTextStr: false\r\n }\r\n },\r\n onReady() {\r\n this.richTextElement = uni.getElementById('richtext') as UniElement\r\n setTimeout(() => {\r\n this.updateRichTextHeight()\r\n }, 2500)\r\n },\r\n methods: {\r\n changeText() {\r\n if (this.text === \"hello uni-app x!
uni-app x,终极跨平台方案\") {\r\n this.text = \"

hello uni-app x!


uni-app x,终极跨平台方案

\"\r\n } else {\r\n this.text = \"hello uni-app x!
uni-app x,终极跨平台方案\"\r\n }\r\n setTimeout(() => {\r\n this.updateRichTextHeight()\r\n }, 200)\r\n },\r\n updateRichTextHeight() {\r\n if (this.richTextElement != null) {\r\n const elRect = this.richTextElement!.getBoundingClientRect()\r\n this.richTextHeight = elRect.height\r\n console.log('richTextHeight:', this.richTextHeight)\r\n }\r\n },\r\n // 自动化测试\r\n itemClickForTest(_ : RichTextItemClickEvent) {\r\n this.isItemClickTrigger = true;\r\n },\r\n getBoundingClientRectForTest() : DOMRect {\r\n return uni.getElementById('test-rich-text')?.getBoundingClientRect()!;\r\n },\r\n getWindowInfoForTest() : GetWindowInfoResult {\r\n return uni.getWindowInfo();\r\n },\r\n richTextParentClick() {\r\n this.richTextStr = true;\r\n }\r\n }\r\n }\r\n\n```\n\n:::","children":"### 子组件 @children-tags\n不可以嵌套组件","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.basic-content.rich-text)\n- [参见uni-app相关文档](https://uniapp.dcloud.io/component/rich-text.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=rich-text&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=rich-text&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=rich-text&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=rich-text&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=rich-text&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=rich-text)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=rich-text&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"progress":{"name":"## progress","description":"> 组件类型:UniProgressElement \n\n 进度条","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","attribute":"### 属性 \n| 名称 | 类型 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :-: | :- |\n| duration | number | 30 | | 进度增加1%所需毫秒数 |\n| percent | number | 0 | | 百分比0~100 |\n| show-info | boolean | false | | 在进度条右侧显示百分比 |\n| border-radius | number | 0 | | 圆角大小 |\n| font-size | number | 16 | | 右侧百分比字体大小 |\n| stroke-width | number | 6 | | 进度条线的宽度,单位px |\n| activeColor | string([string.ColorString](/uts/data-type.md#ide-string)) | \"#09BB07\" | | 已选择的进度条的颜色 |\n| backgroundColor | string([string.ColorString](/uts/data-type.md#ide-string)) | \"#EBEBEB\" | | 未选择的进度条的颜色 |\n| active | boolean | false | | 进度条从左往右的动画 |\n| active-mode | string | \"backwards\" | | backwards: 动画从头播;forwards:动画从上次结束点接着播 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| backwards | | 动画从头播 |\n@| forwards | | 动画从上次结束点接着播 |\n| @activeend | (event: [UniProgressActiveendEvent](#uniprogressactiveendevent)) => void | - | | 动画完成事件 |","event":"\n### 事件\n#### UniProgressActiveendEvent\n\n```mermaid\ngraph LR\n \nUniProgressActiveendEvent -- Extends --> UniCustomEvent<UniProgressActiveendEventDetail>\n style UniCustomEvent<UniProgressActiveendEventDetail> color:#42b983\n click UniCustomEvent<UniProgressActiveendEventDetail> \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unicustomevent\"\n```\n##### UniProgressActiveendEventDetail\n\n\n###### UniProgressActiveendEventDetail 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| curPercent | number | 是 | - | - | - |\n\n","example":"### 示例\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/component/progress/progress.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/component/progress/progress\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/component/progress/progress\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\r\n\n```\n\n>Script\n```uts\n\r\n import { state, setEventCallbackNum } from '@/store/index.uts'\r\n import { ItemType } from '@/components/enum-data/enum-data-types'\r\n export default {\r\n data() {\r\n return {\r\n title: 'progress',\r\n pgList: [0, 0, 0, 0] as number[],\r\n curPercent: 0,\r\n showInfo: true,\r\n borderRadius: 0,\r\n fontSize: 16,\r\n strokeWidth: 3,\r\n backgroundColor: '#EBEBEB',\r\n\r\n // 组件属性 autotest\r\n active_boolean: false,\r\n show_info_boolean: false,\r\n duration_input: 30,\r\n percent_input: 0,\r\n stroke_width_input: 6,\r\n activeColor_input: \"#09BB07\",\r\n backgroundColor_input: \"#EBEBEB\",\r\n active_mode_enum: [{ \"value\": 0, \"name\": \"backwards\" }, { \"value\": 1, \"name\": \"forwards\" }] as ItemType[],\r\n active_mode_enum_current: 0\r\n }\r\n },\r\n methods: {\r\n // 自动化测试\r\n getEventCallbackNum() : number {\r\n return state.eventCallbackNum\r\n },\r\n // 自动化测试\r\n setEventCallbackNum(num : number) {\r\n setEventCallbackNum(num)\r\n },\r\n\r\n setProgress() {\r\n this.pgList = [20, 40, 60, 80] as number[]\r\n },\r\n clearProgress() {\r\n this.pgList = [0, 0, 0, 0] as number[]\r\n },\r\n activeend(e : UniProgressActiveendEvent) {\r\n // 自动化测试\r\n if ((e.target?.tagName ?? '').includes('PROGRESS')) {\r\n this.setEventCallbackNum(state.eventCallbackNum + 1)\r\n }\r\n if (e.type === 'activeend') {\r\n this.setEventCallbackNum(state.eventCallbackNum + 2)\r\n }\r\n this.curPercent = e.detail.curPercent\r\n },\r\n progress_touchstart() { console.log(\"手指触摸动作开始\") },\r\n progress_touchmove() { console.log(\"手指触摸后移动\") },\r\n progress_touchcancel() { console.log(\"手指触摸动作被打断,如来电提醒,弹窗\") },\r\n progress_touchend() { console.log(\"手指触摸动作结束\") },\r\n progress_tap() { console.log(\"手指触摸后马上离开\") },\r\n change_active_boolean(checked : boolean) { this.active_boolean = checked },\r\n change_show_info_boolean(checked : boolean) { this.show_info_boolean = checked },\r\n confirm_duration_input(value : number) { this.duration_input = value },\r\n confirm_percent_input(value : number) { this.percent_input = value },\r\n confirm_stroke_width_input(value : number) { this.stroke_width_input = value },\r\n confirm_activeColor_input(value : string) { this.activeColor_input = value },\r\n confirm_backgroundColor_input(value : string) { this.backgroundColor_input = value },\r\n radio_change_active_mode_enum(checked : number) { this.active_mode_enum_current = checked }\r\n }\r\n }\r\n\n```\n\n:::","children":"","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.basic-content.progress)\n- [参见uni-app相关文档](https://uniapp.dcloud.io/component/progress.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=progress&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=progress&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=progress&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=progress&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=progress&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=progress)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=progress&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"native-view":{"name":"## native-view","description":"> 组件类型:[UniNativeViewElement](/dom/uninativeviewelement.md) \n\n 自定义原生View组件","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.31 | 4.31 |\n","attribute":"### 属性 \n| 名称 | 类型 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :-: | :- |\n| @init | (event: [UniNativeViewInitEvent](#uninativeviewinitevent)) => void | - | | native-view初始化时回调,event.detail = { element: 'native-view元素实例对象'} |","event":"\n### 事件\n#### UniNativeViewInitEvent\nnative-view 组件 init事件event\n```mermaid\ngraph LR\n \nUniNativeViewInitEvent -- Extends --> UniCustomEvent<UniNativeViewInitEventDetail>\n style UniCustomEvent<UniNativeViewInitEventDetail> color:#42b983\n click UniCustomEvent<UniNativeViewInitEventDetail> \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unicustomevent\"\n```\n##### UniNativeViewInitEvent 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| detail | **UniNativeViewInitEventDetail** | 是 | - | - | |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| element | [UniNativeViewElement](/dom/uninativeviewelement.md) | 是 | - | - | - |\n| type | string | 是 | - | - | - |\n\n\n##### UniNativeViewInitEventDetail\n\n\n###### UniNativeViewInitEventDetail 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| element | [UniNativeViewElement](/dom/uninativeviewelement.md) | 是 | - | - | - |\n\n","example":"### 示例\n#### native-view\n展示使用 native-view 封装的原生view的UTS插件-标准模式组件\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/component/native-view/native-view.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n\n::: preview\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/component/native-view/native-view\n```uvue\n\r\n\r\n\r\n\r\n\n\n```\n:::\n#### native-button\n通过 native-view 绑定原生 button 实现的UTS插件-标准模式组件\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//uni_modules/native-button/components/native-button/native-button.uvue) \n>\n> 该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验 \n```uvue\n\r\n\r\n\n```","children":"","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.basic-content.native-view)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=native-view&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=native-view&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=native-view&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=native-view&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=native-view&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=native-view)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=native-view&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"button":{"name":"## button","description":"> 组件类型:UniButtonElement \n\n 按钮","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","attribute":"### 属性 \n| 名称 | 类型 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :-: | :- |\n| disabled | boolean | false | | 是否禁用 |\n| hover-class | string([string.ClassString](/uts/data-type.md#ide-string)) | \"button-hover\" | | 指定按下去的样式类。当 hover-class=\"none\" 时,没有点击态效果 |\n| hover-stop-propagation | boolean | - | | 指定是否阻止本节点的祖先节点出现点击态 |\n| hover-start-time | number | 20 | | 按住后多久出现点击态,单位毫秒 |\n| hover-stay-time | number | 70 | | 手指松开后点击态保留时间,单位毫秒 |\n| size | string | \"default\" | | 按钮的大小 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| default | | 默认大小 |\n@| mini | | 小尺寸 |\n| type | string | \"default\" | | 按钮的样式类型 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| default | | 白色 |\n@| primary | | 蓝色 |\n@| warn | | 红色 |\n| plain | boolean | false | | 按钮是否镂空,背景色透明 |\n| loading | boolean | - | | 名称前是否带 loading 图标 |\n| form-type | string | - | | 用于 form 组件,点击分别会触发 form 组件的 submit/reset 事件 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| submit | | 提交表单 |\n@| reset | | 重置表单 |\n| open-type | string | - | | 开放能力 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| agreePrivacyAuthorization | | 用户同意隐私协议按钮。用户点击一次此按钮后,所有已声明过的隐私接口可以正常调用。 |\n@| feedback | | 打开“意见反馈”页面,用户可提交反馈内容并上传日志 |\n@| share | | 触发用户转发 |\n@| getUserInfo | | 获取用户信息,可以从@getuserinfo回调中获取到用户信息 |\n@| contact | | 打开客服会话,如果用户在会话中点击消息卡片后返回应用,可以从 @contact 回调中获得具体信息 |\n@| getPhoneNumber | | 获取用户手机号,可以从@getphonenumber回调中获取到用户信息 |\n@| launchApp | | 打开APP,可以通过app-parameter属性设定向APP传的参数 |\n@| openSetting | | 打开授权设置页 |\n@| chooseAvatar | | 获取用户头像,可以从@chooseavatar回调中获取到头像信息 |\n@| getAuthorize | | 支持小程序授权 |\n@| lifestyle | | 关注生活号 |\n@| contactShare | | 分享到通讯录好友 |\n@| openGroupProfile | | 呼起QQ群资料卡页面,可以通过group-id属性设定需要打开的群资料卡的群号,同时manifest.json中必须配置groupIdList |\n@| openGuildProfile | | 呼起频道页面,可以通过guild-id属性设定需要打开的频道ID |\n@| openPublicProfile | | 打开公众号资料卡,可以通过public-id属性设定需要打开的公众号资料卡的号码,同时manifest.json中必须配置publicIdList |\n@| shareMessageToFriend | | 在自定义开放数据域组件中,向指定好友发起分享据 |\n@| addFriend | | 添加好友,对方需要通过该小程序进行授权,允许被加好友后才能调用成功用户授权 |\n@| addColorSign | | 添加彩签,点击后添加状态有用户提示,无回调 |\n@| addGroupApp | | 添加群应用(只有管理员或群主有权操作),添加后给button绑定@addgroupapp事件接收回调数据 |\n@| addToFavorites | | 收藏当前页面,点击按钮后会触发Page.onAddToFavorites方法 |\n@| chooseAddress | | 选择用户收货地址,可以从@chooseaddress回调中获取到用户选择的地址信息 |\n@| chooseInvoiceTitle | | 选择用户发票抬头,可以从@chooseinvoicetitle回调中获取到用户选择发票抬头信息 |\n@| login | | 登录,可以从@login回调中确认是否登录成功 |\n@| subscribe | | 订阅类模板消息,需要用户授权才可发送 |\n@| favorite | | 触发用户收藏 |\n@| watchLater | | 触发用户稍后再看 |\n@| openProfile | | 触发打开用户主页 |\n| lang | string | - | | 指定返回用户信息的语言,zh_CN 简体中文,zh_TW 繁体中文,en 英文。 |\n| session-from | string | - | | 会话来源 |\n| send-message-title | string | - | | 会话内消息卡片标题 |\n| send-message-path | string | - | | 会话内消息卡片点击跳转应用路径 |\n| send-message-img | string | - | | 会话内消息卡片图片 |\n| show-message-card | boolean | - | | 显示会话内消息卡片 |\n| app-parameter | string | - | | 打开 APP 时,向 APP 传递的参数 |\n| group-id | string | - | | 打开群资料卡时,传递的群号 |\n| guild-id | string | - | | 打开频道页面时,传递的频道号 |\n| public-id | string | - | | 打开公众号资料卡时,传递的号码 |\n| @getuserinfo | (event: [UniEvent](/component/common.md#unievent)) => void | - | | 用户点击该按钮时,会返回获取到的用户信息,回调的detail数据与uni.getUserInfo返回的一致 |\n| @contact | (event: [UniEvent](/component/common.md#unievent)) => void | - | | 客服消息回调 |\n| @getphonenumber | (event: [UniEvent](/component/common.md#unievent)) => void | - | | 获取用户手机号回调 |\n| @error | (event: [UniEvent](/component/common.md#unievent)) => void | - | | 当使用开放能力时,发生错误的回调 |\n| @opensetting | (event: [UniEvent](/component/common.md#unievent)) => void | - | | 在打开授权设置页后回调 |\n| @launchapp | (event: [UniEvent](/component/common.md#unievent)) => void | - | | 打开 APP 成功的回调 |\n| @chooseavatar | (event: [UniEvent](/component/common.md#unievent)) => void | - | | 获取用户头像回调 |\n| @chooseaddress | (event: [UniEvent](/component/common.md#unievent)) => void | - | | 调起用户编辑并选择收货地址的回调 |\n| @chooseinvoicetitle | (event: [UniEvent](/component/common.md#unievent)) => void | - | | 用户选择发票抬头的回调 |\n| @addgroupapp | (event: [UniEvent](/component/common.md#unievent)) => void | - | | 添加群应用的回调 |\n| @subscribe | (event: [UniEvent](/component/common.md#unievent)) => void | - | | 订阅消息授权回调 |\n| @login | (event: [UniEvent](/component/common.md#unievent)) => void | - | | 登录回调 |","event":"","example":"### 示例\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/component/button/button.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/component/button/button\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/component/button/button\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\r\n\n```\n\n>Script\n```uts\n\r\n import { ItemType } from '@/components/enum-data/enum-data-types'\r\n export default {\r\n data() {\r\n return {\r\n plain_boolean: false,\r\n disabled_boolean: false,\r\n default_style: false,\r\n size_enum: [{ \"value\": 0, \"name\": \"default\" }, { \"value\": 1, \"name\": \"mini\" }] as ItemType[],\r\n size_enum_current: 0,\r\n type_enum: [{ \"value\": 0, \"name\": \"default\" }, { \"value\": 1, \"name\": \"primary\" }, { \"value\": 2, \"name\": \"warn\" }] as ItemType[],\r\n type_enum_current: 0,\r\n count: 0,\r\n text: ''\r\n }\r\n },\r\n onReady() {\r\n this.text = 'uni-app-x'\r\n },\r\n methods: {\r\n button_click() {\r\n console.log(\"组件被点击时触发\")\r\n this.count++\r\n },\r\n button_touchstart() { console.log(\"手指触摸动作开始\") },\r\n button_touchmove() { console.log(\"手指触摸后移动\") },\r\n button_touchcancel() { console.log(\"手指触摸动作被打断,如来电提醒,弹窗\") },\r\n button_touchend() { console.log(\"手指触摸动作结束\") },\r\n button_tap() { console.log(\"手指触摸后马上离开\") },\r\n button_longpress() { console.log(\"如果一个组件被绑定了 longpress 事件,那么当用户长按这个组件时,该事件将会被触发。\") },\r\n change_plain_boolean(checked : boolean) { this.plain_boolean = checked },\r\n change_disabled_boolean(checked : boolean) { this.disabled_boolean = checked },\r\n change_default_style(checked : boolean) { this.default_style = checked },\r\n radio_change_size_enum(checked : number) { this.size_enum_current = checked },\r\n radio_change_type_enum(checked : number) { this.type_enum_current = checked },\r\n confirm_text_input(value : string) { this.text = value },\r\n navigateToChild() {\r\n uni.navigateTo({\r\n url: 'buttonstatus',\r\n })\r\n },\n openPrivacyDialog() {\n uni.openDialogPage({\n url: '/pages/component/button/privacy',\n })\n },\r\n //用于自动化测试\r\n checkUniButtonElement() : boolean {\r\n const button = uni.getElementById(\"testButton\")\r\n if (button != null && button instanceof UniButtonElement) {\r\n return true\r\n }\r\n return false\r\n }\r\n }\r\n }\r\n\n```\n\n:::","children":"### 子组件 @children-tags\n不可以嵌套组件","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.form-component.button)\n- [参见uni-app相关文档](https://uniapp.dcloud.io/component/button.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=button&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=button&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=button&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=button&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=button&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=button)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=button&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"checkbox":{"name":"## checkbox","description":"> 组件类型:UniCheckboxElement \n\n 多选项。在1组check-group中可选择多个","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","attribute":"### 属性 \n| 名称 | 类型 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :-: | :- |\n| disabled | boolean | false | | 是否禁用 |\n| value | string | - | | checkbox 标识,选中时触发 checkbox-group 的 change 事件,并携带 checkbox 的 value |\n| checked | boolean | false | | 当前是否选中,可用来设置默认选中 |\n| backgroundColor | string([string.ColorString](/uts/data-type.md#ide-string)) | \"#ffffff\" | | checkbox默认的背景颜色 |\n| borderColor | string([string.ColorString](/uts/data-type.md#ide-string)) | \"#d1d1d1\" | | checkbox默认的边框颜色 |\n| activeBackgroundColor | string([string.ColorString](/uts/data-type.md#ide-string)) | \"#ffffff\" | | checkbox选中时的背景颜色 |\n| activeBorderColor | string([string.ColorString](/uts/data-type.md#ide-string)) | \"#d1d1d1\" | | checkbox选中时的边框颜色 |\n| foreColor | string([string.ColorString](/uts/data-type.md#ide-string)) | \"#007aff\" | | checkbox的图标颜色,优先级大于color属性 |\n| ~~iconColor~~ | string([string.ColorString](/uts/data-type.md#ide-string)) | \"#007aff\" | | checkbox的图标颜色,优先级大于color属性 (使用foreColor替代) |\n| ~~color~~ | string([string.ColorString](/uts/data-type.md#ide-string)) | \"#007aff\" | | checkbox的颜色 (使用foreColor替代) |","event":"","example":"### 示例\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/component/checkbox/checkbox.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/component/checkbox/checkbox\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/component/checkbox/checkbox\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n type ItemType = {\r\n value : string\r\n name : string\r\n checked : boolean\r\n }\r\n export default {\r\n data() {\r\n return {\r\n items: [\r\n {\r\n value: 'CHN',\r\n name: '中国',\r\n checked: true,\r\n },\r\n {\r\n value: 'USA',\r\n name: '美国',\r\n checked: false,\r\n },\r\n {\r\n value: 'BRA',\r\n name: '巴西',\r\n checked: false,\r\n },\r\n {\r\n value: 'JPN',\r\n name: '日本',\r\n checked: false,\r\n },\r\n {\r\n value: 'ENG',\r\n name: '英国',\r\n checked: false,\r\n },\r\n {\r\n value: 'FRA',\r\n name: '法国',\r\n checked: false,\r\n },\r\n ] as ItemType[],\r\n testEvent: false,\r\n text: '未选中',\r\n wrapText: 'uni-app x,终极跨平台方案\\nuts,大一统语言',\r\n value: [] as string[],\r\n disabled: true,\r\n checked: true,\r\n color: '#007aff',\r\n iconColor: '#211cfe',\r\n foreColor: '#ff0000',\r\n // 组件属性 autotest\r\n checked_boolean: false,\r\n disabled_boolean: false,\r\n color_input: \"#007aff\",\r\n backgroundColor_input: \"#ffffff\",\r\n borderColor_input: \"#d1d1d1\",\r\n activeBackgroundColor_input: \"#ffffff\",\r\n activeBorderColor_input: \"#d1d1d1\",\r\n iconColor_input: \"#007aff\",\r\n foreColor_input: '#ff0000'\r\n }\r\n },\r\n methods: {\r\n\r\n checkboxChange: function (e : UniCheckboxGroupChangeEvent) {\r\n // 自动化测试\r\n if ((e.target?.tagName ?? '') == 'CHECKBOX-GROUP' && e.type === 'change') {\r\n this.testEvent = true\r\n }\r\n\r\n const selectedNames : string[] = []\r\n this.items.forEach((item) => {\r\n if (e.detail.value.includes(item.value)) {\r\n selectedNames.push(item.name)\r\n }\r\n })\r\n uni.showToast({\r\n icon: 'none',\r\n title: '当前选中:' + selectedNames.join(','),\r\n })\r\n },\r\n testChange: function (e : UniCheckboxGroupChangeEvent) {\r\n this.value = e.detail.value\r\n },\r\n checkbox_click() { console.log(\"组件被点击时触发\") },\r\n checkbox_touchstart() { console.log(\"手指触摸动作开始\") },\r\n checkbox_touchmove() { console.log(\"手指触摸后移动\") },\r\n checkbox_touchcancel() { console.log(\"手指触摸动作被打断,如来电提醒,弹窗\") },\r\n checkbox_touchend() { console.log(\"手指触摸动作结束\") },\r\n checkbox_tap() { console.log(\"手指触摸后马上离开\") },\r\n checkbox_longpress() { console.log(\"如果一个组件被绑定了 longpress 事件,那么当用户长按这个组件时,该事件将会被触发。\") },\r\n change_checked_boolean(checked : boolean) { this.checked_boolean = checked },\r\n change_disabled_boolean(checked : boolean) { this.disabled_boolean = checked },\r\n confirm_color_input(value : string) { this.color_input = value },\r\n confirm_backgroundColor_input(value : string) { this.backgroundColor_input = value },\r\n confirm_borderColor_input(value : string) { this.borderColor_input = value },\r\n confirm_activeBackgroundColor_input(value : string) { this.activeBackgroundColor_input = value },\r\n confirm_activeBorderColor_input(value : string) { this.activeBorderColor_input = value },\r\n confirm_iconColor_input(value : string) { this.iconColor_input = value },\r\n confirm_foreColor_input(value : string) { this.foreColor_input = value }\r\n }\r\n }\r\n\n```\n\n:::","children":"","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.form-component.checkbox.checkbox)\n- [参见uni-app相关文档](https://uniapp.dcloud.io/component/checkbox.html#checkbox)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=checkbox&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=checkbox&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=checkbox&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=checkbox&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=checkbox&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=checkbox)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=checkbox&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"checkbox-group":{"name":"## checkbox-group","description":"> 组件类型:UniCheckboxGroupElement \n\n 多选框组","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","attribute":"### 属性 \n| 名称 | 类型 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :-: | :- |\n| name | string | - | | 表单的控件名称,作为键值对的一部分与表单(form组件)一同提交 |\n| @change | (event: [UniCheckboxGroupChangeEvent](#unicheckboxgroupchangeevent)) => void | - | | checkbox-group中选中项发生改变是触发 change 事件,detail = {value:\\[选中的checkbox的value的数组] |","event":"\n### 事件\n#### UniCheckboxGroupChangeEvent\n\n```mermaid\ngraph LR\n \nUniCheckboxGroupChangeEvent -- Extends --> UniCustomEvent<UniCheckboxGroupChangeEventDetail>\n style UniCustomEvent<UniCheckboxGroupChangeEventDetail> color:#42b983\n click UniCustomEvent<UniCheckboxGroupChangeEventDetail> \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unicustomevent\"\n```\n##### UniCheckboxGroupChangeEventDetail\n\n\n###### UniCheckboxGroupChangeEventDetail 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| value | Array\\ | 是 | - | - | - |\n\n","example":"","children":"### 子组件 @children-tags\n| 子组件 | 兼容性 |\n| :- | :- |\n| [checkbox](checkbox.md) | |","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.form-component.checkbox.checkbox-group)\n- [参见uni-app相关文档](https://uniapp.dcloud.io/component/checkbox.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=checkbox-group&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=checkbox-group&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=checkbox-group&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=checkbox-group&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=checkbox-group&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=checkbox-group)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=checkbox-group&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"form":{"name":"## form","description":"> 组件类型:UniFormElement \n\n 表单","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.97 | 4.11 |\n","attribute":"### 属性 \n| 名称 | 类型 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :-: | :- |\n| disabled | boolean | - | | 是否禁用 |\n| report-submit | boolean | - | | 是否返回 formId 用于发送模板消息 |\n| @submit | (event: [UniFormSubmitEvent](#uniformsubmitevent)) => void | - | | 携带 form 中的数据触发 submit 事件,event.detail = {value : {'name': 'value'}} |\n| @reset | (event: [UniFormResetEvent](#uniformresetevent)) => void | - | | 表单重置时会触发 reset 事件 |","event":"\n### 事件\n#### UniFormSubmitEvent\n\n```mermaid\ngraph LR\n \nUniFormSubmitEvent -- Extends --> UniCustomEvent<UniFormSubmitEventDetail>\n style UniCustomEvent<UniFormSubmitEventDetail> color:#42b983\n click UniCustomEvent<UniFormSubmitEventDetail> \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unicustomevent\"\n```\n##### UniFormSubmitEventDetail\n\n\n###### UniFormSubmitEventDetail 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| value | UTSJSONObject | 是 | - | - | - |\n\n\n#### UniFormResetEvent\n\n```mermaid\ngraph LR\n \nUniFormResetEvent -- Extends --> UniCustomEvent<UniFormResetEventDetail>\n style UniCustomEvent<UniFormResetEventDetail> color:#42b983\n click UniCustomEvent<UniFormResetEventDetail> \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unicustomevent\"\n```","example":"### 示例\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/component/form/form.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/component/form/form\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/component/form/form\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n nickname: '',\r\n gender: '0',\r\n age: 18,\r\n loves: ['0'],\r\n switch: true,\r\n comment: '',\r\n formData: {} as UTSJSONObject,\r\n // 仅测试\r\n testVerifySubmit: false,\r\n testVerifyReset: false,\r\n }\r\n },\r\n computed: {\r\n formDataText() : string {\r\n return JSON.stringify(this.formData)\r\n }\r\n },\r\n methods: {\r\n onFormSubmit: function (e : UniFormSubmitEvent) {\r\n this.formData = e.detail.value\r\n\r\n // 仅测试\r\n this.testVerifySubmit = (e.type == 'submit' && (e.target?.tagName ?? '') == \"FORM\")\r\n },\r\n onFormReset: function (e : UniFormResetEvent) {\r\n this.formData = {}\r\n\r\n // 仅测试\r\n this.testVerifyReset = (e.type == 'reset' && (e.target?.tagName ?? '') == \"FORM\")\r\n }\r\n }\r\n }\r\n\n```\n\n:::","children":"","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.form-component.form)\n- [参见uni-app相关文档](https://uniapp.dcloud.io/component/form.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=form&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=form&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=form&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=form&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=form&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=form)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=form&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"input":{"name":"## input","description":"> 组件类型:[UniInputElement](/dom/uniinputelement.md) \n\n 输入框","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","attribute":"### 属性 \n| 名称 | 类型 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :-: | :- |\n| name | string | - | | 表单的控件名称,作为键值对的一部分与表单(form组件)一同提交 |\n| disabled | boolean | false | | 是否禁用 |\n| value | string | \"\" | | 输入框的初始内容 |\n| type | text \\| number \\| idcard \\| digit \\| tel \\| safe-password \\| nickname | \"text\" | | input的类型 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| text | | 文本输入键盘 |\n@| number | | 数字输入键盘 |\n@| idcard | | 身份证输入键盘 |\n@| digit | | 带小数点数字输入键盘 |\n@| tel | | 电话输入键盘 |\n@| safe-password | | 密码安全输入键盘 |\n@| nickname | | 昵称输入键盘 |\n| password | boolean | false | | 是否是密码类型 |\n| placeholder | string | \"\" | | 输入框为空时占位符 |\n| placeholder-style | string | \"\" | | 指定 placeholder 的样式,目前仅支持color,font-size和font-weight |\n| placeholder-class | string([string.ClassString](/uts/data-type.md#ide-string)) | \"\" | | 指定 placeholder 的样式类,目前仅支持color,font-size和font-weight |\n| maxlength | number | \"不限制长度\" | | 最大输入长度,0和正数为合法值,非法值的时候不限制最大长度 |\n| cursor-spacing | number | 0 | | 指定光标与键盘的距离,单位 px 。取 input 距离底部的距离和 cursor-spacing 指定的距离的最小值作为光标与键盘的距离 |\n| cursor-color | string([string.ColorString](/uts/data-type.md#ide-string)) | \"\" | | 指定光标颜色 |\n| auto-focus | boolean | false | | 自动获取焦点,与`focus`属性对比,此属性只会首次生效。 |\n| focus | boolean | false | | 获取焦点 |\n| confirm-type | send \\| search \\| next \\| go \\| done | \"done\" | | 设置键盘右下角按钮的文字,仅在 type为text 时生效。 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| send | | 发送 |\n@| search | | 搜索 |\n@| next | | 下一个 |\n@| go | | 前往 |\n@| done | | 完成 |\n| always-embed | boolean | - | | 强制 input 处于同层状态,默认 focus 时 input 会切到非同层状态 (仅在 iOS 下生效) |\n| confirm-hold | boolean | false | | 点击键盘右下角按钮时是否保持键盘不收起 |\n| cursor | number | 0 | | 指定focus时的光标位置 |\n| selection-start | number | -1 | | 光标起始位置,自动聚集时有效,需与selection-end搭配使用 |\n| selection-end | number | -1 | | 光标结束位置,自动聚集时有效,需与selection-satrt搭配使用 |\n| adjust-position | boolean | true | | 键盘弹起时,是否自动上推页面 |\n| text-content-type | string | - | | 文本区域的语义,根据类型自动填充 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| oneTimeCode | | 一次性验证码 |\n| hold-keyboard | boolean | false | | focus时,点击页面的时候不收起键盘 |\n| safe-password-cert-path | string | - | | 安全键盘加密公钥的路径,只支持包内路径 |\n| safe-password-length | number | - | | 安全键盘输入密码长度 |\n| safe-password-time-stamp | number | - | | 安全键盘加密时间戳 |\n| safe-password-nonce | string | - | | 安全键盘加密盐值 |\n| safe-password-salt | string | - | | 安全键盘计算 hash 盐值,若指定custom-hash 则无效 |\n| safe-password-custom-hash | string | - | | 安全键盘计算 hash 的算法表达式 |\n| random-number | boolean | - | | 当 type 为 number, digit, idcard 数字键盘是否随机排列 |\n| controlled | boolean | - | | 是否为受控组件。为 true 时,value 内容会完全受 setData 控制 |\n| always-system | boolean | - | | 是否强制使用系统键盘和 Web-view 创建的 input 元素。为 true 时,confirm-type、confirm-hold 可能失效 |\n| inputmode | none \\| text \\| decimal \\| numeric \\| tel \\| search \\| email \\| url | \"text\" | | 是一个枚举属性,它提供了用户在编辑元素或其内容时可能输入的数据类型的提示。在符合条件的高版本webview里,uni-app的 web 和 app-vue 平台中可使用本属性。 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| none | | 无虚拟键盘。在应用程序或者站点需要实现自己的键盘输入控件时很有用。 |\n@| text | | 使用用户本地区域设置的标准文本输入键盘。 |\n@| decimal | | 小数输入键盘,包含数字和分隔符(通常是“ . ”或者“ , ”),设备可能也可能不显示减号键。 |\n@| numeric | | 数字输入键盘,所需要的就是 0 到 9 的数字,设备可能也可能不显示减号键。 |\n@| tel | | 电话输入键盘,包含 0 到 9 的数字、星号(*)和井号(#)键。表单输入里面的电话输入通常应该使用 \\ 。 |\n@| search | | 为搜索输入优化的虚拟键盘,比如,返回键可能被重新标记为“搜索”,也可能还有其他的优化。 |\n@| email | | 为邮件地址输入优化的虚拟键盘,通常包含\"@\"符号和其他优化。表单里面的邮件地址输入应该使用 \\ 。 |\n@| url | | 为网址输入优化的虚拟键盘,比如,“/”键会更加明显、历史记录访问等。表单里面的网址输入通常应该使用 \\ 。 |\n| @input | (event: [UniInputEvent](#uniinputevent)) => void | - | | 当键盘输入时,触发input事件,event.detail = {value, cursor},处理函数可以直接 return 一个字符串,将替换输入框的内容。 |\n| @focus | (event: [UniInputFocusEvent](#uniinputfocusevent)) => void | - | | 输入框聚焦时触发,event.detail = { value, height },height 为键盘高度 |\n| @blur | (event: [UniInputBlurEvent](#uniinputblurevent)) => void | - | | 输入框失去焦点时触发,event.detail = {value: value} |\n| @keyboardheightchange | (event: [UniInputKeyboardHeightChangeEvent](#uniinputkeyboardheightchangeevent)) => void | - | | 键盘高度发生变化的时候触发此事件,event.detail = {height: height, duration: duration} |\n| @confirm | (event: [UniInputConfirmEvent](#uniinputconfirmevent)) => void | - | | 点击完成按钮时触发,event.detail = {value: value} |","event":"\n### 事件\n#### UniInputEvent\n\n```mermaid\ngraph LR\n \nUniInputEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```\n##### UniInputEvent 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| detail | **UniInputEventDetail** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| value | string | 是 | - | - | 输入框内容 |\n@| cursor | number | 是 | - | - | 光标的位置 |\n@| keyCode | number | 是 | - | - | 输入字符的Unicode值 |\n\n\n#### UniInputFocusEvent\n\n```mermaid\ngraph LR\n \nUniInputFocusEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```\n##### UniInputFocusEvent 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| detail | **UniInputFocusEventDetail** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| height | number | 是 | - | | 键盘高度 |\n@| value | string | 是 | - | - | 输入框内容 |\n\n\n#### UniInputBlurEvent\n\n```mermaid\ngraph LR\n \nUniInputBlurEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```\n##### UniInputBlurEvent 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| detail | **UniInputBlurEventDetail** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| value | string | 是 | - | - | 输入框内容 |\n@| cursor | number | 是 | - | - | 选择区域的起始位置 |\n\n\n#### UniInputKeyboardHeightChangeEvent\n\n```mermaid\ngraph LR\n \nUniInputKeyboardHeightChangeEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```\n##### UniInputKeyboardHeightChangeEvent 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| detail | **UniInputKeyboardHeightChangeEventDetail** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| height | number | 是 | - | - | 键盘高度 |\n@| duration | number | 是 | - | - | 持续时间 |\n\n\n#### UniInputConfirmEvent\n\n```mermaid\ngraph LR\n \nUniInputConfirmEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```\n##### UniInputConfirmEvent 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| detail | **UniInputConfirmEventDetail** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| value | string | 是 | - | - | 输入框内容 |\n\n","example":"### 示例\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/component/input/input.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/component/input/input\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/component/input/input\n\n>Template\n```vue\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n title: 'input',\r\n showClearIcon: false,\r\n inputClearValue: '',\r\n showPassword: true,\r\n cursor: -1,\r\n cursor_color: \"#3393E2\",\r\n selectionStart: -1,\r\n selectionEnd: -1,\r\n inputEventDetail: '',\r\n focusAndBlurEventDetail: '',\r\n confirmEventDetail: '',\r\n keyboardHeightChangeEventDetail: '',\r\n focus: true,\r\n inputPassword: true,\r\n inputTypeTel: \"tel\",\r\n inputPlaceHolderStyle: \"color:red\",\r\n inputPlaceHolderClass: \"uni-input-placeholder-class\" as string.ClassString,\r\n inputMaxLengthValue: \"\",\r\n onMaxLengthInputValue: \"\",\r\n inputMaxLengthFocus: false,\r\n inputPasswordValue: \"cipher\",\r\n inputFocusKeyBoardChangeValue: true,\r\n holdKeyboard: false,\r\n keyboardHeight: 0,\r\n focusedForKeyboardHeightChangeTest: false,\r\n demoValue: '123',\r\n adjustPosition: false,\n syncDisplayValue: ''\r\n }\r\n },\r\n methods: {\r\n inputFocusKeyBoardChange(e : UniInputKeyboardHeightChangeEvent) {\r\n this.inputFocusKeyBoardChangeValue = e.detail.height > 50\r\n },\r\n onMaxLengthInput(event : UniInputEvent) {\r\n this.onMaxLengthInputValue = event.detail.value\r\n },\r\n setCursor: function (cursor : number) {\r\n (this.$refs['input'] as UniInputElement).focus();\r\n this.cursor = cursor;\r\n },\r\n onCursorBlurChange() {\r\n this.cursor = 0\r\n },\r\n setSelection: function (selectionStart : number, selectionEnd : number) {\r\n (this.$refs['input2'] as UniInputElement).focus();\r\n this.selectionStart = selectionStart;\r\n this.selectionEnd = selectionEnd;\r\n },\r\n onSelectionBlurChange() {\r\n this.selectionEnd = 0;\r\n },\r\n clearInput: function (event : UniInputEvent) {\r\n this.inputClearValue = event.detail.value\r\n if (event.detail.value.length > 0) {\r\n this.showClearIcon = true\r\n } else {\r\n this.showClearIcon = false\r\n }\r\n },\r\n clearIcon: function () {\r\n this.inputClearValue = ''\r\n this.showClearIcon = false\r\n },\r\n changePassword: function () {\r\n this.showPassword = !this.showPassword\r\n },\r\n onInput: function (event : UniInputEvent) {\r\n console.log(\"键盘输入\", JSON.stringify(event.detail));\r\n this.inputEventDetail = JSON.stringify(event.detail)\r\n },\r\n onFocus: function (event : UniInputFocusEvent) {\r\n console.log(\"输入框聚焦\", JSON.stringify(event.detail));\r\n this.focusAndBlurEventDetail = JSON.stringify(event.detail);\r\n },\r\n onBlur: function (event : UniInputBlurEvent) {\r\n console.log(\"输入框失去焦点\", JSON.stringify(event.detail));\r\n this.focusAndBlurEventDetail = JSON.stringify(event.detail);\r\n },\r\n onConfirm: function (event : UniInputConfirmEvent) {\r\n console.log(\"点击完成按钮\", JSON.stringify(event.detail));\r\n this.confirmEventDetail = JSON.stringify(event.detail);\r\n },\r\n onKeyborardHeightChange: function (event : UniInputKeyboardHeightChangeEvent) {\r\n console.log(\"键盘高度发生变化\", JSON.stringify(event.detail));\r\n this.keyboardHeightChangeEventDetail = JSON.stringify(event.detail);\r\n this.keyboardHeight = event.detail.height;\r\n },\r\n test_check_input_value() : number {\r\n return this.onMaxLengthInputValue.length\r\n },\r\n changeCursorColor(event : UniSwitchChangeEvent) {\r\n const checked = event.detail.value;\r\n if (checked) {\r\n this.cursor_color = \"red\"\r\n } else {\r\n this.cursor_color = \"#3393E2\"\r\n }\r\n const input = uni.getElementById(\"uni-input-cursor-color\")\r\n input?.focus()\r\n },\r\n changeHoldKeyboard(event : UniSwitchChangeEvent) {\r\n const checked = event.detail.value;\r\n this.holdKeyboard = checked\r\n },\r\n changeAdjustPosition(event : UniSwitchChangeEvent) {\r\n const checked = event.detail.value;\r\n this.adjustPosition = checked\r\n }\r\n }\r\n }\r\n\n```\n\n:::","children":"### 子组件 @children-tags\n不可以嵌套组件","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.form-component.input)\n- [参见uni-app相关文档](https://uniapp.dcloud.io/component/input.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=input&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=input&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=input&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=input&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=input&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=input)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=input&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"editor":{"name":"## editor","description":"富文本编辑器,可以对图片、文字进行编辑。","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","attribute":"### 属性 \n| 名称 | 类型 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :-: | :- |\n| read-only | boolean | - | | 设置编辑器为只读。 |\n| placeholder | string | - | | 提示信息。 |\n| show-img-size | boolean | - | | 点击图片时显示图片大小控件。 |\n| show-img-toolbar | boolean | - | | 点击图片时显示工具栏控件。 |\n| show-img-resize | string | - | | 点击图片时显示修改尺寸控件。 |\n| @ready | (event: [UniEvent](/component/common.md#unievent)) => void | - | | 编辑器初始化完成时触发 |\n| @focus | (event: [UniEvent](/component/common.md#unievent)) => void | - | | 编辑器聚焦时触发,event.detail = {html, text, delta} |\n| @blur | (event: [UniEvent](/component/common.md#unievent)) => void | - | | 编辑器失去焦点时触发,detail = {html, text, delta} |\n| @input | (event: [UniEvent](/component/common.md#unievent)) => void | - | | 编辑器内容改变时触发,detail = {html, text, delta} |\n| @statuschange | (event: [UniEvent](/component/common.md#unievent)) => void | - | | 通过 Context 方法改变编辑器内样式时触发,返回选区已设置的样式 |","event":"","example":"### 示例\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/component/editor/editor.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/component/editor/editor\n\n>Template\n```vue\n\n\n\n\n\n\n```\n\n>Script\n```uts\n\n type Context = {\n id ?: string;\n pageId ?: number;\n }\n\n export default {\n data() {\n return {\n readOnly: false,\n formats: {},\n editorCtx: {} as Context,\n // 自动化测试\n autoTest: false,\n undoTest: false,\n redoTest: false,\n removeFormatTest: false,\n insertImageTest: false,\n blurTest: false\n }\n },\n onLoad() {\n uni.loadFontFace({\n family: 'Pacifico',\n source: 'url(\"/static/font/Pacifico-Regular.ttf\")',\n success() {\n console.log('success load font')\n },\n fail() {\n console.log('fail load font load')\n }\n })\n },\n methods: {\n readOnlyChange() {\n this.readOnly = !this.readOnly\n },\n onEditorReady() {\n uni.createSelectorQuery().select('#editor').context((res) => {\n this.editorCtx = res.context\n }).exec()\n },\n // 自动化测试专用\n setContents(options) {\n this.editorCtx.setContents({\n delta: {\n ops: options\n },\n success: (res) => {\n console.log('setContents-success', res)\n },\n fail: (err) => {\n console.log(err)\n }\n })\n },\n blur() {\n this.editorCtx.blur({\n success: (res) => {\n console.log('编辑器失焦:', res)\n this.blurTest = true\n },\n fail: (err) => {\n console.log(err)\n }\n })\n },\n getCon() {\n this.editorCtx.getContents({\n success: (res) => {\n console.log('文本详情:', res)\n },\n fail: (err) => {\n console.log(err)\n }\n })\n },\n undo() {\n this.editorCtx.undo({\n success: (res) => {\n this.undoTest = true\n },\n fail: (err) => {\n this.undoTest = false\n }\n })\n },\n redo() {\n this.editorCtx.redo({\n success: (res) => {\n this.redoTest = true\n },\n fail: (err) => {\n this.redoTest = false\n }\n })\n },\n format(e) {\n let { name, value } = e.target.dataset\n if (!name) return\n // console.log('format', name, value)\n this.editorCtx.format(name, value)\n },\n onStatusChange(e) {\n const formats = e.detail\n this.formats = formats\n },\n insertDivider() {\n this.editorCtx.insertDivider({\n success: function () {\n console.log('insert divider success')\n }\n })\n },\n clear() {\n this.editorCtx.clear({\n success: function (res) {\n console.log(\"clear success\")\n }\n })\n },\n clearShowModal() {\n uni.showModal({\n title: '清空编辑器',\n content: '确定清空编辑器全部内容?',\n success: res => {\n if (res.confirm) {\n this.clear()\n }\n }\n })\n },\n removeFormat() {\n this.editorCtx.removeFormat({\n success: (res) => {\n console.log('removeFormat-success', res)\n this.removeFormatTest = true\n },\n fail: (err) => {\n this.removeFormatTest = false\n }\n })\n },\n insertDate() {\n const date = new Date()\n const formatDate = `${date.getFullYear()}/${date.getMonth() + 1}/${date.getDate()}`\n this.editorCtx.insertText({\n text: formatDate\n })\n },\n insertImage(image) {\n this.editorCtx.insertImage({\n src: image,\n alt: '图像',\n success: () => {\n console.log('insert image success')\n this.insertImageTest = true\n }\n })\n },\n chooseInsertImage() {\n uni.chooseImage({\n count: 1,\n success: (res) => {\n this.insertImage(res.tempFilePaths[0])\n }\n })\n }\n }\n }\n\n```\n\n:::","children":"","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.form-component.editor)\n- [参见uni-app相关文档](https://uniapp.dcloud.io/component/editor.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=editor&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=editor&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=editor&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=editor&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=editor&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=editor)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=editor&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"label":{"name":"## label","description":"用来改进表单组件的可用性,使用for属性找到对应的id,或者将控件放在该标签下,当点击时,就会触发对应的控件","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","attribute":"### 属性 \n| 名称 | 类型 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :-: | :- |\n| disabled | boolean | - | | 是否禁用 |\n| for | string | - | | 绑定控件的 id |","event":"","example":"### 示例\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/component/label/label.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/component/label/label\n\n>Template\n```vue\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n title: 'label',\r\n checkboxItems: [{\r\n name: 'USA',\r\n value: '美国'\r\n },\r\n {\r\n name: 'CHN',\r\n value: '中国',\r\n checked: 'true'\r\n }\r\n ],\r\n radioItems: [{\r\n name: 'USA',\r\n value: '美国'\r\n },\r\n {\r\n name: 'CHN',\r\n value: '中国',\r\n checked: 'true'\r\n }\r\n ],\r\n hidden: false,\r\n checkboxValue: [] as string[],\r\n radioValue: ''\r\n }\r\n },\r\n methods: {\r\n checkboxChange: function (e : UniCheckboxGroupChangeEvent) {\r\n console.log(e.detail.value)\r\n this.checkboxValue = e.detail.value\r\n },\r\n radioChange: function (e : UniRadioGroupChangeEvent) {\r\n console.log(e.detail.value)\r\n this.radioValue = e.detail.value\r\n }\r\n }\r\n }\r\n\n```\n\n:::","children":"","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.form-component.label)\n- [参见uni-app相关文档](https://uniapp.dcloud.io/component/label.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=label&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=label&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=label&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=label&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=label&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=label)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=label&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"picker":{"name":"## picker","description":"从底部弹起的滚动选择器,现支持五种选择器,通过mode来区分,分别是普通选择器,多列选择器,时间选择器,日期选择器,省市区选择器,默认是普通选择器。","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","attribute":"### 属性 \n| 名称 | 类型 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :-: | :- |\n| disabled | boolean | - | | 是否禁用 |\n| mode | string | - | | 选择器类型 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| selector | - | 普通选择器 |\n@| multiSelector | - | 多列选择器 |\n@| time | - | 时间选择器 |\n@| date | - | 日期选择器 |\n@| region | - | 省市选择器 |\n| range | array | - | | mode为 selector 或 multiSelector 时,range 有效 |\n| range-key | string | - | | 当 range 是一个 Object Array 时,通过 range-key 来指定 Object 中 key 的值作为选择器显示内容 |\n| value | string | - | | mode为select或multiSelector时:value 的值表示选择了 range 中的第几个(下标从 0 开始);mode为time时:表示选中的时间,格式为\"hh:mm\";mode为date时:表示选中的日期,格式为\"YYYY-MM-DD\";mode为region时:
\t\t表示选中的省市区,默认选中每一列的第一个值。 |\n| start | string | - | | mode为time:表示有效时间范围的开始,字符串格式为\"hh:mm\";mode为date:表示有效日期范围的开始,字符串格式为\"YYYY-MM-DD\" |\n| end | string | - | | mode为time:表示有效时间范围的结束,字符串格式为\"hh:mm\";mode为date:表示有效日期范围的结束,字符串格式为\"YYYY-MM-DD\" |\n| fields | string | - | | 有效值 year,month,day,表示选择器的粒度 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| year | - | 选择器粒度为年 |\n@| month | - | 选择器粒度为月份 |\n@| day | - | 选择器粒度为天 |\n| custom-item | string | - | | 可为每一列的顶部添加一个自定义的项 |\n| @change | (event: [UniEvent](/component/common.md#unievent)) => void | - | | value 改变时触发 change 事件,event.detail = {value: value} |\n| @columnchange | (event: [UniEvent](/component/common.md#unievent)) => void | - | | 某一列的值改变时触发 columnchange 事件,event.detail = {column: column, value: value},column 的值表示改变了第几列(下标从0开始),value 的值表示变更值的下标 |\n| @cancel | (event: [UniEvent](/component/common.md#unievent)) => void | - | | 取消选择时触发 |","event":"","example":"### 示例\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/component/picker/picker.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/component/picker/picker\n\n>Template\n```vue\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n function getDate(type ?: string) : string {\r\n const date = new Date();\r\n\r\n let year : string | number = date.getFullYear();\r\n let month : string | number = date.getMonth() + 1;\r\n let day : string | number = date.getDate();\r\n\r\n if (type === 'start') {\r\n year = year - 10;\r\n } else if (type === 'end') {\r\n year = year + 10;\r\n }\r\n month = month > 9 ? month : '0' + month;;\r\n day = day > 9 ? day : '0' + day;\r\n\r\n return `${year}-${month}-${day}`;\r\n }\r\n export default {\r\n data() {\r\n return {\r\n title: 'picker',\r\n array: [{ name: '中国' }, { name: '美国' }, { name: '巴西' }, { name: '日本' }],\r\n index: 0,\r\n multiArray: [\r\n ['亚洲', '欧洲'],\r\n ['中国', '日本'],\r\n ['北京', '上海', '广州']\r\n ],\r\n multiIndex: [0, 0, 0],\r\n date: getDate(),\r\n startDate: getDate('start'),\r\n endDate: getDate('end'),\r\n time: '12:01'\r\n }\r\n },\r\n methods: {\r\n bindPickerChange: function (e) {\r\n console.log('picker发送选择改变,携带值为:' + e.detail.value)\r\n this.index = e.detail.value\r\n },\r\n bindMultiPickerColumnChange: function (e) {\r\n console.log('修改的列为:' + e.detail.column + ',值为:' + e.detail.value)\r\n this.multiIndex[e.detail.column] = e.detail.value\r\n switch (e.detail.column) {\r\n case 0: //拖动第1列\r\n switch (this.multiIndex[0]) {\r\n case 0:\r\n this.multiArray[1] = ['中国', '日本']\r\n this.multiArray[2] = ['北京', '上海', '广州']\r\n break\r\n case 1:\r\n this.multiArray[1] = ['英国', '法国']\r\n this.multiArray[2] = ['伦敦', '曼彻斯特']\r\n break\r\n }\r\n this.multiIndex.splice(1, 1, 0)\r\n this.multiIndex.splice(2, 1, 0)\r\n break\r\n case 1: //拖动第2列\r\n switch (this.multiIndex[0]) { //判断第一列是什么\r\n case 0:\r\n switch (this.multiIndex[1]) {\r\n case 0:\r\n this.multiArray[2] = ['北京', '上海', '广州']\r\n break\r\n case 1:\r\n this.multiArray[2] = ['东京', '北海道']\r\n break\r\n }\r\n break\r\n case 1:\r\n switch (this.multiIndex[1]) {\r\n case 0:\r\n this.multiArray[2] = ['伦敦', '曼彻斯特']\r\n break\r\n case 1:\r\n this.multiArray[2] = ['巴黎', '马赛']\r\n break\r\n }\r\n break\r\n }\r\n this.multiIndex.splice(2, 1, 0)\r\n break\r\n }\r\n this.$forceUpdate()\r\n },\r\n bindDateChange: function (e) {\r\n this.date = e.detail.value\r\n },\r\n bindTimeChange: function (e) {\r\n this.time = e.detail.value\r\n }\r\n }\r\n }\r\n\n```\n\n:::","children":"","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.form-component.picker)\n- [参见uni-app相关文档](https://uniapp.dcloud.io/component/picker.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=picker&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=picker&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=picker&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=picker&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=picker&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=picker)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=picker&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"picker-view-column":{"name":"## picker-view-column","description":"仅可放置于 picker-view 中,其子节点未继承 picker-view 的选中框的高度,需要自己设置高度并居中","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","attribute":"","event":"","example":"","children":"","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.form-component.picker-view.picker-view-column)\n- [参见uni-app相关文档](https://uniapp.dcloud.io/component/picker-view.html#picker-view-column)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=picker-view-column&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=picker-view-column&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=picker-view-column&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=picker-view-column&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=picker-view-column&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=picker-view-column)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=picker-view-column&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"picker-view":{"name":"## picker-view","description":"> 组件类型:UniPickerViewElement \n\n 嵌入页面的滚动选择器","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","attribute":"### 属性 \n| 名称 | 类型 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :-: | :- |\n| value | array\\ | - | | picker-view-column 选择的第几项 |\n| indicator-style | string([string.CSSString](/uts/data-type.md#ide-string)) | - | | 设置选择器中间选中框的样式 |\n| indicator-class | string([string.ClassString](/uts/data-type.md#ide-string)) | - | | 设置选择器中间选中框的类名 |\n| mask-style | string([string.CSSString](/uts/data-type.md#ide-string)) | - | | 设置蒙层的样式 |\n| mask-top-style | string([string.CSSString](/uts/data-type.md#ide-string)) | - | | 设置蒙层上半部分的样式 |\n| mask-bottom-style | string([string.CSSString](/uts/data-type.md#ide-string)) | - | | 设置蒙层下半部分的样式 |\n| mask-class | string([string.ClassString](/uts/data-type.md#ide-string)) | - | | 设置蒙层的类名 |\n| @change | (event: [UniPickerViewChangeEvent](#unipickerviewchangeevent)) => void | - | | 当滚动选择,value 改变时触发 change 事件,event.detail = {value: value};value为数组,表示 picker-view 内的 picker-view-column 当前选择的是第几项(下标从 0
\t\t开始) |","event":"\n### 事件\n#### UniPickerViewChangeEvent\n\n```mermaid\ngraph LR\n \nUniPickerViewChangeEvent -- Extends --> UniCustomEvent<UniPickerViewChangeEventDetail>\n style UniCustomEvent<UniPickerViewChangeEventDetail> color:#42b983\n click UniCustomEvent<UniPickerViewChangeEventDetail> \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unicustomevent\"\n```\n##### UniPickerViewChangeEventDetail\n\n\n###### UniPickerViewChangeEventDetail 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| value | Array\\ | 是 | - | - | - |\n\n","example":"### 示例\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/component/picker-view/picker-view.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/component/picker-view/picker-view\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/component/picker-view/picker-view\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\r\n\n```\n\n>Script\n```uts\n\r\n import { state, setEventCallbackNum } from '@/store/index.uts'\r\n export default {\r\n data() {\r\n // 20180112 HBuilderX内测开始 :)\r\n const _years : number[] = []\r\n const _year = 2018\r\n const _months : number[] = []\r\n const _month : number = 1\r\n const _days : number[] = []\r\n const _day = 12\r\n for (let i = 2000; i <= _year; i++) {\r\n _years.push(i)\r\n }\r\n for (let i = 1; i <= 12; i++) {\r\n _months.push(i)\r\n }\r\n for (let i = 1; i <= 31; i++) {\r\n _days.push(i)\r\n }\r\n return {\r\n title: 'picker-view',\r\n years: _years as number[],\r\n year: _year as number,\r\n months: _months as number[],\r\n month: _month as number,\r\n days: _days as number[],\r\n day: _day as number,\r\n value: [_year - 2000, _month - 1, _day - 1] as number[],\r\n result: [] as number[],\r\n indicatorStyle: 'height: 50px;',\r\n // 自动化测试\r\n indicatorClass: '',\r\n maskStyle: '',\r\n maskClass: '',\r\n maskTopStyle: '',\r\n maskBottomStyle: ''\r\n }\r\n },\r\n methods: {\r\n // 自动化测试\r\n getEventCallbackNum() : number {\r\n return state.eventCallbackNum\r\n },\r\n // 自动化测试\r\n setEventCallbackNum(num : number) {\r\n setEventCallbackNum(num)\r\n },\r\n bindChange(e : UniPickerViewChangeEvent) {\r\n // 自动化测试 触发事件元素、type 类型\r\n // console.log(e.target?.tagName, e.type);\r\n if ((e.target?.tagName ?? '').includes('PICKER-VIEW')) {\r\n this.setEventCallbackNum(state.eventCallbackNum + 1)\r\n }\r\n if (e.type === 'change') {\r\n this.setEventCallbackNum(state.eventCallbackNum + 2)\r\n }\r\n const val = e.detail.value\r\n this.result = val\r\n this.year = this.years[val[0]]\r\n this.month = this.months[val[1]]\r\n this.day = this.days[val[2]]\r\n },\r\n setValue() {\r\n this.value = [0, 1, 30] as number[]\r\n },\r\n setValue1() {\r\n this.value = [10, 10, 10] as number[]\r\n },\r\n }\r\n }\r\n\n```\n\n:::","children":"### 子组件 @children-tags\n| 子组件 | 兼容性 |\n| :- | :- |\n| [picker-view-column](picker-view-column.md) | |","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.form-component.picker-view.picker-view)\n- [参见uni-app相关文档](https://uniapp.dcloud.io/component/picker-view.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=picker-view&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=picker-view&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=picker-view&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=picker-view&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=picker-view&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=picker-view)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=picker-view&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"radio":{"name":"## radio","description":"> 组件类型:UniRadioElement \n\n 单选项。在1组radio-group中只能选中1个","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","attribute":"### 属性 \n| 名称 | 类型 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :-: | :- |\n| disabled | boolean | false | | 是否禁用 |\n| value | string | - | | \\ 标识。当该radio 选中时,radio-group的 change 事件会携带radio的value |\n| checked | boolean | false | | \\ 当前是否选中 |\n| backgroundColor | string([string.ColorString](/uts/data-type.md#ide-string)) | \"#ffffff\" | | radio默认的背景颜色 |\n| borderColor | string([string.ColorString](/uts/data-type.md#ide-string)) | \"#d1d1d1\" | | radio默认的边框颜色 |\n| activeBackgroundColor | string([string.ColorString](/uts/data-type.md#ide-string)) | \"#007AFF\" | | radio选中时的背景颜色,优先级大于color属性 |\n| activeBorderColor | string([string.ColorString](/uts/data-type.md#ide-string)) | \"\" | | radio选中时的边框颜色 |\n| foreColor | string([string.ColorString](/uts/data-type.md#ide-string)) | \"#ffffff\" | | radio的图标颜色 |\n| ~~iconColor~~ | string([string.ColorString](/uts/data-type.md#ide-string)) | \"#ffffff\" | | radio的图标颜色 (使用foreColor替代) |\n| ~~color~~ | string([string.ColorString](/uts/data-type.md#ide-string)) | \"#007AFF\" | | radio的颜色 (使用foreColor替代) |","event":"","example":"### 示例\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/component/radio/radio.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/component/radio/radio\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/component/radio/radio\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n type ItemType = {\r\n value : string\r\n name : string\r\n }\r\n export default {\r\n data() {\r\n return {\r\n items: [\r\n {\r\n value: 'CHN',\r\n name: '中国',\r\n },\r\n {\r\n value: 'USA',\r\n name: '美国',\r\n },\r\n\r\n {\r\n value: 'BRA',\r\n name: '巴西',\r\n },\r\n {\r\n value: 'JPN',\r\n name: '日本',\r\n },\r\n {\r\n value: 'ENG',\r\n name: '英国',\r\n },\r\n {\r\n value: 'FRA',\r\n name: '法国',\r\n },\r\n ] as ItemType[],\r\n current: 0,\r\n eventTest: false,\r\n\r\n value: '',\r\n text: '未选中',\r\n wrapText: 'uni-app x,终极跨平台方案\\nuts,大一统语言',\r\n disabled: true,\r\n checked: true,\r\n color: '#007aff',\r\n // 组件属性 autotest\r\n checked_boolean: false,\r\n disabled_boolean: false,\r\n color_input: \"#007AFF\",\r\n backgroundColor_input: \"#ffffff\",\r\n borderColor_input: \"#d1d1d1\",\r\n activeBackgroundColor_input: \"#007AFF\",\r\n activeBorderColor_input: \"\",\r\n iconColor_input: \"#ffffff\"\r\n }\r\n },\r\n\r\n methods: {\r\n radioChange(e : UniRadioGroupChangeEvent) {\r\n\r\n // 自动化测试\r\n console.log('test: radio event detail', e.target?.tagName, e.type)\r\n if ((e.target?.tagName ?? '') == 'RADIO-GROUP' && e.type == 'change') {\r\n this.eventTest = true\r\n }\r\n\r\n const selected = this.items.find((item) : boolean => {\r\n return item.value == e.detail.value\r\n })\r\n uni.showToast({\r\n icon: 'none',\r\n title: '当前选中:' + selected?.name,\r\n })\r\n },\r\n testChange(e : UniRadioGroupChangeEvent) {\r\n\r\n this.value = e.detail.value\r\n },\r\n radio_click() { console.log(\"组件被点击时触发\") },\r\n radio_touchstart() { console.log(\"手指触摸动作开始\") },\r\n radio_touchmove() { console.log(\"手指触摸后移动\") },\r\n radio_touchcancel() { console.log(\"手指触摸动作被打断,如来电提醒,弹窗\") },\r\n radio_touchend() { console.log(\"手指触摸动作结束\") },\r\n radio_tap() { console.log(\"手指触摸后马上离开\") },\r\n radio_longpress() { console.log(\"如果一个组件被绑定了 longpress 事件,那么当用户长按这个组件时,该事件将会被触发。\") },\r\n change_checked_boolean(checked : boolean) { this.checked_boolean = checked },\r\n change_disabled_boolean(checked : boolean) { this.disabled_boolean = checked },\r\n confirm_color_input(value : string) { this.color_input = value },\r\n confirm_backgroundColor_input(value : string) { this.backgroundColor_input = value },\r\n confirm_borderColor_input(value : string) { this.borderColor_input = value },\r\n confirm_activeBackgroundColor_input(value : string) { this.activeBackgroundColor_input = value },\r\n confirm_activeBorderColor_input(value : string) { this.activeBorderColor_input = value },\r\n confirm_iconColor_input(value : string) { this.iconColor_input = value }\r\n }\r\n }\r\n\n```\n\n:::","children":"","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.form-component.radio.radio)\n- [参见uni-app相关文档](https://uniapp.dcloud.io/component/radio.html#radio)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=radio&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=radio&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=radio&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=radio&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=radio&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=radio)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=radio&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"radio-group":{"name":"## radio-group","description":"> 组件类型:UniRadioGroupElement \n\n 单选框组","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","attribute":"### 属性 \n| 名称 | 类型 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :-: | :- |\n| name | string | - | | 表单的控件名称,作为键值对的一部分与表单(form组件)一同提交 |\n| @change | (event: [UniRadioGroupChangeEvent](#uniradiogroupchangeevent)) => void | - | | radio-group 中的选中项发生变化时触发 change 事件,event.detail = {value: 选中项radio的value} |","event":"\n### 事件\n#### UniRadioGroupChangeEvent\n\n```mermaid\ngraph LR\n \nUniRadioGroupChangeEvent -- Extends --> UniCustomEvent<UniRadioGroupChangeEventDetail>\n style UniCustomEvent<UniRadioGroupChangeEventDetail> color:#42b983\n click UniCustomEvent<UniRadioGroupChangeEventDetail> \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unicustomevent\"\n```\n##### UniRadioGroupChangeEventDetail\n\n\n###### UniRadioGroupChangeEventDetail 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| value | string | 是 | - | - | - |\n\n","example":"","children":"### 子组件 @children-tags\n| 子组件 | 兼容性 |\n| :- | :- |\n| [radio](radio.md) | |","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.form-component.radio.radio-group)\n- [参见uni-app相关文档](https://uniapp.dcloud.io/component/radio.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=radio-group&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=radio-group&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=radio-group&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=radio-group&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=radio-group&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=radio-group)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=radio-group&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"slider":{"name":"## slider","description":"> 组件类型:UniSliderElement \n\n 滑动选择器","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","attribute":"### 属性 \n| 名称 | 类型 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :-: | :- |\n| name | string | - | | 表单的控件名称,作为键值对的一部分与表单(form组件)一同提交 |\n| disabled | boolean | - | | 是否禁用 |\n| min | number | 0 | | slider 最小值 |\n| max | number | 100 | | slider 最大值 |\n| step | number | 1 | | slider 步长,取值必须大于 0,并且可被(max - min)整除 |\n| value | number | 0 | | radio当前取值 |\n| activeBackgroundColor | string([string.ColorString](/uts/data-type.md#ide-string)) | \"#007aff\" | | slider 滑块左侧已选择部分的线条颜色 |\n| backgroundColor | string([string.ColorString](/uts/data-type.md#ide-string)) | \"#e9e9e9\" | | radio背景条的颜色 |\n| block-size | number | 28 | | radio滑块的大小,取值范围为 12 - 28 |\n| foreColor | string([string.ColorString](/uts/data-type.md#ide-string)) | - | | slider 的滑块背景颜色 |\n| show-value | boolean | false | | 是否显示当前 value |\n| @change | (event: [UniSliderChangeEvent](#unisliderchangeevent)) => void | - | | 完成一次拖动后触发的事件,event.detail = {value: value} |\n| @changing | (event: [UniSliderChangeEvent](#unisliderchangeevent)) => void | - | | 拖动过程中触发的事件,event.detail = {value: value} |\n| ~~block-color~~ | string([string.ColorString](/uts/data-type.md#ide-string)) | \"#ffffff\" | | 滑块颜色 (使用foreColor替代) |\n| ~~activeColor~~ | string([string.ColorString](/uts/data-type.md#ide-string)) | \"#007aff\" | | slider 滑块左侧已选择部分的线条颜色 |","event":"\n### 事件\n#### UniSliderChangeEvent\n\n```mermaid\ngraph LR\n \nUniSliderChangeEvent -- Extends --> UniCustomEvent<UniSliderChangeEventDetail>\n style UniCustomEvent<UniSliderChangeEventDetail> color:#42b983\n click UniCustomEvent<UniSliderChangeEventDetail> \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unicustomevent\"\n```\n##### UniSliderChangeEventDetail\n\n\n###### UniSliderChangeEventDetail 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| value | number | 是 | - | - | - |\n\n","example":"### 示例\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/component/slider/slider.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/component/slider/slider\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/component/slider/slider\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n sliderValue: 50,\r\n sliderBlockSize: 20,\r\n sliderBackgroundColor: \"#000000\",\r\n sliderActiveColor: \"#FFCC33\",\r\n sliderBlockColor: \"#8A6DE9\",\r\n // 组件属性 autotest\r\n show_value_boolean: false,\r\n disabled_boolean: false,\r\n min_input: 0,\r\n max_input: 100,\r\n step_input: 1,\r\n value_input: 0,\r\n activeColor_input: \"#007aff\",\r\n backgroundColor_input: \"#e9e9e9\",\r\n block_size_input: 28,\r\n block_color_input: \"#ffffff\",\r\n valueColor: \"#888888\",\r\n };\r\n },\r\n methods: {\r\n sliderChange(e : UniSliderChangeEvent) {\r\n console.log(\"value 发生变化:\" + e.detail.value);\r\n },\r\n slider_click() {\r\n console.log(\"组件被点击时触发\");\r\n },\r\n slider_touchstart() {\r\n console.log(\"手指触摸动作开始\");\r\n },\r\n slider_touchmove() {\r\n console.log(\"手指触摸后移动\");\r\n },\r\n slider_touchcancel() {\r\n console.log(\"手指触摸动作被打断,如来电提醒,弹窗\");\r\n },\r\n slider_touchend() {\r\n console.log(\"手指触摸动作结束\");\r\n },\r\n slider_tap() {\r\n console.log(\"手指触摸后马上离开\");\r\n },\r\n slider_longpress() {\r\n console.log(\r\n \"如果一个组件被绑定了 longpress 事件,那么当用户长按这个组件时,该事件将会被触发。\"\r\n );\r\n },\r\n slider_change() {\r\n console.log(\"完成一次拖动后触发的事件,event.detail = {value: value}\");\r\n },\r\n slider_changing() {\r\n console.log(\"拖动过程中触发的事件,event.detail = {value: value}\");\r\n },\r\n change_show_value_boolean(checked : boolean) {\r\n this.show_value_boolean = checked;\r\n },\r\n change_disabled_boolean(checked : boolean) {\r\n this.disabled_boolean = checked;\r\n },\r\n confirm_min_input(value : number) {\r\n this.min_input = value;\r\n },\r\n confirm_max_input(value : number) {\r\n this.max_input = value;\r\n },\r\n confirm_step_input(value : number) {\r\n this.step_input = value;\r\n },\r\n confirm_value_input(value : number) {\r\n this.value_input = value;\r\n },\r\n confirm_activeColor_input(value : string) {\r\n this.activeColor_input = value;\r\n },\r\n confirm_backgroundColor_input(value : string) {\r\n this.backgroundColor_input = value;\r\n },\r\n confirm_block_size_input(value : number) {\r\n this.block_size_input = value;\r\n },\r\n confirm_block_color_input(value : string) {\r\n this.block_color_input = value;\r\n },\r\n confirm_value_color_input(value : string) {\r\n this.valueColor = value;\r\n },\r\n },\r\n };\r\n\n```\n\n:::","children":"","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.form-component.slider)\n- [参见uni-app相关文档](https://uniapp.dcloud.io/component/slider.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=slider&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=slider&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=slider&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=slider&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=slider&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=slider)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=slider&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"switch":{"name":"## switch","description":"> 组件类型:UniSwitchElement \n\n 开关选择器","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","attribute":"### 属性 \n| 名称 | 类型 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :-: | :- |\n| name | string | - | | 表单的控件名称,作为键值对的一部分与表单(form组件)一同提交 |\n| checked | boolean | - | | 是否选中 |\n| type | string | - | | 样式,有效值:switch, checkbox |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| switch | | |\n@| checkbox | | |\n| backgroundColor | string([string.ColorString](/uts/data-type.md#ide-string)) | - | | switch 的关闭状态背景颜色 |\n| activeBackgroundColor | string([string.ColorString](/uts/data-type.md#ide-string)) | - | | switch 的开启状态背景颜色 |\n| foreColor | string([string.ColorString](/uts/data-type.md#ide-string)) | - | | switch 的滑块背景颜色 |\n| activeForeColor | string([string.ColorString](/uts/data-type.md#ide-string)) | - | | switch 的开启状态下的滑块背景颜色 |\n| disabled | boolean | - | | 是否禁用 |\n| @change | (event: [UniSwitchChangeEvent](#uniswitchchangeevent)) => void | - | | checked 改变时触发 change 事件,event.detail={ value:checked} |\n| ~~color~~ | string([string.ColorString](/uts/data-type.md#ide-string)) | - | | switch 的颜色,同 css 的 color (使用foreColor替代) |","event":"\n### 事件\n#### UniSwitchChangeEvent\n\n```mermaid\ngraph LR\n \nUniSwitchChangeEvent -- Extends --> UniCustomEvent<UniSwitchChangeEventDetail>\n style UniCustomEvent<UniSwitchChangeEventDetail> color:#42b983\n click UniCustomEvent<UniSwitchChangeEventDetail> \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unicustomevent\"\n```\n##### UniSwitchChangeEventDetail\n\n\n###### UniSwitchChangeEventDetail 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| value | boolean | 是 | - | - | - |\n\n","example":"### 示例\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/component/switch/switch.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/component/switch/switch\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/component/switch/switch\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n title: 'switch 开关',\r\n checked: true,\r\n color: '#FFCC33',\r\n clickCheckedValue: true,\r\n testVerifyEvent: false,\r\n }\r\n },\r\n methods: {\r\n switch1Change: function (e : UniSwitchChangeEvent) {\r\n this.clickCheckedValue = e.detail.value\r\n console.log('switch1 发生 change 事件,携带值为', e.detail.value)\r\n\r\n // 仅测试\r\n this.testVerifyEvent = (e.type == 'change' && (e.target?.tagName ?? '') == \"SWITCH\")\r\n },\r\n switch2Change: function (e : UniSwitchChangeEvent) {\r\n console.log('switch2 发生 change 事件,携带值为', e.detail.value)\r\n }\r\n }\r\n }\r\n\n```\n\n:::","children":"","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.form-component.switch)\n- [参见uni-app相关文档](https://uniapp.dcloud.io/component/switch.html)\n- [微信小程序文档](https://developers.weixin.qq.com/doc/search.html?source=enter&query=switch&doc_type=miniprogram)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=switch&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=switch&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=switch&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=switch&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=switch)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=switch&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"textarea":{"name":"## textarea","description":"> 组件类型:[UniTextareaElement](/dom/unitextareaelement.md) \n\n 多行输入框","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","attribute":"### 属性 \n| 名称 | 类型 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :-: | :- |\n| name | string | - | | 表单的控件名称,作为键值对的一部分与表单(form组件)一同提交 |\n| disabled | boolean | false | | 是否禁用 |\n| value | string | \"\" | | 输入框的初始内容 |\n| placeholder | string | \"\" | | 输入框为空时占位符 |\n| placeholder-style | string | \"\" | | 指定 placeholder 的样式,目前仅支持color,font-size和font-weight |\n| placeholder-class | string([string.ClassString](/uts/data-type.md#ide-string)) | \"\" | | 指定 placeholder 的样式类,目前仅支持color,font-size和font-weight |\n| maxlength | number | \"不限制长度\" | | 最大输入长度,0和正数为合法值,非法值的时候不限制最大长度 |\n| auto-focus | boolean | false | | 自动获取焦点,与`focus`属性对比,此属性只会首次生效。 |\n| focus | boolean | false | | 获取焦点 |\n| confirm-type | return \\| send \\| search \\| next \\| go \\| done | \"return\" | | 设置键盘右下角按钮的文字 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| return | | 换行 |\n@| send | | 发送 |\n@| search | | 搜索 |\n@| next | | 下一个 |\n@| go | | 前往 |\n@| done | | 完成 |\n| cursor | number | 0 | | 指定focus时的光标位置 |\n| confirm-hold | boolean | false | | 点击键盘右下角按钮时是否保持键盘不收起 |\n| auto-height | boolean | false | | 是否自动增高,设置auto-height时,style.height不生效 |\n| fixed | boolean | - | | 如果 textarea 是在一个 position:fixed 的区域,需要显示指定属性 fixed 为 true |\n| cursor-spacing | number | 0 | | 指定光标与键盘的距离,单位 px 。取 textarea 距离底部的距离和 cursor-spacing 指定的距离的最小值作为光标与键盘的距离 |\n| cursor-color | string([string.ColorString](/uts/data-type.md#ide-string)) | \"\" | | 指定光标颜色 |\n| show-confirm-bar | boolean | - | | 是否显示键盘上方带有”完成“按钮那一栏 |\n| selection-start | number | -1 | | 光标起始位置,自动聚集时有效,需与selection-end搭配使用 |\n| selection-end | number | -1 | | 光标结束位置,自动聚集时有效,需与selection-satrt搭配使用 |\n| adjust-position | boolean | true | | 键盘弹起时,是否自动上推页面 |\n| inputmode | none \\| text \\| decimal \\| numeric \\| tel \\| search \\| email \\| url | \"text\" | | 是一个枚举属性,它提供了用户在编辑元素或其内容时可能输入的数据类型的提示。在符合条件的高版本webview里,uni-app的 web 和 app-vue 平台中可使用本属性。 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| none | | 无虚拟键盘。在应用程序或者站点需要实现自己的键盘输入控件时很有用。 |\n@| text | | 使用用户本地区域设置的标准文本输入键盘。 |\n@| decimal | | 小数输入键盘,包含数字和分隔符(通常是“ . ”或者“ , ”),设备可能也可能不显示减号键。 |\n@| numeric | | 数字输入键盘,所需要的就是 0 到 9 的数字,设备可能也可能不显示减号键。 |\n@| tel | | 电话输入键盘,包含 0 到 9 的数字、星号(*)和井号(#)键。表单输入里面的电话输入通常应该使用 \\ 。 |\n@| search | | 为搜索输入优化的虚拟键盘,比如,返回键可能被重新标记为“搜索”,也可能还有其他的优化。 |\n@| email | | 为邮件地址输入优化的虚拟键盘,通常包含\"@\"符号和其他优化。表单里面的邮件地址输入应该使用 \\ 。 |\n@| url | | 为网址输入优化的虚拟键盘,比如,“/”键会更加明显、历史记录访问等。表单里面的网址输入通常应该使用 \\ 。 |\n| hold-keyboard | boolean | false | | focus时,点击页面的时候不收起键盘 |\n| @confirm | (event: [UniInputConfirmEvent](#uniinputconfirmevent)) => void | - | | 点击完成时, 触发 confirm 事件,event.detail = {value: value} |\n| @input | (event: [UniInputEvent](#uniinputevent)) => void | - | | 当键盘输入时,触发 input 事件,event.detail = {value, cursor}, @input 处理函数的返回值并不会反映到 textarea 上 |\n| @linechange | (event: [UniTextareaLineChangeEvent](#unitextarealinechangeevent)) => void | - | | 输入框行数变化时调用,event.detail = {height: 0, heightRpx: 0, lineCount: 0} |\n| @blur | (event: [UniTextareaBlurEvent](#unitextareablurevent)) => void | - | | 输入框失去焦点时触发,event.detail = {value, cursor} |\n| @keyboardheightchange | (event: [UniInputKeyboardHeightChangeEvent](#uniinputkeyboardheightchangeevent)) => void | - | | 键盘高度发生变化的时候触发此事件,event.detail = {height: height, duration: duration} |\n| @focus | (event: [UniTextareaFocusEvent](#unitextareafocusevent)) => void | - | | 输入框聚焦时触发,event.detail = { value, height },height 为键盘高度,在基础库 1.9.90 起支持 |","event":"\n### 事件\n#### UniInputConfirmEvent\n\n```mermaid\ngraph LR\n \nUniInputConfirmEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```\n##### UniInputConfirmEvent 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| detail | **UniInputConfirmEventDetail** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| value | string | 是 | - | - | 输入框内容 |\n\n\n#### UniInputEvent\n\n```mermaid\ngraph LR\n \nUniInputEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```\n##### UniInputEvent 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| detail | **UniInputEventDetail** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| value | string | 是 | - | - | 输入框内容 |\n@| cursor | number | 是 | - | - | 光标的位置 |\n@| keyCode | number | 是 | - | - | 输入字符的Unicode值 |\n\n\n#### UniTextareaLineChangeEvent\n\n```mermaid\ngraph LR\n \nUniTextareaLineChangeEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```\n##### UniTextareaLineChangeEvent 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| detail | **UniTextareaLineChangeEventDetail** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| lineCount | number | 是 | - | - | 行数 |\n@| heightRpx | number | 是 | - | - | textarea的高度 |\n@| height | number | 是 | - | - | textarea的高度 |\n\n\n#### UniTextareaBlurEvent\n\n```mermaid\ngraph LR\n \nUniTextareaBlurEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```\n##### UniTextareaBlurEvent 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| detail | **UniTextareaBlurEventDetail** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| value | string | 是 | - | - | 输入框内容 |\n@| cursor | number | 是 | - | - | 选择区域的起始位置 |\n\n\n#### UniInputKeyboardHeightChangeEvent\n\n```mermaid\ngraph LR\n \nUniInputKeyboardHeightChangeEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```\n##### UniInputKeyboardHeightChangeEvent 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| detail | **UniInputKeyboardHeightChangeEventDetail** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| height | number | 是 | - | - | 键盘高度 |\n@| duration | number | 是 | - | - | 持续时间 |\n\n\n#### UniTextareaFocusEvent\n\n```mermaid\ngraph LR\n \nUniTextareaFocusEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```\n##### UniTextareaFocusEvent 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| detail | **UniTextareaFocusEventDetail** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| height | number | 是 | - | | 键盘高度 |\n@| value | string | 是 | - | - | 输入框内容 |\n\n","example":"### 示例\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/component/textarea/textarea.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/component/textarea/textarea\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/component/textarea/textarea\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n nickname: '',\r\n gender: '0',\r\n age: 18,\r\n loves: ['0'],\r\n switch: true,\r\n comment: '',\r\n formData: {} as UTSJSONObject,\r\n // 仅测试\r\n testVerifySubmit: false,\r\n testVerifyReset: false,\r\n }\r\n },\r\n computed: {\r\n formDataText() : string {\r\n return JSON.stringify(this.formData)\r\n }\r\n },\r\n methods: {\r\n onFormSubmit: function (e : UniFormSubmitEvent) {\r\n this.formData = e.detail.value\r\n\r\n // 仅测试\r\n this.testVerifySubmit = (e.type == 'submit' && (e.target?.tagName ?? '') == \"FORM\")\r\n },\r\n onFormReset: function (e : UniFormResetEvent) {\r\n this.formData = {}\r\n\r\n // 仅测试\r\n this.testVerifyReset = (e.type == 'reset' && (e.target?.tagName ?? '') == \"FORM\")\r\n }\r\n }\r\n }\r\n\n```\n\n:::","children":"","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.form-component.form)\n- [参见uni-app相关文档](https://uniapp.dcloud.io/component/form.html)\n- [微信开放文档](https://developers.weixin.qq.com/miniprogram/dev/component/form.html)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=form&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=form&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=form&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=form&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=form)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=form&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"input":{"name":"## input","description":"> 组件类型:[UniInputElement](/dom/uniinputelement.md) \n\n 输入框","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","attribute":"### 属性 \n| 名称 | 类型 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :-: | :- |\n| name | string | - | | 表单的控件名称,作为键值对的一部分与表单(form组件)一同提交 |\n| disabled | boolean | false | | 是否禁用 |\n| value | string | \"\" | | 输入框的初始内容 |\n| type | text \\| number \\| idcard \\| digit \\| tel \\| safe-password \\| nickname | \"text\" | | input的类型 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| text | | 文本输入键盘 |\n@| number | | 数字输入键盘 |\n@| idcard | | 身份证输入键盘 |\n@| digit | | 带小数点数字输入键盘 |\n@| tel | | 电话输入键盘 |\n@| safe-password | | 密码安全输入键盘 |\n@| nickname | | 昵称输入键盘 |\n| password | boolean | false | | 是否是密码类型 |\n| placeholder | string | \"\" | | 输入框为空时占位符 |\n| placeholder-style | string | \"\" | | 指定 placeholder 的样式,目前仅支持color,font-size和font-weight |\n| placeholder-class | string([string.ClassString](/uts/data-type.md#ide-string)) | \"\" | | 指定 placeholder 的样式类,目前仅支持color,font-size和font-weight |\n| maxlength | number | \"不限制长度\" | | 最大输入长度,0和正数为合法值,非法值的时候不限制最大长度 |\n| cursor-spacing | number | 0 | | 指定光标与键盘的距离,单位 px 。取 input 距离底部的距离和 cursor-spacing 指定的距离的最小值作为光标与键盘的距离 |\n| cursor-color | string([string.ColorString](/uts/data-type.md#ide-string)) | \"\" | | 指定光标颜色 |\n| auto-focus | boolean | false | | 自动获取焦点,与`focus`属性对比,此属性只会首次生效。 |\n| focus | boolean | false | | 获取焦点 |\n| confirm-type | send \\| search \\| next \\| go \\| done | \"done\" | | 设置键盘右下角按钮的文字,仅在 type为text 时生效。 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| send | | 发送 |\n@| search | | 搜索 |\n@| next | | 下一个 |\n@| go | | 前往 |\n@| done | | 完成 |\n| always-embed | boolean | - | | 强制 input 处于同层状态,默认 focus 时 input 会切到非同层状态 (仅在 iOS 下生效) |\n| confirm-hold | boolean | false | | 点击键盘右下角按钮时是否保持键盘不收起 |\n| cursor | number | 0 | | 指定focus时的光标位置 |\n| selection-start | number | -1 | | 光标起始位置,自动聚集时有效,需与selection-end搭配使用 |\n| selection-end | number | -1 | | 光标结束位置,自动聚集时有效,需与selection-satrt搭配使用 |\n| adjust-position | boolean | true | | 键盘弹起时,是否自动上推页面 |\n| text-content-type | string | - | | 文本区域的语义,根据类型自动填充 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| oneTimeCode | | 一次性验证码 |\n| hold-keyboard | boolean | false | | focus时,点击页面的时候不收起键盘 |\n| safe-password-cert-path | string | - | | 安全键盘加密公钥的路径,只支持包内路径 |\n| safe-password-length | number | - | | 安全键盘输入密码长度 |\n| safe-password-time-stamp | number | - | | 安全键盘加密时间戳 |\n| safe-password-nonce | string | - | | 安全键盘加密盐值 |\n| safe-password-salt | string | - | | 安全键盘计算 hash 盐值,若指定custom-hash 则无效 |\n| safe-password-custom-hash | string | - | | 安全键盘计算 hash 的算法表达式 |\n| random-number | boolean | - | | 当 type 为 number, digit, idcard 数字键盘是否随机排列 |\n| controlled | boolean | - | | 是否为受控组件。为 true 时,value 内容会完全受 setData 控制 |\n| always-system | boolean | - | | 是否强制使用系统键盘和 Web-view 创建的 input 元素。为 true 时,confirm-type、confirm-hold 可能失效 |\n| inputmode | none \\| text \\| decimal \\| numeric \\| tel \\| search \\| email \\| url | \"text\" | | 是一个枚举属性,它提供了用户在编辑元素或其内容时可能输入的数据类型的提示。在符合条件的高版本webview里,uni-app的 web 和 app-vue 平台中可使用本属性。 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| none | | 无虚拟键盘。在应用程序或者站点需要实现自己的键盘输入控件时很有用。 |\n@| text | | 使用用户本地区域设置的标准文本输入键盘。 |\n@| decimal | | 小数输入键盘,包含数字和分隔符(通常是“ . ”或者“ , ”),设备可能也可能不显示减号键。 |\n@| numeric | | 数字输入键盘,所需要的就是 0 到 9 的数字,设备可能也可能不显示减号键。 |\n@| tel | | 电话输入键盘,包含 0 到 9 的数字、星号(*)和井号(#)键。表单输入里面的电话输入通常应该使用 \\ 。 |\n@| search | | 为搜索输入优化的虚拟键盘,比如,返回键可能被重新标记为“搜索”,也可能还有其他的优化。 |\n@| email | | 为邮件地址输入优化的虚拟键盘,通常包含\"@\"符号和其他优化。表单里面的邮件地址输入应该使用 \\ 。 |\n@| url | | 为网址输入优化的虚拟键盘,比如,“/”键会更加明显、历史记录访问等。表单里面的网址输入通常应该使用 \\ 。 |\n| @input | (event: [UniInputEvent](#uniinputevent)) => void | - | | 当键盘输入时,触发input事件,event.detail = {value, cursor},处理函数可以直接 return 一个字符串,将替换输入框的内容。 |\n| @focus | (event: [UniInputFocusEvent](#uniinputfocusevent)) => void | - | | 输入框聚焦时触发,event.detail = { value, height },height 为键盘高度 |\n| @blur | (event: [UniInputBlurEvent](#uniinputblurevent)) => void | - | | 输入框失去焦点时触发,event.detail = {value: value} |\n| @keyboardheightchange | (event: [UniInputKeyboardHeightChangeEvent](#uniinputkeyboardheightchangeevent)) => void | - | | 键盘高度发生变化的时候触发此事件,event.detail = {height: height, duration: duration} |\n| @confirm | (event: [UniInputConfirmEvent](#uniinputconfirmevent)) => void | - | | 点击完成按钮时触发,event.detail = {value: value} |\n| @nicknamereview | eventhandle | - | | - |","event":"\n### 事件\n#### UniInputEvent\n\n```mermaid\ngraph LR\n \nUniInputEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```\n##### UniInputEvent 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| detail | **UniInputEventDetail** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| value | string | 是 | - | - | 输入框内容 |\n@| cursor | number | 是 | - | - | 光标的位置 |\n@| keyCode | number | 是 | - | - | 输入字符的Unicode值 |\n\n\n#### UniInputFocusEvent\n\n```mermaid\ngraph LR\n \nUniInputFocusEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```\n##### UniInputFocusEvent 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| detail | **UniInputFocusEventDetail** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| height | number | 是 | - | | 键盘高度 |\n@| value | string | 是 | - | - | 输入框内容 |\n\n\n#### UniInputBlurEvent\n\n```mermaid\ngraph LR\n \nUniInputBlurEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```\n##### UniInputBlurEvent 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| detail | **UniInputBlurEventDetail** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| value | string | 是 | - | - | 输入框内容 |\n@| cursor | number | 是 | - | - | 选择区域的起始位置 |\n\n\n#### UniInputKeyboardHeightChangeEvent\n\n```mermaid\ngraph LR\n \nUniInputKeyboardHeightChangeEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```\n##### UniInputKeyboardHeightChangeEvent 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| detail | **UniInputKeyboardHeightChangeEventDetail** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| height | number | 是 | - | - | 键盘高度 |\n@| duration | number | 是 | - | - | 持续时间 |\n\n\n#### UniInputConfirmEvent\n\n```mermaid\ngraph LR\n \nUniInputConfirmEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```\n##### UniInputConfirmEvent 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| detail | **UniInputConfirmEventDetail** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| value | string | 是 | - | - | 输入框内容 |\n\n","example":"### 示例\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/component/input/input.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/component/input/input\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/component/input/input\n\n>Template\n```vue\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n title: 'input',\r\n showClearIcon: false,\r\n inputClearValue: '',\r\n showPassword: true,\r\n cursor: -1,\r\n cursor_color: \"#3393E2\",\r\n selectionStart: -1,\r\n selectionEnd: -1,\r\n inputEventDetail: '',\r\n focusAndBlurEventDetail: '',\r\n confirmEventDetail: '',\r\n keyboardHeightChangeEventDetail: '',\r\n focus: true,\r\n inputPassword: true,\r\n inputTypeTel: \"tel\",\r\n inputPlaceHolderStyle: \"color:red\",\r\n inputPlaceHolderClass: \"uni-input-placeholder-class\" as string.ClassString,\r\n inputMaxLengthValue: \"\",\r\n onMaxLengthInputValue: \"\",\r\n inputMaxLengthFocus: false,\r\n inputPasswordValue: \"cipher\",\r\n inputFocusKeyBoardChangeValue: true,\r\n holdKeyboard: false,\r\n keyboardHeight: 0,\r\n focusedForKeyboardHeightChangeTest: false,\r\n demoValue: '123',\r\n adjustPosition: false,\n syncDisplayValue: ''\r\n }\r\n },\r\n methods: {\r\n inputFocusKeyBoardChange(e : UniInputKeyboardHeightChangeEvent) {\r\n this.inputFocusKeyBoardChangeValue = e.detail.height > 50\r\n },\r\n onMaxLengthInput(event : UniInputEvent) {\r\n this.onMaxLengthInputValue = event.detail.value\r\n },\r\n setCursor: function (cursor : number) {\r\n (this.$refs['input'] as UniInputElement).focus();\r\n this.cursor = cursor;\r\n },\r\n onCursorBlurChange() {\r\n this.cursor = 0\r\n },\r\n setSelection: function (selectionStart : number, selectionEnd : number) {\r\n (this.$refs['input2'] as UniInputElement).focus();\r\n this.selectionStart = selectionStart;\r\n this.selectionEnd = selectionEnd;\r\n },\r\n onSelectionBlurChange() {\r\n this.selectionEnd = 0;\r\n },\r\n clearInput: function (event : UniInputEvent) {\r\n this.inputClearValue = event.detail.value\r\n if (event.detail.value.length > 0) {\r\n this.showClearIcon = true\r\n } else {\r\n this.showClearIcon = false\r\n }\r\n },\r\n clearIcon: function () {\r\n this.inputClearValue = ''\r\n this.showClearIcon = false\r\n },\r\n changePassword: function () {\r\n this.showPassword = !this.showPassword\r\n },\r\n onInput: function (event : UniInputEvent) {\r\n console.log(\"键盘输入\", JSON.stringify(event.detail));\r\n this.inputEventDetail = JSON.stringify(event.detail)\r\n },\r\n onFocus: function (event : UniInputFocusEvent) {\r\n console.log(\"输入框聚焦\", JSON.stringify(event.detail));\r\n this.focusAndBlurEventDetail = JSON.stringify(event.detail);\r\n },\r\n onBlur: function (event : UniInputBlurEvent) {\r\n console.log(\"输入框失去焦点\", JSON.stringify(event.detail));\r\n this.focusAndBlurEventDetail = JSON.stringify(event.detail);\r\n },\r\n onConfirm: function (event : UniInputConfirmEvent) {\r\n console.log(\"点击完成按钮\", JSON.stringify(event.detail));\r\n this.confirmEventDetail = JSON.stringify(event.detail);\r\n },\r\n onKeyborardHeightChange: function (event : UniInputKeyboardHeightChangeEvent) {\r\n console.log(\"键盘高度发生变化\", JSON.stringify(event.detail));\r\n this.keyboardHeightChangeEventDetail = JSON.stringify(event.detail);\r\n this.keyboardHeight = event.detail.height;\r\n },\r\n test_check_input_value() : number {\r\n return this.onMaxLengthInputValue.length\r\n },\r\n changeCursorColor(event : UniSwitchChangeEvent) {\r\n const checked = event.detail.value;\r\n if (checked) {\r\n this.cursor_color = \"red\"\r\n } else {\r\n this.cursor_color = \"#3393E2\"\r\n }\r\n const input = uni.getElementById(\"uni-input-cursor-color\")\r\n input?.focus()\r\n },\r\n changeHoldKeyboard(event : UniSwitchChangeEvent) {\r\n const checked = event.detail.value;\r\n this.holdKeyboard = checked\r\n },\r\n changeAdjustPosition(event : UniSwitchChangeEvent) {\r\n const checked = event.detail.value;\r\n this.adjustPosition = checked\r\n }\r\n }\r\n }\r\n\n```\n\n:::","children":"### 子组件 @children-tags\n不可以嵌套组件","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.form-component.input)\n- [参见uni-app相关文档](https://uniapp.dcloud.io/component/input.html)\n- [微信开放文档](https://developers.weixin.qq.com/miniprogram/dev/component/input.html)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=input&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=input&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=input&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=input&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=input)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=input&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"editor":{"name":"## editor","description":"富文本编辑器,可以对图片、文字进行编辑。","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","attribute":"### 属性 \n| 名称 | 类型 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :-: | :- |\n| read-only | boolean | - | | 设置编辑器为只读。 |\n| placeholder | string | - | | 提示信息。 |\n| show-img-size | boolean | - | | 点击图片时显示图片大小控件。 |\n| show-img-toolbar | boolean | - | | 点击图片时显示工具栏控件。 |\n| show-img-resize | string | - | | 点击图片时显示修改尺寸控件。 |\n| @ready | (event: [UniEvent](/component/common.md#unievent)) => void | - | | 编辑器初始化完成时触发 |\n| @focus | (event: [UniEvent](/component/common.md#unievent)) => void | - | | 编辑器聚焦时触发,event.detail = {html, text, delta} |\n| @blur | (event: [UniEvent](/component/common.md#unievent)) => void | - | | 编辑器失去焦点时触发,detail = {html, text, delta} |\n| @input | (event: [UniEvent](/component/common.md#unievent)) => void | - | | 编辑器内容改变时触发,detail = {html, text, delta} |\n| @statuschange | (event: [UniEvent](/component/common.md#unievent)) => void | - | | 通过 Context 方法改变编辑器内样式时触发,返回选区已设置的样式 |\n| enable-formats | Array.<string> | - | | - |","event":"","example":"### 示例\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/component/editor/editor.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/component/editor/editor\n\n>Template\n```vue\n\n\n\n\n\n\n```\n\n>Script\n```uts\n\n type Context = {\n id ?: string;\n pageId ?: number;\n }\n\n export default {\n data() {\n return {\n readOnly: false,\n formats: {},\n editorCtx: {} as Context,\n // 自动化测试\n autoTest: false,\n undoTest: false,\n redoTest: false,\n removeFormatTest: false,\n insertImageTest: false,\n blurTest: false\n }\n },\n onLoad() {\n uni.loadFontFace({\n family: 'Pacifico',\n source: 'url(\"/static/font/Pacifico-Regular.ttf\")',\n success() {\n console.log('success load font')\n },\n fail() {\n console.log('fail load font load')\n }\n })\n },\n methods: {\n readOnlyChange() {\n this.readOnly = !this.readOnly\n },\n onEditorReady() {\n uni.createSelectorQuery().select('#editor').context((res) => {\n this.editorCtx = res.context\n }).exec()\n },\n // 自动化测试专用\n setContents(options) {\n this.editorCtx.setContents({\n delta: {\n ops: options\n },\n success: (res) => {\n console.log('setContents-success', res)\n },\n fail: (err) => {\n console.log(err)\n }\n })\n },\n blur() {\n this.editorCtx.blur({\n success: (res) => {\n console.log('编辑器失焦:', res)\n this.blurTest = true\n },\n fail: (err) => {\n console.log(err)\n }\n })\n },\n getCon() {\n this.editorCtx.getContents({\n success: (res) => {\n console.log('文本详情:', res)\n },\n fail: (err) => {\n console.log(err)\n }\n })\n },\n undo() {\n this.editorCtx.undo({\n success: (res) => {\n this.undoTest = true\n },\n fail: (err) => {\n this.undoTest = false\n }\n })\n },\n redo() {\n this.editorCtx.redo({\n success: (res) => {\n this.redoTest = true\n },\n fail: (err) => {\n this.redoTest = false\n }\n })\n },\n format(e) {\n let { name, value } = e.target.dataset\n if (!name) return\n // console.log('format', name, value)\n this.editorCtx.format(name, value)\n },\n onStatusChange(e) {\n const formats = e.detail\n this.formats = formats\n },\n insertDivider() {\n this.editorCtx.insertDivider({\n success: function () {\n console.log('insert divider success')\n }\n })\n },\n clear() {\n this.editorCtx.clear({\n success: function (res) {\n console.log(\"clear success\")\n }\n })\n },\n clearShowModal() {\n uni.showModal({\n title: '清空编辑器',\n content: '确定清空编辑器全部内容?',\n success: res => {\n if (res.confirm) {\n this.clear()\n }\n }\n })\n },\n removeFormat() {\n this.editorCtx.removeFormat({\n success: (res) => {\n console.log('removeFormat-success', res)\n this.removeFormatTest = true\n },\n fail: (err) => {\n this.removeFormatTest = false\n }\n })\n },\n insertDate() {\n const date = new Date()\n const formatDate = `${date.getFullYear()}/${date.getMonth() + 1}/${date.getDate()}`\n this.editorCtx.insertText({\n text: formatDate\n })\n },\n insertImage(image) {\n this.editorCtx.insertImage({\n src: image,\n alt: '图像',\n success: () => {\n console.log('insert image success')\n this.insertImageTest = true\n }\n })\n },\n chooseInsertImage() {\n uni.chooseImage({\n count: 1,\n success: (res) => {\n this.insertImage(res.tempFilePaths[0])\n }\n })\n }\n }\n }\n\n```\n\n:::","children":"","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.form-component.editor)\n- [参见uni-app相关文档](https://uniapp.dcloud.io/component/editor.html)\n- [微信开放文档](https://developers.weixin.qq.com/miniprogram/dev/component/editor.html)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=editor&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=editor&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=editor&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=editor&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=editor)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=editor&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"label":{"name":"## label","description":"用来改进表单组件的可用性,使用for属性找到对应的id,或者将控件放在该标签下,当点击时,就会触发对应的控件","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","attribute":"### 属性 \n| 名称 | 类型 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :-: | :- |\n| disabled | boolean | - | | 是否禁用 |\n| for | string | - | | 绑定控件的 id |","event":"","example":"### 示例\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/component/label/label.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/component/label/label\n\n>Template\n```vue\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n title: 'label',\r\n checkboxItems: [{\r\n name: 'USA',\r\n value: '美国'\r\n },\r\n {\r\n name: 'CHN',\r\n value: '中国',\r\n checked: 'true'\r\n }\r\n ],\r\n radioItems: [{\r\n name: 'USA',\r\n value: '美国'\r\n },\r\n {\r\n name: 'CHN',\r\n value: '中国',\r\n checked: 'true'\r\n }\r\n ],\r\n hidden: false,\r\n checkboxValue: [] as string[],\r\n radioValue: ''\r\n }\r\n },\r\n methods: {\r\n checkboxChange: function (e : UniCheckboxGroupChangeEvent) {\r\n console.log(e.detail.value)\r\n this.checkboxValue = e.detail.value\r\n },\r\n radioChange: function (e : UniRadioGroupChangeEvent) {\r\n console.log(e.detail.value)\r\n this.radioValue = e.detail.value\r\n }\r\n }\r\n }\r\n\n```\n\n:::","children":"","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.form-component.label)\n- [参见uni-app相关文档](https://uniapp.dcloud.io/component/label.html)\n- [微信开放文档](https://developers.weixin.qq.com/miniprogram/dev/component/label.html)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=label&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=label&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=label&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=label&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=label)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=label&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"picker":{"name":"## picker","description":"从底部弹起的滚动选择器,现支持五种选择器,通过mode来区分,分别是普通选择器,多列选择器,时间选择器,日期选择器,省市区选择器,默认是普通选择器。","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | x | x |\n","attribute":"### 属性 \n| 名称 | 类型 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :-: | :- |\n| disabled | boolean | - | | 是否禁用 |\n| mode | string | - | | 选择器类型 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| selector | | 普通选择器 |\n@| multiSelector | | 多列选择器 |\n@| time | | 时间选择器 |\n@| date | | 日期选择器 |\n@| region | | 省市选择器 |\n| range | array | - | | mode为 selector 或 multiSelector 时,range 有效 |\n| range-key | string | - | | 当 range 是一个 Object Array 时,通过 range-key 来指定 Object 中 key 的值作为选择器显示内容 |\n| value | string | - | | mode为select或multiSelector时:value 的值表示选择了 range 中的第几个(下标从 0 开始);mode为time时:表示选中的时间,格式为\"hh:mm\";mode为date时:表示选中的日期,格式为\"YYYY-MM-DD\";mode为region时:
\t\t表示选中的省市区,默认选中每一列的第一个值。 |\n| start | string | - | | mode为time:表示有效时间范围的开始,字符串格式为\"hh:mm\";mode为date:表示有效日期范围的开始,字符串格式为\"YYYY-MM-DD\" |\n| end | string | - | | mode为time:表示有效时间范围的结束,字符串格式为\"hh:mm\";mode为date:表示有效日期范围的结束,字符串格式为\"YYYY-MM-DD\" |\n| fields | string | - | | 有效值 year,month,day,表示选择器的粒度 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| year | | 选择器粒度为年 |\n@| month | | 选择器粒度为月份 |\n@| day | | 选择器粒度为天 |\n| custom-item | string | - | | 可为每一列的顶部添加一个自定义的项 |\n| @change | (event: [UniEvent](/component/common.md#unievent)) => void | - | | value 改变时触发 change 事件,event.detail = {value: value} |\n| @columnchange | (event: [UniEvent](/component/common.md#unievent)) => void | - | | 某一列的值改变时触发 columnchange 事件,event.detail = {column: column, value: value},column 的值表示改变了第几列(下标从0开始),value 的值表示变更值的下标 |\n| @cancel | (event: [UniEvent](/component/common.md#unievent)) => void | - | | 取消选择时触发 |\n| header-text | string | - | | - |\n| level | string | - | | mode=\"region\" 时有效,选择器层级 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| province | | |\n@| city | | |\n@| region | | |\n@| sub-district | | |","event":"","example":"### 示例\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/component/picker/picker.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/component/picker/picker\n\n>Template\n```vue\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n function getDate(type ?: string) : string {\r\n const date = new Date();\r\n\r\n let year : string | number = date.getFullYear();\r\n let month : string | number = date.getMonth() + 1;\r\n let day : string | number = date.getDate();\r\n\r\n if (type === 'start') {\r\n year = year - 10;\r\n } else if (type === 'end') {\r\n year = year + 10;\r\n }\r\n month = month > 9 ? month : '0' + month;;\r\n day = day > 9 ? day : '0' + day;\r\n\r\n return `${year}-${month}-${day}`;\r\n }\r\n export default {\r\n data() {\r\n return {\r\n title: 'picker',\r\n array: [{ name: '中国' }, { name: '美国' }, { name: '巴西' }, { name: '日本' }],\r\n index: 0,\r\n multiArray: [\r\n ['亚洲', '欧洲'],\r\n ['中国', '日本'],\r\n ['北京', '上海', '广州']\r\n ],\r\n multiIndex: [0, 0, 0],\r\n date: getDate(),\r\n startDate: getDate('start'),\r\n endDate: getDate('end'),\r\n time: '12:01'\r\n }\r\n },\r\n methods: {\r\n bindPickerChange: function (e) {\r\n console.log('picker发送选择改变,携带值为:' + e.detail.value)\r\n this.index = e.detail.value\r\n },\r\n bindMultiPickerColumnChange: function (e) {\r\n console.log('修改的列为:' + e.detail.column + ',值为:' + e.detail.value)\r\n this.multiIndex[e.detail.column] = e.detail.value\r\n switch (e.detail.column) {\r\n case 0: //拖动第1列\r\n switch (this.multiIndex[0]) {\r\n case 0:\r\n this.multiArray[1] = ['中国', '日本']\r\n this.multiArray[2] = ['北京', '上海', '广州']\r\n break\r\n case 1:\r\n this.multiArray[1] = ['英国', '法国']\r\n this.multiArray[2] = ['伦敦', '曼彻斯特']\r\n break\r\n }\r\n this.multiIndex.splice(1, 1, 0)\r\n this.multiIndex.splice(2, 1, 0)\r\n break\r\n case 1: //拖动第2列\r\n switch (this.multiIndex[0]) { //判断第一列是什么\r\n case 0:\r\n switch (this.multiIndex[1]) {\r\n case 0:\r\n this.multiArray[2] = ['北京', '上海', '广州']\r\n break\r\n case 1:\r\n this.multiArray[2] = ['东京', '北海道']\r\n break\r\n }\r\n break\r\n case 1:\r\n switch (this.multiIndex[1]) {\r\n case 0:\r\n this.multiArray[2] = ['伦敦', '曼彻斯特']\r\n break\r\n case 1:\r\n this.multiArray[2] = ['巴黎', '马赛']\r\n break\r\n }\r\n break\r\n }\r\n this.multiIndex.splice(2, 1, 0)\r\n break\r\n }\r\n this.$forceUpdate()\r\n },\r\n bindDateChange: function (e) {\r\n this.date = e.detail.value\r\n },\r\n bindTimeChange: function (e) {\r\n this.time = e.detail.value\r\n }\r\n }\r\n }\r\n\n```\n\n:::","children":"","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.form-component.picker)\n- [参见uni-app相关文档](https://uniapp.dcloud.io/component/picker.html)\n- [微信开放文档](https://developers.weixin.qq.com/miniprogram/dev/component/picker.html)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=picker&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=picker&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=picker&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=picker&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=picker)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=picker&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"picker-view-column":{"name":"## picker-view-column","description":"仅可放置于 picker-view 中,其子节点未继承 picker-view 的选中框的高度,需要自己设置高度并居中","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","attribute":"","event":"","example":"","children":"","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.form-component.picker-view.picker-view-column)\n- [参见uni-app相关文档](https://uniapp.dcloud.io/component/picker-view.html#picker-view-column)\n- [微信开放文档](https://developers.weixin.qq.com/miniprogram/dev/component/picker-view-column.html)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=picker-view-column&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=picker-view-column&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=picker-view-column&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=picker-view-column&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=picker-view-column)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=picker-view-column&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"picker-view":{"name":"## picker-view","description":"> 组件类型:UniPickerViewElement \n\n 嵌入页面的滚动选择器","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","attribute":"### 属性 \n| 名称 | 类型 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :-: | :- |\n| value | array\\ | - | | picker-view-column 选择的第几项 |\n| indicator-style | string([string.CSSString](/uts/data-type.md#ide-string)) | - | | 设置选择器中间选中框的样式 |\n| indicator-class | string([string.ClassString](/uts/data-type.md#ide-string)) | - | | 设置选择器中间选中框的类名 |\n| mask-style | string([string.CSSString](/uts/data-type.md#ide-string)) | - | | 设置蒙层的样式 |\n| mask-top-style | string([string.CSSString](/uts/data-type.md#ide-string)) | - | | 设置蒙层上半部分的样式 |\n| mask-bottom-style | string([string.CSSString](/uts/data-type.md#ide-string)) | - | | 设置蒙层下半部分的样式 |\n| mask-class | string([string.ClassString](/uts/data-type.md#ide-string)) | - | | 设置蒙层的类名 |\n| @change | (event: [UniPickerViewChangeEvent](#unipickerviewchangeevent)) => void | - | | 当滚动选择,value 改变时触发 change 事件,event.detail = {value: value};value为数组,表示 picker-view 内的 picker-view-column 当前选择的是第几项(下标从 0
\t\t开始) |\n| @pickstart | eventhandle | - | | - |\n| @pickend | eventhandle | - | | - |","event":"\n### 事件\n#### UniPickerViewChangeEvent\n\n```mermaid\ngraph LR\n \nUniPickerViewChangeEvent -- Extends --> UniCustomEvent<UniPickerViewChangeEventDetail>\n style UniCustomEvent<UniPickerViewChangeEventDetail> color:#42b983\n click UniCustomEvent<UniPickerViewChangeEventDetail> \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unicustomevent\"\n```\n##### UniPickerViewChangeEventDetail\n\n\n###### UniPickerViewChangeEventDetail 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| value | Array\\ | 是 | - | - | - |\n\n","example":"### 示例\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/component/picker-view/picker-view.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/component/picker-view/picker-view\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/component/picker-view/picker-view\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\r\n\n```\n\n>Script\n```uts\n\r\n import { state, setEventCallbackNum } from '@/store/index.uts'\r\n export default {\r\n data() {\r\n // 20180112 HBuilderX内测开始 :)\r\n const _years : number[] = []\r\n const _year = 2018\r\n const _months : number[] = []\r\n const _month : number = 1\r\n const _days : number[] = []\r\n const _day = 12\r\n for (let i = 2000; i <= _year; i++) {\r\n _years.push(i)\r\n }\r\n for (let i = 1; i <= 12; i++) {\r\n _months.push(i)\r\n }\r\n for (let i = 1; i <= 31; i++) {\r\n _days.push(i)\r\n }\r\n return {\r\n title: 'picker-view',\r\n years: _years as number[],\r\n year: _year as number,\r\n months: _months as number[],\r\n month: _month as number,\r\n days: _days as number[],\r\n day: _day as number,\r\n value: [_year - 2000, _month - 1, _day - 1] as number[],\r\n result: [] as number[],\r\n indicatorStyle: 'height: 50px;',\r\n // 自动化测试\r\n indicatorClass: '',\r\n maskStyle: '',\r\n maskClass: '',\r\n maskTopStyle: '',\r\n maskBottomStyle: ''\r\n }\r\n },\r\n methods: {\r\n // 自动化测试\r\n getEventCallbackNum() : number {\r\n return state.eventCallbackNum\r\n },\r\n // 自动化测试\r\n setEventCallbackNum(num : number) {\r\n setEventCallbackNum(num)\r\n },\r\n bindChange(e : UniPickerViewChangeEvent) {\r\n // 自动化测试 触发事件元素、type 类型\r\n // console.log(e.target?.tagName, e.type);\r\n if ((e.target?.tagName ?? '').includes('PICKER-VIEW')) {\r\n this.setEventCallbackNum(state.eventCallbackNum + 1)\r\n }\r\n if (e.type === 'change') {\r\n this.setEventCallbackNum(state.eventCallbackNum + 2)\r\n }\r\n const val = e.detail.value\r\n this.result = val\r\n this.year = this.years[val[0]]\r\n this.month = this.months[val[1]]\r\n this.day = this.days[val[2]]\r\n },\r\n setValue() {\r\n this.value = [0, 1, 30] as number[]\r\n },\r\n setValue1() {\r\n this.value = [10, 10, 10] as number[]\r\n },\r\n }\r\n }\r\n\n```\n\n:::","children":"### 子组件 @children-tags\n| 子组件 | 兼容性 |\n| :- | :- |\n| [picker-view-column](picker-view-column.md) | |","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.form-component.picker-view.picker-view)\n- [参见uni-app相关文档](https://uniapp.dcloud.io/component/picker-view.html)\n- [微信开放文档](https://developers.weixin.qq.com/miniprogram/dev/component/picker-view.html)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=picker-view&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=picker-view&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=picker-view&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=picker-view&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=picker-view)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=picker-view&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"radio":{"name":"## radio","description":"> 组件类型:UniRadioElement \n\n 单选项。在1组radio-group中只能选中1个","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","attribute":"### 属性 \n| 名称 | 类型 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :-: | :- |\n| disabled | boolean | false | | 是否禁用 |\n| value | string | - | | \\ 标识。当该radio 选中时,radio-group的 change 事件会携带radio的value |\n| checked | boolean | false | | \\ 当前是否选中 |\n| backgroundColor | string([string.ColorString](/uts/data-type.md#ide-string)) | \"#ffffff\" | | radio默认的背景颜色 |\n| borderColor | string([string.ColorString](/uts/data-type.md#ide-string)) | \"#d1d1d1\" | | radio默认的边框颜色 |\n| activeBackgroundColor | string([string.ColorString](/uts/data-type.md#ide-string)) | \"#007AFF\" | | radio选中时的背景颜色,优先级大于color属性 |\n| activeBorderColor | string([string.ColorString](/uts/data-type.md#ide-string)) | \"\" | | radio选中时的边框颜色 |\n| foreColor | string([string.ColorString](/uts/data-type.md#ide-string)) | \"#ffffff\" | | radio的图标颜色 |\n| ~~iconColor~~ | string([string.ColorString](/uts/data-type.md#ide-string)) | \"#ffffff\" | | radio的图标颜色 (使用foreColor替代) |\n| ~~color~~ | string([string.ColorString](/uts/data-type.md#ide-string)) | \"#007AFF\" | | radio的颜色 (使用foreColor替代) |","event":"","example":"### 示例\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/component/radio/radio.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/component/radio/radio\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/component/radio/radio\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n type ItemType = {\r\n value : string\r\n name : string\r\n }\r\n export default {\r\n data() {\r\n return {\r\n items: [\r\n {\r\n value: 'CHN',\r\n name: '中国',\r\n },\r\n {\r\n value: 'USA',\r\n name: '美国',\r\n },\r\n\r\n {\r\n value: 'BRA',\r\n name: '巴西',\r\n },\r\n {\r\n value: 'JPN',\r\n name: '日本',\r\n },\r\n {\r\n value: 'ENG',\r\n name: '英国',\r\n },\r\n {\r\n value: 'FRA',\r\n name: '法国',\r\n },\r\n ] as ItemType[],\r\n current: 0,\r\n eventTest: false,\r\n\r\n value: '',\r\n text: '未选中',\r\n wrapText: 'uni-app x,终极跨平台方案\\nuts,大一统语言',\r\n disabled: true,\r\n checked: true,\r\n color: '#007aff',\r\n // 组件属性 autotest\r\n checked_boolean: false,\r\n disabled_boolean: false,\r\n color_input: \"#007AFF\",\r\n backgroundColor_input: \"#ffffff\",\r\n borderColor_input: \"#d1d1d1\",\r\n activeBackgroundColor_input: \"#007AFF\",\r\n activeBorderColor_input: \"\",\r\n iconColor_input: \"#ffffff\"\r\n }\r\n },\r\n\r\n methods: {\r\n radioChange(e : UniRadioGroupChangeEvent) {\r\n\r\n // 自动化测试\r\n console.log('test: radio event detail', e.target?.tagName, e.type)\r\n if ((e.target?.tagName ?? '') == 'RADIO-GROUP' && e.type == 'change') {\r\n this.eventTest = true\r\n }\r\n\r\n const selected = this.items.find((item) : boolean => {\r\n return item.value == e.detail.value\r\n })\r\n uni.showToast({\r\n icon: 'none',\r\n title: '当前选中:' + selected?.name,\r\n })\r\n },\r\n testChange(e : UniRadioGroupChangeEvent) {\r\n\r\n this.value = e.detail.value\r\n },\r\n radio_click() { console.log(\"组件被点击时触发\") },\r\n radio_touchstart() { console.log(\"手指触摸动作开始\") },\r\n radio_touchmove() { console.log(\"手指触摸后移动\") },\r\n radio_touchcancel() { console.log(\"手指触摸动作被打断,如来电提醒,弹窗\") },\r\n radio_touchend() { console.log(\"手指触摸动作结束\") },\r\n radio_tap() { console.log(\"手指触摸后马上离开\") },\r\n radio_longpress() { console.log(\"如果一个组件被绑定了 longpress 事件,那么当用户长按这个组件时,该事件将会被触发。\") },\r\n change_checked_boolean(checked : boolean) { this.checked_boolean = checked },\r\n change_disabled_boolean(checked : boolean) { this.disabled_boolean = checked },\r\n confirm_color_input(value : string) { this.color_input = value },\r\n confirm_backgroundColor_input(value : string) { this.backgroundColor_input = value },\r\n confirm_borderColor_input(value : string) { this.borderColor_input = value },\r\n confirm_activeBackgroundColor_input(value : string) { this.activeBackgroundColor_input = value },\r\n confirm_activeBorderColor_input(value : string) { this.activeBorderColor_input = value },\r\n confirm_iconColor_input(value : string) { this.iconColor_input = value }\r\n }\r\n }\r\n\n```\n\n:::","children":"","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.form-component.radio.radio)\n- [参见uni-app相关文档](https://uniapp.dcloud.io/component/radio.html#radio)\n- [微信开放文档](https://developers.weixin.qq.com/miniprogram/dev/component/radio.html)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=radio&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=radio&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=radio&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=radio&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=radio)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=radio&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"radio-group":{"name":"## radio-group","description":"> 组件类型:UniRadioGroupElement \n\n 单选框组","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","attribute":"### 属性 \n| 名称 | 类型 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :-: | :- |\n| name | string | - | | 表单的控件名称,作为键值对的一部分与表单(form组件)一同提交 |\n| @change | (event: [UniRadioGroupChangeEvent](#uniradiogroupchangeevent)) => void | - | | radio-group 中的选中项发生变化时触发 change 事件,event.detail = {value: 选中项radio的value} |","event":"\n### 事件\n#### UniRadioGroupChangeEvent\n\n```mermaid\ngraph LR\n \nUniRadioGroupChangeEvent -- Extends --> UniCustomEvent<UniRadioGroupChangeEventDetail>\n style UniCustomEvent<UniRadioGroupChangeEventDetail> color:#42b983\n click UniCustomEvent<UniRadioGroupChangeEventDetail> \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unicustomevent\"\n```\n##### UniRadioGroupChangeEventDetail\n\n\n###### UniRadioGroupChangeEventDetail 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| value | string | 是 | - | - | - |\n\n","example":"","children":"### 子组件 @children-tags\n| 子组件 | 兼容性 |\n| :- | :- |\n| [radio](radio.md) | |","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.form-component.radio.radio-group)\n- [参见uni-app相关文档](https://uniapp.dcloud.io/component/radio.html)\n- [微信开放文档](https://developers.weixin.qq.com/miniprogram/dev/component/radio-group.html)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=radio-group&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=radio-group&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=radio-group&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=radio-group&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=radio-group)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=radio-group&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"slider":{"name":"## slider","description":"> 组件类型:UniSliderElement \n\n 滑动选择器","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","attribute":"### 属性 \n| 名称 | 类型 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :-: | :- |\n| name | string | - | | 表单的控件名称,作为键值对的一部分与表单(form组件)一同提交 |\n| disabled | boolean | - | | 是否禁用 |\n| min | number | 0 | | slider 最小值 |\n| max | number | 100 | | slider 最大值 |\n| step | number | 1 | | slider 步长,取值必须大于 0,并且可被(max - min)整除 |\n| value | number | 0 | | radio当前取值 |\n| activeBackgroundColor | string([string.ColorString](/uts/data-type.md#ide-string)) | \"#007aff\" | | slider 滑块左侧已选择部分的线条颜色 |\n| backgroundColor | string([string.ColorString](/uts/data-type.md#ide-string)) | \"#e9e9e9\" | | radio背景条的颜色 |\n| block-size | number | 28 | | radio滑块的大小,取值范围为 12 - 28 |\n| foreColor | string([string.ColorString](/uts/data-type.md#ide-string)) | - | | slider 的滑块背景颜色 |\n| show-value | boolean | false | | 是否显示当前 value |\n| @change | (event: [UniSliderChangeEvent](#unisliderchangeevent)) => void | - | | 完成一次拖动后触发的事件,event.detail = {value: value} |\n| @changing | (event: [UniSliderChangeEvent](#unisliderchangeevent)) => void | - | | 拖动过程中触发的事件,event.detail = {value: value} |\n| color | color | - | | - |\n| selected-color | color | - | | - |\n| ~~block-color~~ | string([string.ColorString](/uts/data-type.md#ide-string)) | \"#ffffff\" | | 滑块颜色 (使用foreColor替代) |\n| ~~activeColor~~ | string([string.ColorString](/uts/data-type.md#ide-string)) | \"#007aff\" | | slider 滑块左侧已选择部分的线条颜色 |","event":"\n### 事件\n#### UniSliderChangeEvent\n\n```mermaid\ngraph LR\n \nUniSliderChangeEvent -- Extends --> UniCustomEvent<UniSliderChangeEventDetail>\n style UniCustomEvent<UniSliderChangeEventDetail> color:#42b983\n click UniCustomEvent<UniSliderChangeEventDetail> \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unicustomevent\"\n```\n##### UniSliderChangeEventDetail\n\n\n###### UniSliderChangeEventDetail 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| value | number | 是 | - | - | - |\n\n","example":"### 示例\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/component/slider/slider.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/component/slider/slider\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/component/slider/slider\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n sliderValue: 50,\r\n sliderBlockSize: 20,\r\n sliderBackgroundColor: \"#000000\",\r\n sliderActiveColor: \"#FFCC33\",\r\n sliderBlockColor: \"#8A6DE9\",\r\n // 组件属性 autotest\r\n show_value_boolean: false,\r\n disabled_boolean: false,\r\n min_input: 0,\r\n max_input: 100,\r\n step_input: 1,\r\n value_input: 0,\r\n activeColor_input: \"#007aff\",\r\n backgroundColor_input: \"#e9e9e9\",\r\n block_size_input: 28,\r\n block_color_input: \"#ffffff\",\r\n valueColor: \"#888888\",\r\n };\r\n },\r\n methods: {\r\n sliderChange(e : UniSliderChangeEvent) {\r\n console.log(\"value 发生变化:\" + e.detail.value);\r\n },\r\n slider_click() {\r\n console.log(\"组件被点击时触发\");\r\n },\r\n slider_touchstart() {\r\n console.log(\"手指触摸动作开始\");\r\n },\r\n slider_touchmove() {\r\n console.log(\"手指触摸后移动\");\r\n },\r\n slider_touchcancel() {\r\n console.log(\"手指触摸动作被打断,如来电提醒,弹窗\");\r\n },\r\n slider_touchend() {\r\n console.log(\"手指触摸动作结束\");\r\n },\r\n slider_tap() {\r\n console.log(\"手指触摸后马上离开\");\r\n },\r\n slider_longpress() {\r\n console.log(\r\n \"如果一个组件被绑定了 longpress 事件,那么当用户长按这个组件时,该事件将会被触发。\"\r\n );\r\n },\r\n slider_change() {\r\n console.log(\"完成一次拖动后触发的事件,event.detail = {value: value}\");\r\n },\r\n slider_changing() {\r\n console.log(\"拖动过程中触发的事件,event.detail = {value: value}\");\r\n },\r\n change_show_value_boolean(checked : boolean) {\r\n this.show_value_boolean = checked;\r\n },\r\n change_disabled_boolean(checked : boolean) {\r\n this.disabled_boolean = checked;\r\n },\r\n confirm_min_input(value : number) {\r\n this.min_input = value;\r\n },\r\n confirm_max_input(value : number) {\r\n this.max_input = value;\r\n },\r\n confirm_step_input(value : number) {\r\n this.step_input = value;\r\n },\r\n confirm_value_input(value : number) {\r\n this.value_input = value;\r\n },\r\n confirm_activeColor_input(value : string) {\r\n this.activeColor_input = value;\r\n },\r\n confirm_backgroundColor_input(value : string) {\r\n this.backgroundColor_input = value;\r\n },\r\n confirm_block_size_input(value : number) {\r\n this.block_size_input = value;\r\n },\r\n confirm_block_color_input(value : string) {\r\n this.block_color_input = value;\r\n },\r\n confirm_value_color_input(value : string) {\r\n this.valueColor = value;\r\n },\r\n },\r\n };\r\n\n```\n\n:::","children":"","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.form-component.slider)\n- [参见uni-app相关文档](https://uniapp.dcloud.io/component/slider.html)\n- [微信开放文档](https://developers.weixin.qq.com/miniprogram/dev/component/slider.html)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=slider&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=slider&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=slider&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=slider&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=slider)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=slider&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"switch":{"name":"## switch","description":"> 组件类型:UniSwitchElement \n\n 开关选择器","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","attribute":"### 属性 \n| 名称 | 类型 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :-: | :- |\n| name | string | - | | 表单的控件名称,作为键值对的一部分与表单(form组件)一同提交 |\n| checked | boolean | - | | 是否选中 |\n| type | string | - | | 样式,有效值:switch, checkbox |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| switch | | |\n@| checkbox | | |\n| backgroundColor | string([string.ColorString](/uts/data-type.md#ide-string)) | - | | switch 的关闭状态背景颜色 |\n| activeBackgroundColor | string([string.ColorString](/uts/data-type.md#ide-string)) | - | | switch 的开启状态背景颜色 |\n| foreColor | string([string.ColorString](/uts/data-type.md#ide-string)) | - | | switch 的滑块背景颜色 |\n| activeForeColor | string([string.ColorString](/uts/data-type.md#ide-string)) | - | | switch 的开启状态下的滑块背景颜色 |\n| disabled | boolean | - | | 是否禁用 |\n| @change | (event: [UniSwitchChangeEvent](#uniswitchchangeevent)) => void | - | | checked 改变时触发 change 事件,event.detail={ value:checked} |\n| ~~color~~ | string([string.ColorString](/uts/data-type.md#ide-string)) | - | | switch 的颜色,同 css 的 color (使用foreColor替代) |","event":"\n### 事件\n#### UniSwitchChangeEvent\n\n```mermaid\ngraph LR\n \nUniSwitchChangeEvent -- Extends --> UniCustomEvent<UniSwitchChangeEventDetail>\n style UniCustomEvent<UniSwitchChangeEventDetail> color:#42b983\n click UniCustomEvent<UniSwitchChangeEventDetail> \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unicustomevent\"\n```\n##### UniSwitchChangeEventDetail\n\n\n###### UniSwitchChangeEventDetail 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| value | boolean | 是 | - | - | - |\n\n","example":"### 示例\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/component/switch/switch.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/component/switch/switch\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/component/switch/switch\n\n>Template\n```vue\n\r\n\r\n\r\n\r\n\n\n```\n\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n title: 'switch 开关',\r\n checked: true,\r\n color: '#FFCC33',\r\n clickCheckedValue: true,\r\n testVerifyEvent: false,\r\n }\r\n },\r\n methods: {\r\n switch1Change: function (e : UniSwitchChangeEvent) {\r\n this.clickCheckedValue = e.detail.value\r\n console.log('switch1 发生 change 事件,携带值为', e.detail.value)\r\n\r\n // 仅测试\r\n this.testVerifyEvent = (e.type == 'change' && (e.target?.tagName ?? '') == \"SWITCH\")\r\n },\r\n switch2Change: function (e : UniSwitchChangeEvent) {\r\n console.log('switch2 发生 change 事件,携带值为', e.detail.value)\r\n }\r\n }\r\n }\r\n\n```\n\n:::","children":"","reference":"\n### 参见\n- [相关 Bug](https://issues.dcloud.net.cn/?mid=component.form-component.switch)\n- [参见uni-app相关文档](https://uniapp.dcloud.io/component/switch.html)\n- [微信开放文档](https://developers.weixin.qq.com/miniprogram/dev/component/switch.html)\n- [支付宝小程序文档](https://open.alipay.com/portal/zhichi/search?keyword=switch&pageIndex=1&pageSize=10&source=doc_top&type=all)\n- [百度小程序文档](https://smartprogram.baidu.com/forum/search?query=switch&scope=devdocs&source=docs)\n- [抖音小程序文档](https://developer.open-douyin.com/search-page?keyword=switch&secondType=all&type=1)\n- [飞书小程序文档](https://open.feishu.cn/search?from=header&page=1&pageSize=10&q=switch&topicFilter=)\n- [钉钉小程序文档](https://open.dingtalk.com/search?keyword=switch)\n- [QQ小程序文档](https://q.qq.com/wiki/develop/miniprogram/frame/)\n- [快手小程序文档](https://developers.kuaishou.com/page?keyword=switch&from=docs)\n- [京东小程序文档](https://mp-docs.jd.com/doc/dev/framework/-1)\n- [华为快应用文档](https://developer.huawei.com/consumer/cn/doc/quickApp-References/webview-frame-overview-0000001124793625)\n- [360小程序文档](https://mp.360.cn/doc/miniprogram/dev/#/b770a184ff1f06c6b3393a0fd1132380)"},"textarea":{"name":"## textarea","description":"> 组件类型:[UniTextareaElement](/dom/unitextareaelement.md) \n\n 多行输入框","compatibility":"\n### 兼容性\n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","attribute":"### 属性 \n| 名称 | 类型 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :-: | :- |\n| name | string | - | | 表单的控件名称,作为键值对的一部分与表单(form组件)一同提交 |\n| disabled | boolean | false | | 是否禁用 |\n| value | string | \"\" | | 输入框的初始内容 |\n| placeholder | string | \"\" | | 输入框为空时占位符 |\n| placeholder-style | string | \"\" | | 指定 placeholder 的样式,目前仅支持color,font-size和font-weight |\n| placeholder-class | string([string.ClassString](/uts/data-type.md#ide-string)) | \"\" | | 指定 placeholder 的样式类,目前仅支持color,font-size和font-weight |\n| maxlength | number | \"不限制长度\" | | 最大输入长度,0和正数为合法值,非法值的时候不限制最大长度 |\n| auto-focus | boolean | false | | 自动获取焦点,与`focus`属性对比,此属性只会首次生效。 |\n| focus | boolean | false | | 获取焦点 |\n| confirm-type | return \\| send \\| search \\| next \\| go \\| done | \"return\" | | 设置键盘右下角按钮的文字 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| return | | 换行 |\n@| send | | 发送 |\n@| search | | 搜索 |\n@| next | | 下一个 |\n@| go | | 前往 |\n@| done | | 完成 |\n| cursor | number | 0 | | 指定focus时的光标位置 |\n| confirm-hold | boolean | false | | 点击键盘右下角按钮时是否保持键盘不收起 |\n| auto-height | boolean | false | | 是否自动增高,设置auto-height时,style.height不生效 |\n| fixed | boolean | - | | 如果 textarea 是在一个 position:fixed 的区域,需要显示指定属性 fixed 为 true |\n| cursor-spacing | number | 0 | | 指定光标与键盘的距离,单位 px 。取 textarea 距离底部的距离和 cursor-spacing 指定的距离的最小值作为光标与键盘的距离 |\n| cursor-color | string([string.ColorString](/uts/data-type.md#ide-string)) | \"\" | | 指定光标颜色 |\n| show-confirm-bar | boolean | - | | 是否显示键盘上方带有”完成“按钮那一栏 |\n| selection-start | number | -1 | | 光标起始位置,自动聚集时有效,需与selection-end搭配使用 |\n| selection-end | number | -1 | | 光标结束位置,自动聚集时有效,需与selection-satrt搭配使用 |\n| adjust-position | boolean | true | | 键盘弹起时,是否自动上推页面 |\n| inputmode | none \\| text \\| decimal \\| numeric \\| tel \\| search \\| email \\| url | \"text\" | | 是一个枚举属性,它提供了用户在编辑元素或其内容时可能输入的数据类型的提示。在符合条件的高版本webview里,uni-app的 web 和 app-vue 平台中可使用本属性。 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| none | | 无虚拟键盘。在应用程序或者站点需要实现自己的键盘输入控件时很有用。 |\n@| text | | 使用用户本地区域设置的标准文本输入键盘。 |\n@| decimal | | 小数输入键盘,包含数字和分隔符(通常是“ . ”或者“ , ”),设备可能也可能不显示减号键。 |\n@| numeric | | 数字输入键盘,所需要的就是 0 到 9 的数字,设备可能也可能不显示减号键。 |\n@| tel | | 电话输入键盘,包含 0 到 9 的数字、星号(*)和井号(#)键。表单输入里面的电话输入通常应该使用 \\ 。 |\n@| search | | 为搜索输入优化的虚拟键盘,比如,返回键可能被重新标记为“搜索”,也可能还有其他的优化。 |\n@| email | | 为邮件地址输入优化的虚拟键盘,通常包含\"@\"符号和其他优化。表单里面的邮件地址输入应该使用 \\ 。 |\n@| url | | 为网址输入优化的虚拟键盘,比如,“/”键会更加明显、历史记录访问等。表单里面的网址输入通常应该使用 \\ 。 |\n| hold-keyboard | boolean | false | | focus时,点击页面的时候不收起键盘 |\n| @confirm | (event: [UniInputConfirmEvent](#uniinputconfirmevent)) => void | - | | 点击完成时, 触发 confirm 事件,event.detail = {value: value} |\n| @input | (event: [UniInputEvent](#uniinputevent)) => void | - | | 当键盘输入时,触发 input 事件,event.detail = {value, cursor}, @input 处理函数的返回值并不会反映到 textarea 上 |\n| @linechange | (event: [UniTextareaLineChangeEvent](#unitextarealinechangeevent)) => void | - | | 输入框行数变化时调用,event.detail = {height: 0, heightRpx: 0, lineCount: 0} |\n| @blur | (event: [UniTextareaBlurEvent](#unitextareablurevent)) => void | - | | 输入框失去焦点时触发,event.detail = {value, cursor} |\n| @keyboardheightchange | (event: [UniInputKeyboardHeightChangeEvent](#uniinputkeyboardheightchangeevent)) => void | - | | 键盘高度发生变化的时候触发此事件,event.detail = {height: height, duration: duration} |\n| @focus | (event: [UniTextareaFocusEvent](#unitextareafocusevent)) => void | - | | 输入框聚焦时触发,event.detail = { value, height },height 为键盘高度,在基础库 1.9.90 起支持 |\n| disabled | boolean | - | | - |\n| disable-default-padding | boolean | - | | - |\n| adjust-keyboard-to | boolean | - | | *(boolean)*
键盘对齐位置 |\n@| 合法值 | 兼容性 | 描述 |\n@| :- | :-: | :- |\n@| cursor | | |\n@| bottom | | |","event":"\n### 事件\n#### UniInputConfirmEvent\n\n```mermaid\ngraph LR\n \nUniInputConfirmEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```\n##### UniInputConfirmEvent 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| detail | **UniInputConfirmEventDetail** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| value | string | 是 | - | - | 输入框内容 |\n\n\n#### UniInputEvent\n\n```mermaid\ngraph LR\n \nUniInputEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```\n##### UniInputEvent 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| detail | **UniInputEventDetail** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| value | string | 是 | - | - | 输入框内容 |\n@| cursor | number | 是 | - | - | 光标的位置 |\n@| keyCode | number | 是 | - | - | 输入字符的Unicode值 |\n\n\n#### UniTextareaLineChangeEvent\n\n```mermaid\ngraph LR\n \nUniTextareaLineChangeEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```\n##### UniTextareaLineChangeEvent 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| detail | **UniTextareaLineChangeEventDetail** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| lineCount | number | 是 | - | - | 行数 |\n@| heightRpx | number | 是 | - | - | textarea的高度 |\n@| height | number | 是 | - | - | textarea的高度 |\n\n\n#### UniTextareaBlurEvent\n\n```mermaid\ngraph LR\n \nUniTextareaBlurEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```\n##### UniTextareaBlurEvent 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| detail | **UniTextareaBlurEventDetail** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| value | string | 是 | - | - | 输入框内容 |\n@| cursor | number | 是 | - | - | 选择区域的起始位置 |\n\n\n#### UniInputKeyboardHeightChangeEvent\n\n```mermaid\ngraph LR\n \nUniInputKeyboardHeightChangeEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```\n##### UniInputKeyboardHeightChangeEvent 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| detail | **UniInputKeyboardHeightChangeEventDetail** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| height | number | 是 | - | - | 键盘高度 |\n@| duration | number | 是 | - | - | 持续时间 |\n\n\n#### UniTextareaFocusEvent\n\n```mermaid\ngraph LR\n \nUniTextareaFocusEvent -- Extends --> UniEvent\n style UniEvent color:#42b983\n click UniEvent \"https://doc.dcloud.net.cn/uni-app-x/component/common.html#unievent\"\n```\n##### UniTextareaFocusEvent 的属性值\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| detail | **UniTextareaFocusEventDetail** | 是 | - | - | - |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| height | number | 是 | - | | 键盘高度 |\n@| value | string | 是 | - | - | 输入框内容 |\n\n","example":"### 示例\n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha//pages/component/textarea/textarea.uvue) \n::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/component/textarea/textarea\n\n> appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/component/textarea/textarea\n\n>Template\n```vue\n\r\n\r\n