README.md 27.5 KB
Newer Older
D
DCloud_LXH 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
`uni-app`的js API由标准ECMAScript的js API 和 uni 扩展 API 这两部分组成。

标准ECMAScript的js仅是最基础的js。浏览器基于它扩展了window、document、navigator等对象。小程序也基于标准js扩展了各种wx.xx、my.xx、swan.xx的API。node也扩展了fs等模块。

uni-app基于ECMAScript扩展了uni对象,并且API命名与小程序保持兼容。

## 标准js和浏览器js的区别

`uni-app`的js代码,h5端运行于浏览器中。非h5端(包含小程序和App),Android平台运行在v8引擎中,iOS平台运行在iOS自带的jscore引擎中,都没有运行在浏览器或webview里。

非H5端,虽然不支持window、document、navigator等浏览器的js API,但也支持标准ECMAScript。

请注意不要把浏览器里的js扩展对象等价于标准js。

所以uni-app的非H5端,一样支持标准js,支持if、for等语法,支持字符串、数字、时间、布尔值、数组、自定义对象等变量类型及各种处理方法。仅仅是不支持window、document、navigator等浏览器专用对象。

Q
qiang 已提交
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
## 各端特色API调用

除了uni-app框架内置的跨端API,各端自己的特色API也可通过[条件编译](https://uniapp.dcloud.io/platform)自由使用。

各端特色API规范参考各端的开发文档。其中App端的JS API参考[html5plus.org](https://www.html5plus.org/doc/h5p.html);uni-app也支持通过扩展原生插件来丰富App端的开发能力,具体参考[插件开发文档](http://ask.dcloud.net.cn/article/35408)

各平台的API新增,不需要uni-app升级,开发者就可以直接使用。

## 说明

- uni.on 开头的 API 是监听某个事件发生的 API 接口,接受一个 CALLBACK 函数作为参数。当该事件触发时,会调用 CALLBACK 函数。
- 如未特殊约定,其他 API 接口都接受一个 OBJECT 作为参数。
- OBJECT 中可以指定 success,fail,complete 来接收接口调用结果。
- **平台差异说明**若无特殊说明,则表示所有平台均支持。

D
DCloud_LXH 已提交
32
## API `Promise 化`
Q
qiang 已提交
33

D
DCloud_LXH 已提交
34 35 36
1. 具体 API `Promise 化` 的策略:
   - 异步的方法,如果不传入 success、fail、complete 等 callback 参数,将以 Promise 返回数据。例如:`uni.getImageInfo()`
   - 异步的方法,且有返回对象,如果希望获取返回对象,必须至少传入一项 success、fail、complete 等 callback 参数。例如:
Q
qiang 已提交
37

D
DCloud_LXH 已提交
38 39 40 41 42 43 44
		```js
			// 正常使用
			const task = uni.connectSocket(
				success(res){
					console.log(res)
				}
			)
Q
qiang 已提交
45

D
DCloud_LXH 已提交
46 47
			// Promise 化
			uni.connectSocket().then(res => {
D
DCloud_LXH 已提交
48 49
					// 此处即为正常使用时 success 回调的 res
					// uni.connectSocket() 正常使用时是会返回 task 对象的,如果想获取 task ,则不要使用 Promise 化
D
DCloud_LXH 已提交
50 51 52
					console.log(res)
			})
		```
Q
qiang 已提交
53

D
DCloud_LXH 已提交
54 55 56 57 58
2. 不进行 `Promise 化` 的 API:
   - 同步的方法(即以 sync 结束)。例如:`uni.getSystemInfoSync()`
   - 以 create 开头的方法。例如:`uni.createMapContext()`
   - 以 manager 结束的方法。例如:`uni.getBackgroundAudioManager()`

Anne_LXM's avatar
Anne_LXM 已提交
59
#### Vue 2 和 Vue 3 的 API `Promise 化`
D
DCloud_LXH 已提交
60
> Vue 2 和 Vue 3 项目中 `API Promise 化` 返回格式不一致,以下为 `不同点` 和 `返回格式互相转换`
D
DCloud_LXH 已提交
61

D
DCloud_LXH 已提交
62 63
#### Vue 2

D
DCloud_LXH 已提交
64
> 对部分 API 进行了 Promise 封装,返回数据的第一个参数是错误对象,第二个参数是返回数据。此时使用 `catch` 是拿不到报错信息的,因为内部对错误进行了拦截。
D
DCloud_LXH 已提交
65 66

**使用示例:**
Q
qiang 已提交
67 68 69 70 71 72 73

```js
// 默认方式
uni.request({
	url: 'https://www.example.com/request',
	success: (res) => {
		console.log(res.data);
D
DCloud_LXH 已提交
74 75 76
	},
	fail:(err) => {
		console.error(err)
Q
qiang 已提交
77 78 79 80 81 82 83
	}
});

// Promise
uni.request({
		url: 'https://www.example.com/request'
	})
D
DCloud_LXH 已提交
84 85 86 87 88
	.then(data => {
		// data为一个数组
		// 数组第一项为错误信息 即为 fail 回调
		// 第二项为返回数据
		var [err, res]  = data;
Q
qiang 已提交
89 90 91 92 93
        console.log(res.data);
	})

// Await
async function request () {
D
DCloud_LXH 已提交
94
	var [err, res] = await uni.request({
Q
qiang 已提交
95 96 97 98 99 100
		url: 'https://www.example.com/request'
	});
	console.log(res.data);
}
```

D
DCloud_LXH 已提交
101 102
#### Vue 3

D
DCloud_LXH 已提交
103
> 对部分 API 进行了 Promise 封装,调用成功会进入 `then 方法` 回调。调用失败会进入 `catch 方法` 回调
D
DCloud_LXH 已提交
104 105 106 107 108 109 110 111 112 113 114 115 116 117 118

**使用示例:**

```js
// 默认方式
uni.request({
	url: 'https://www.example.com/request',
	success: (res) => {
		console.log(res.data);
	},
	fail:(err) => {
		console.error(err)
	}
});

D
DCloud_LXH 已提交
119
// 使用 Promise then/catch 方式调用
D
DCloud_LXH 已提交
120 121 122
uni.request({
		url: 'https://www.example.com/request'
	})
D
DCloud_LXH 已提交
123 124
	.then(res => {
		// 此处的 res 参数,与使用默认方式调用时 success 回调中的 res 参数一致
D
DCloud_LXH 已提交
125 126
		console.log(res.data);
	})
D
DCloud_LXH 已提交
127 128
	.catch(err => {
		// 此处的 err 参数,与使用默认方式调用时 fail 回调中的 err 参数一致
D
DCloud_LXH 已提交
129 130 131
		console.error(err)
	})

王春艳 已提交
132
// 使用 Async/Await 方式调用
D
DCloud_LXH 已提交
133 134 135 136 137
async function request () {
	try{
		var res = await uni.request({
			url: 'https://www.example.com/request'
		});
D
DCloud_LXH 已提交
138 139
		// 此处的 res 参数,与使用默认方式调用时 success 回调中的 res 参数一致
		console.log(res);
D
DCloud_LXH 已提交
140
	} catch (err) {
D
DCloud_LXH 已提交
141 142
		// 此处的 err 参数,与使用默认方式调用时 fail 回调中的 err 参数一致
		console.error(err)
D
DCloud_LXH 已提交
143 144 145 146
	}
}
```

D
DCloud_LXH 已提交
147
#### 在 Vue 2 项目中, 使用 Vue 3 项目 `API Promise 化` 返回格式
D
DCloud_LXH 已提交
148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172

```js
// 在 main.js 中写入以下代码即可
function isPromise (obj) {
  return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function'
}

uni.addInterceptor({
  returnValue (res) {
    if (!isPromise(res)) {
      return res
    }
    return new Promise((resolve, reject) => {
      res.then(res => {
        if (res[0]) {
          reject(res[0])
        } else {
          resolve(res[1])
        }
      })
    })
  }
})
```

D
DCloud_LXH 已提交
173
#### 在 Vue 3 项目中, 使用 Vue 2 项目 `API Promise 化` 返回格式
D
DCloud_LXH 已提交
174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198

```js
// 在 main.js 中写入以下代码即可
function isPromise (obj) {
  return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function'
}

uni.addInterceptor({
	returnValue(res) {
		if (!isPromise(res)) {
			return res
		}
		const returnValue = [undefined, undefined]
		return res
			.then((res) => {
				returnValue[1] = res
			})
			.catch((err) => {
				returnValue[0] = err
			})
			.then(() => returnValue)
	}
})
```

Anne_LXM's avatar
Anne_LXM 已提交
199
## API 列表
Q
qiang 已提交
200 201 202 203 204
#### 网络
##### 发起请求

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
205
|[uni.request](request/request.html#request)|发起网络请求|
Q
qiang 已提交
206 207 208 209
##### 上传、下载

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
210 211
|[uni.uploadFile](request/network-file.html#uploadfile)|上传文件|
|[uni.downloadFile](request/network-file.html#downloadfile)|下载文件|
Q
qiang 已提交
212 213 214 215
##### WebSocket

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
216 217 218 219 220 221 222
|[uni.connectSocket](request/websocket.html#connectsocket)|创建 WebSocket 连接|
|[uni.onSocketOpen](request/websocket.html#onsocketopen)|监听 WebSocket 打开|
|[uni.onSocketError](request/websocket.html#onsocketerror)|监听 WebSocket 错误|
|[uni.sendSocketMessage](request/websocket.html#sendsocketmessage)|发送 WebSocket 消息|
|[uni.onSocketMessage](request/websocket.html#onsocketmessage)|接受 WebSocket 消息|
|[uni.closeSocket](request/websocket.html#closesocket)|关闭 WebSocket 连接|
|[uni.onSocketClose](request/websocket.html#onsocketclose)|监听 WebSocket 关闭|
Q
qiang 已提交
223 224 225 226
##### SocketTask

|API|说明|
|---|---|
D
DCloud_LXH 已提交
227 228 229 230 231 232
|[SocketTask.send](/api/request/socket-task.html#sockettasksend)		|通过 WebSocket 连接发送数据			|
|[SocketTask.close](/api/request/socket-task.html#sockettaskclose)		|关闭 WebSocket 连接					|
|[SocketTask.onOpen](/api/request/socket-task.html#sockettaskonopen)		|监听 WebSocket 连接打开事件			|
|[SocketTask.onClose](/api/request/socket-task.html#sockettaskonclose)		|监听 WebSocket 连接关闭事件			|
|[SocketTask.onError](/api/request/socket-task.html#sockettaskonerror)		|监听 WebSocket 错误事件				|
|[SocketTask.onMessage](/api/request/socket-task.html#sockettaskonmessage)	|监听 WebSocket 接受到服务器的消息事件	|
Q
qiang 已提交
233 234 235 236 237 238

#### 媒体
##### 图片

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
239 240 241 242 243
|[uni.chooseImage](media/image.html#chooseimage)|从相册选择图片,或者拍照|
|[uni.previewImage](media/image.html#unipreviewimageobject)|预览图片|
|[uni.closePreviewImage](media/image.html#closepreviewimage)|关闭预览图片|
|[uni.getImageInfo](media/image.html#getimageinfo)|获取图片信息|
|[uni.saveImageToPhotosAlbum](media/image.html#saveimagetophotosalbum)|保存图片到系统相册|
Q
qiang 已提交
244 245 246 247
##### 文件

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
248
|[uni.chooseFile](media/file.html#chooseFile)|从本地选择文件|
Q
qiang 已提交
249 250 251 252
##### 录音管理

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
253
|[uni.getRecorderManager](media/record-manager)|录音管理|
Q
qiang 已提交
254 255 256 257
##### 背景音频播放管理

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
258
|[uni.getBackgroundAudioManager](media/background-audio-manager)|背景音频播放管理|
Q
qiang 已提交
259 260 261 262
##### 音频组件管理

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
263
|[uni.createInnerAudioContext](media/audio-context)|音频组件管理|
Q
qiang 已提交
264 265 266 267
##### 视频

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
268 269 270 271
|[uni.chooseVideo](media/video.html#choosevideo)|从相册选择视频,或者拍摄|
|[uni.chooseMedia](media/video.html#choosemedia)|拍摄或从手机相册中选择图片或视频。|
|[uni.saveVideoToPhotosAlbum](media/video.html#savevideotophotosalbum)|保存视频到系统相册|
|[uni.createVideoContext](/api/media/video-context.html#createvideocontext)|视频组件管理|
Q
qiang 已提交
272 273 274 275 276

##### 相机组件管理

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
277
|[uni.createCameraContext](media/camera-context.html)|相机组件管理|
Q
qiang 已提交
278 279 280 281
##### 直播组件管理

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
282
|[uni.createLivePlayerContext](media/live-player-context.html)|直播组件管理|
Q
qiang 已提交
283 284 285 286 287

#### 文件

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
288 289 290 291 292 293
|[uni.saveFile](file/file.html#savefile)|保存文件|
|[uni.getSavedFileList](file/file.html#getsavedfilelist)|获取已保存的文件列表|
|[uni.getSavedFileInfo](file/file.html#getsavedfileinfo)|获取已保存的文件信息|
|[uni.removeSavedFile](file/file.html#removesavedfile)|删除已保存的文件信息|
|[uni.getFileInfo](/api/file/file.html#getfileinfo)|获取文件信息|
|[uni.openDocument](file/file.html#opendocument)|打开文件|
Q
qiang 已提交
294 295 296 297 298 299


#### 数据缓存

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
300 301 302 303 304 305 306 307 308 309
|[uni.getStorage](storage/storage.html#setstorage)|获取本地数据缓存|
|[uni.getStorageSync](storage/storage.html#setstoragesync)|获取本地数据缓存|
|[uni.setStorage](storage/storage.html#getstorage)|设置本地数据缓存|
|[uni.setStorageSync](storage/storage.html#getstoragesync)|设置本地数据缓存|
|[uni.getStorageInfo](storage/storage.html#getstorageinfo)|获取本地缓存的相关信息|
|[uni.getStorageInfoSync](storage/storage.html#getstorageinfosync)|获取本地缓存的相关信息|
|[uni.removeStorage](storage/storage.html#removestorage)|删除本地缓存内容|
|[uni.removeStorageSync](storage/storage.html#removestoragesync)|删除本地缓存内容|
|[uni.clearStorage](storage/storage.html#clearstorage)|清理本地数据缓存|
|[uni.clearStorageSync](storage/storage.html#clearstoragesync)|清理本地数据缓存|
Q
qiang 已提交
310 311 312 313 314 315 316


#### 位置
##### 获取位置 

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
317 318
|[uni.getLocation](location/location.html#getlocation)|获取当前位置|
|[uni.chooseLocation](location/location.html#chooselocation)|打开地图选择位置|
Q
qiang 已提交
319 320 321 322
##### 查看位置

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
323
|[uni.openLocation](location/open-location.html#openlocation)|打开内置地图|
Q
qiang 已提交
324 325 326 327
##### 地图组件控制

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
328
|[uni.createMapContext](location/map.html#createmapcontext)|地图组件控制|
Q
qiang 已提交
329 330 331 332 333 334 335


#### 设备
##### 系统信息

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
336 337 338
|[uni.getSystemInfo](system/info.html#getsysteminfo)|获取系统信息|
|[uni.getSystemInfoSync](system/info.html#getsysteminfosync)|获取系统信息|
|[uni.canIUse](/api/system/info.html#caniuse)|判断应用的 API,回调,参数,组件等是否在当前版本可用|
Q
qiang 已提交
339 340 341 342
##### 内存

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
343
|[uni.onMemoryWarning](/api/system/memory.html#wxonmemorywarning)|监听内存不足告警事件|
Q
qiang 已提交
344 345 346 347
##### 网络状态

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
348 349 350
|[uni.getNetworkType](system/network.html#getnetworktype)|获取网络类型|
|[uni.onNetworkStatusChange](system/network.html#onnetworkstatuschange)|监听网络状态变化|
|[uni.offNetworkStatusChange](system/network.html#offnetworkstatuschange)|取消监听网络状态变化|
Q
qiang 已提交
351 352 353 354
##### 加速度计

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
355 356 357 358
|[uni.onAccelerometerChange](system/accelerometer.html#onaccelerometerchange)|监听加速度数据|
|[uni.offAccelerometerChange](system/accelerometer.html#offaccelerometerchange)|取消监听加速度数据|
|[uni.startAccelerometer](system/accelerometer.html#startaccelerometer)|开始监听加速度数据|
|[uni.stopAccelerometer](system/accelerometer.html#stopaccelerometer)|停止监听加速度数据|
Q
qiang 已提交
359 360 361 362
##### 罗盘

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
363 364 365 366
|[uni.onCompassChange](system/compass.html#oncompasschange)|监听罗盘数据|
|[uni.offCompassChange](system/compass.html#offcompasschange)|取消监听罗盘数据|
|[uni.startCompass](system/compass.html#startcompass)|开始监听罗盘数据|
|[uni.stopCompass](system/compass.html#stopcompass)|停止监听罗盘数据|
Q
qiang 已提交
367 368 369 370
##### 陀螺仪

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
371 372 373
|[uni.onGyroscopeChange](/api/system/gyroscope.html#ongyroscopechange)|监听陀螺仪数据|
|[uni.startGyroscope](/api/system/gyroscope.html#startgyroscope)|开始监听陀螺仪数据|
|[uni.stopGyroscope](/api/system/gyroscope.html#stopgyroscope)|停止监听陀螺仪数据|
Q
qiang 已提交
374 375 376 377
##### 拨打电话

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
378
|[uni.makePhoneCall](system/phone.html#makephonecall)|拨打电话|
Q
qiang 已提交
379 380 381 382
##### 扫码

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
383
|[uni.scanCode](system/barcode.html#scancode)|扫码|
Q
qiang 已提交
384 385 386 387
##### 剪切板

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
388 389
|[uni.setClipboardData](system/clipboard.html#setclipboarddata)|设置剪贴板内容|
|[uni.getClipboardData](system/clipboard.html#getclipboarddata)|获取剪贴板内容|
Q
qiang 已提交
390 391 392 393
##### 屏幕亮度

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
394 395 396
|[uni.setScreenBrightness](system/brightness.html#setscreenbrightness)|设置屏幕亮度|
|[uni.getScreenBrightness](system/brightness.html#getscreenbrightness)|获取屏幕亮度|
|[uni.setKeepScreenOn](system/brightness.html#setkeepscreenon)|设置是否保持常亮状态|
Q
qiang 已提交
397 398 399 400 401 402 403 404 405
##### 用户截屏事件

|API|说明|
|:-|:-|
|[uni.onUserCaptureScreen](/api/system/capture-screen)|监听用户截屏事件|
##### 振动

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
406 407 408
|[uni.vibrate](system/vibrate.html#vibrate)|使手机发生振动|
|[uni.vibrateLong](system/vibrate.html#vibratelong)|使手机发生较长时间的振动|
|[uni.vibrateShort](system/vibrate.html#vibrateshort)|使手机发生较短时间的振动|
Q
qiang 已提交
409 410 411 412
##### 手机联系人

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
413
|[uni.addPhoneContact](system/contact.html#addphonecontact)|添加手机通讯录|
Q
qiang 已提交
414 415 416 417
##### 蓝牙

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
418 419 420 421 422 423 424 425 426
|[uni.openBluetoothAdapter](/api/system/bluetooth.html#openbluetoothadapter)|初始化蓝牙模块|
|[uni.startBluetoothDevicesDiscovery](/api/system/bluetooth.html#startbluetoothdevicesdiscovery)|搜寻附近的蓝牙外围设备|
|[uni.onBluetoothDeviceFound](/api/system/bluetooth.html#onbluetoothdevicefound)|监听寻找到新设备的事件    |
|[uni.stopBluetoothDevicesDiscovery](/api/system/bluetooth.html#stopbluetoothdevicesdiscovery)|停止搜寻|
|[uni.onBluetoothAdapterStateChange](/api/system/bluetooth.html#onbluetoothadapterstatechange)|监听蓝牙适配器状态变化事件|
|[uni.getConnectedBluetoothDevices](/api/system/bluetooth.html#getconnectedbluetoothdevices)|根据 uuid 获取处于已连接状态的设备|
|[uni.getBluetoothDevices](/api/system/bluetooth.html#getbluetoothdevices)|获取已发现的蓝牙设备|
|[uni.getBluetoothAdapterState](/api/system/bluetooth.html#getbluetoothadapterstate)|获取本机蓝牙适配器状态|
|[uni.closeBluetoothAdapter](/api/system/bluetooth.html#closebluetoothadapter)|关闭蓝牙模块|
Q
qiang 已提交
427 428 429 430
##### 低耗蓝牙

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
431 432 433 434 435 436 437 438 439
|[uni.writeBLECharacteristicValue](/api/system/ble.html#writeblecharacteristicvalue)|向低功耗蓝牙设备特征值中写入二进制数据|
|[uni.readBLECharacteristicValue](/api/system/ble.html#readblecharacteristicvalue)|读取低功耗蓝牙设备的特征值的二进制数据值|
|[uni.onBLEConnectionStateChange](/api/system/ble.html#onbleconnectionstatechange)|监听低功耗蓝牙连接状态的改变事件|
|[uni.onBLECharacteristicValueChange](/api/system/ble.html#onblecharacteristicvaluechange)|监听低功耗蓝牙设备的特征值变化事件|
|[uni.notifyBLECharacteristicValueChange](/api/system/ble.html#notifyblecharacteristicvaluechange)|启用蓝牙低功耗设备特征值变化时的 notify 功能,订阅特征|
|[uni.getBLEDeviceServices](/api/system/ble.html#getbledeviceservices)|获取蓝牙设备所有服务(service)|
|[uni.getBLEDeviceCharacteristics](/api/system/ble.html#getbledevicecharacteristics)|获取蓝牙设备某个服务中所有特征值(characteristic)|
|[uni.createBLEConnection](/api/system/ble.html#createbleconnection)|连接低功耗蓝牙设备|
|[uni.closeBLEConnection](/api/system/ble.html#closebleconnection)|断开与低功耗蓝牙设备的连接|
Q
qiang 已提交
440 441 442 443
##### iBeacon

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
444 445 446 447 448
|[uni.onBeaconServiceChange](/api/system/ibeacon.html#onbeaconservicechange)|监听 iBeacon 服务状态变化事件|
|[uni.onBeaconUpdate](/api/system/ibeacon.html#onbeaconupdate)|监听 iBeacon 设备更新事件|
|[uni.getBeacons](/api/system/ibeacon.html#getbeacons)|获取所有已搜索到的 iBeacon 设备|
|[uni.startBeaconDiscovery](/api/system/ibeacon.html#startbeacondiscovery)|停止搜索附近的 iBeacon 设备|
|[uni.stopBeaconDiscovery](/api/system/ibeacon.html#stopbeacondiscovery)|开始搜索附近的 iBeacon 设备|
Q
qiang 已提交
449 450 451 452 453

##### 生物认证

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
454 455 456
|[uni.startSoterAuthentication](/api/system/authentication.html#startsoterauthentication)|开始生物认证|
|[uni.checkIsSupportSoterAuthentication](/api/system/authentication.html#checkissupportsoterauthentication)|获取本机支持的生物认证方式|
|[uni.checkIsSoterEnrolledInDevice](/api/system/authentication.html#checkissoterenrolledindevice)|获取设备内是否录入如指纹等生物信息的接口|
Q
qiang 已提交
457 458 459 460 461 462

#### 界面
##### 交互反馈

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
463 464 465 466 467 468
|[uni.showToast](ui/prompt.html#showtoast)|显示提示框|
|[uni.showLoading](ui/prompt.html#showloading)|显示加载提示框|
|[uni.hideToast](ui/prompt.html#hidetoast)|隐藏提示框|
|[uni.hideLoading](ui/prompt.html#hideloading)|隐藏加载提示框|
|[uni.showModal](ui/prompt.html#showmodal)|显示模态弹窗|
|[uni.showActionSheet](ui/prompt.html#showactionsheet)|显示菜单列表|
Q
qiang 已提交
469 470 471 472
##### 设置导航条

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
473 474 475 476
|[uni.setNavigationBarTitle](ui/navigationbar.html#setnavigationbartitle)|设置当前页面标题|
|[uni.setNavigationBarColor](/api/ui/navigationbar.html#setnavigationbarcolor)|设置页面导航条颜色|
|[uni.showNavigationBarLoading](ui/navigationbar.html#shownavigationbarloading)|显示导航条加载动画|
|[uni.hideNavigationBarLoading](ui/navigationbar.html#hidenavigationbarloading)|隐藏导航条加载动画|
Q
qiang 已提交
477 478 479 480
##### 设置TabBar

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
481 482 483 484 485 486 487 488
|[uni.setTabBarItem](/api/ui/tabbar.html#settabbaritem)|动态设置 tabBar 某一项的内容|
|[uni.setTabBarStyle](/api/ui/tabbar.html#settabbarstyle)|动态设置 tabBar 的整体样式|
|[uni.hideTabBar](/api/ui/tabbar.html#hidetabbar)|隐藏 tabBar|
|[uni.showTabBar](/api/ui/tabbar.html#showtabbar)|显示 tabBar|
|[uni.setTabBarBadge](/api/ui/tabbar.html#settabbarbadge)|为 tabBar 某一项的右上角添加文本|
|[uni.removeTabBarBadge](/api/ui/tabbar.html#removetabbarbadge)|移除 tabBar 某一项右上角的文本|
|[uni.showTabBarRedDot](/api/ui/tabbar.html#showtabbarreddot)|显示 tabBar 某一项的右上角的红点|
|[uni.hideTabBarRedDot](/api/ui/tabbar.html#hidetabbarreddot)|隐藏 tabBar 某一项的右上角的红点|
Q
qiang 已提交
489 490 491 492
##### 背景

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
493 494
|[uni.setBackgroundColor](/api/ui/bgcolor.html#setbackgroundcolor)|动态设置窗口的背景色。|
|[uni.setBackgroundTextStyle](/api/ui/bgcolor.html#setbackgroundtextstyle)|动态设置下拉背景字体、loading 图的样式。|
Q
qiang 已提交
495 496 497 498 499

##### 动画

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
500
|[uni.createAnimation](/api/ui/animation.html#createanimation)|创建一个动画实例 animation。调用实例的方法来描述动画。最后通过动画实例的export方法导出动画数据传递给组件的animation属性。|
Q
qiang 已提交
501 502 503 504 505

##### 滚动

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
506
|[uni.pageScrollTo](/api/ui/scroll.html#pagescrollto)|将页面滚动到目标位置。|
Q
qiang 已提交
507 508 509 510 511 512 513 514 515 516 517 518 519

##### 绘画

|API|说明|
|:-|:-|
|[uni.createCanvasContext](/api/canvas/createCanvasContext)|创建绘图上下文|
|[uni.canvasToTempFilePath](/api/canvas/canvasToTempFilePath)|将画布内容保存成文件|
|[uni.canvasGetImageData](/api/canvas/canvasGetImageData)|获取画布图像数据|
|[uni.canvasPutImageData](/api/canvas/canvasPutImageData)|设置画布图像数据|
##### 下拉刷新

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
520 521 522
|[onPullDownRefresh](/api/ui/pulldown.html#onpulldownrefresh)|监听该页面用户下拉刷新事件|
|[uni.startPullDownRefresh](/api/ui/pulldown.html#startpulldownrefresh)|开始下拉刷新|
|[uni.stopPullDownRefresh](/api/ui/pulldown.html#stoppulldownrefresh)|停止当前页面下拉刷新|
Q
qiang 已提交
523 524 525 526
##### 节点信息

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
527 528 529 530 531 532 533 534
|[uni.createSelectorQuery](ui/nodes-info.html#createselectorquery)|创建查询请求|
|[selectorQuery.select](/api/ui/nodes-info.html#selectorquery-对象的方法列表)|根据选择器选择单个节点|
|[selectorQuery.selectAll](/api/ui/nodes-info.html#selectorquery-对象的方法列表)|根据选择器选择全部节点|
|[selectorQuery.selectViewport](/api/ui/nodes-info.html#selectorquery-对象的方法列表)|选择显示区域|
|[selectorQuery.exec](/api/ui/nodes-info.html#selectorquery-对象的方法列表)|执行查询请求|
|[nodesRef.boundingClientRect](/api/ui/nodes-info.html#nodesref-对象的方法列表)|获取布局位置和尺寸|
|[nodesRef.scrollOffset](/api/ui/nodes-info.html#nodesref-对象的方法列表)|获取滚动位置|
|[nodesRef.fields](/api/ui/nodes-info.html#nodesref-对象的方法列表)|获取任意字段|
Q
qiang 已提交
535 536 537 538
##### 节点布局相交状态

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
539 540 541 542 543
|[uni.createIntersectionObserver](ui/intersection-observer.html#createintersectionobserver)|创建 IntersectionObserver 对象|
|[intersectionObserver.relativeTo](/api/ui/intersection-observer.html#intersectionobserver-对象的方法列表)|指定参照节点|
|[intersectionObserver.relativeToViewport](/api/ui/intersection-observer.html#intersectionobserver-对象的方法列表)|指定页面显示区域作为参照区域|
|[intersectionObserver.observe](/api/ui/intersection-observer.html#intersectionobserver-对象的方法列表)|指定目标节点并开始监听|
|[intersectionObserver.disconnect](/api/ui/intersection-observer.html#intersectionobserver-对象的方法列表)|停止监听|
Q
qiang 已提交
544 545 546 547 548 549


#### 路由

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
550 551 552 553 554
|[uni.navigateTo](/api/router.html#navigateto)|保留当前页面,跳转到应用内的某个页面,使用uni.navigateBack可以返回到原页面|
|[uni.redirectTo](/api/router.html#redirectto)|关闭当前页面,跳转到应用内的某个页面|
|[uni.reLaunch](/api/router.html#relaunch)|关闭所有页面,打开到应用内的某个页面|
|[uni.switchTab](/api/router.html#switchtab)|跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面|
|[uni.navigateBack](/api/router.html#navigateback)|关闭当前页面,返回上一页面或多级页面|
Q
qiang 已提交
555 556 557 558 559 560 561



#### 第三方服务

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577
|[uni.getProvider](plugins/provider.html#getprovider)|获取服务供应商|
|[uni.login](plugins/login.html#login)|登录|
|[uni.getUserInfo](plugins/login.html#getuserinfo)|获取用户信息|
|[uni.getuserprofile](plugins/login.html#getuserprofile)|获取用户信息。每次请求都会弹出授权窗口,用户同意后返回 userInfo|
|[uni.checkSession](plugins/login.html#checkSession)|检查登录状态是否过期|
|[uni.preLogin](plugins/login.html#prelogin)|预登录|
|[uni.closeAuthView](plugins/login.html#closeauthview)|关闭一键登录页面|
|[uni.getCheckBoxState](plugins/login.html#getcheckboxstate)|获取一键登录条款勾选框状态|
|[uni.getUniverifyManager](plugins/login.html#getUniverifyManager)|获取全局唯一的一键登录管理器 univerifyManager|
|[uni.share](plugins/share.html#share)|分享|
|[uni.shareWithSystem](plugins/share.html#sharewithsystem)|使用系统分享|
|[uni.requestPayment](plugins/payment.html#requestpayment)|支付|
|[uni.subscribePush](plugins/push.html#subscribepush)|开启推送|
|[uni.unsubscribePush](plugins/push.html#unsubscribepush)|关闭推送|
|[uni.onPush](plugins/push.html#onpush)|监听透传数据|
|[uni.offPush](plugins/push.html#offpush)|移除监听透传数据|
Q
qiang 已提交
578 579 580 581 582

#### 平台扩展

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
583
|[uni.requireNativePlugin](/api/extend/native-plugin.html#requirenativeplugin)|引入 App 原生插件|
Q
qiang 已提交
584 585 586 587 588 589

#### 其他
##### 授权

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
590
|[uni.authorize](/api/other/authorize.html#authorize)|提前向用户发起授权请求|
Q
qiang 已提交
591 592 593 594
##### 设置

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
595 596
|[uni.openSetting](/api/other/setting.html#opensetting)|调起客户端小程序设置界面,返回用户设置的操作结果。|
|[uni.getSetting](/api/other/setting.html#getsetting)|获取用户的当前设置。|
Q
qiang 已提交
597 598 599 600
##### 收货地址

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
601
|[uni.chooseAddress](/api/other/choose-address.html#chooseaddress)|获取用户收货地址|
Q
qiang 已提交
602 603 604 605
##### 获取发票抬头

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
606
|[uni.chooseInvoiceTitle](/api/other/invoice-title.html#chooseinvoicetitle)|选择用户的发票抬头,需要用户授权 scope.invoiceTitle。|
Q
qiang 已提交
607 608 609 610
##### 小程序跳转

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
611 612
|[uni.navigateToMiniProgram](/api/other/open-miniprogram.html#navigatetominiprogram)|打开另一个小程序。|
|[uni.navigateBackMiniProgram](/api/other/open-miniprogram.html#navigatebackminiprogram)|跳转回上一个小程序,只有当另一个小程序跳转到当前小程序时才会能调用成功。|
Q
qiang 已提交
613 614 615 616
##### 模板消息

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
617 618 619 620 621 622 623
|[addTemplate](/api/other/template.html#addtemplate)|组合模板并添加至帐号下的个人模板库。|
|[deleteTemplate](/api/other/template.html#deletetemplate)|删除帐号下的某个模板。|
|[getTemplateLibraryById](/api/other/template.html#gettemplatelibrarybyid)|获取模板库某个模板标题下关键词库。|
|[getTemplateLibraryList](/api/other/template.html#gettemplatelibrarylist)|获取APP模板库标题列表|
|[getTemplateList](/api/other/template.html#gettemplatelist)|获取帐号下已存在的模板列表。|
|[sendTemplateMessage](/api/other/template.html#sendtemplatemessage)|发送模板消息|
|[alipay.open.app.mini.templatemessage.send](/api/other/template.html#alipayopenappminitemplatemessagesend)|支付宝小程序通过 openapi 给用户触达消息,主要为支付后的触达(通过消费id)和用户提交表单后的触达(通过formId)。|
Q
qiang 已提交
624 625 626 627
##### 小程序更新

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
628
|[uni.getUpdateManager](/api/other/update.html#getupdatemanager)|返回全局唯一的版本更新管理器对象: updateManager,用于管理小程序更新。|
Q
qiang 已提交
629 630 631 632
##### 调试

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
633
|[uni.setEnableDebug](/api/other/set-enable-debug.html#setenabledebug)|设置是否打开调试开关。此开关对正式版也能生效。|
Q
qiang 已提交
634 635 636 637 638

##### 获取第三方平台数据

|API|说明|
|:-|:-|
D
DCloud_LXH 已提交
639 640
|[uni.getExtConfig](/api/other/get-extconfig.html#getextconfig)|获取第三方平台自定义的数据字段。|
|[uni.getExtConfigSync](/api/other/get-extconfig.html#getextconfigsync)|uni.getExtConfig 的同步版本。|
Q
qiang 已提交
641 642 643