提交 ccb3ca7d 编写于 作者: D DCloud_LXH

wip: 上线鸿蒙兼容性

上级 c2ff4ed4
......@@ -94,6 +94,9 @@ const config = {
.end()
.plugin('img-add-attrs')
.use(require('./markdown/img-add-attrs'))
.end()
.plugin('inject-json-to-md')
.use(require('./markdown/inject-json-to-md'))
}
},
chainWebpack (config, isServer) {
......@@ -118,4 +121,4 @@ const config = {
}
}
module.exports = config
\ No newline at end of file
module.exports = config
let utsApiJson = {}
let utsComJson = {}
try {
utsApiJson = require('../utils/uniappApiJson.json')
} catch (error) {}
try {
utsComJson = require('../utils/uniappComJson.json')
} catch (error) {}
function getRegExp(key, text) {
return new RegExp(`<!--\\s*${key}.([\\w\\W]+[^\\s])\\s*-->`)
}
/**
*
* @param {string} text
* @returns {{match: RegExpMatchArray | null, json: {}, regExp: RegExp | null}
*/
const getJSON = text => {
const APIJSONRegExp = getRegExp('UNIAPPAPIJSON')
match = text.match(APIJSONRegExp)
APIJSONRegExp.lastIndex = 0
if (match) {
return {
match,
json: utsApiJson,
regExp: APIJSONRegExp,
}
}
const COMJSONRegExp = getRegExp('UNIAPPCOMJSON')
match = text.match(COMJSONRegExp)
COMJSONRegExp.lastIndex = 0
if (match) {
return {
match,
json: utsComJson,
regExp: COMJSONRegExp,
}
}
return {
match: null,
json: {},
regExp: null,
}
}
const NEWLINE_CHARACTER = /\r?\n/
module.exports = md => {
md.parse = (function (MD_PARSE) {
return function (src, ...args) {
if (src && getJSON(src).match) {
const lines = src.split(NEWLINE_CHARACTER)
for (let index = 0; index < lines.length; index++) {
const line = lines[index]
const { match, json, regExp } = getJSON(line)
if (match && regExp) {
const jsonPath = match[1]
const path = jsonPath.split('.')
let temp = json
path.forEach(key => {
if (!temp) return false
temp = temp[key]
})
if (typeof temp === 'undefined') continue
lines[index] = lines[index].replace(regExp, temp)
}
}
return MD_PARSE.bind(this)(lines.join('\n'), ...args)
}
return MD_PARSE.bind(this)(src, ...args)
}
})(md.parse)
}
此差异已折叠。
此差异已折叠。
......@@ -13,9 +13,9 @@
**平台差异说明**
|App|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√(3.1.5+)|x|x|x|x|x|x|x|x|
|App|HarmonyOS|Web|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√(3.1.5+)|x|x|x|x|x|x|x|x|x|
**开通配置广告**
......
......@@ -4,9 +4,9 @@
**平台差异说明**
|App|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√(2.9.5+)|x|x|x|x|x|x|x|x|
|App|HarmonyOS|Web|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√(2.9.5+)|x|x|x|x|x|x|x|x|x|
**开通配置广告**
......
......@@ -128,9 +128,9 @@
**平台差异说明**
|App|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|App 3.1.15+|x|x|x|x|x|x|x|x|
|App|HarmonyOS|Web|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|App 3.1.15+|x|x|x|x|x|x|x|x|x|
**开通配置广告**
......
......@@ -4,9 +4,9 @@
**平台差异说明**
|App|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|App 3.1.10+|x|√|x|x|x|√|x|x|
|App|HarmonyOS|Web|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|App 3.1.10+|x|x|√|x|x|x|√|x|x|
**开通配置广告**
......
......@@ -9,9 +9,9 @@
**平台差异说明**
|App|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序|飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√(2.5.11+)|x|√|x|x|√(1.57.0+)|x|√(0.1.26+)|√|x|
|App|HarmonyOS|Web|微信小程序|支付宝小程序|百度小程序|抖音小程序|飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√(2.5.11+)|x|x|√|x|x|√(1.57.0+)|x|√(0.1.26+)|√|x|
**开通配置广告**
......
### uni.arrayBufferToBase64(arrayBuffer)
## uni.arrayBufferToBase64(arrayBuffer)
将 ArrayBuffer 对象转成 Base64 字符串
......@@ -8,6 +8,8 @@
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|√|√|x|x|x|√|√|
<!-- UNIAPPAPIJSON.arrayBufferToBase64.compatibility -->
**参数说明**
|参数|类型|必填|说明|
......@@ -19,4 +21,6 @@
```javascript
const arrayBuffer = new Uint8Array([55, 55, 55])
const base64 = uni.arrayBufferToBase64(arrayBuffer)
```
\ No newline at end of file
```
<!-- UNIAPPAPIJSON.arrayBufferToBase64.tutorial -->
### uni.base64ToArrayBuffer(base64)
## uni.base64ToArrayBuffer(base64)
将 Base64 字符串转成 ArrayBuffer 对象
......@@ -8,6 +8,8 @@
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|√|√|x|x|√|√|√|
<!-- UNIAPPAPIJSON.base64ToArrayBuffer.compatibility -->
**参数说明**
|参数|类型|必填|说明|
......@@ -20,3 +22,5 @@
const base64 = 'test'
const arrayBuffer = uni.base64ToArrayBuffer(base64)
```
<!-- UNIAPPAPIJSON.base64ToArrayBuffer.tutorial -->
### uni.canIUse(String)
## uni.canIUse(String)
判断应用的 API,回调,参数,组件等是否在当前版本可用。
平台差异说明
|App|Web|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|√ (uni-app 3.4.13+)|√|√|√|√|√|
|App|HarmonyOS|Web|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|√ (uni-app 3.4.13+)|√|√|√|√|√|
**String 参数说明**
......@@ -33,4 +33,4 @@ uni.canIUse('button.open-type.contact');
```
**Tips**
- App、web 端暂不支持 ``${API}.${method}.${param}.${options}`` 方式调用,只支持 ``${API}``
\ No newline at end of file
- App、web 端暂不支持 ``${API}.${method}.${param}.${options}`` 方式调用,只支持 ``${API}``
**属性**
**平台差异说明**
|App|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|√|√|√|√|√|√|√|√|
<!-- UNIAPPAPIJSON.createCanvasContext.compatibility -->
App-nvue下如需使用canvas,暂未封装为uni API,可参考[文档](https://github.com/dcloudio/NvueCanvasDemo)使用。
### CanvasContext.fillStyle string
......@@ -805,7 +808,7 @@ ctx.draw()
const ctx = uni.createCanvasContext('myCanvas')
// save the default fill style
ctx.save()
ctx.save()
ctx.setFillStyle('red')
ctx.fillRect(10, 10, 150, 100)
......
......@@ -2,6 +2,8 @@
返回一个数组,用来描述 canvas 区域隐含的像素数据,在自定义组件下,第二个参数传入自定义组件实例 this,以操作组件内 `<canvas>` 组件。
<!-- UNIAPPAPIJSON.canvasGetImageData.compatibility -->
**OBJECT参数说明:**
|参数|类型|必填|说明|
......@@ -24,6 +26,7 @@
|height|Number|图像数据矩形的高度|
|data|Uint8ClampedArray|图像像素点数据,一维数组,每四项表示一个像素点的rgba|
<!-- UNIAPPAPIJSON.canvasGetImageData.param -->
**示例代码**
......@@ -43,3 +46,4 @@ uni.canvasGetImageData({
})
```
<!-- UNIAPPAPIJSON.canvasGetImageData.tutorial -->
......@@ -2,6 +2,8 @@
将像素数据绘制到画布的方法,在自定义组件下,第二个参数传入自定义组件实例 this,以操作组件内 `<canvas>` 组件
<!-- UNIAPPAPIJSON.canvasGetImageData.compatibility -->
**OBJECT参数说明:**
|参数|类型|必填|说明|最低版本|
......@@ -16,6 +18,9 @@
|fail|Function|否|接口调用失败的回调函数||
|complete|Function|否|接口调用结束的回调函数(调用成功、失败都会执行)|&nbsp;|
<!-- UNIAPPAPIJSON.canvasGetImageData.param -->
**示例代码**
```javascript
......@@ -29,3 +34,5 @@ uni.canvasPutImageData({
success(res) {}
})
```
<!-- UNIAPPAPIJSON.canvasGetImageData.tutorial -->
......@@ -8,23 +8,27 @@
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|√|√|√|√|√|√|√|√|
<!-- UNIAPPAPIJSON.canvasToTempFilePath.compatibility -->
**object参数说明:**
|参数 |类型 |必填 |说明 |
|---|---|---|---|
|x |Number |否 |画布x轴起点(默认0)|
|y |Number |否 |画布y轴起点(默认0)|
|width |Number |否 |画布宽度(默认为canvas宽度-x)|
|height |Number |否 |画布高度(默认为canvas高度-y)|
|destWidth |Number |否 |输出图片宽度(默认为 width * 屏幕像素密度)|
|destHeight |Number |否 |输出图片高度(默认为 height * 屏幕像素密度)|
|canvasId |String |是 |画布标识,传入 ``<canvas/>`` 的 canvas-id(支付宝小程序是id、其他平台是canvas-id)|
|fileType |String |否 |目标文件的类型,只支持 'jpg' 或 'png'。默认为 'png'|
|quality |Number |否 |图片的质量,取值范围为 (0, 1],不在范围内时当作1.0处理|
|success |Function |否 |接口调用成功的回调函数|
|fail |Function |否 |接口调用失败的回调函数|
|x |Number |否 |画布x轴起点(默认0)|
|y |Number |否 |画布y轴起点(默认0)|
|width |Number |否 |画布宽度(默认为canvas宽度-x)|
|height |Number |否 |画布高度(默认为canvas高度-y)|
|destWidth |Number |否 |输出图片宽度(默认为 width * 屏幕像素密度)|
|destHeight |Number |否 |输出图片高度(默认为 height * 屏幕像素密度)|
|canvasId |String |是 |画布标识,传入 ``<canvas/>`` 的 canvas-id(支付宝小程序是id、其他平台是canvas-id)|
|fileType |String |否 |目标文件的类型,只支持 'jpg' 或 'png'。默认为 'png'|
|quality |Number |否 |图片的质量,取值范围为 (0, 1],不在范围内时当作1.0处理|
|success |Function |否 |接口调用成功的回调函数|
|fail |Function |否 |接口调用失败的回调函数|
|complete |Function |否 |接口调用结束的回调函数(调用成功、失败都会执行) |
<!-- UNIAPPAPIJSON.canvasToTempFilePath.param -->
**示例代码**
```javascript
......@@ -39,10 +43,12 @@ uni.canvasToTempFilePath({
success: function(res) {
// 在H5平台下,tempFilePath 为 base64
console.log(res.tempFilePath)
}
}
})
```
**Tips**
- H5端 Canvas 内绘制的图像需要支持跨域访问才能成功。
\ No newline at end of file
- H5端 Canvas 内绘制的图像需要支持跨域访问才能成功。
<!-- UNIAPPAPIJSON.canvasToTempFilePath.tutorial -->
### uni.createCanvasContext(canvasId, this)
<!-- UNIAPPAPIJSON.createCanvasContext.tutorial -->
#### 定义
创建 ```canvas``` 绘图上下文(指定 canvasId)。在自定义组件下,第二个参数传入组件实例this,以操作组件内 ```<canvas/>``` 组件
......@@ -13,6 +15,10 @@
|canvasId|String |画布标识,传入定义在 `<canvas/>` 的 canvas-id或id(支付宝小程序是id、其他平台是canvas-id) |
|componentInstance|Object |自定义组件实例 this ,表示在这个自定义组件下查找拥有 canvas-id 的 `<canvas/>` ,如果省略,则不在任何自定义组件内查找 |
<!-- UNIAPPAPIJSON.createCanvasContext.param -->
#### 返回值
[CanvasContext](/api/canvas/CanvasContext.md)
<!-- UNIAPPAPIJSON.createCanvasContext.tutorial -->
### uni.exit(OBJECT)
退出当前应用。
## uni.exit(OBJECT)
退出当前应用。
**平台差异说明**
......@@ -8,24 +8,25 @@
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|x|x|x|x|x|x|x|
<!-- UNIAPPAPIJSON.exit.compatibility -->
**注意**
- HBuilderX3.8.15+ 新增支持
- 小程序端必须有点击行为才能调用成功
- App-iOS平台可以调用此API,但不支持退出应用功能,触发fail回调返回system not support错误
**OBJECT参数说明**
|参数|类型|必填|默认值|说明|平台差异说明|
|:-|:-|:-|:-|:-|:-|
|success|Function|否|接口调用成功的回调函数|
|fail|Function|否|接口调用失败的回调函数|
|complete|Function|否|接口调用结束的回调函数(调用成功、失败都会执行)|
**示例**
**注意**
- HBuilderX3.8.15+ 新增支持
- 小程序端必须有点击行为才能调用成功
- App-iOS平台可以调用此API,但不支持退出应用功能,触发fail回调返回system not support错误
**OBJECT参数说明**
|参数|类型|必填|默认值|说明|平台差异说明|
|:-|:-|:-|:-|:-|:-|
|success|Function|否|接口调用成功的回调函数|
|fail|Function|否|接口调用失败的回调函数|
|complete|Function|否|接口调用结束的回调函数(调用成功、失败都会执行)|
**示例**
```javascript
// 退出应用
```javascript
// 退出应用
uni.exit({
success: () => {
console.log("exit success")
......@@ -33,13 +34,14 @@ uni.exit({
fail: (e) => {
console.log("exit fail")
}
});
```
});
```
### 错误码
## 错误码
|错误码 |错误信息 |说明 |
|--- |---- |------ |
|12001 |system not support |当前系统不支持相关能力 |
|12001 |system not support |当前系统不支持相关能力 |
<!-- UNIAPPAPIJSON.exit.tutorial -->
......@@ -3,9 +3,9 @@
**平台差异说明**
|App|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|√|√|√|√|√|x|√|
|App|HarmonyOS|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|x|√|√|√|√|√|x|√|
**注意:saveFile 会把临时文件移动,因此调用成功后传入的 tempFilePath 将不可用**
......@@ -47,9 +47,9 @@ uni.chooseImage({
**平台差异说明**
|App|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|√|√|√|√|√|x|√|
|App|HarmonyOS|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|x|√|√|√|√|√|x|√|
> _微信小程序已停止维护[wx.getSavedFileList(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.getSavedFileList.html)接口,建议使用[FileSystemManager](https://uniapp.dcloud.io/api/file/getFileSystemManager.html)对象中的方法。_
......@@ -91,9 +91,9 @@ uni.getSavedFileList({
**平台差异说明**
|App|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|√|√|√|x|√|x|√|
|App|HarmonyOS|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|x|√|√|√|x|√|x|√|
> _微信小程序已停止维护[wx.getSavedFileInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.getSavedFileInfo.html)接口,建议使用[FileSystemManager](https://uniapp.dcloud.io/api/file/getFileSystemManager.html)对象中的方法。_
......@@ -132,9 +132,9 @@ uni.getSavedFileInfo({
**平台差异说明**
|App|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|√|√|√|√|√|x|√|
|App|HarmonyOS|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|x|√|√|√|√|√|x|√|
> _微信小程序已停止维护[wx.removeSavedFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.removeSavedFile.html)接口,建议使用[FileSystemManager](https://uniapp.dcloud.io/api/file/getFileSystemManager.html)对象中的方法。_
......@@ -169,9 +169,9 @@ uni.getSavedFileList({
**平台差异说明**
|App|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|√|√|√|√|√|√|x|√|
|App|HarmonyOS|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|√|√|√|√|√|√|x|√|
> _微信小程序已停止维护[wx.getFileInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.getFileInfo.html)接口,建议使用[FileSystemManager](https://uniapp.dcloud.io/api/file/getFileSystemManager.html)对象中的方法。_
......@@ -198,9 +198,9 @@ uni.getSavedFileList({
**平台差异说明**
|App|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|√|√|√|√|√|x|√|
|App|HarmonyOS|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|x|√|√|√|√|√|x|√|
**OBJECT 参数说明:**
......
### uni.getEnterOptionsSync()
## uni.getEnterOptionsSync()
获取启动时的参数。
......@@ -11,9 +11,9 @@
**平台兼容性说明**
|App|web|微信小程序|支付宝小程序|抖音小程序|快手小程序|QQ小程序|百度小程序|京东小程序|钉钉小程序|飞书小程序|
|:-|:-|:-|:-|:-|:-|:-|:-|:-|:-|:-|
|√ `(3.4.10+)`|√ `(3.5.1+)`|√|√|√|√|x|x|x|x|x|
|App|HarmonyOS|web|微信小程序|支付宝小程序|抖音小程序|快手小程序|QQ小程序|百度小程序|京东小程序|钉钉小程序|飞书小程序|
|:-|:-|:-|:-|:-|:-|:-|:-|:-|:-|:-|:-|
|√ `(3.4.10+)`|x|`(3.5.1+)`|√|√|√|√|x|x|x|x|x|
**返回参数说明**
......
### uni.getLaunchOptionsSync()
## uni.getLaunchOptionsSync()
获取启动时的参数。返回值与App.onLaunch的回调参数一致
|App|web|微信小程序|支付宝小程序|抖音小程序|QQ小程序|快手小程序|钉钉小程序|飞书小程序|百度小程序|京东小程序|
|:-|:-|:-|:-|:-|:-|:-|:-|:-|:-|:-|
|√ `(3.4.10+)`|√ `(见下)`|√|√|√|√|√|√|√|x|x|
|App|HarmonyOS|web|微信小程序|支付宝小程序|抖音小程序|QQ小程序|快手小程序|钉钉小程序|飞书小程序|百度小程序|京东小程序|
|:-|:-|:-|:-|:-|:-|:-|:-|:-|:-|:-|:-|
|√ `(3.4.10+)`|x|`(见下)`|√|√|√|√|√|√|√|x|x|
web平台不同Vue版本支持情况有差异:
- `vue2`项目:uni-app 3.5.1+ 支持
......
### uni.addInterceptor(STRING, OBJECT)
## uni.addInterceptor(STRING, OBJECT)
添加拦截器
<!-- UNIAPPAPIJSON.addInterceptor.compatibility -->
**STRING 参数说明**
需要拦截的`api`名称,如:`uni.addInterceptor('request', OBJECT)` ,将拦截 `uni.request()`
......@@ -35,16 +37,16 @@ uni.request({
uni.addInterceptor('request', {
invoke(args) {
// request 触发前拼接 url
// request 触发前拼接 url
args.url = 'https://www.example.com/'+args.url
},
success(args) {
// 请求成功后,修改code值为1
args.data.code = 1
},
},
fail(err) {
console.log('interceptor-fail',err)
},
},
complete(res) {
console.log('interceptor-complete',res)
}
......@@ -59,9 +61,11 @@ uni.addInterceptor({
```
### uni.removeInterceptor(STRING)
## uni.removeInterceptor(STRING)
删除拦截器
<!-- UNIAPPAPIJSON.removeInterceptor.compatibility -->
**STRING 参数说明**
需要删除拦截器的`api`名称
......@@ -77,4 +81,4 @@ uni.removeInterceptor('request')
注意:拦截[uni.switchTab](https://uniapp.dcloud.io/api/router?id=switchtab)本身没有问题。但是在微信小程序端点击`tabbar`的底层逻辑并不是触发`uni.switchTab`。所以误认为拦截无效,此类场景的解决方案是在`tabbar`页面的页面生命周期`onShow`中处理。
##### 拦截器的适用场景非常多,比如路由拦截,权限引导等。
> 你可以参考插件市场,拦截器应用示例:图片选择api时无权限,引导用户快捷打开系统设置:[https://ext.dcloud.net.cn/plugin?id=5095](https://ext.dcloud.net.cn/plugin?id=5095)
\ No newline at end of file
> 你可以参考插件市场,拦截器应用示例:图片选择api时无权限,引导用户快捷打开系统设置:[https://ext.dcloud.net.cn/plugin?id=5095](https://ext.dcloud.net.cn/plugin?id=5095)
### uni.hideKeyboard()
## uni.hideKeyboard()
隐藏软键盘
......@@ -6,19 +6,19 @@
**平台差异说明**
|App|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|√|√|√|x|√|√|√|√|
|App|HarmonyOS|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|√|√|√|x|√|√|√|√|
### uni.onKeyboardHeightChange(CALLBACK) @onkeyboardheightchange
## uni.onKeyboardHeightChange(CALLBACK) @onkeyboardheightchange
监听键盘高度变化
**平台差异说明**
|App|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|App|HarmonyOS|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|HBuilderX 2.2.3+|x|基础库2.7+|HBuilderX 3.6.8+|x|x|√|√|√|
**参数**
......@@ -43,15 +43,15 @@ uni.onKeyboardHeightChange(res => {
})
```
### uni.offKeyboardHeightChange(CALLBACK) @offkeyboardheightchange
## uni.offKeyboardHeightChange(CALLBACK) @offkeyboardheightchange
取消监听键盘高度变化事件
**平台差异说明**
|App|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|HBuilderX 3.1.0+|x|基础库2.9.2+|HBuilderX 3.6.8+|x|x|x|x|√|
|App|HarmonyOS|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|HBuilderX 3.1.0+|x|x|基础库2.9.2+|HBuilderX 3.6.8+|x|x|x|x|√|
**参数**
......@@ -69,15 +69,15 @@ uni.onKeyboardHeightChange(listener)
uni.offKeyboardHeightChange(listener) // 需传入与监听时同一个的函数对象
```
### uni.getSelectedTextRange(OBJECT) @getselectedtextrange
## uni.getSelectedTextRange(OBJECT) @getselectedtextrange
在input、textarea等focus之后,获取输入框的光标位置。注意:只有在focus的时候调用此接口才有效。目前仅支持 vue 页面,nvue 可以直接使用 weex 的 [getSelectionRange](https://weex.apache.org/zh/docs/components/input.html#getSelectionRange)
**平台差异说明**
|App|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|HBuilderX 2.8.12+|HBuilderX 2.8.12+|基础库 2.7.0+|x|x|x|x|√|x|
|App|HarmonyOS|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|HBuilderX 2.8.12+|x|HBuilderX 2.8.12+|基础库 2.7.0+|x|x|x|x|√|x|
**OBJECT 参数说明:**
......
......@@ -8,6 +8,8 @@
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√(3.6.8+)|√(3.6.8+)|√|x|√|√|x|√|x|
<!-- UNIAPPAPIJSON.onLocationChange.compatibility -->
**FUNCTION CALLBACK 参数**
|参数名|类型|说明|平台差异说明|
......@@ -47,12 +49,13 @@ uni.onLocationChange(function (res) {
移除实时地理位置变化事件的监听函数。
**平台差异说明**
|App|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√(3.6.8+)|√(3.6.8+)|√|x|√|√|x|√|x|
<!-- UNIAPPAPIJSON.offLocationChange.compatibility -->
**注意:App端及H5端callback参数为必填。**
**FUNCTION CALLBACK 参数**
......@@ -77,6 +80,8 @@ uni.onLocationChange(function (res) {
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√(3.6.8+)|√(3.6.8+)|√|x|x|√|x|x|x|
<!-- UNIAPPAPIJSON.onLocationChangeError.compatibility -->
**FUNCTION CALLBACK 参数**
|参数名|类型|说明|平台差异说明|
......@@ -94,6 +99,8 @@ uni.onLocationChange(function (res) {
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√(3.6.8+)|√(3.6.8+)|√|x|x|√|x|x|x|
<!-- UNIAPPAPIJSON.offLocationChangeError.compatibility -->
**注意:App端及H5端callback参数为必填。**
**FUNCTION CALLBACK 参数**
......@@ -110,6 +117,8 @@ uni.onLocationChange(function (res) {
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√(3.6.8+)|√(3.6.8+)|√|x|√|√|x|√|x|
<!-- UNIAPPAPIJSON.startLocationUpdate.compatibility -->
**OBJECT 参数**
|参数名|类型|必填|说明|平台差异说明|
......@@ -141,6 +150,9 @@ uni.startLocationUpdate({
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√(3.6.8+)|√(3.6.8+)|√|x|√|√|x|√|x|
<!-- UNIAPPAPIJSON.stopLocationUpdate.compatibility -->
**OBJECT 参数**
|参数名|类型|必填|说明|平台差异说明|
......@@ -155,9 +167,9 @@ uni.startLocationUpdate({
**平台差异说明**
|App|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|x|x|√|x|x|x|x|√|x|
|App|HarmonyOS|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|x|x|x|√|x|x|x|x|√|x|
**OBJECT 参数**
......
### uni.getLocation(OBJECT)
## uni.getLocation(OBJECT)
获取当前的地理位置、速度。
<!-- UNIAPPAPIJSON.getLocation.compatibility -->
**OBJECT 参数说明**
|参数名|类型|必填|说明|平台差异说明|
......@@ -90,6 +92,8 @@ uni.getLocation({
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|√|√|√|√|√|√|x|x|
<!-- UNIAPPAPIJSON.chooseLocation.compatibility -->
**OBJECT 参数说明**
......
......@@ -12,6 +12,8 @@
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|√|√|√|√|√|1.9.0+|√|√|
<!-- UNIAPPAPIJSON.createMapContext.compatibility -->
### mapContext
``mapContext`` 通过 mapId 跟一个 ``<map>`` 组件绑定,通过它可以操作对应的 ``<map>`` 组件。
......
......@@ -7,6 +7,8 @@
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|√|√|√|√|√|x|x|x|
<!-- UNIAPPAPIJSON.openLocation.compatibility -->
**OBJECT 参数说明**
|参数名|类型|必填|说明|平台差异说明|
......
......@@ -7,6 +7,8 @@
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|√|√|1.23.4+|√|√|√|√|√|
<!-- UNIAPPAPIJSON.createInnerAudioContext.compatibility -->
**innerAudioContext 对象的属性列表**
|属性|类型|说明|只读|平台差异说明|
......
......@@ -9,6 +9,8 @@
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|√|x|√|√|x|√|x|√|
<!-- UNIAPPAPIJSON.getBackgroundAudioManager.compatibility -->
**backgroundAudioManager 对象的属性列表**
|属性|类型|说明|只读|
......
......@@ -26,16 +26,16 @@ editor 组件对应的 editorContext 实例,可通过 [uni.createSelectorQuery
**平台差异说明**
|App|H5 |微信小程序 |支付宝小程序 |百度小程序 |抖音小程序、飞书小程序 |QQ小程序 |快手小程序|京东小程序|
|App|HarmonyOS|H5 |微信小程序 |支付宝小程序 |百度小程序 |抖音小程序、飞书小程序 |QQ小程序 |快手小程序|京东小程序|
|:-:|:-: |:-: |:-: |:-: |:-: |:-: |:-: |:-: |
|√ |2.4.5+ |√ |x |需引入动态库 |x |x |x |x |
|√ |x|2.4.5+ |√ |x |需引入动态库 |x |x |x |x |
**百度小程序引入动态库**
1. 在项目中引用动态库,在 `manifest.json` 中增添一项 `dynamicLib`
1. 在项目中引用动态库,在 `manifest.json` 中增添一项 `dynamicLib`
```js
"mp-baidu" : {
"appid" : "",
......@@ -52,9 +52,9 @@ editor 组件对应的 editorContext 实例,可通过 [uni.createSelectorQuery
2. 在每个使用到富文本编辑器组件的页面,配置 `pages.json` 文件如下:
``` js
``` js
{
"pages": [
"pages": [
{
"path": "pages/index/index",
"style": {
......@@ -301,4 +301,4 @@ editor 组件对应的 editorContext 实例,可通过 [uni.createSelectorQuery
|参数|类型|说明|
|:-|:-|:-|
|errMsg|String|接口调用结果(百度小程序不支持)|
|text|String|纯文本内容|
\ No newline at end of file
|text|String|纯文本内容|
......@@ -4,6 +4,8 @@
### uni.chooseImage(OBJECT)
从本地相册选择图片或使用相机拍照。
<!-- UNIAPPAPIJSON.chooseImage.compatibility -->
App端如需要更丰富的相机拍照API(如直接调用前置摄像头),参考[plus.camera](https://www.html5plus.org/doc/zh_cn/camera.html)
> _微信小程序从基础库 2.21.0 开始, [wx.chooseImage](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.chooseImage.html) 停止维护,请使用 [uni.chooseMedia](https://uniapp.dcloud.net.cn/api/media/video.html#choosemedia) 代替。_
......
......@@ -3,9 +3,9 @@
**平台差异说明**
|App|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|见下|x|√|x|√|x|√|x|√|
|App|HarmonyOS|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|见下|x|x|√|x|√|x|√|x|√|
App平台的直播播放,不使用此API,而直接使用video的API。
......
......@@ -3,9 +3,9 @@
**平台差异说明**
|App|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|
|见下|x|√|x|x|x|
|App|HarmonyOS|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|见下|x|x|√|x|x|x|
**参数说明**
......
......@@ -3,9 +3,9 @@
**平台差异说明**
|App|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|√|√|√|√|√|√|√|
|App|HarmonyOS|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|x|√|√|√|√|√|√|√|
**recorderManager 对象的方法列表**
......@@ -61,7 +61,7 @@
|44100|64000 ~ 320000|
|48000|64000 ~ 320000|
### onStop(callback)
### onStop(callback)
|属性|类型|说明|
|:-|:-|:-|
......@@ -70,14 +70,14 @@
|fileSize|Number|录音文件大小。单位:Byte。(仅支付宝10.2.90+支持)|
### onFrameRecorded(callback)
### onFrameRecorded(callback)
|属性|类型|说明|
|:-|:-|:-|
|frameBuffer|ArrayBuffer|录音分片结果数据|
|isLastFrame|Boolean|当前帧是否正常录音结束前的最后一帧|
### onError(callback)
### onError(callback)
|属性|类型|说明|
|:-|:-|:-|
......
......@@ -7,6 +7,8 @@
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|√|√|基础库版本>=1.10.0|√|√|√|√|√|
<!-- UNIAPPAPIJSON.createVideoContext.compatibility -->
**videoContext 对象的方法列表**
|方法|参数|说明|平台差异说明
......
......@@ -11,6 +11,8 @@
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|√|√|√|√|√|√|√|√|
<!-- UNIAPPAPIJSON.chooseVideo.compatibility -->
**OBJECT 参数说明**
|参数名|类型|必填|说明|平台差异说明|
......@@ -188,6 +190,8 @@ uni.chooseMedia({
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|√|√|√|√|√|√|x|
<!-- UNIAPPAPIJSON.saveVideoToPhotosAlbum.compatibility -->
**OBJECT 参数说明**
|参数名|类型|必填|说明|
......@@ -258,6 +262,8 @@ export default {
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|3.1.10+|3.1.10+|2.11.0+|x|x|x|x|√|x|
<!-- UNIAPPAPIJSON.getVideoInfo.compatibility -->
**OBJECT 参数说明**
......
......@@ -16,6 +16,8 @@ App端API规范参考:[详情](https://doc.dcloud.net.cn/uniCloud/frv/dev.html
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√(3.7.4+)|x|x|x|x|x|x|x|x|
<!-- UNIAPPAPIJSON.getFacialRecognitionMetaInfo.compatibility -->
### uni.startFacialRecognitionVerify(OBJECT)
实人认证
......@@ -29,3 +31,4 @@ App端API规范参考:[详情](https://doc.dcloud.net.cn/uniCloud/frv/dev.html
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√(3.7.4+)|x|√|x|x|x|x|x|x|
<!-- UNIAPPAPIJSON.startFacialRecognitionVerify.compatibility -->
......@@ -7,9 +7,9 @@ uni.login是一个客户端API,统一封装了各个平台的各种常见的
**平台差异说明**
|App|Web|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|√|√|√|√|√|√|√|
|App|HarmonyOS|Web|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|x|√|√|√|√|√|√|√|
大多数登录方式,都需要申请开通相关服务,具体点击下面的文档查看。
......@@ -128,9 +128,9 @@ uni.login({
**平台差异说明**
|App|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|√|√|√|√|√|√|√|
|App|HarmonyOS|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|x|√|√|√|√|√|√|√|
**注意:**
- 微信小程序端,在用户未授权过的情况下调用此接口,不会出现授权弹窗,会直接进入 fail 回调(详见[《微信小程序公告》](https://developers.weixin.qq.com/community/develop/doc/0000a26e1aca6012e896a517556c01))。在用户已授权的情况下调用此接口,可成功获取用户信息。
......@@ -307,9 +307,9 @@ uni.login({
**平台差异说明**
|App|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|3.0.0+|x|x|x|x|x|x|x|x|
|App|HarmonyOS|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|3.0.0+|x|x|x|x|x|x|x|x|x|
**OBJECT 参数说明**
......@@ -328,9 +328,9 @@ uni.login({
**平台差异说明**
|App|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|3.0.0+|x|x|x|x|x|x|x|x|
|App|HarmonyOS|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|3.0.0+|x|x|x|x|x|x|x|x|x|
### uni.getCheckBoxState(OBJECT)
......@@ -338,9 +338,9 @@ uni.login({
**平台差异说明**
|App|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|3.2.3+|x|x|x|x|x|x|x|x|
|App|HarmonyOS|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|3.2.3+|x|x|x|x|x|x|x|x|x|
**OBJECT 参数说明**
......@@ -362,9 +362,9 @@ uni.login({
**平台差异说明**
|App|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√ (3.2.13+)|x|x|x|x|x|x|x|x|
|App|HarmonyOS|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√ (3.2.13+)|x|x|x|x|x|x|x|x|x|
**univerifyManager 方法说明**
......
......@@ -19,6 +19,9 @@ uni.requestPayment是一个统一各平台的客户端支付API,不管是在
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|[说明](/api/plugins/payment?id=h5-payment)|√|√|√|√|x|√|√|x|
<!-- UNIAPPAPIJSON.requestPayment.compatibility -->
**OBJECT 参数说明**
|参数名|类型|必填|说明|平台差异说明|
......@@ -109,10 +112,10 @@ uni.requestPayment({
登录支付宝账号,创建应用接入支付宝App支付能力,包括以下步骤:
- 创建应用(获取appid)
- 开通App支付功能
- 配置密钥(获取公钥、私钥)
- 创建应用(获取appid)
- 开通App支付功能
- 配置密钥(获取公钥、私钥)
具体可参考支付宝官方文档: [App支付快速接入](https://docs.open.alipay.com/204/105297/)
......@@ -126,22 +129,22 @@ uni.requestPayment({
- 应用接入 [微信商户平台](https://pay.weixin.qq.com),选择 App 支付
- 开通支付功能后可获取支付业务服务器配置数据:PARTNER(财付通商户号)、PARTNER_KEY(财付通密钥)、PAYSIGNKEY(支付签名密钥)
- 需要将从微信开放平台申请的appid,填回到 manifest-App SDK配置-支付-微信支付 中。打包后生效。
具体可参考微信官方文档: [移动应用开发](https://open.weixin.qq.com/cgi-bin/frame?t=home/app_tmpl&lang=zh_CN)
注意微信的App支付、小程序支付、H5支付是不同的体系。微信小程序支付在 [微信商户平台](https://pay.weixin.qq.com) 申请支付时,选择公众号支付;普通浏览器里也可以调起微信进行支付,这个在微信叫做H5支付,此功能未开放给普通开发者,需向微信单独申请,[详见](https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=15_1)
### 示例代码
```javascript
uni.requestPayment({
"provider": "wxpay",
"provider": "wxpay",
"orderInfo": {
"appid": "wx499********7c70e", // 微信开放平台 - 应用 - AppId,注意和微信小程序、公众号 AppId 可能不一致
"noncestr": "c5sEwbaNPiXAF3iv", // 随机字符串
"package": "Sign=WXPay", // 固定值
"partnerid": "148*****52", // 微信支付商户号
"prepayid": "wx202254********************fbe90000", // 统一下单订单号
"prepayid": "wx202254********************fbe90000", // 统一下单订单号
"timestamp": 1597935292, // 时间戳(单位:秒)
"sign": "A842B45937F6EFF60DEC7A2EAA52D5A0" // 签名,这里用的 MD5/RSA 签名
},
......@@ -218,7 +221,7 @@ uni.getProvider({
所有 `fail` 回调格式为 `{ errCode: xxx, errMsg: '' }`
### 请求支付 `uni.requestPayment()`
### 请求支付 `uni.requestPayment()`
```js
uni.requestPayment({
......
......@@ -11,6 +11,8 @@
|:-|:-|:-|:-|:-|:-|:-|:-|
|√|x|√|x|√|√|√|√|
<!-- UNIAPPAPIJSON.getProvider.compatibility -->
**OBJECT 参数说明**
|参数名|类型|必填|说明|
......
......@@ -9,6 +9,8 @@
注意:这是一个异步的方法,且仅支持uni-push2.0;
<!-- UNIAPPAPIJSON.getPushClientId.compatibility -->
**OBJECT 参数说明**
|参数名|类型|必填|说明|
......@@ -52,6 +54,10 @@
### uni.onPushMessage(callback)@onpushmessage
启动监听推送消息事件
<!-- UNIAPPAPIJSON.onPushMessage.compatibility -->
代码示例:
```js
uni.onPushMessage((res)=>{
......@@ -66,6 +72,9 @@ uni.onPushMessage((res)=>{
### uni.offPushMessage(callback)
关闭推送消息监听事件
<!-- UNIAPPAPIJSON.offPushMessage.compatibility -->
示例代码:
```js
let callback = (res)=>{
......@@ -84,6 +93,8 @@ uni.offPushMessage(callback);
获取通知渠道管理器,Android 8系统以上才可以设置通知渠道。
<!-- UNIAPPAPIJSON.getChannelManager.compatibility -->
**返回值说明**
|类型|
......@@ -172,6 +183,8 @@ manager.setPushChannel({
|:-:|:-:|:-: |:-: |:-: |:-: |:-: |:-: |:-: |:-: |
|√ |x |x |x |x |x |x |x |x |x |
<!-- UNIAPPAPIJSON.createPushMessage.compatibility -->
**OBJECT 参数说明**
|参数名 |类型 |必填 |说明 |
......
......@@ -22,9 +22,9 @@ uni-app的App引擎已经封装了微信、QQ、微博的分享SDK,开发者
**平台差异说明**
|App|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|x|x|x|x|x|x|x|
|App|HarmonyOS|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|x|x|x|x|x|x|x|x|
**OBJECT 参数说明**
......@@ -274,9 +274,9 @@ uni.share({
**平台差异说明**
|App |H5 |微信小程序 |支付宝小程序 |百度小程序 |抖音小程序、飞书小程序 |QQ小程序 |京东小程序|
|:-: |:-: |:-: |:-: |:-: |:-: |:-: |:-: |
|√(App 2.6.4+) |x |x |x |x |x |x |x |
|App |HarmonyOS|H5 |微信小程序 |支付宝小程序 |百度小程序 |抖音小程序、飞书小程序 |QQ小程序 |京东小程序|
|:-: |:-: |:-: |:-: |:-: |:-: |:-: |:-: |:-: |
|√(App 2.6.4+) |x|x |x |x |x |x |x |x |
**OBJECT 参数说明**
......@@ -322,9 +322,10 @@ App端可调用手机的系统分享,实现所有注册分享的应用的呼
**平台差异说明**
|App|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|x|x|x|x|x|x|x|
|App|HarmonyOS|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|x|x|x|x|x|x|x|x|
说明:
调用系统分享组件分享消息,通过msg参数设置分享内容。 发送成功后通过successCB回调函数通知操作完成,发送失败则通过errorCB回调返回。
......
#### uni.preloadPage(OBJECT)
## uni.preloadPage(OBJECT)
预加载页面,是一种性能优化技术。被预载的页面,在打开时速度更快。
**平台差异说明**
|App-nvue|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√(2.7.12+)|√(2.7.12+)|x|x|x|x|x|
|App-nvue|HarmonyOS|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√(2.7.12+)|x|√(2.7.12+)|x|x|x|x|x|
|属性|类型|必填|说明|
......@@ -17,14 +17,14 @@
|complete|Function|否|接口调用结束的回调函数(调用成功、失败都会执行)|
#### H5 平台
### H5 平台
预加载 /pages/test/test 对应的js文件,不执行页面预渲染逻辑
```js
uni.preloadPage({url: "/pages/test/test"});
```
#### App-nvue 平台
### App-nvue 平台
预加载nvue页面 /pages/test/test
```js
......@@ -49,7 +49,9 @@ uni.navigateTo({url: "/pages/test/test?a=b"}); // url不匹配,正常打开新
HBuilderX 2.7.12+的hello uni-app,在navigator示例和uni ui的日历示例中增加了页面预载示例。
#### uni.unPreloadPage(OBJECT)
## uni.unPreloadPage(OBJECT)
> HarmonyOS 不支持
取消预载页面。
......
### uni.uploadFile(OBJECT)
## uni.uploadFile(OBJECT)
将本地资源上传到开发者服务器,客户端发起一个 ``POST`` 请求,其中 ``content-type````multipart/form-data``
如页面通过 [uni.chooseImage](/api/media/image.md#chooseimage) 等接口获取到一个本地资源的临时文件路径后,可通过此接口将本地资源上传到指定服务器。另外选择和上传非图像、视频文件参考:[https://ask.dcloud.net.cn/article/35547](https://ask.dcloud.net.cn/article/35547)
......@@ -9,6 +9,8 @@
- 封装的更完善的[uni-file-picker组件](https://ext.dcloud.net.cn/plugin?id=4079),文件选择、上传到uniCloud,一站式集成。
- 推荐`uni-cdn`,帮你节省至少30%的 CDN 费用![详情](https://doc.dcloud.net.cn/uniCloud/uni-cdn/intro.html)
<!-- UNIAPPAPIJSON.uploadFile.compatibility -->
**OBJECT 参数说明**
|参数名|类型|必填|说明|平台差异说明|
......@@ -26,6 +28,8 @@
|fail|Function|否|接口调用失败的回调函数||
|complete|Function|否|接口调用结束的回调函数(调用成功、失败都会执行)|&nbsp;|
<!-- UNIAPPAPIJSON.uploadFile.param -->
**注意**
- App支持多文件上传,微信小程序只支持单文件上传,传多个文件需要反复调用本API。所以跨端的写法就是循环调用本API。
......@@ -110,6 +114,8 @@ uploadTask.abort();
|totalBytesSent|Number|已经上传的数据长度,单位 Bytes|
|totalBytesExpectedToSend|Number|预期需要上传的数据总长度,单位 Bytes|
<!-- UNIAPPAPIJSON.uploadFile.returnValue -->
**示例**
```javascript
......@@ -142,11 +148,15 @@ uni.chooseImage({
});
```
### uni.downloadFile(OBJECT)@downloadfile
<!-- UNIAPPAPIJSON.uploadFile.tutorial -->
## uni.downloadFile(OBJECT)@downloadfile
下载文件资源到本地,客户端直接发起一个 HTTP GET 请求,返回文件的本地临时路径。
> 在各个小程序平台运行时,网络相关的 API 在使用前需要配置域名白名单。在h5上是跨域的,用户需要处理好跨域问题。
<!-- UNIAPPAPIJSON.downloadFile.compatibility -->
**OBJECT 参数说明**
|参数名|类型|必填|说明|平台差异说明|
......@@ -159,6 +169,8 @@ uni.chooseImage({
|fail|Function|否|接口调用失败的回调函数| |
|complete|Function|否|接口调用结束的回调函数(调用成功、失败都会执行)| |
<!-- UNIAPPAPIJSON.downloadFile.param -->
**注:文件的临时路径,在应用本次启动期间可以正常使用,如需持久保存,需在主动调用 [uni.saveFile](/api/file/file?id=savefile),才能在应用下次启动时访问得到。**
**success 返回参数说明**
......@@ -171,6 +183,8 @@ uni.chooseImage({
|filePath|String|用户文件路径 (本地路径)。传入 filePath 时会返回,跟传入的 filePath 一致|微信小程序、支付宝小程序、抖音小程序、飞书小程序|
|fileContent|Buffer|文件内容|QQ小程序|
<!-- UNIAPPAPIJSON.downloadFile.returnValue -->
**注意**
- 网络请求的 ``超时时间`` 可以统一在 ``manifest.json`` 中配置 [networkTimeout](/collocation/manifest?id=networktimeout)
......@@ -244,3 +258,5 @@ downloadTask.onProgressUpdate((res) => {
}
});
```
<!-- UNIAPPAPIJSON.downloadFile.tutorial -->
### uni.request(OBJECT)
## uni.request(OBJECT)
发起网络请求。
> 在各个小程序平台运行时,网络相关的 API 在使用前需要配置域名白名单。
<!-- UNIAPPAPIJSON.request.compatibility -->
**OBJECT 参数说明**
|参数名|类型|必填|默认值|说明|平台差异说明|
......@@ -31,6 +33,8 @@
|fail|Function|否||接口调用失败的回调函数||
|complete|Function|否||接口调用结束的回调函数(调用成功、失败都会执行)|&nbsp;|
<!-- UNIAPPAPIJSON.request.param -->
**method 有效值**
注意:method有效值必须大写,每个平台支持的method有效值不同,详细见下表。
......@@ -55,6 +59,8 @@
|header|Object|开发者服务器返回的 HTTP Response Header|
|cookies|``Array.<string>``|开发者服务器返回的 cookies,格式为字符串数组|
<!-- UNIAPPAPIJSON.request.returnValue -->
**data 数据说明**
最终发送给服务器的数据是 String 类型,如果传入的 data 不是 String 类型,会被转换成 String。转换规则如下:
......@@ -144,14 +150,15 @@ requestTask.abort();
- 离线打包不支持 `sslVerify` 配置
- 单次网络请求数据量建议控制在50K以下(仅指json数据,不含图片),过多数据应分页获取,以提升应用体验。
<!-- UNIAPPAPIJSON.request.tutorial -->
### uni.configMTLS(OBJECT)
## uni.configMTLS(OBJECT)
https 请求配置自签名证书
|App|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√`(3.2.7+)`|x|x|x|x|x|x|x|x|
|App|HarmonyOS|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√`(3.2.7+)`|x|x|x|x|x|x|x|x|x|
**OBJECT 参数说明**
......
### uni.connectSocket(OBJECT)
## uni.connectSocket(OBJECT)
创建一个 [WebSocket](https://developer.mozilla.org/zh-CN/docs/Web/API/WebSocket) 连接。
> 在各个小程序平台运行时,网络相关的 API 在使用前需要配置域名白名单。
<!-- UNIAPPAPIJSON.connectSocket.compatibility -->
**OBJECT 参数说明**
|参数名|类型|必填|说明|平台差异说明|
......@@ -16,6 +18,10 @@
|fail|Function|否|接口调用失败的回调函数||
|complete|Function|否|接口调用结束的回调函数(调用成功、失败都会执行)|&nbsp;|
<!-- UNIAPPAPIJSON.connectSocket.param -->
<!-- UNIAPPAPIJSON.connectSocket.tutorial -->
**示例代码**
```javascript
......@@ -52,20 +58,29 @@ var socketTask = uni.connectSocket({
- QQ小程序、支付宝小程序平台最多支持同时存在5个socket连接。
- uni-push2.0在web、小程序以及APP的非离线模式下的底层实现都是基于一个socket。如果你的项目需要再次使用socket,请通过[socketTask](/api/request/socket-task)实现。
<!-- UNIAPPAPIJSON.connectSocket.returnValue -->
### uni.onSocketOpen(CALLBACK)
<!-- UNIAPPAPIJSON.connectSocket.tutorial -->
## uni.onSocketOpen(CALLBACK)
监听WebSocket连接打开事件。
**平台兼容性**
抖音小程序不支持
<!-- UNIAPPAPIJSON.onSocketOpen.compatibility -->
**CALLBACK 返回参数**
|属性|类型|说明|
|:-|:-|:-|
|header|Object|连接成功的 HTTP 响应 Header|
<!-- UNIAPPAPIJSON.onSocketOpen.param -->
<!-- UNIAPPAPIJSON.onSocketOpen.tutorial -->
**示例代码:**
```javascript
......@@ -78,13 +93,15 @@ uni.onSocketOpen(function (res) {
```
### uni.onSocketError(CALLBACK)
## uni.onSocketError(CALLBACK)
监听WebSocket错误。
**平台兼容性**
抖音小程序不支持
<!-- UNIAPPAPIJSON.onSocketError.compatibility -->
**示例代码**
```javascript
......@@ -99,13 +116,15 @@ uni.onSocketError(function (res) {
});
```
### uni.sendSocketMessage(OBJECT)
## uni.sendSocketMessage(OBJECT)
通过 WebSocket 连接发送数据,需要先 [uni.connectSocket](/api/request/websocket?id=connectsocket),并在 [uni.onSocketOpen](/api/request/websocket?id=onsocketopen) 回调之后才能发送。
**平台兼容性**
抖音小程序不支持
<!-- UNIAPPAPIJSON.sendSocketMessage.compatibility -->
**OBJECT 参数说明:**
|参数名|类型|必填|说明|
......@@ -115,6 +134,10 @@ uni.onSocketError(function (res) {
|fail|Function|否|接口调用失败的回调函数|
|complete|Function|否|接口调用结束的回调函数(调用成功、失败都会执行)|
<!-- UNIAPPAPIJSON.sendSocketMessage.param -->
<!-- UNIAPPAPIJSON.sendSocketMessage.tutorial -->
**示例代码**
```javascript
......@@ -148,19 +171,25 @@ function sendSocketMessage(msg) {
* 出于性能的权衡,在Android端底层实现上发送队列占用的内存不能超过16M,一旦超过将导致连接被关闭。
### uni.onSocketMessage(CALLBACK)
## uni.onSocketMessage(CALLBACK)
监听WebSocket接受到服务器的消息事件。
**平台兼容性**
抖音小程序不支持
<!-- UNIAPPAPIJSON.onSocketMessage.compatibility -->
**CALLBACK 返回参数**
|参数|类型|说明|
|:-|:-|:-|
|data|String/ArrayBuffer|服务器返回的消息|
<!-- UNIAPPAPIJSON.onSocketMessage.param -->
<!-- UNIAPPAPIJSON.onSocketMessage.tutorial -->
**示例代码:**
```javascript
......@@ -173,13 +202,15 @@ uni.onSocketMessage(function (res) {
});
```
### uni.closeSocket(OBJECT)
## uni.closeSocket(OBJECT)
关闭 WebSocket 连接。
**平台兼容性**
抖音小程序不支持
<!-- UNIAPPAPIJSON.closeSocket.compatibility -->
**OBJECT 参数说明**
|参数名|类型|必填|说明|
......@@ -190,13 +221,21 @@ uni.onSocketMessage(function (res) {
|fail|Function|否|接口调用失败的回调函数|
|complete|Function|否|接口调用结束的回调函数(调用成功、失败都会执行)|
### uni.onSocketClose(CALLBACK)
<!-- UNIAPPAPIJSON.closeSocket.param -->
<!-- UNIAPPAPIJSON.closeSocket.tutorial -->
## uni.onSocketClose(CALLBACK)
监听WebSocket关闭。
**平台兼容性**
抖音小程序不支持
<!-- UNIAPPAPIJSON.onSocketClose.compatibility -->
<!-- UNIAPPAPIJSON.onSocketClose.param -->
```javascript
uni.connectSocket({
url: 'wss://www.example.com/socket'
......@@ -213,3 +252,5 @@ uni.onSocketClose(function (res) {
console.log('WebSocket 已关闭!');
});
```
<!-- UNIAPPAPIJSON.onSocketClose.tutorial -->
### uni.navigateTo(OBJECT)
## uni.navigateTo(OBJECT)
保留当前页面,跳转到应用内的某个页面,使用```uni.navigateBack```可以返回到原页面。
<!-- UNIAPPAPIJSON.navigateTo.compatibility -->
**OBJECT参数说明**
|参数|类型|必填|默认值|说明|平台差异说明|
......@@ -14,6 +16,8 @@
|fail|Function|否||接口调用失败的回调函数||
|complete|Function|否||接口调用结束的回调函数(调用成功、失败都会执行)|&nbsp;|
<!-- UNIAPPAPIJSON.navigateTo.param -->
**object.success 回调函数**
**参数**
......@@ -87,15 +91,15 @@ vue3 `script setup` 语法糖中调用 `getOpenerEventChannel` 示例:
onMounted(() => {
const instance = getCurrentInstance().proxy
const eventChannel = instance.getOpenerEventChannel();
eventChannel.emit('acceptDataFromOpenedPage', {
data: 'data from test page'
});
eventChannel.emit('someEvent', {
data: 'data from test page for someEvent'
});
eventChannel.on('acceptDataFromOpenerPage', function(data) {
console.log('acceptDataFromOpenerPage', data)
})
......@@ -119,10 +123,14 @@ onLoad: function (option) {
* 跳转到 tabBar 页面只能使用 switchTab 跳转
* 路由API的目标页面必须是在pages.json里注册的vue页面。如果想打开web url,在App平台可以使用 [plus.runtime.openURL](http://www.html5plus.org/doc/zh_cn/runtime.html#plus.runtime.openURL)或web-view组件;H5平台使用 window.open;小程序平台使用web-view组件(url需在小程序的联网白名单中)。在hello uni-app中有个组件ulink.vue已对多端进行封装,可参考。
### uni.redirectTo(OBJECT)
<!-- UNIAPPAPIJSON.navigateTo.tutorial -->
## uni.redirectTo(OBJECT)
关闭当前页面,跳转到应用内的某个页面。
<!-- UNIAPPAPIJSON.redirectTo.compatibility -->
**OBJECT参数说明**
|参数|类型|必填|说明|
......@@ -144,10 +152,14 @@ uni.redirectTo({
* 跳转到 tabBar 页面只能使用 switchTab 跳转
### uni.reLaunch(OBJECT)
<!-- UNIAPPAPIJSON.redirectTo.tutorial -->
## uni.reLaunch(OBJECT)
关闭所有页面,打开到应用内的某个页面。
<!-- UNIAPPAPIJSON.reLaunch.compatibility -->
**注意:**
如果调用了 [uni.preloadPage(OBJECT)](https://uniapp.dcloud.net.cn/api/preload-page) 不会关闭,仅触发生命周期 `onHide`
......@@ -179,10 +191,14 @@ Tips:
* H5端调用`uni.reLaunch`之后之前页面栈会销毁,但是无法清空浏览器之前的历史记录,此时`navigateBack`不能返回,如果存在历史记录的话点击浏览器的返回按钮或者调用`history.back()`仍然可以导航到浏览器的其他历史记录。
### uni.switchTab(OBJECT)
<!-- UNIAPPAPIJSON.reLaunch.tutorial -->
## uni.switchTab(OBJECT)
跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。
<!-- UNIAPPAPIJSON.switchTab.compatibility -->
**注意:**
如果调用了 [uni.preloadPage(OBJECT)](https://uniapp.dcloud.net.cn/api/preload-page) 不会关闭,仅触发生命周期 `onHide`
......@@ -218,10 +234,14 @@ uni.switchTab({
});
```
### uni.navigateBack(OBJECT)
<!-- UNIAPPAPIJSON.switchTab.tutorial -->
## uni.navigateBack(OBJECT)
关闭当前页面,返回上一页面或多级页面。可通过 ```getCurrentPages()``` 获取当前的页面栈,决定需要返回几层。
<!-- UNIAPPAPIJSON.navigateBack.compatibility -->
**OBJECT参数说明**
|参数|类型|必填|默认值|说明|平台差异说明|
......@@ -233,6 +253,8 @@ uni.switchTab({
|fail|Function|否||接口调用失败的回调函数||
|complete|Function|否||接口调用结束的回调函数(调用成功、失败都会执行)||
<!-- UNIAPPAPIJSON.navigateBack.param -->
**示例**
```javascript
......@@ -254,14 +276,21 @@ uni.navigateBack({
});
```
<!-- UNIAPPAPIJSON.navigateBack.tutorial -->
## EventChannel@event-channel
> 2.8.9+ 支持
>
> HarmonyOS 不支持
### EventChannel@event-channel
2.8.9+ 支持
页面间事件通信通道
**方法**
#### EventChannel.emit(string eventName, any args)
### EventChannel.emit(string eventName, any args)
触发一个事件
......@@ -272,7 +301,7 @@ any args
事件参数
#### EventChannel.off(string eventName, function fn)
### EventChannel.off(string eventName, function fn)
取消监听一个事件。给出第二个参数时,只取消给出的监听函数,否则取消所有监听函数
......@@ -287,7 +316,7 @@ any args
触发事件参数
#### EventChannel.on(string eventName, function fn)
### EventChannel.on(string eventName, function fn)
持续监听一个事件
......@@ -302,7 +331,7 @@ any args
触发事件参数
#### EventChannel.once(string eventName, function fn)
### EventChannel.once(string eventName, function fn)
监听一个事件一次,触发后失效
......@@ -329,12 +358,12 @@ Tips:
- 页面路由拦截和管理,插件市场有很多封装好的工具类,搜索[路由](https://ext.dcloud.net.cn/search?q=%E8%B7%AF%E7%94%B1)
### 窗口动画@animation
## 窗口动画@animation
> 本API仅App支持。小程序自身不支持自定义动画。H5的窗体动画可使用常规单页动画处理方案,见[H5下单页动画示例](https://ext.dcloud.net.cn/plugin?id=659&tdsourcetag=s_pctim_aiomsg)
窗口的显示/关闭动画效果,支持在 API、组件、pages.json 中配置,优先级为:`API = 组件 > pages.json`
#### API
### API
有效的路由 API
- navigateTo
......@@ -352,7 +381,7 @@ uni.navigateBack({
animationDuration: 200
});
```
#### 组件
### 组件
open-type 有效值
- navigateTo
......@@ -362,7 +391,7 @@ open-type 有效值
<navigator animation-type="pop-in" animation-duration="300" url="../test/test">navigator</navigator>
<navigator animation-type="pop-out" animation-duration="300" open-type="navigateBack" >navigator</navigator>
```
#### pages.json
### pages.json
pages.json 中配置的是窗口显示的动画
```javascript
"style": {
......
### uni.setStorage(OBJECT) @setstorage
## uni.setStorage(OBJECT) @setstorage
将数据存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个异步接口。
<!-- UNIAPPAPIJSON.setStorage.compatibility -->
**OBJECT 参数说明**
|参数名|类型|必填|说明|
......@@ -11,6 +13,8 @@
|fail|Function|否|接口调用失败的回调函数|
|complete|Function|否|接口调用结束的回调函数(调用成功、失败都会执行)|
<!-- UNIAPPAPIJSON.setStorage.param -->
**示例**
```javascript
......@@ -26,7 +30,7 @@ uni.setStorage({
**注意**
- `uni-``uni_``dcloud-``dcloud_`为前缀的key,为系统保留关键前缀。如`uni_deviceId``uni_id_token`,请开发者为key命名时避开这些前缀。
### uni.setStorageSync(KEY,DATA) @setstoragesync
## uni.setStorageSync(KEY,DATA) @setstoragesync
将 data 存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个同步接口。
**参数说明**
......@@ -44,9 +48,13 @@ try {
}
```
### uni.getStorage(OBJECT) @getstorage
<!-- UNIAPPAPIJSON.setStorage.tutorial -->
## uni.getStorage(OBJECT) @getstorage
从本地缓存中异步获取指定 key 对应的内容。
<!-- UNIAPPAPIJSON.getStorage.tutorial -->
**OBJECT 参数说明**
|参数名|类型|必填|说明|
......@@ -56,6 +64,8 @@ try {
|fail|Function|否|接口调用失败的回调函数|
|complete|Function|否|接口调用结束的回调函数(调用成功、失败都会执行)|
<!-- UNIAPPAPIJSON.getStorage.param -->
**success 返回参数说明**
|参数|类型|说明|
......@@ -73,15 +83,21 @@ uni.getStorage({
});
```
### uni.getStorageSync(KEY) @getstoragesync
<!-- UNIAPPAPIJSON.getStorage.tutorial -->
## uni.getStorageSync(KEY) @getstoragesync
从本地缓存中同步获取指定 key 对应的内容。
<!-- UNIAPPAPIJSON.getStorageSync.compatibility -->
**参数说明**
|参数|类型|必填|说明|
|:-|:-|:-|:-|
|key|String|是|本地缓存中的指定的 key|
<!-- UNIAPPAPIJSON.getStorageSync.param -->
**示例**
```javascript
......@@ -95,7 +111,9 @@ try {
}
```
### uni.getStorageInfo(OBJECT) @getstorageinfo
<!-- UNIAPPAPIJSON.getStorageSync.tutorial -->
## uni.getStorageInfo(OBJECT) @getstorageinfo
异步获取当前 storage 的相关信息。
**平台差异说明**
......@@ -104,6 +122,8 @@ try {
|:-:|:-:|:-:|:-:|:-:|
|HBuilderX 2.0.3+|√|√|√|√|
<!-- UNIAPPAPIJSON.getStorageInfo.compatibility -->
**OBJECT 参数说明**
|参数名|类型|必填|说明|
......@@ -112,6 +132,8 @@ try {
|fail|Function|否|接口调用失败的回调函数|
|complete|Function|否|接口调用结束的回调函数(调用成功、失败都会执行)|
<!-- UNIAPPAPIJSON.getStorageInfo.param -->
**success 返回参数说明**
|参数|类型|说明|
......@@ -132,7 +154,9 @@ uni.getStorageInfo({
});
```
### uni.getStorageInfoSync() @getstorageinfosync
<!-- UNIAPPAPIJSON.getStorageInfo.tutorial -->
## uni.getStorageInfoSync() @getstorageinfosync
同步获取当前 storage 的相关信息。
**平台差异说明**
......@@ -141,6 +165,10 @@ uni.getStorageInfo({
|:-:|:-:|:-:|:-:|:-:|
|HBuilderX 2.0.3+|√|√|√|√|
<!-- UNIAPPAPIJSON.getStorageInfoSync.compatibility -->
<!-- UNIAPPAPIJSON.getStorageInfoSync.returnValue -->
**示例**
```javascript
......@@ -154,9 +182,13 @@ try {
}
```
### uni.removeStorage(OBJECT) @removestorage
<!-- UNIAPPAPIJSON.getStorageInfoSync.tutorial -->
## uni.removeStorage(OBJECT) @removestorage
从本地缓存中异步移除指定 key。
<!-- UNIAPPAPIJSON.removeStorage.compatibility -->
**OBJECT 参数说明**
|参数名|类型|必填|说明|
......@@ -166,6 +198,8 @@ try {
|fail|Function|否|接口调用失败的回调函数|
|complete|Function|否|接口调用结束的回调函数(调用成功、失败都会执行)|
<!-- UNIAPPAPIJSON.removeStorage.param -->
**示例**
```javascript
......@@ -177,15 +211,21 @@ uni.removeStorage({
});
```
### uni.removeStorageSync(KEY) @removestoragesync
<!-- UNIAPPAPIJSON.removeStorage.tutorial -->
## uni.removeStorageSync(KEY) @removestoragesync
从本地缓存中同步移除指定 key。
<!-- UNIAPPAPIJSON.removeStorageSync.compatibility -->
**参数说明**
|参数名|类型|必填|说明|
|:-|:-|:-|:-|
|key|String|是|本地缓存中的指定的 key|
<!-- UNIAPPAPIJSON.removeStorageSync.param -->
**示例**
```javascript
......@@ -196,18 +236,25 @@ try {
}
```
### uni.clearStorage()
<!-- UNIAPPAPIJSON.removeStorageSync.tutorial -->
## uni.clearStorage()
清理本地数据缓存。
<!-- UNIAPPAPIJSON.clearStorage.compatibility -->
**示例**
```javascript
uni.clearStorage();
```
<!-- UNIAPPAPIJSON.clearStorage.tutorial -->
### uni.clearStorageSync()
## uni.clearStorageSync()
同步清理本地数据缓存。
<!-- UNIAPPAPIJSON.clearStorageSync.compatibility -->
**示例**
```javascript
......@@ -217,6 +264,7 @@ try {
// error
}
```
<!-- UNIAPPAPIJSON.clearStorageSync.tutorial -->
**注意**
......@@ -232,4 +280,3 @@ uni-app的Storage在不同端的实现不同:
除此之外,其他数据存储方案:
- H5端还支持websql、indexedDB、sessionStorage
- App端还支持[SQLite](https://www.html5plus.org/doc/zh_cn/sqlite.html)[IO文件](https://www.html5plus.org/doc/zh_cn/io.html)等本地存储方案。
### uni.onAccelerometerChange(CALLBACK)
## uni.onAccelerometerChange(CALLBACK)
监听加速度数据,频率:5次/秒,接口调用后会自动开始监听,可使用 ``uni.offAccelerometer`` 取消监听。
<!-- UNIAPPAPIJSON.onAccelerometerChange.compatibility -->
**参数**
function listener
......@@ -17,6 +19,8 @@ Object res
|y|Number|Y 轴|
|z|Number|Z 轴|
<!-- UNIAPPAPIJSON.onAccelerometerChange.param -->
**Tips**
- H5端获取加速度信息,需要部署在 **https** 服务上,本地预览(localhost)仍然可以使用 http 协议。
......@@ -31,7 +35,9 @@ uni.onAccelerometerChange(function (res) {
});
```
### uni.offAccelerometerChange(CALLBACK)
<!-- UNIAPPAPIJSON.onAccelerometerChange.tutorial -->
## uni.offAccelerometerChange(CALLBACK)
取消监听加速度数据。
**平台差异说明**
......@@ -40,6 +46,9 @@ uni.onAccelerometerChange(function (res) {
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|HBuilderX 2.9.6+|HBuilderX 2.9.6+|基础库 2.9.3+|x|x|x|x|√|√|
<!-- UNIAPPAPIJSON.offAccelerometerChange.compatibility -->
**参数**
function listener
......@@ -55,8 +64,9 @@ uni.onAccelerometerChange(listener)
uni.offAccelerometerChange(listener) // 需传入与监听时同一个的函数对象
```
<!-- UNIAPPAPIJSON.offAccelerometerChange.tutorial -->
### uni.startAccelerometer(OBJECT)
## uni.startAccelerometer(OBJECT)
开始监听加速度数据。
**平台差异说明**
......@@ -65,6 +75,8 @@ uni.offAccelerometerChange(listener) // 需传入与监听时同一个的函数
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|√|√|x|√|√|√|√|√|
<!-- UNIAPPAPIJSON.startAccelerometer.compatibility -->
**OBJECT 参数说明**
|参数名|类型|默认|必填|说明|平台差异说明|
......@@ -82,6 +94,7 @@ uni.offAccelerometerChange(listener) // 需传入与监听时同一个的函数
|ui|适用于更新 UI 的回调频率,在 60ms/次 左右|
|normal|普通的回调频率,在 200ms/次 左右|
<!-- UNIAPPAPIJSON.startAccelerometer.param -->
**示例**
......@@ -89,9 +102,13 @@ uni.offAccelerometerChange(listener) // 需传入与监听时同一个的函数
uni.startAccelerometer();
```
### uni.stopAccelerometer(OBJECT)
<!-- UNIAPPAPIJSON.startAccelerometer.tutorial -->
## uni.stopAccelerometer(OBJECT)
停止监听加速度数据。
<!-- UNIAPPAPIJSON.stopAccelerometer.compatibility -->
**OBJECT 参数说明**
|参数名|类型|必填|说明|
......@@ -100,8 +117,12 @@ uni.startAccelerometer();
|fail|Function|否|接口调用失败的回调函数|
|complete|Function|否|接口调用结束的回调函数(调用成功、失败都会执行)|
<!-- UNIAPPAPIJSON.stopAccelerometer.param -->
**示例**
```javascript
uni.stopAccelerometer();
```
<!-- UNIAPPAPIJSON.stopAccelerometer.tutorial -->
### 生物认证说明
## 生物认证说明
生物认证,包含手机的指纹识别、faceid两部分。即通过人体身体特征来进行身份认证识别。
如需要专业的活体检测、人脸识别、金融级实人认证,需另见文档[uni实人认证](https://doc.dcloud.net.cn/uniCloud/frv/intro.html)
### uni.startSoterAuthentication(OBJECT)
## uni.startSoterAuthentication(OBJECT)
开始 SOTER 生物认证。
**平台差异说明**
|App|H5 |微信小程序 |支付宝小程序 |百度小程序 |抖音小程序、飞书小程序 |QQ小程序 |
|:- |:- |:- |:- |:- |:- |:- |
|√(2.3.8+) |x |√ |x |x |x |x |
|App|HarmonyOS|H5 |微信小程序 |支付宝小程序 |百度小程序 |抖音小程序、飞书小程序 |QQ小程序 |
|:- |:- |:- |:- |:- |:- |:- |:- |
|√(2.3.8+) |x|x |√ |x |x |x |x |
**OBJECT参数说明**
......@@ -80,7 +80,9 @@
|90010 |重试次数过多被冻结 |
|90011 |用户未录入所选识别方式 |
### uni.checkIsSupportSoterAuthentication(OBJECT)
## uni.checkIsSupportSoterAuthentication(OBJECT)
> HarmonyOS 不支持
获取本机支持的 SOTER 生物认证方式
......@@ -98,7 +100,9 @@
|:- |:- |:- |
|supportMode|Array|该设备支持的可被SOTER识别的生物识别方式|
### uni.checkIsSoterEnrolledInDevice(OBJECT)
## uni.checkIsSoterEnrolledInDevice(OBJECT)
> HarmonyOS 不支持
获取设备内是否录入如指纹等生物信息的接口
......@@ -125,7 +129,7 @@
|isEnrolled |boolean|是否已录入信息 |
|errMsg |string |错误信息 |
#### 代码示例
### 代码示例
```html
......@@ -236,7 +240,7 @@
```
#### 注意事项
### 注意事项
- App端打包时,注意需要在manifest的模块中选择指纹、faceID、实人认证等模块,否则打包后无法运行相关功能。
- hello uni-app已经集成相关示例,最新版HBuilderX新建新版hello uni-app示例项目真机运行可见,在API-设备-生物认证里。
......
### uni.scanCode(OBJECT)
## uni.scanCode(OBJECT)
调起客户端扫码界面,扫码成功后返回对应的结果。
**平台差异说明**
|App|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|√|√|√|√|√|√|√|
|App|HarmonyOS|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|x|√|√|√|√|√|√|√|
**OBJECT 参数说明**
......@@ -85,4 +85,3 @@ uni.scanCode({
- 在扫码界面点击返回也会进入 `fail` 回调中
- 支付宝小程序不支持 `success` 回调中的`charSet``path`
- HX 3.4.4之后版本 android 新增 检测到 QR 码时自动放大功能,提升扫码识别率。
### uni.getBatteryInfo(OBJECT)
## uni.getBatteryInfo(OBJECT)
获取设备电量
......@@ -12,6 +12,8 @@
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|√|√|√|√|x|x|√|x|x|
<!-- UNIAPPAPIJSON.getBatteryInfo.compatibility -->
**OBJECT 参数说明**
|参数名|类型|必填|说明|
......
**低功耗蓝牙 API 平台差异说明**
|App|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序|飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|√|√|x|x|√|x|x|√|
|App|HarmonyOS|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序|飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|x|√|√|x|x|√|x|x|√|
### uni.setBLEMTU(OBJECT)
......
**蓝牙 API 平台差异说明**
|App|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序|飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|√|√|x|x|√|x|x|√|
|App|HarmonyOS|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序|飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|x|√|√|x|x|√|x|x|√|
### uni.openBluetoothAdapter(OBJECT)
......@@ -91,7 +91,7 @@ uni.openBluetoothAdapter({
|10012|operate time out|连接超时|
|10013|invalid_data|连接 deviceId 为空或者是格式不正确|
**注意:**
**注意:**
* App 端目前仅支持发现ble蓝牙设备,更多蓝牙设备发现,可以使用 Native.js,参考:[https://ask.dcloud.net.cn/article/114](https://ask.dcloud.net.cn/article/114)。也可以在插件市场获取[原生插件](https://ext.dcloud.net.cn/search?q=%E8%93%9D%E7%89%99&cat1=5&cat2=51&orderBy=UpdatedDate)
......@@ -262,7 +262,7 @@ uni.onBluetoothAdapterStateChange(function (res) {
|10012|operate time out|连接超时|
|10013|invalid_data|连接 deviceId 为空或者是格式不正确|
**示例代码**
**示例代码**
```javascript
uni.getConnectedBluetoothDevices({
......
......@@ -3,9 +3,9 @@
**平台差异说明**
|App|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序|飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|√|√|√|x|√|√|√|√|
|App|HarmonyOS|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序|飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|x|√|√|√|x|√|√|√|√|
**OBJECT 参数说明**
......@@ -34,9 +34,9 @@ uni.setScreenBrightness({
**平台差异说明**
|App|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序|飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|√|√|√|x|√|√|√|√|
|App|HarmonyOS|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序|飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|x|√|√|√|x|√|√|√|√|
**OBJECT 参数说明**
......@@ -67,9 +67,9 @@ uni.getScreenBrightness({
**平台差异说明**
|App|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|√|√|√|√|√|√|√|
|App|HarmonyOS|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|x|√|√|√|√|√|√|√|
**OBJECT 参数说明**
......@@ -94,4 +94,3 @@ uni.setKeepScreenOn({
keepScreenOn: true
});
```
### uni.onUserCaptureScreen(CALLBACK)
## uni.onUserCaptureScreen(CALLBACK)
监听用户主动截屏事件,用户使用系统截屏按键截屏时触发此事件。
**平台差异说明**
|App|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|√|√|√|√|√|√|√|
<!-- UNIAPPAPIJSON.onUserCaptureScreen.compatibility -->
> 在 App 平台本 API 是 [uni ext api](https://uniapp.dcloud.net.cn/api/extapi.html),需下载插件:[uni-usercapturescreen](https://ext.dcloud.net.cn/plugin?name=uni-usercapturescreen)
> 需要HBuilder X 3.7.7+版本
......@@ -17,6 +19,8 @@
| -- | -- | -- |
| path | string | 截屏文件路径,仅App-Android平台支持 |
<!-- UNIAPPAPIJSON.onUserCaptureScreen.param -->
**代码示例**
```javascript
......@@ -29,7 +33,9 @@ uni.onUserCaptureScreen(function() {
Android的截屏监听原理是监听相册中截屏目录的文件新增,需赋予App本地文件读取权限。
### uni.offUserCaptureScreen(function callback)
<!-- UNIAPPAPIJSON.onUserCaptureScreen.tutorial -->
## uni.offUserCaptureScreen(function callback)
用户主动截屏事件。取消事件监听。
......@@ -40,6 +46,8 @@ Android的截屏监听原理是监听相册中截屏目录的文件新增,需
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|√|√|√|√|x|√|√|
<!-- UNIAPPAPIJSON.offUserCaptureScreen.compatibility -->
> 在 App 平台本 API 是 [uni ext api](https://uniapp.dcloud.net.cn/api/extapi.html),需下载插件:[uni-usercapturescreen](https://ext.dcloud.net.cn/plugin?name=uni-usercapturescreen)
> 需要HBuilder X 3.7.7+版本
......@@ -49,17 +57,20 @@ Android的截屏监听原理是监听相册中截屏目录的文件新增,需
|-- |-- |-- |
|回调函数| Function|用户主动截屏事件的回调函数|
<!-- UNIAPPAPIJSON.offUserCaptureScreen.param -->
<!-- UNIAPPAPIJSON.offUserCaptureScreen.tutorial -->
### uni.setUserCaptureScreen(OBJECT)
## uni.setUserCaptureScreen(OBJECT)
开启/关闭防截屏
**平台差异说明**
|App|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|x|x|x|x|x|x|x|
|App|HarmonyOS|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|x|x|x|x|x|x|x|x|
> 在 App 平台本 API 是 [uni ext api](https://uniapp.dcloud.net.cn/api/extapi.html),需下载插件:[uni-usercapturescreen](https://ext.dcloud.net.cn/plugin?name=uni-usercapturescreen)
> 需要HBuilder X 3.7.7+版本
......@@ -105,9 +116,9 @@ uni.setUserCaptureScreen({
});
```
### 错误码
## 错误码
|错误码 |错误信息 |说明 |
|--- |---- |------ |
|12001 |system not support |当前系统不支持相关能力 |
|12010 |system internal error |系统错误 |
\ No newline at end of file
|12010 |system internal error |系统错误 |
......@@ -3,9 +3,11 @@
|App|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|√|√|√|√|√|√|√|√|
### uni.setClipboardData(OBJECT)
## uni.setClipboardData(OBJECT)
设置系统剪贴板的内容。
<!-- UNIAPPAPIJSON.setClipboardData.compatibility -->
**OBJECT 参数说明**
|参数名|类型|必填|说明|平台差异说明|
......@@ -16,6 +18,8 @@
|fail|Function|否|接口调用失败的回调函数||
|complete|Function|否|接口调用结束的回调函数(调用成功、失败都会执行)||
<!-- UNIAPPAPIJSON.setClipboardData.param -->
**示例**
```javascript
......@@ -27,9 +31,13 @@ uni.setClipboardData({
});
```
### uni.getClipboardData(OBJECT)
<!-- UNIAPPAPIJSON.setClipboardData.tutorial -->
## uni.getClipboardData(OBJECT)
获取系统剪贴板内容。
<!-- UNIAPPAPIJSON.getClipboardData.compatibility -->
**OBJECT 参数说明**
|参数名|类型|必填|说明|
......@@ -38,6 +46,8 @@ uni.setClipboardData({
|fail|Function|否|接口调用失败的回调函数|
|complete|Function|否|接口调用结束的回调函数(调用成功、失败都会执行)|
<!-- UNIAPPAPIJSON.getClipboardData.param -->
**success 返回参数说明**
|参数|类型|说明|
......@@ -54,7 +64,9 @@ uni.getClipboardData({
});
```
#### **注意**
<!-- UNIAPPAPIJSON.getClipboardData.tutorial -->
### **注意**
- 设置剪贴板内容后,小程序平台会自动弹出轻提示;(微信小程序在成功回调success里设置toast可覆盖自带的轻提示)。App平台默认与小程序保持一致策略。如不希望在App平台弹出提示,可使用Native.js自行操作剪贴板,插件市场有封装好的示例[https://ext.dcloud.net.cn/plugin?id=712](https://ext.dcloud.net.cn/plugin?id=712)。也可以在设置剪切板后立即uni.hideToast()。
......
### uni.onCompassChange(CALLBACK)
## uni.onCompassChange(CALLBACK)
监听罗盘数据,频率:5次/秒,接口调用后会自动开始监听,可使用 ``uni.offCompassChange`` 取消监听。
<!-- UNIAPPAPIJSON.onCompassChange.compatibility -->
**CALLBACK 返回参数**
|参数|类型|说明|
|:-|:-|:-|
|direction|Number|面对的方向度数|
<!-- UNIAPPAPIJSON.onCompassChange.param -->
**Tips**
- H5端获取罗盘信息,需要部署在 **https** 服务上,本地预览(localhost)仍然可以使用 http 协议。
......@@ -19,7 +23,9 @@ const callback = function (res) {
uni.onCompassChange(callback);
```
### uni.offCompassChange(CALLBACK)
<!-- UNIAPPAPIJSON.onCompassChange.tutorial -->
## uni.offCompassChange(CALLBACK)
取消监听罗盘数据。
**平台差异说明**
......@@ -28,6 +34,8 @@ uni.onCompassChange(callback);
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|HBuilderX 2.9.6+|HBuilderX 2.9.6+|基础库 2.9.3+|x|x|x|x|√|x|
<!-- UNIAPPAPIJSON.offCompassChange.compatibility -->
**示例**
```javascript
const callback = function (res) {
......@@ -38,10 +46,12 @@ uni.onCompassChange(callback);
uni.offCompassChange(callback);
```
<!-- UNIAPPAPIJSON.offCompassChange.tutorial -->
**Tips**
- `CALLBACK`为调用`uni.onCompassChange`时传入的`CALLBACK`
### uni.startCompass(OBJECT)
## uni.startCompass(OBJECT)
开始监听罗盘数据。
**平台差异说明**
......@@ -50,6 +60,8 @@ uni.offCompassChange(callback);
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|√|√|x|√|√|√|√|x|
<!-- UNIAPPAPIJSON.startCompass.compatibility -->
**OBJECT 参数说明**
|参数名|类型|必填|说明|
......@@ -58,15 +70,21 @@ uni.offCompassChange(callback);
|fail|Function|否|接口调用失败的回调函数|
|complete|Function|否|接口调用结束的回调函数(调用成功、失败都会执行)|
<!-- UNIAPPAPIJSON.startCompass.param -->
**示例**
```javascript
uni.startCompass();
```
### uni.stopCompass(OBJECT)
<!-- UNIAPPAPIJSON.startCompass.tutorial -->
## uni.stopCompass(OBJECT)
停止监听罗盘数据。
<!-- UNIAPPAPIJSON.stopCompass.compatibility -->
**OBJECT 参数说明**
|参数名|类型|必填|说明|
......@@ -75,8 +93,12 @@ uni.startCompass();
|fail|Function|否|接口调用失败的回调函数|
|complete|Function|否|接口调用结束的回调函数(调用成功、失败都会执行)|
<!-- UNIAPPAPIJSON.stopCompass.param -->
**示例**
```javascript
uni.stopCompass();
```
<!-- UNIAPPAPIJSON.stopCompass.tutorial -->
......@@ -5,9 +5,9 @@ App平台提供了更多通讯录相关API,包括读取联系人,详见:[h
**平台差异说明**
|App|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|√|√|√|x|x|√|x|
|App|HarmonyOS|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|x|√|√|√|x|x|√|x|
**OBJECT 参数说明**
......
### 监听权限申请
## 监听权限申请
app-android平台,可使用本API监听应用权限申请确认框的弹出和关闭。不管是哪处的业务代码在申请权限,当弹出和关闭权限申请确认框时均会触发本监听事件。
......@@ -9,7 +9,7 @@ app-android平台,可使用本API监听应用权限申请确认框的弹出和
- 当权限申请的确认框在手机端弹出时,会触发onConfirm,回调中会以数组方式提供权限名称列表。
- 当权限申请的确认框被用户关闭后,会触发onComplete
### uni.createRequestPermissionListener()
## uni.createRequestPermissionListener()
创建一个监听权限申请的 `RequestPermissionListener` 对象。
......@@ -17,6 +17,8 @@ app-android平台,可使用本API监听应用权限申请确认框的弹出和
HBuilderX (4.0+) android 平台支持
<!-- UNIAPPAPIJSON.createRequestPermissionListener.compatibility -->
**注意:HBuilderX 4.01 Vue2项目需要使用自定义基座测试监听权限申请的功能,标准基座暂不支持测试。**
**RequestPermissionListener 对象的方法列表**
......
### uni.getAppBaseInfo()
## uni.getAppBaseInfo()
获取微信 APP 基础信息
......@@ -6,6 +6,8 @@
|:-|:-|:-|:-|:-|:-|:-|:-|:-|:-|:-|
|√ `(3.4.13+)`|√ `(3.4.13+)`|√ `(2.20.1+)`|x|x|x|x|x|x|x|x|
<!-- UNIAPPAPIJSON.getAppBaseInfo.compatibility -->
**返回参数说明**
|参数名|类型|说明|平台差异说明|
......@@ -39,3 +41,5 @@
|:-|:-|:-|:-|
|language|string|应用设置的语言|`H5 不支持`|
|version|string|引擎版本号、微信版本号||
<!-- UNIAPPAPIJSON.getAppBaseInfo.returnValue -->
### uni.getDeviceInfo()
## uni.getDeviceInfo()
获取设备基础信息
......@@ -6,6 +6,8 @@
|:-|:-|:-|:-|:-|:-|:-|:-|:-|:-|:-|
|√ `(3.4.13+)`|√ `(3.4.13+)`|√ `(2.20.1+)`|x|x|x|x|x|x|x|x|
<!-- UNIAPPAPIJSON.getDeviceInfo.compatibility -->
**返回参数说明**
|参数名|类型|说明|平台差异说明|
......@@ -33,5 +35,7 @@
|brand|string|设备品牌|`H5 不支持`|
|model|string|设备型号。新机型刚推出一段时间会显示unknown,微信会尽快进行适配。||
<!-- UNIAPPAPIJSON.getDeviceInfo.returnValue -->
**Tips**
- `deviceId``android 平台` 根据优先使用imei、mac,如果没有获取到就使用随机生成的标识。`ios 平台` 是直接使用随机生成的标识
\ No newline at end of file
- `deviceId``android 平台` 根据优先使用imei、mac,如果没有获取到就使用随机生成的标识。`ios 平台` 是直接使用随机生成的标识
### uni.getWindowInfo()
## uni.getWindowInfo()
获取窗口信息
......@@ -6,6 +6,8 @@
|:-|:-|:-|:-|:-|:-|:-|:-|:-|:-|:-|
|√ `(3.4.13+)`|√ `(3.4.13+)`|√ `(2.20.1+)`|x|x|x|x|x|x|x|x|
<!-- UNIAPPAPIJSON.getWindowInfo.compatibility -->
**返回参数说明**
|参数名|类型|说明|平台差异说明|
......@@ -15,7 +17,7 @@
|screenHeight |number|屏幕高度||
|windowWidth |number|可使用窗口宽度||
|windowHeight |number|可使用窗口高度||
|windowTop |number|可使用窗口的顶部位置||
|windowTop |number|可使用窗口的顶部位置||
|windowBottom |number|可使用窗口的底部位置||
|statusBarHeight |number|手机状态栏的高度||
|screenTop |number|窗口上边缘的 y 值||
......@@ -40,4 +42,6 @@
|left |Number |安全区域左侧插入位置 |
|right |Number |安全区域右侧插入位置 |
|top |Number |安全区顶部插入位置 |
|bottom |Number |安全区域底部插入位置 |
\ No newline at end of file
|bottom |Number |安全区域底部插入位置 |
<!-- UNIAPPAPIJSON.getWindowInfo.returnValue -->
### uni.getAppAuthorizeSetting()
## uni.getAppAuthorizeSetting()
获取 APP 授权设置
**平台差异说明**
......@@ -7,6 +7,8 @@
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|HBuilderX (3.5.2+)|x|基础库 (2.20.1+)|x|x|x|x|x|x|x|
<!-- UNIAPPAPIJSON.getAppAuthorizeSetting.compatibility -->
**返回参数说明**
|属性|类型|说明|平台差异说明|
......@@ -23,9 +25,11 @@
|notificationSoundAuthorized|'authorized'/'denied'/'not determined'/'config error'|允许通知带有声音的开关|App 端仅 iOS(10.0+)支持|
|phoneCalendarAuthorized|'authorized'/'denied'/'not determined'|允许读写日历的开关|App 端不支持|
<!-- UNIAPPAPIJSON.getAppAuthorizeSetting.returnValue -->
> App 端需要获取更多权限状态可参考插件: [App权限判断和提示](https://ext.dcloud.net.cn/plugin?id=594)
#### 不推荐使用的返回参数,仅为兼容保留
### 不推荐使用的返回参数,仅为兼容保留
|locationReducedAccuracy|boolean|模糊定位。true 表示模糊定位,false 表示精确定位 |App 端仅 iOS 支持|
**Tips:**
......
### uni.getSystemSetting()
## uni.getSystemSetting()
获取设备设置
**平台差异说明**
......@@ -7,6 +7,7 @@
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|HBuilderX (3.5.2+)|x|基础库 (2.20.1+)|x|x|x|x|x|x|x|
<!-- UNIAPPAPIJSON.getSystemSetting.compatibility -->
**返回参数说明**
......@@ -20,6 +21,8 @@
|wifiError|String|App端:Android平台没有权限时返回此属性;iOS平台不返回此属性;。详情见下|
|deviceOrientation|string|设备方向。`竖屏:portrait``横屏:landscape`|
<!-- UNIAPPAPIJSON.getSystemSetting.returnValue -->
**Tips**
- `bluetoothError`
- Android平台值为 `"Missing permissions required by BluetoothAdapter.isEnabled: android.permission.BLUETOOTH"` 表示没有 `android.permission.BLUETOOTH` 权限
......
### uni.onGyroscopeChange(CALLBACK)
## uni.onGyroscopeChange(CALLBACK)
监听陀螺仪数据变化事件。
......@@ -24,7 +24,7 @@
|y|number|y轴方向角速度|
|z|number|z轴方向角速度|
### uni.startGyroscope(OBJECT)
## uni.startGyroscope(OBJECT)
开始监听陀螺仪数据。
......@@ -41,7 +41,7 @@
|fail|function||否|接口调用失败的回调函数||
|complete|function||否|接口调用结束的回调函数(调用成功、失败都会执行)|&nbsp;|
### uni.stopGyroscope(OBJECT)
## uni.stopGyroscope(OBJECT)
停止监听陀螺仪数据。
......@@ -103,4 +103,4 @@ export default {
**Tips**
* 陀螺仪 相关 API 在小程序开发工具中调用可能报错,请在真机中测试
\ No newline at end of file
* 陀螺仪 相关 API 在小程序开发工具中调用可能报错,请在真机中测试
**iBeacon API 平台差异说明**
|App|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序|飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|√|√|x|x|√|x|x|x|
|App|HarmonyOS|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序|飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|x|√|√|x|x|√|x|x|x|
### uni.onBeaconServiceChange(CALLBACK)
## uni.onBeaconServiceChange(CALLBACK)
监听 iBeacon 服务状态变化事件
......@@ -15,7 +15,7 @@
|available|boolean|服务目前是否可用|
|discovering|boolean|目前是否处于搜索状态|
### uni.onBeaconUpdate(CALLBACK)
## uni.onBeaconUpdate(CALLBACK)
监听 iBeacon 设备更新事件
......@@ -25,7 +25,7 @@
|:-|:-|:-|
|beacons|Array<[IBeaconInfo](/api/system/ibeacon?id=ibeaconinfo)>|当前搜寻到的所有 iBeacon 设备列表|
### uni.getBeacons(OBJECT)
## uni.getBeacons(OBJECT)
获取所有已搜索到的 iBeacon 设备
......@@ -43,7 +43,7 @@
|:-|:-|:-|
|beacons|Array<[IBeaconInfo](/api/system/ibeacon?id=ibeaconinfo)>|iBeacon 设备列表|
#### 错误
### 错误
|错误码|错误信息|说明|
|:-|:-|:-|
......@@ -53,7 +53,7 @@
|11002|location service unavailable|位置服务不可用|
|11003|already start|已经开始搜索|
### uni.startBeaconDiscovery(OBJECT)
## uni.startBeaconDiscovery(OBJECT)
开始搜索附近的 iBeacon 设备
......@@ -67,7 +67,7 @@
|fail|function||否|接口调用失败的回调函数|
|complete|function||否|接口调用结束的回调函数(调用成功、失败都会执行)|
#### 错误
### 错误
|错误码|错误信息|说明|
|:-|:-|:-|
......@@ -77,7 +77,7 @@
|11002|location service unavailable|位置服务不可用|
|11003|already start|已经开始搜索|
#### 示例代码
### 示例代码
```js
uni.startBeaconDiscovery({
......@@ -85,7 +85,7 @@ uni.startBeaconDiscovery({
})
```
### uni.stopBeaconDiscovery(OBJECT)
## uni.stopBeaconDiscovery(OBJECT)
停止搜索附近的 iBeacon 设备
......@@ -97,7 +97,7 @@ uni.startBeaconDiscovery({
|fail|function||否|接口调用失败的回调函数|
|complete|function||否|接口调用结束的回调函数(调用成功、失败都会执行)|
#### 错误
### 错误
|错误码|错误信息|说明|
|:-|:-|:-|
......@@ -107,7 +107,7 @@ uni.startBeaconDiscovery({
|11002|location service unavailable|位置服务不可用|
|11003|already start|已经开始搜索|
### IBeaconInfo
## IBeaconInfo
|属性|类型|说明|
|:-|:-|:-|
......@@ -119,6 +119,6 @@ uni.startBeaconDiscovery({
|rssi|number|表示设备的信号强度|
### 注意事项
## 注意事项
* 未启用定位将影响 iBeacon 的正常使用。(相关反馈:[#2027](https://github.com/dcloudio/uni-app/issues/2027)
\ No newline at end of file
* 未启用定位将影响 iBeacon 的正常使用。(相关反馈:[#2027](https://github.com/dcloudio/uni-app/issues/2027)
### 系统信息的概念
## 系统信息的概念
uni-app提供了异步(`uni.getSystemInfo`)和同步(`uni.getSystemInfoSync`)的2个API获取系统信息。
......@@ -12,9 +12,11 @@ uni-app提供了异步(`uni.getSystemInfo`)和同步(`uni.getSystemInfoSync`)的
- `uni`:uni-app框架相关的信息,如uni-app框架的编译器版本、运行时版本
- `app`:开发者的应用相关的信息,如应用名称、版本
### uni.getSystemInfo(OBJECT)
## uni.getSystemInfo(OBJECT)
异步获取系统信息
<!-- UNIAPPAPIJSON.getSystemInfo.compatibility -->
**OBJECT 参数说明:**
|参数名|类型|必填|说明|
......@@ -23,7 +25,7 @@ uni-app提供了异步(`uni.getSystemInfo`)和同步(`uni.getSystemInfoSync`)的
|fail|Function|否|接口调用失败的回调函数|
|complete|Function|否|接口调用结束的回调函数(调用成功、失败都会执行)|
#### success 返回参数说明
### success 返回参数说明
|参数分类 |参数|说明 |App平台值域 |Web平台值域 |小程序平台值域 |备注 |uni框架最低版本要求 |
|:- |:-|:-|:-|:-|:-|:-|:-|
......@@ -69,7 +71,9 @@ uni-app提供了异步(`uni.getSystemInfo`)和同步(`uni.getSystemInfoSync`)的
| |safeArea |在竖屏正方向下的安全区域。由于此属性理解和使用比较困难,更推荐使用 safeAreaInsets 属性。[详见](#safearea)|||微信、百度(开发者工具暂不支持,真机有效)、抖音、飞书、支付宝(iOS真机)、快手、QQ小程序、华为快应用|||
| |safeAreaInsets |在竖屏正方向下的安全区域插入位置。与小程序定义的 safeArea 用途相同,但是规范参考 iOS 平台的 [safeAreaInsets](https://developer.apple.com/documentation/uikit/uiview/2891103-safeareainsets) 更利于理解和使用。[详见](#safearea)|||微信、百度(开发者工具暂不支持,真机有效)、抖音、飞书、支付宝小程序(iOS真机)、华为快应用||uni-app 2.5.3+|
#### 某些小程序特殊的返回参数
<!-- UNIAPPAPIJSON.getSystemInfo.param -->
### 某些小程序特殊的返回参数
|参数|说明|平台差异说明|
|:-|:-|:-|
......@@ -92,7 +96,7 @@ uni-app提供了异步(`uni.getSystemInfo`)和同步(`uni.getSystemInfoSync`)的
|cacheLocation|上一次缓存的位置信息|百度小程序(安卓端最低基础库版本 3.40.4 ;iOS 最低支持版本 3.70.2)|
|storage|设备磁盘容量|支付宝小程序|
#### 不推荐使用的返回参数,仅为向下兼容保留
### 不推荐使用的返回参数,仅为向下兼容保留
|参数|说明|平台差异说明|
|:-|:-|:-|
......@@ -111,7 +115,7 @@ uni-app提供了异步(`uni.getSystemInfo`)和同步(`uni.getSystemInfoSync`)的
|fontSizeSetting|用户字体大小设置。以“我-设置-通用-字体大小”中的设置为准,单位:px|微信小程序、支付宝小程序、百度小程序、QQ小程序、抖音小程序(2.53.0+)|
#### uniPlatform 返回值说明 @uniplatform
### uniPlatform 返回值说明 @uniplatform
|值|生效条件|
|:-|:-|
......@@ -139,7 +143,7 @@ uni-app提供了异步(`uni.getSystemInfo`)和同步(`uni.getSystemInfoSync`)的
- App离线打包,使用了不匹配的离线SDK
- App wgt升级,即手机上安装的App是老版的`uniRuntimeVersion`,wgt的新版使用了不同版本的HBuilder或uni-app cli版本,并且实施了应用资源升级
#### romName 返回值说明 @romname
### romName 返回值说明 @romname
|值|解释|
|:-|:-|
......@@ -154,7 +158,7 @@ uni-app提供了异步(`uni.getSystemInfo`)和同步(`uni.getSystemInfoSync`)的
注意:不同rom的版本号规则不同,比如`MIUI`版本号是`V130`,而`HarmonyOS`的版本号是`2.0.0`
#### hostName 返回值说明 @hostname
### hostName 返回值说明 @hostname
|值|解释|
|:-|:-|
......@@ -172,7 +176,7 @@ uni-app提供了异步(`uni.getSystemInfo`)和同步(`uni.getSystemInfoSync`)的
|qq|QQ|
|KUAISHOU|快手|
#### safeArea 返回值说明 @safearea
### safeArea 返回值说明 @safearea
|参数 |类型 |说明 |
|:- |:- |:- |
......@@ -192,7 +196,7 @@ uni-app提供了异步(`uni.getSystemInfo`)和同步(`uni.getSystemInfoSync`)的
|top |Number |安全区顶部插入位置 |
|bottom |Number |安全区域底部插入位置 |
#### language 返回值说明
### language 返回值说明
language的国际规范是`BCP47规范`,分为三段,主语言-次语言-地区。例如`zh-Hans-CN`,表示 中文-简体-中国大陆
......@@ -204,7 +208,7 @@ language的国际规范是`BCP47规范`,分为三段,主语言-次语言-地
所以获取语言后,不能直接字符串比较,需要拆段比较,npm上也有专门做`BCP47语言规范`比较的库。
#### deviceId 返回值说明
### deviceId 返回值说明
Web、小程序、iOS,属于对用户隐私保护比较严格的平台,在这些平台很难获取有效的设备唯一标记。
......@@ -221,12 +225,12 @@ deviceId,在`app-android`平台,会根据优先使用imei、mac(仅在用
app下需要广告追踪的场景,在iOS上可以使用[idfa](https://ask.dcloud.net.cn/article/36107)、部分国产Android手机可以使用[OAID](http://www.html5plus.org/doc/zh_cn/device.html#plus.device.getOAID)
#### deviceModel 返回值说明
### deviceModel 返回值说明
uni-app 3.5.1+ 版本规范了 deviceModel 返回值,例如之前返回 `iPhone11ProMax` 新版本返回值为 `iPhone 11 Pro Max`,各设备型号[参考规范](https://www.theiphonewiki.com/wiki/Models) 中 Generation 对应的值
注意:新机型刚推出一段时间会显示 Unknown,官方会尽快进行适配。
#### 其他注意 @tips
### 其他注意 @tips
- `deviceType`
- `app-ios` 只支持 `phone``pad`
- `app-android` 支持 `phone``pad``tv``car``watch``vr``appliance``undefined``unknown`,关于各个类型的更详细解释参考[Android官方文档](https://developer.android.com/guide/)
......@@ -256,7 +260,7 @@ uni-app 3.5.1+ 版本规范了 deviceModel 返回值,例如之前返回 `iPhon
- [京东小程序](https://mp-docs.jd.com/api/equipment/system.html)
- [华为快应用](https://developer.huawei.com/consumer/cn/doc/development/quickApp-References/webview-api-systeminfo-0000001126227753)
#### 示例 @getsysteminfo-new-fields
### 示例 @getsysteminfo-new-fields
调用代码示例
```javascript
......@@ -303,8 +307,9 @@ uni.getSystemInfo({
|uniCompileVersion|3.4.13|3.4.13|3.4.13|3.4.13|3.4.13|3.4.13|3.4.13|3.4.13|3.4.13|
|uniRuntimeVersion|3.4.13|3.4.13|3.4.13|3.4.13|3.4.13|3.4.13|3.4.13|3.4.13|3.4.13|
<!-- UNIAPPAPIJSON.getSystemInfo.tutorial -->
### uni.getSystemInfoSync()
## uni.getSystemInfoSync()
获取系统信息的同步接口。`调用参数和返回值同上getSystemInfo`
......
### uni.onMemoryWarning(CALLBACK)
## uni.onMemoryWarning(CALLBACK)
监听内存不足告警事件。
......@@ -10,6 +10,8 @@
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|Android 3.6.9+、iOS 3.6.11+|x|√|√|√|x|√|√|√|
<!-- UNIAPPAPIJSON.onMemoryWarning.compatibility -->
> 本 API 是 [uni ext api](https://uniapp.dcloud.net.cn/api/extapi.html),需下载插件:[https://ext.dcloud.net.cn/plugin?id=10071](https://ext.dcloud.net.cn/plugin?id=10071)
**CALLBACK返回参数:**
......@@ -18,6 +20,8 @@
|---|---|---|
|level|Number|仅 Android 有该字段,对应系统内存告警等级宏定义|
<!-- UNIAPPAPIJSON.onMemoryWarning.param -->
**level 的合法值**
|值|对应的Android告警值|说明|
......@@ -35,7 +39,9 @@ const callback = function (res) {
uni.onMemoryWarning(callback);
```
### uni.offMemoryWarning(CALLBACK)
<!-- UNIAPPAPIJSON.onMemoryWarning.tutorial -->
## uni.offMemoryWarning(CALLBACK)
取消监听内存不足告警事件。不传入 callback 则取消所有监听。
......@@ -46,11 +52,14 @@ uni.onMemoryWarning(callback);
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|x|x|√|√|√|x|x|√|√|
<!-- UNIAPPAPIJSON.offMemoryWarning.compatibility -->
|属性 | 类型|说明|
|-- |-- |-- |
| 回调函数| Function|内存不足告警事件的回调函数|
<!-- UNIAPPAPIJSON.offMemoryWarning.param -->
**代码示例**
```javascript
......@@ -64,3 +73,4 @@ uni.offMemoryWarning(callback);
**Tips**
- `CALLBACK`为调用`uni.onMemoryWarning`时传入的`CALLBACK`
<!-- UNIAPPAPIJSON.offMemoryWarning.tutorial -->
### uni.getNetworkType(OBJECT)
## uni.getNetworkType(OBJECT)
获取网络类型。
<!-- UNIAPPAPIJSON.getNetworkType.compatibility -->
**OBJECT 参数说明**
|参数名|类型|必填|说明|
......@@ -38,7 +40,9 @@ uni.getNetworkType({
});
```
### uni.onNetworkStatusChange(CALLBACK)
<!-- UNIAPPAPIJSON.getNetworkType.tutorial -->
## uni.onNetworkStatusChange(CALLBACK)
监听网络状态变化。可使用`uni.offNetworkStatusChange`取消监听。
**CALLBACK 返回参数**
......@@ -57,14 +61,14 @@ uni.onNetworkStatusChange(function (res) {
});
```
### uni.offNetworkStatusChange(CALLBACK)
## uni.offNetworkStatusChange(CALLBACK)
取消监听网络状态变化。
**平台差异说明**
|App|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|HBuilderX 3.0.1+|HBuilderX 3.0.1+|基础库 2.9.3+|x|x|x|x|√|x|
|App|HarmonyOS|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|HBuilderX 3.0.1+|x|HBuilderX 3.0.1+|基础库 2.9.3+|x|x|x|x|√|x|
**Tips**
- `CALLBACK`必须为调用`uni.onNetworkStatusChange`时传入的`CALLBACK`
......@@ -76,4 +80,4 @@ var CALLBACK = function(res) {
}
uni.offNetworkStatusChange(CALLBACK)
uni.onNetworkStatusChange(CALLBACK);
```
\ No newline at end of file
```
### uni.openAppAuthorizeSetting()
## uni.openAppAuthorizeSetting()
跳转系统授权管理页
- App端
打开系统App的权限设置界面
- 微信小程序
打开系统微信App的权限设置界面
- App端
打开系统App的权限设置界面
- 微信小程序
打开系统微信App的权限设置界面
**平台差异说明**
|App|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|钉钉小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|HBuilderX (3.5.3+)|x|基础库 (2.20.1+)|x|x|x|x|x|x|x|
|App|HarmonyOS|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|钉钉小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|HBuilderX (3.5.3+)|x|x|基础库 (2.20.1+)|x|x|x|x|x|x|x|
......
### uni.makePhoneCall(OBJECT)
## uni.makePhoneCall(OBJECT)
拨打电话。
<!-- UNIAPPAPIJSON.makePhoneCall.compatibility -->
**OBJECT 参数说明**
|参数名|类型|必填|说明|
......@@ -10,6 +12,8 @@
|fail|Function|否|接口调用失败的回调函数|
|complete|Function|否|接口调用结束的回调函数(调用成功、失败都会执行)|
<!-- UNIAPPAPIJSON.makePhoneCall.param -->
**示例**
```javascript
......@@ -28,3 +32,4 @@ uni.makePhoneCall({
注意需要赋予相关权限。
- 钉钉小程序端拨打电话,详见[https://open.dingtalk.com/document/orgapp-client/call-menu](https://open.dingtalk.com/document/orgapp-client/call-menu)
<!-- UNIAPPAPIJSON.makePhoneCall.tutorial -->
### uni.onThemeChange(CALLBACK)
## uni.onThemeChange(CALLBACK)
监听系统主题状态变化。
> 相关文档:[DarkMode 适配指南](https://uniapp.dcloud.net.cn/tutorial/darkmode.html)
......@@ -9,12 +9,16 @@
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|`iOS 2.6.5+``Android 3.6.9+`|HBuilderX 3.6.9+|基础库 2.11.0+|x|x|x|V5.3.0+|x|x|x|
<!-- UNIAPPAPIJSON.onThemeChange.compatibility -->
**CALLBACK 返回参数**
|参数|类型|说明|
|:-|:-|:-|:-|
|theme|String|主题名称(`dark`, `light`)|
<!-- UNIAPPAPIJSON.onThemeChange.param -->
**示例**
```javascript
......@@ -23,7 +27,9 @@ uni.onThemeChange(function (res) {
});
```
### uni.offThemeChange(CALLBACK)
<!-- UNIAPPAPIJSON.onThemeChange.tutorial -->
## uni.offThemeChange(CALLBACK)
取消监听系统主题状态变化。
> 相关文档:[DarkMode 适配指南](https://uniapp.dcloud.net.cn/tutorial/darkmode.html)
......@@ -34,6 +40,8 @@ uni.onThemeChange(function (res) {
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|HBuilderX 3.6.9+|HBuilderX 3.6.9+|基础库 2.11.0+|x|x|x|V5.3.0+|x|x|x|
<!-- UNIAPPAPIJSON.offThemeChange.compatibility -->
**参数**
`Function CallBack`:onThemeChange 传入的监听函数。
......@@ -48,6 +56,8 @@ uni.onThemeChange(callback);
uni.offThemeChange(callback); // 此时不再触发 callback 方法
```
<!-- UNIAPPAPIJSON.offThemeChange.tutorial -->
**注意**
- 自定义基座生效
- App 端需要开启暗黑模式。[5+ App](https://ask.dcloud.net.cn/article/36995) [uni-app 暗黑模式](https://uniapp.dcloud.net.cn/tutorial/darkmode.html#open-darkmode)
### uni.vibrate(OBJECT)
## uni.vibrate(OBJECT)
> HarmonyOS 不支持
使手机发生振动。
**OBJECT 参数说明**
......@@ -17,9 +20,12 @@ uni.vibrate({
console.log('success');
}
});
```
### uni.vibrateLong(OBJECT)
```
## uni.vibrateLong(OBJECT)
> HarmonyOS 不支持
使手机发生较长时间的振动(400ms)。
**OBJECT 参数说明**
......@@ -40,7 +46,10 @@ uni.vibrateLong({
});
```
### uni.vibrateShort(OBJECT)
## uni.vibrateShort(OBJECT)
> HarmonyOS 不支持
使手机发生较短时间的振动(15ms)。
**OBJECT 参数说明**
......@@ -63,5 +72,5 @@ uni.vibrateShort({
**注意**
- iOS上只有长震动,没有短震动
- iOS上需要手机设置“打开响铃时震动”或“静音时震动”,否则无法震动
- vibrate只适用于钉钉小程序、支付宝小程序
\ No newline at end of file
- iOS上需要手机设置“打开响铃时震动”或“静音时震动”,否则无法震动
- vibrate只适用于钉钉小程序、支付宝小程序
......@@ -18,10 +18,12 @@
抖音小程序的wifi API参考:[规范详情](https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/api/device/wi-fi/tt-get-connected-wifi/)
### uni.startWifi(OBJECT)
## uni.startWifi(OBJECT)
初始化Wi-Fi模块
<!-- UNIAPPAPIJSON.startWifi.compatibility -->
**OBJECT 参数说明**
|参数名|类型|必填|说明|
......@@ -30,11 +32,14 @@
|fail|function|否|接口调用失败的回调函数|
|complete|function|否|接口调用结束的回调函数(调用成功、失败都会执行)|
<!-- UNIAPPAPIJSON.startWifi.tutorial -->
### uni.stopWifi(OBJECT)
## uni.stopWifi(OBJECT)
关闭 Wi-Fi 模块
<!-- UNIAPPAPIJSON.stopWifi.compatibility -->
**OBJECT 参数说明**
|参数名|类型|必填|说明|
......@@ -43,11 +48,14 @@
|fail|function|否|接口调用失败的回调函数|
|complete|function|否|接口调用结束的回调函数(调用成功、失败都会执行)|
<!-- UNIAPPAPIJSON.stopWifi.tutorial -->
### uni.getConnectedWifi(OBJECT)
## uni.getConnectedWifi(OBJECT)
获取已连接的 Wi-Fi 信息
<!-- UNIAPPAPIJSON.getConnectedWifi.compatibility -->
**OBJECT 参数说明**
|属性 |类型 |默认值 |必填 |说明 |
......@@ -64,7 +72,10 @@
|wifi|WifiInfo|Wi-Fi 信息|
### uni.getWifiList(OBJECT)
<!-- UNIAPPAPIJSON.getConnectedWifi.tutorial -->
## uni.getWifiList(OBJECT)
请求获取 Wi-Fi 列表。wifiList 数据会在 onGetWifiList 注册的回调中返回。
......@@ -83,10 +94,14 @@
|√|x|
### uni.onGetWifiList(CALLBACK)
<!-- UNIAPPAPIJSON.getWifiList.compatibility -->
## uni.onGetWifiList(CALLBACK)
监听获取到 Wi-Fi 列表数据事件。
<!-- UNIAPPAPIJSON.onGetWifiList.compatibility -->
**CALLBACK 参数说明**
获取到 Wi-Fi 列表数据事件的监听函数
......@@ -104,7 +119,7 @@
|√|x|
### uni.offGetWifiList(CALLBACK)
## uni.offGetWifiList(CALLBACK)
移除获取到 Wi-Fi 列表数据事件的监听函数。
......@@ -118,8 +133,9 @@ onGetWifiList 传入的监听函数。不传此参数则移除所有监听函数
|:-:|:-:|
|√|x|
<!-- UNIAPPAPIJSON.offGetWifiList.compatibility -->
### uni.connectWifi(OBJECT)
## uni.connectWifi(OBJECT)
连接 Wi-Fi。若已知 Wi-Fi 信息,可以直接利用该接口连接。
......@@ -142,8 +158,9 @@ onGetWifiList 传入的监听函数。不传此参数则移除所有监听函数
|:-:|:-:|
|android10 以下版本支持直连,android 10以上,包括鸿蒙系统仅支持 maunal 手动链接|x|
<!-- UNIAPPAPIJSON.connectWifi.compatibility -->
### uni.onWifiConnected(CALLBACK)
## uni.onWifiConnected(CALLBACK)
监听连接上 Wi-Fi 的事件。
......@@ -163,7 +180,9 @@ onGetWifiList 传入的监听函数。不传此参数则移除所有监听函数
|:-:|:-:|
|√|x|
### uni.offWifiConnected(CALLBACK)
<!-- UNIAPPAPIJSON.onWifiConnected.compatibility -->
## uni.offWifiConnected(CALLBACK)
移除连接上 Wi-Fi 的事件的监听函数。
......@@ -177,8 +196,10 @@ onWifiConnected 传入的监听函数。不传此参数则移除所有监听函
|:-:|:-:|
|√|x|
<!-- UNIAPPAPIJSON.offWifiConnected.compatibility -->
### uni.onWifiConnectedWithPartialInfo(CALLBACK)
## uni.onWifiConnectedWithPartialInfo(CALLBACK)
监听连接上 Wi-Fi 的事件。
......@@ -198,8 +219,10 @@ onWifiConnected 传入的监听函数。不传此参数则移除所有监听函
|:-:|:-:|
|√|x|
<!-- UNIAPPAPIJSON.onWifiConnectedWithPartialInfo.compatibility -->
### uni.offWifiConnectedWithPartialInfo(CALLBACK)
## uni.offWifiConnectedWithPartialInfo(CALLBACK)
移除连接上 Wi-Fi 的事件的监听函数。
......@@ -213,8 +236,10 @@ onWifiConnectedWithPartialInfo 传入的监听函数。不传此参数则移除
|:-:|:-:|
|√|x|
<!-- UNIAPPAPIJSON.offWifiConnectedWithPartialInfo.compatibility -->
### WifiInfo
## WifiInfo
Wifi 信息
......@@ -227,7 +252,7 @@ Wifi 信息
|frequency |number |Wi-Fi 频段单位 MHz |
### 错误码
## 错误码
|错误码 |错误信息 |说明 |
|--- |---- |------ |
......@@ -238,6 +263,6 @@ Wifi 信息
|12005 |wifi not turned on |Android 特有,未打开 Wi-Fi 开关 |
|12013 |wifi config may be expired |系统保存的 Wi-Fi 配置过期,建议忘记 Wi-Fi 后重试,仅 Android 支持 |
### 参考
- [Android平台获取WIFI列表](https://ask.dcloud.net.cn/question/12113)
- [iOS平台打开系统WIFI设置页面](https://ask.dcloud.net.cn/question/7797)
## 参考
- [Android平台获取WIFI列表](https://ask.dcloud.net.cn/question/12113)
- [iOS平台打开系统WIFI设置页面](https://ask.dcloud.net.cn/question/7797)
......@@ -2,6 +2,8 @@
## setTimeout(callback, delay, rest)
> HarmonyOS 支持
设定一个定时器。在定时到期以后执行注册的回调函数
**参数说明**
......@@ -20,6 +22,8 @@
## clearTimeout(timeoutID)
> HarmonyOS 支持
取消由 setTimeout 设置的定时器。
**参数说明**
......@@ -63,6 +67,8 @@
## setInterval(callback, delay, rest)
> HarmonyOS 支持
设定一个定时器。按照指定的周期(以毫秒计)来执行注册的回调函数
**参数说明**
......@@ -89,6 +95,8 @@ this.timer = setInterval(() => {
## clearInterval(intervalID)
> HarmonyOS 支持
取消由 setInterval 设置的定时器。
**参数说明**
......
......@@ -7,7 +7,7 @@
获取对应窗口的样式,返回一个 css 属性值对象;
设置对应窗口的样式,传入一个 css 属性值对象
### uni.getTopWindowStyle()
## uni.getTopWindowStyle()
获取 topWindow 的样式
......@@ -25,7 +25,7 @@
uni.getTopWindowStyle()
```
### uni.getLeftWindowStyle()
## uni.getLeftWindowStyle()
获取 leftWindow 的样式
......@@ -43,7 +43,7 @@ uni.getTopWindowStyle()
uni.getLeftWindowStyle()
```
### uni.getRightWindowStyle()
## uni.getRightWindowStyle()
获取 rightWindow 的样式
......@@ -61,7 +61,7 @@ uni.getLeftWindowStyle()
uni.getRightWindowStyle()
```
### uni.setTopWindowStyle(OBJECT)
## uni.setTopWindowStyle(OBJECT)
设置 topWindow 的样式
......@@ -77,12 +77,12 @@ uni.getRightWindowStyle()
```javascript
uni.setTopWindowStyle({
height: '100px',
height: '100px',
backgroundColor: 'red'
})
```
### uni.setLeftWindowStyle(OBJECT)
## uni.setLeftWindowStyle(OBJECT)
设置 leftWindow 的样式
......@@ -104,12 +104,12 @@ uni.setTopWindowStyle({
```javascript
uni.setLeftWindowStyle({
width: '500px',
width: '500px',
backgroundColor: 'blue'
})
```
### uni.setRightWindowStyle(OBJECT)
## uni.setRightWindowStyle(OBJECT)
设置 rightWindow 的样式
......@@ -131,17 +131,17 @@ uni.setLeftWindowStyle({
```javascript
uni.setRightWindowStyle({
width: '500px',
width: '500px',
backgroundColor: 'blue'
})
```
<!--
<!--
## 显示或隐藏窗口的 API
显示或隐藏对应的窗口
### uni.showTopWindow()
## uni.showTopWindow()
显示 topWindow
......@@ -159,7 +159,7 @@ uni.setRightWindowStyle({
uni.showTopWindow()
```
### uni.showLeftWindow()
## uni.showLeftWindow()
显示 leftWindow
......@@ -177,7 +177,7 @@ uni.showTopWindow()
uni.showLeftWindow()
```
### uni.showRightWindow()
## uni.showRightWindow()
显示 rightWindow
......@@ -195,7 +195,7 @@ uni.showLeftWindow()
uni.showRightWindow()
```
### uni.hideTopWindow()
## uni.hideTopWindow()
隐藏 topWindow
......@@ -213,7 +213,7 @@ uni.showRightWindow()
uni.hideTopWindow()
```
### uni.hideLeftWindow()
## uni.hideLeftWindow()
隐藏 leftWindow
......@@ -231,7 +231,7 @@ uni.hideTopWindow()
uni.hideLeftWindow()
```
### uni.hideRightWindow()
## uni.hideRightWindow()
隐藏 rightWindow
......@@ -247,5 +247,5 @@ uni.hideLeftWindow()
```javascript
uni.hideRightWindow()
```
```
-->
### uni.createAnimation(OBJECT)
## uni.createAnimation(OBJECT)
创建一个动画实例 [animation](#animation)。调用实例的方法来描述动画。最后通过动画实例的export方法导出动画数据传递给组件的animation属性。
**平台差异说明**
|App|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|HBuilderX 2.0.4+|√|√|√|√|√|x|x|
|App|HarmonyOS|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|HBuilderX 2.0.4+|√|√|√|√|√|x|x|
**注意:**
- export 方法每次调用后会清掉之前的动画操作
......@@ -43,7 +43,7 @@ var animation = uni.createAnimation({
```
#### animation
### animation
动画实例可以调用以下方法来描述动画,调用结束后会返回自身,支持链式调用的写法。
......@@ -162,4 +162,4 @@ export default{
}
}
}
```
\ No newline at end of file
```
......@@ -10,6 +10,8 @@
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|app-vue 1.9.0+;app-uvue 3.9+|2.3.4+|基础库 2.1.0+| 1.11.0+ |x|x|x|
<!-- UNIAPPAPIJSON.loadFontFace.compatibility -->
app-nvue不支持本api,而是使用 Weex 提供的 DOM.addRule 加载自定义字体,[详见](https://uniapp.dcloud.io/tutorial/nvue-api.html#dom)
## 参数说明
......@@ -24,6 +26,8 @@ app-nvue不支持本api,而是使用 Weex 提供的 DOM.addRule 加载自定
|fail|Function||否|接口调用失败的回调函数|
|complete|Function||否|接口调用结束的回调函数(调用成功、失败都会执行)|
<!-- UNIAPPAPIJSON.loadFontFace.param -->
**source**
1. 微信小程序端只支持网络字体,字体链接必须是https。App支持网络或本地的字体(app-vue本地字体需使用[平台绝对路径](http://www.html5plus.org/doc/zh_cn/io.html#plus.io.convertLocalFileSystemURL))。
......@@ -61,6 +65,7 @@ uni-app x 中加载字体图标,详见 hello uni-app x 的 [loadFontFace](http
- 引入中文字体,体积过大时会发生错误,建议抽离出部分中文,减少体积,或者用图片替代
- 工具里提示 Faild to load font可以忽略
<!-- UNIAPPAPIJSON.loadFontFace.tutorial -->
# uni.upx2px()
......@@ -81,4 +86,4 @@ uni-app x 中加载字体图标,详见 hello uni-app x 的 [loadFontFace](http
}
}
</script>
```
\ No newline at end of file
```
节点布局交叉状态 API 可用于监听两个或多个组件节点在布局位置上的相交状态。这一组API常常可以用于推断某些节点是否可以被用户看见、有多大比例可以被用户看见。
### uni.createIntersectionObserver([this], [options])
## uni.createIntersectionObserver([this], [options])
创建并返回一个 ``IntersectionObserver`` 对象实例。
**this说明:**
自定义组件实例。**支付宝小程序不支持此参数,传入仅为抹平写法差异**
<!-- UNIAPPAPIJSON.createIntersectionObserver.compatibility -->
**this说明:**
自定义组件实例。**支付宝小程序不支持此参数,传入仅为抹平写法差异**
**options 的可选参数为:**
......@@ -15,7 +17,9 @@
|initialRatio|Number|初始的相交比例,如果调用时检测到的相交比例与这个值不相等且达到阈值,则会触发一次监听器的回调函数。默认为 ``0``。|
|observeAll|Boolean|是否同时观测多个参照节点(而非一个),如果设为 ``true````observe````targetSelector`` 将选中多个节点(注意:同时选中过多节点将影响渲染性能)|
### IntersectionObserver 对象的方法列表
<!-- UNIAPPAPIJSON.createIntersectionObserver.param -->
## IntersectionObserver 对象的方法列表
|方法|说明|
|:-|:-|
......@@ -50,15 +54,16 @@ uni.createIntersectionObserver(this).relativeTo('.scroll',{bottom: 100}).observe
|relativeRect|Object|参照区域的边界,包含 ``left````right````top````bottom`` 四项|
|time|Number|相交检测时的时间戳|
<!-- UNIAPPAPIJSON.createIntersectionObserver.returnValue -->
**Tips**
- 与页面显示区域的相交区域并不准确代表用户可见的区域,因为参与计算的区域是“布局区域”,布局区域可能会在绘制时被其他节点裁剪隐藏(如祖先节点中 overflow 样式为 hidden 的节点)或遮盖(如 fixed 定位的节点)。
- 节点交互状态 ``API`` 建议在 ``onReady`` 生命周期里监听,因为此 ``API`` 需要查找页面元素,``onReady`` 时页面已经完成初次渲染,已经能查找到对应的元素。
### 代码示例
## 代码示例
```
```html
<template>
<view class="container">
<text>{{appear ? '小球出现' : '小球消失'}}</text>
......
### uni.getLocale()
## uni.getLocale()
获取当前设置的语言
......@@ -12,10 +8,11 @@
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|3.2.5+|3.2.5+|3.4.14+|3.4.14+|3.4.14+|3.4.14+|3.4.14+|3.4.14+|3.4.14+|3.4.14+|3.4.14+|
如果当前应用设置过语言,会获取到之前设置的语言,未设置时会返回根据系统语言类型自动选择的语言。
<!-- UNIAPPAPIJSON.getLocale.compatibility -->
如果当前应用设置过语言,会获取到之前设置的语言,未设置时会返回根据系统语言类型自动选择的语言。
### uni.setLocale(locale)
## uni.setLocale(locale)
设置当前语言
......@@ -25,6 +22,8 @@
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|3.2.5+|3.2.5+|3.4.14+|3.4.14+|3.4.14+|3.4.14+|3.4.14+|3.4.14+|3.4.14+|3.4.14+|3.4.14+|
<!-- UNIAPPAPIJSON.setLocale.compatibility -->
仅可设置为框架内置语言与[自定义扩展的语言](/tutorial/i18n.md#uni-framework),遵循 BCP47 规范。
**参数说明**
......@@ -33,7 +32,9 @@
|:-|:-|:-|
|locale|String|是|
### uni.onLocaleChange(callback)
<!-- UNIAPPAPIJSON.setLocale.param -->
## uni.onLocaleChange(callback)
用于监听应用语言切换
......@@ -43,6 +44,10 @@
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|3.2.7+|3.2.7+|3.4.14+|3.4.14+|3.4.14+|3.4.14+|3.4.14+|3.4.14+|3.4.14+|3.4.14+|3.4.14+|
<!-- UNIAPPAPIJSON.onLocaleChange.compatibility -->
<!-- UNIAPPAPIJSON.onLocaleChange.param -->
**callback返回参数说明**
|参数名|类型|说明|
......@@ -50,8 +55,7 @@
|locale|String|当前语言|
### 注意事项
## 注意事项
* 组件和接口显示会根据设置的语言环境自动切换,未支持的系统语言环境会显示为英文。
* App-Android、App-iOS 平台修改系统语言后会重启应用。
......@@ -66,11 +70,11 @@
* 仅 3.1.5 - 3.2.4 版本会自动使用 vue-i18n 内配置的语言。
* 在小程序平台仅影响用户业务层(vue-i18n)的语言配置,不能影响小程序原生组件和接口的语言。
### 语言回退规则
## 语言回退规则
需要注意的是,语言的处理逻辑是建立在应用locale目录 配置了对应资源的前提下。 [资源配置文档](https://uniapp.dcloud.net.cn/tutorial/i18n.html#vue%E7%95%8C%E9%9D%A2%E5%92%8Cjs%E5%86%85%E5%AE%B9%E7%9A%84%E5%9B%BD%E9%99%85%E5%8C%96)
+ 如果应用的 locale目录下配置了对应的资源,那么语言的设置和获取是一致的
......@@ -78,6 +82,3 @@
举个例子,应用中仅配置了英文和中文资源,没有配置日语资源,但是通过系统设置修改语言为日文,此时调用 `uni.getLocale()` 在android平台上获取到的返回值不会是jp 而是en
MediaQueryObserver 对象,用于监听页面 media query 状态的变化,如界面的宽高是不是在某个指定的范围内。
### uni.createMediaQueryObserver([this])
## uni.createMediaQueryObserver([this])
创建并返回一个 ``MediaQueryObserver`` 对象实例。
**this说明:**
......@@ -9,13 +9,13 @@ MediaQueryObserver 对象,用于监听页面 media query 状态的变化,如
**平台兼容性**
|app|微信小程序|H5|支付宝小程序|qq小程序|百度小程序|抖音小程序|飞书小程序|360小程序|快应用|
|:-|:-|:-|:-|:-|:-|:-|:-|:-|:-|
|2.8.12+,app-vue|基础库 2.11.1+|√|√|√|√|√|x|√|x|
|App|HarmonyOS|微信小程序|H5|支付宝小程序|qq小程序|百度小程序|抖音小程序|飞书小程序|360小程序|快应用|
|:-|:-|:-|:-|:-|:-|:-|:-|:-|:-|:-|
|2.8.12+,app-vue|x|基础库 2.11.1+|√|√|√|√|√|x|√|x|
注意:支付宝小程序、qq小程序、百度小程序、抖音小程序,暂不支持监听屏幕动态改变,即只执行一次媒体查询。
### MediaQueryObserver 对象的方法列表
## MediaQueryObserver 对象的方法列表
>tips: 和 UI 相关的 api 在组件 mounted 后执行
......@@ -42,7 +42,7 @@ MediaQueryObserver 对象,用于监听页面 media query 状态的变化,如
|:-|:-|:-|
|matches|boolean|页面的当前状态是否满足所指定的 media query|
### 代码示例
## 代码示例
以下示例代码,推荐使用HBuilderX,新建uni-app项目,可直接体验完整示例。
......@@ -71,7 +71,7 @@ MediaQueryObserver 对象,用于监听页面 media query 状态的变化,如
onLoad() {
},
// 和 UI 相关的 api 在组件 mountd 后执行
mounted() {
this.testMediaQueryObserver()
......
此差异已折叠。
......@@ -2,6 +2,8 @@
返回一个 `SelectorQuery` 对象实例。可以在这个实例上使用 `select` 等方法选择节点,并使用 `boundingClientRect` 等方法选择需要查询的信息。
<!-- UNIAPPAPIJSON.createSelectorQuery.compatibility -->
**Tips:**
- 使用 `uni.createSelectorQuery()` 需要在生命周期 `mounted` 后进行调用。
......@@ -231,3 +233,5 @@ view
};
</script>
```
<!-- UNIAPPAPIJSON.createSelectorQuery.returnValue -->
此差异已折叠。
### onPullDownRefresh
## onPullDownRefresh
在 js 中定义 onPullDownRefresh 处理函数(和onLoad等生命周期函数同级),监听该页面用户下拉刷新事件。
- 需要在 ``pages.json`` 里,找到的当前页面的pages节点,并在 ``style`` 选项中开启 ``enablePullDownRefresh``
- 当处理完数据刷新后,``uni.stopPullDownRefresh`` 可以停止当前页面的下拉刷新。
### uni.startPullDownRefresh(OBJECT)
## uni.startPullDownRefresh(OBJECT)
开始下拉刷新,调用后触发下拉刷新动画,效果与用户手动下拉刷新一致。
<!-- UNIAPPAPIJSON.startPullDownRefresh.compatibility -->
**OBJECT 参数说明**
|参数名|类型|必填|说明|
......@@ -21,9 +23,13 @@
|:-|:-|:-|
|errMsg|String|接口调用结果|
### uni.stopPullDownRefresh()
<!-- UNIAPPAPIJSON.startPullDownRefresh.tutorial -->
## uni.stopPullDownRefresh()
停止当前页面下拉刷新。
<!-- UNIAPPAPIJSON.stopPullDownRefresh.compatibility -->
**示例**
pages.json
......@@ -77,7 +83,10 @@ export default {
- 支付宝小程序```startPullDownRefresh```请使用真机调试(非真机预览)
- 后续支付宝小程序开发工具更新可能会有所修改
### FAQ
<!-- UNIAPPAPIJSON.stopPullDownRefresh.tutorial -->
## FAQ
Q:如何暂时禁用掉下拉刷新,待需要的时候再重新开启?
A:`App` 平台下可以处理此类场景,详细参考:[uni-app 中实现动态禁用/开启下拉刷新](https://ask.dcloud.net.cn/article/35134)
......
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册