diff --git a/docs/apis/ai/visionkit/VKBodyAnchor.md b/docs/apis/ai/visionkit/VKBodyAnchor.md
new file mode 100644
index 000000000000..3d8f57a59418
--- /dev/null
+++ b/docs/apis/ai/visionkit/VKBodyAnchor.md
@@ -0,0 +1,66 @@
+---
+title: VKBodyAnchor
+sidebar_label: VKBodyAnchor
+---
+
+人体 anchor
+
+支持情况:
+
+> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKBodyAnchor.html)
+
+## 方法
+
+| 参数 | 类型 | 说明 |
+| --- | --- | --- |
+| id | `number` | 唯一标识 |
+| type | `5` | 类型 |
+| detectId | `number` | 识别序号 |
+| size | `ISize` | 相对视窗的尺寸,取值范围为 [0, 1],0 为左/上边缘,1 为右/下边缘 |
+| origin | `IOrigin` | 相对视窗的位置信息,取值范围为 [0, 1],0 为左/上边缘,1 为右/下边缘 |
+| confidence | `number[]` | 关键点的置信度 |
+| points | `IPoint[]` | 关键点 |
+| score | `number` | 总体置信值 |
+
+## 参数
+
+### IType
+
+类型
+
+| 参数 | 说明 |
+| --- | --- |
+| 5 | 人体 |
+
+### ISize
+
+相对视窗的尺寸
+
+| 参数 | 类型 | 说明 |
+| --- | --- | --- |
+| width | `number` | 宽度 |
+| height | `number` | 高度 |
+
+### IOrigin
+
+相对视窗的位置信息
+
+| 参数 | 类型 | 说明 |
+| --- | --- | --- |
+| x | `number` | 横坐标 |
+| y | `number` | 纵坐标 |
+
+### IPoint
+
+关键点
+
+| 参数 | 类型 | 说明 |
+| --- | --- | --- |
+| x | `number` | 横坐标 |
+| y | `number` | 纵坐标 |
+
+## API 支持度
+
+| API | 微信小程序 | H5 | React Native | Harmony |
+| :---: | :---: | :---: | :---: | :---: |
+| VKBodyAnchor | ✔️ | | | |
diff --git a/docs/apis/ai/visionkit/VKDepthAnchor.md b/docs/apis/ai/visionkit/VKDepthAnchor.md
new file mode 100644
index 000000000000..701cc8ce5678
--- /dev/null
+++ b/docs/apis/ai/visionkit/VKDepthAnchor.md
@@ -0,0 +1,44 @@
+---
+title: VKDepthAnchor
+sidebar_label: VKDepthAnchor
+---
+
+depth anchor
+
+支持情况:
+
+> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKDepthAnchor.html)
+
+## 方法
+
+| 参数 | 类型 | 说明 |
+| --- | --- | --- |
+| id | `number` | 唯一标识 |
+| type | `8` | 类型 |
+| size | `ISize` | 相对视窗的尺寸,取值范围为 [0, 1],0 为左/上边缘,1 为右/下边缘 |
+| depthArray | `number[]` | 包含深度信息的数组 |
+
+## 参数
+
+### IType
+
+类型
+
+| 参数 | 说明 |
+| --- | --- |
+| 8 | DEPTH |
+
+### ISize
+
+相对视窗的尺寸
+
+| 参数 | 类型 | 说明 |
+| --- | --- | --- |
+| width | `number` | 宽度 |
+| height | `number` | 高度 |
+
+## API 支持度
+
+| API | 微信小程序 | H5 | React Native | Harmony |
+| :---: | :---: | :---: | :---: | :---: |
+| VKDepthAnchor | ✔️ | | | |
diff --git a/docs/apis/ai/visionkit/VKFaceAnchor.md b/docs/apis/ai/visionkit/VKFaceAnchor.md
new file mode 100644
index 000000000000..09d4bc44e7c9
--- /dev/null
+++ b/docs/apis/ai/visionkit/VKFaceAnchor.md
@@ -0,0 +1,66 @@
+---
+title: VKFaceAnchor
+sidebar_label: VKFaceAnchor
+---
+
+人脸 anchor
+
+支持情况:
+
+> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKFaceAnchor.html)
+
+## 方法
+
+| 参数 | 类型 | 说明 |
+| --- | --- | --- |
+| id | `number` | 唯一标识 |
+| type | `3` | 类型 |
+| detectId | `number` | 识别序号 |
+| origin | `IOrigin` | 相对视窗的位置信息,取值范围为 [0, 1],0 为左/上边缘,1 为右/下边缘 |
+| size | `ISize` | 相对视窗的尺寸,取值范围为 [0, 1],0 为左/上边缘,1 为右/下边缘 |
+| points | `IPoint[]` | 人脸 106 个关键点的坐标 |
+| angle | `number[]` | 人脸角度信息 |
+| confidence | `number` | 关键点的置信度 |
+
+## 参数
+
+### IType
+
+类型
+
+| 参数 | 说明 |
+| --- | --- |
+| 3 | 人脸 |
+
+### ISize
+
+相对视窗的尺寸
+
+| 参数 | 类型 | 说明 |
+| --- | --- | --- |
+| width | `number` | 宽度 |
+| height | `number` | 高度 |
+
+### IOrigin
+
+相对视窗的位置信息
+
+| 参数 | 类型 | 说明 |
+| --- | --- | --- |
+| x | `number` | 横坐标 |
+| y | `number` | 纵坐标 |
+
+### IPoint
+
+关键点
+
+| 参数 | 类型 | 说明 |
+| --- | --- | --- |
+| x | `number` | 横坐标 |
+| y | `number` | 纵坐标 |
+
+## API 支持度
+
+| API | 微信小程序 | H5 | React Native | Harmony |
+| :---: | :---: | :---: | :---: | :---: |
+| VKFaceAnchor | ✔️ | | | |
diff --git a/docs/apis/ai/visionkit/VKFrame.md b/docs/apis/ai/visionkit/VKFrame.md
index a3caa5bccbeb..d9ae075d9603 100644
--- a/docs/apis/ai/visionkit/VKFrame.md
+++ b/docs/apis/ai/visionkit/VKFrame.md
@@ -25,13 +25,32 @@ vision kit 会话对象
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKFrame.getCameraTexture.html)
```tsx
-(ctx: WebGLRenderingContext) => getCameraTextureResult
+(ctx: WebGLRenderingContext) => IGetCameraTextureResult
```
| 参数 | 类型 |
| --- | --- |
| ctx | `WebGLRenderingContext` |
+### getCameraBuffer
+
+获取当前帧 rgba buffer。iOS 端微信在 v8.0.20 开始支持,安卓端微信在 v8.0.30 开始支持。
+按 aspect-fill 规则裁剪,此接口要求在创建 VKSession 对象时必须传入 gl 参数。
+此接口仅建议拿来做帧分析使用,上屏请使用 getCameraTexture 来代替。
+
+支持情况:
+
+> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKFrame.getCameraBuffer.html)
+
+```tsx
+(widht: number, height: number) => ArrayBuffer
+```
+
+| 参数 | 类型 |
+| --- | --- |
+| widht | `number` |
+| height | `number` |
+
### getDisplayTransform
获取纹理调整矩阵。默认获取到的纹理是未经裁剪调整的纹理,此矩阵可用于在着色器中根据帧对象尺寸对纹理进行裁剪
@@ -46,7 +65,7 @@ vision kit 会话对象
## 参数
-### getCameraTextureResult
+### IGetCameraTextureResult
帧纹理对象
@@ -61,4 +80,5 @@ vision kit 会话对象
| :---: | :---: | :---: | :---: | :---: |
| VKFrame | ✔️ | | | |
| VKFrame.getCameraTexture | ✔️ | | | |
+| VKFrame.getCameraBuffer | ✔️ | | | |
| VKFrame.getDisplayTransform | ✔️ | | | |
diff --git a/docs/apis/ai/visionkit/VKHandAnchor.md b/docs/apis/ai/visionkit/VKHandAnchor.md
new file mode 100644
index 000000000000..f19616fa19d9
--- /dev/null
+++ b/docs/apis/ai/visionkit/VKHandAnchor.md
@@ -0,0 +1,93 @@
+---
+title: VKHandAnchor
+sidebar_label: VKHandAnchor
+---
+
+手势 anchor
+
+支持情况:
+
+> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKHandAnchor.html)
+
+## 方法
+
+| 参数 | 类型 | 说明 |
+| --- | --- | --- |
+| id | `number` | 唯一标识 |
+| type | `7` | 类型 |
+| detectId | `number` | 识别序号 |
+| size | `ISize` | 相对视窗的尺寸,取值范围为 [0, 1],0 为左/上边缘,1 为右/下边缘 |
+| origin | `IOrigin` | 相对视窗的位置信息,取值范围为 [0, 1],0 为左/上边缘,1 为右/下边缘 |
+| confidence | `number[]` | 关键点的置信度 |
+| points | `IPoint[]` | 关键点 |
+| score | `number` | 总体置信值 |
+| gesture | keyof IGesture or -1 | 手势分类, 返回整数 -1 到 18, -1 表示无效手势 |
+
+## 参数
+
+### IType
+
+类型
+
+| 参数 | 说明 |
+| --- | --- |
+| 7 | 手势 |
+
+### ISize
+
+相对视窗的尺寸
+
+| 参数 | 类型 | 说明 |
+| --- | --- | --- |
+| width | `number` | 宽度 |
+| height | `number` | 高度 |
+
+### IOrigin
+
+相对视窗的位置信息
+
+| 参数 | 类型 | 说明 |
+| --- | --- | --- |
+| x | `number` | 横坐标 |
+| y | `number` | 纵坐标 |
+
+### IPoint
+
+关键点
+
+| 参数 | 类型 | 说明 |
+| --- | --- | --- |
+| x | `number` | 横坐标 |
+| y | `number` | 纵坐标 |
+
+### IGesture
+
+手势分类
+
+| 参数 | 说明 |
+| --- | --- |
+| 0 | 单手比心 |
+| 1 | 布(数字5) |
+| 2 | 剪刀(数字2) |
+| 3 | 握拳 |
+| 4 | 数字1 |
+| 5 | 热爱 |
+| 6 | 点赞 |
+| 7 | 数字3 |
+| 8 | 摇滚 |
+| 9 | 数字6 |
+| 10 | 数字8 |
+| 11 | 双手抱拳(恭喜发财) |
+| 12 | 数字4 |
+| 13 | 比ok |
+| 14 | 不喜欢(踩) |
+| 15 | 双手比心 |
+| 16 | 祈祷(双手合十) |
+| 17 | 双手抱拳 |
+| 18 | 无手势动作 |
+
+## API 支持度
+
+| API | 微信小程序 | H5 | React Native | Harmony |
+| :---: | :---: | :---: | :---: | :---: |
+| VKHandAnchor | ✔️ | | | |
diff --git a/docs/apis/ai/visionkit/VKMarkerAnchor.md b/docs/apis/ai/visionkit/VKMarkerAnchor.md
new file mode 100644
index 000000000000..dcf1a20a161e
--- /dev/null
+++ b/docs/apis/ai/visionkit/VKMarkerAnchor.md
@@ -0,0 +1,36 @@
+---
+title: VKMarkerAnchor
+sidebar_label: VKMarkerAnchor
+---
+
+marker anchor
+
+支持情况:
+
+> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKMarkerAnchor.html)
+
+## 方法
+
+| 参数 | 类型 | 说明 |
+| --- | --- | --- |
+| id | `number` | 唯一标识 |
+| type | `1` | 类型 |
+| transform | `Float32Array` | 包含位置、旋转、放缩信息的矩阵,以列为主序 |
+| markerId | `number` | marker id |
+| path | `string` | 图片路径 |
+
+## 参数
+
+### IType
+
+类型
+
+| 参数 | 说明 |
+| --- | --- |
+| 1 | marker |
+
+## API 支持度
+
+| API | 微信小程序 | H5 | React Native | Harmony |
+| :---: | :---: | :---: | :---: | :---: |
+| VKMarkerAnchor | ✔️ | | | |
diff --git a/docs/apis/ai/visionkit/VKOCRAnchor.md b/docs/apis/ai/visionkit/VKOCRAnchor.md
new file mode 100644
index 000000000000..184694c57878
--- /dev/null
+++ b/docs/apis/ai/visionkit/VKOCRAnchor.md
@@ -0,0 +1,34 @@
+---
+title: VKOCRAnchor
+sidebar_label: VKOCRAnchor
+---
+
+OCR anchor
+
+支持情况:
+
+> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKOCRAnchor.html)
+
+## 方法
+
+| 参数 | 类型 | 说明 |
+| --- | --- | --- |
+| id | `number` | 唯一标识 |
+| type | `6` | 类型 |
+| text | `string` | 识别的文字结果 |
+
+## 参数
+
+### IType
+
+类型
+
+| 参数 | 说明 |
+| --- | --- |
+| 6 | OCR |
+
+## API 支持度
+
+| API | 微信小程序 | H5 | React Native | Harmony |
+| :---: | :---: | :---: | :---: | :---: |
+| VKOCRAnchor | ✔️ | | | |
diff --git a/docs/apis/ai/visionkit/VKOSDAnchor.md b/docs/apis/ai/visionkit/VKOSDAnchor.md
new file mode 100644
index 000000000000..2262986e8d21
--- /dev/null
+++ b/docs/apis/ai/visionkit/VKOSDAnchor.md
@@ -0,0 +1,55 @@
+---
+title: VKOSDAnchor
+sidebar_label: VKOSDAnchor
+---
+
+OSD anchor
+
+支持情况:
+
+> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKOSDAnchor.html)
+
+## 方法
+
+| 参数 | 类型 | 说明 |
+| --- | --- | --- |
+| id | `number` | 唯一标识 |
+| type | `2` | 类型 |
+| markerId | `number` | marker id |
+| size | `ISize` | 相对视窗的尺寸,取值范围为 [0, 1],0 为左/上边缘,1 为右/下边缘 |
+| path | `string` | 图片路径 |
+| origin | `IOrigin` | 相对视窗的位置信息,取值范围为 [0, 1],0 为左/上边缘,1 为右/下边缘 |
+
+## 参数
+
+### IType
+
+类型
+
+| 参数 | 说明 |
+| --- | --- |
+| 2 | OSD |
+
+### ISize
+
+相对视窗的尺寸
+
+| 参数 | 类型 | 说明 |
+| --- | --- | --- |
+| width | `number` | 宽度 |
+| height | `number` | 高度 |
+
+### IOrigin
+
+相对视窗的位置信息
+
+| 参数 | 类型 | 说明 |
+| --- | --- | --- |
+| x | `number` | 横坐标 |
+| y | `number` | 纵坐标 |
+
+## API 支持度
+
+| API | 微信小程序 | H5 | React Native | Harmony |
+| :---: | :---: | :---: | :---: | :---: |
+| VKOSDAnchor | ✔️ | | | |
diff --git a/docs/apis/ai/visionkit/VKPlaneAnchor.md b/docs/apis/ai/visionkit/VKPlaneAnchor.md
new file mode 100644
index 000000000000..70fcb21498e1
--- /dev/null
+++ b/docs/apis/ai/visionkit/VKPlaneAnchor.md
@@ -0,0 +1,45 @@
+---
+title: VKPlaneAnchor
+sidebar_label: VKPlaneAnchor
+---
+
+平面 anchor,只有 v2 版本支持
+
+支持情况:
+
+> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKPlaneAnchor.html)
+
+## 方法
+
+| 参数 | 类型 | 说明 |
+| --- | --- | --- |
+| id | `number` | 唯一标识 |
+| type | `0` | 类型 |
+| transform | `Float32Array` | 包含位置、旋转、放缩信息的矩阵,以列为主序 |
+| size | `ISize` | 尺寸 |
+| alignment | `number` | 方向 |
+
+## 参数
+
+### IType
+
+类型
+
+| 参数 | 说明 |
+| --- | --- |
+| 0 | 平面 |
+
+### ISize
+
+相对视窗的尺寸
+
+| 参数 | 类型 | 说明 |
+| --- | --- | --- |
+| width | `number` | 宽度 |
+| height | `number` | 高度 |
+
+## API 支持度
+
+| API | 微信小程序 | H5 | React Native | Harmony |
+| :---: | :---: | :---: | :---: | :---: |
+| VKPlaneAnchor | ✔️ | | | |
diff --git a/docs/apis/ai/visionkit/VKSession.md b/docs/apis/ai/visionkit/VKSession.md
index 64bd189974ed..e06e8549f380 100644
--- a/docs/apis/ai/visionkit/VKSession.md
+++ b/docs/apis/ai/visionkit/VKSession.md
@@ -13,9 +13,41 @@ vision kit 会话对象
| 参数 | 类型 | 说明 |
| --- | --- | --- |
-| state | `keyof State` | 会话状态 |
-| config | `Config` | 会话配置 |
-| cameraSize | `Size` | 相机尺寸 |
+| state | `keyof IState` | 会话状态 |
+| config | `IConfig` | 会话配置 |
+| cameraSize | `ISize` | 相机尺寸 |
+
+### addMarker
+
+添加一个 marker,要求调 Taro.createVKSession 时传入的 track.marker 为 true
+
+支持情况:
+
+> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.addMarker.html)
+
+```tsx
+(path: string) => number
+```
+
+| 参数 | 类型 | 说明 |
+| --- | --- | --- |
+| path | `string` | 图片路径,目前只支持本地用户图片 |
+
+### addOSDMarker
+
+添加一个 OSD marker(one-shot detection marker),要求调 Taro.createVKSession 时传入的 track.OSD 为 true
+
+支持情况:
+
+> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.addOSDMarker.html)
+
+```tsx
+(path: string) => number
+```
+
+| 参数 | 类型 | 说明 |
+| --- | --- | --- |
+| path | `string` | 图片路径,目前只支持本地用户图片 |
### cancelAnimationFrame
@@ -45,6 +77,94 @@ vision kit 会话对象
() => void
```
+### detectBody
+
+静态图像人体关键点检测。当 Taro.createVKSession 参数传入 {track: {body: {mode: 2} } } 时可用。
+
+支持情况:
+
+> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.detectBody.html)
+
+```tsx
+(option: IDetectBodyOption) => void
+```
+
+| 参数 | 类型 |
+| --- | --- |
+| option | `IDetectBodyOption` |
+
+### detectDepth
+
+深度识别。当 Taro.createVKSession 参数传入 {track: {depth: {mode: 2} } } 时可用。
+
+支持情况:
+
+> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.detectDepth.html)
+
+```tsx
+(option: IDetectDepthOption) => void
+```
+
+| 参数 | 类型 |
+| --- | --- |
+| option | `IDetectDepthOption` |
+
+### detectFace
+
+静态图像人脸关键点检测。当 Taro.createVKSession 参数传入 {track: {face: {mode: 2} } } 时可用。安卓微信8.0.25开始支持,iOS微信8.0.24开始支持。
+
+支持情况:
+
+> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.detectFace.html)
+
+```tsx
+(option: IDetectFaceOption) => void
+```
+
+| 参数 | 类型 |
+| --- | --- |
+| option | `IDetectFaceOption` |
+
+### detectHand
+
+静态图像手势关键点检测。当 Taro.createVKSession 参数传入 {track: {hand: {mode: 2} } } 时可用。
+
+支持情况:
+
+> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.detectHand.html)
+
+```tsx
+(option: IDetectHandOption) => void
+```
+
+| 参数 | 类型 |
+| --- | --- |
+| option | `IDetectHandOption` |
+
+### getAllMarker
+
+获取所有 marker,要求调 Taro.createVKSession 时传入的 track.marker 为 true
+
+支持情况:
+
+> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.getAllMarker.html)
+
+```tsx
+() => IMarker[]
+```
+
+### getAllOSDMarker
+
+获取所有 OSD marker,要求调 Taro.createVKSession 时传入的 track.OSD 为 true
+
+支持情况:
+
+> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.getAllOSDMarker.html)
+
+```tsx
+() => IOSDMarker[]
+```
+
### getVKFrame
获取帧对象,每调用一次都会触发一次帧分析过程
@@ -73,7 +193,7 @@ vision kit 会话对象
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.hitTest.html)
```tsx
-(x: number, y: number, reset?: boolean) => hitTestResult[]
+(x: number, y: number, reset?: boolean) => IHitTestResult[]
```
| 参数 | 类型 | 说明 |
@@ -91,13 +211,13 @@ vision kit 会话对象
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.off.html)
```tsx
-(eventName: string, fn: Function) => void
+(eventName: string, fn: TaroGeneral.EventCallback) => void
```
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| eventName | `string` | 事件名称 |
-| fn | `Function` | 事件监听函数 |
+| fn | `TaroGeneral.EventCallback` | 事件监听函数 |
### on
@@ -108,13 +228,45 @@ vision kit 会话对象
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.on.html)
```tsx
-(eventName: string, fn: Function) => void
+(eventName: string, fn: TaroGeneral.EventCallback) => void
```
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| eventName | `string` | 事件名称 |
-| fn | `Function` | 事件监听函数 |
+| fn | `TaroGeneral.EventCallback` | 事件监听函数 |
+
+### removeMarker
+
+删除一个 marker,要求调 Taro.createVKSession 时传入的 track.marker 为 true
+
+支持情况:
+
+> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.removeMarker.html)
+
+```tsx
+(markerId: number) => number
+```
+
+| 参数 | 类型 | 说明 |
+| --- | --- | --- |
+| markerId | `number` | marker id |
+
+### removeOSDMarker
+
+删除一个 OSD marker,要求调 Taro.createVKSession 时传入的 track.OSD 为 true
+
+支持情况:
+
+> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.removeOSDMarker.html)
+
+```tsx
+(markerId: number) => number
+```
+
+| 参数 | 类型 | 说明 |
+| --- | --- | --- |
+| markerId | `number` | marker id |
### requestAnimationFrame
@@ -125,12 +277,28 @@ vision kit 会话对象
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.requestAnimationFrame.html)
```tsx
-(callback: Function) => number
+(callback: TaroGeneral.TFunc) => number
```
| 参数 | 类型 | 说明 |
| --- | --- | --- |
-| callback | `Function` | 执行函数 |
+| callback | `TaroGeneral.TFunc` | 执行函数 |
+
+### runOCR
+
+静态图像 OCR 检测。当 Taro.createVKSession 参数传入 {track: {OCR: {mode: 2} } } 时可用。
+
+支持情况:
+
+> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.runOCR.html)
+
+```tsx
+(option: IRunOCROption) => void
+```
+
+| 参数 | 类型 |
+| --- | --- |
+| option | `IRunOCROption` |
### start
@@ -141,12 +309,12 @@ vision kit 会话对象
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.start.html)
```tsx
-(callback: (status: keyof StartStatus) => void) => void
+(callback: (status: keyof IStartStatus) => void) => void
```
| 参数 | 类型 | 说明 |
| --- | --- | --- |
-| callback | `(status: keyof StartStatus) => void` | 开启会话回调 |
+| callback | `(status: keyof IStartStatus) => void` | 开启会话回调 |
### stop
@@ -160,9 +328,41 @@ vision kit 会话对象
() => void
```
+### update3DMode
+
+开启 3D 模式
+
+支持情况:
+
+> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.update3DMode.html)
+
+```tsx
+(open3d: boolean) => void
+```
+
+| 参数 | 类型 | 说明 |
+| --- | --- | --- |
+| open3d | `boolean` | 是否开启 |
+
+### updateOSDThreshold
+
+更新 OSD 识别精确度,要求调 Taro.createVKSession 时传入的 track.OSD 为 true
+
+支持情况:
+
+> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.updateOSDThreshold.html)
+
+```tsx
+(threshold: number) => void
+```
+
+| 参数 | 类型 | 说明 |
+| --- | --- | --- |
+| threshold | `number` | 阈值 |
+
## 参数
-### State
+### IState
state 的合法值
@@ -171,17 +371,27 @@ state 的合法值
| 0 | 不可用 |
| 1 | 运行中 |
| 2 | 暂停中 |
+| 3 | 初始化中 |
-### Config
+### IConfig
会话配置
| 参数 | 类型 | 说明 |
| --- | --- | --- |
-| version | `keyof version` | 不可用 |
-| track | `track` | 运行中 |
-
-### version
+| version | `keyof IVersion` | 不可用 |
+| track | `ITrack` | 运行中 |
+| marker | `boolean` | marker 跟踪配置,基础库(3.0.0)开始允许同时支持v2的水平面检测能力 |
+| OSD | `boolean` | OSD 跟踪配置 |
+| depth | `IDepth` | 深度识别配置 |
+| face | `IFace` | 人脸检测配置。安卓微信8.0.25开始支持,iOS微信8.0.24开始支持。 |
+| OCR | `IOCR` | OCR 检测配置。 |
+| body | `IBody` | 人体检测配置。 |
+| hand | `IHand` | 手势检测配置。 |
+| threeDof | `boolean` | 提供基础AR功能,输出相机旋转的3个自由度的位姿,利用手机陀螺仪传感器,实现快速稳定的AR定位能力,适用于简单AR场景。 |
+| gl | `WebGLRenderingContext` | 绑定的 WebGLRenderingContext 对象 |
+
+### IVersion
vision kit 版本
@@ -190,23 +400,23 @@ vision kit 版本
| v1 | 旧版本 |
| v2 | v2 版本,目前只有 iOS 基础库 2.22.0 以上支持 |
-### track
+### ITrack
跟踪配置
| 参数 | 类型 | 说明 |
| --- | --- | --- |
-| plane | `plane` | 平面跟踪配置 |
+| plane | `IPlane` | 平面跟踪配置 |
-### plane
+### IPlane
平面跟踪配置
| 参数 | 类型 | 说明 |
| --- | --- | --- |
-| mode | `keyof PlaneMode` | 平面跟踪配置模式 |
+| mode | `keyof IPlaneMode` | 平面跟踪配置模式 |
-### PlaneMode
+### IPlaneMode
平面跟踪配置模式合法值
@@ -216,7 +426,92 @@ vision kit 版本
| 2 | 检测纵向平面,只有 v2 版本支持 |
| 3 | 检测横向和纵向平面,只有 v2 版本支持 |
-### Size
+### IDepth
+
+深度识别配置
+
+| 参数 | 类型 |
+| --- | --- |
+| mode | `keyof IDepthMode` |
+
+### IDepthMode
+
+深度识别模式
+
+| 参数 | 说明 |
+| --- | --- |
+| 1 | 通过摄像头实时检测 |
+| 2 | 静态图片检测 |
+
+### IFace
+
+人脸检测模式
+
+| 参数 | 类型 |
+| --- | --- |
+| mode | `keyof IFaceMode` |
+
+### IFaceMode
+
+人脸检测模式
+
+| 参数 | 说明 |
+| --- | --- |
+| 1 | 通过摄像头实时检测 |
+| 2 | 静态图片检测 |
+
+### IOCR
+
+OCR 检测配置
+
+| 参数 | 类型 |
+| --- | --- |
+| mode | `keyof IOCRMode` |
+
+### IOCRMode
+
+OCR 检测模式
+
+| 参数 | 说明 |
+| --- | --- |
+| 1 | 通过摄像头实时检测 |
+| 2 | 静态图片检测 |
+
+### IBody
+
+人体检测模式
+
+| 参数 | 类型 |
+| --- | --- |
+| mode | `keyof IBodyMode` |
+
+### IBodyMode
+
+人体检测模式
+
+| 参数 | 说明 |
+| --- | --- |
+| 1 | 通过摄像头实时检测 |
+| 2 | 静态图片检测 |
+
+### IHand
+
+手势检测配置
+
+| 参数 | 类型 |
+| --- | --- |
+| mode | `keyof IHandMode` |
+
+### IHandMode
+
+手势检测模式
+
+| 参数 | 说明 |
+| --- | --- |
+| 1 | 通过摄像头实时检测 |
+| 2 | 静态图片检测 |
+
+### ISize
相机尺寸
@@ -225,7 +520,99 @@ vision kit 版本
| width | `number` | 宽度 |
| height | `number` | 高度 |
-### hitTestResult
+### IDetectBodyOption
+
+| 参数 | 类型 | 必填 | 说明 |
+| --- | --- | :---: | --- |
+| frameBuffer | `ArrayBuffer` | 是 | 人脸图像像素点数据,每四项表示一个像素点的 RGBA |
+| width | `number` | 是 | 图像宽度 |
+| height | `number` | 是 | 图像高度 |
+| scoreThreshold | `number` | 否 | 评分阈值。正常情况传入 0.8 即可。默认值 0.8 |
+| sourceType | `keyof ISourceType` | 否 | 图像源类型。正常情况传入 1 即可。当输入的图片是来自一个连续视频的每一帧图像时,sourceType 传入 0 会得到更优的效果。默认值1 |
+
+### ISourceType
+
+图像源类型。
+
+| 参数 | 说明 |
+| --- | --- |
+| 1 | 表示输入的图片是随机的图片 |
+| 0 | 表示输入的图片是来自一个连续视频的每一帧图像 |
+
+### IDetectDepthOption
+
+| 参数 | 类型 | 说明 |
+| --- | --- | --- |
+| frameBuffer | `ArrayBuffer` | 人需要识别深度的图像像素点数据,每四项表示一个像素点的 RGBA |
+| width | `number` | 图像宽度 |
+| height | `number` | 图像高度 |
+
+### IDetectFaceOption
+
+| 参数 | 类型 | 必填 | 说明 |
+| --- | --- | :---: | --- |
+| frameBuffer | `ArrayBuffer` | 是 | 人脸图像像素点数据,每四项表示一个像素点的 RGBA |
+| width | `number` | 是 | 图像宽度 |
+| height | `number` | 是 | 图像高度 |
+| scoreThreshold | `number` | 否 | 评分阈值。正常情况传入 0.8 即可。默认值 0.8 |
+| sourceType | `keyof ISourceType` | 否 | 图像源类型。正常情况传入 1 即可。当输入的图片是来自一个连续视频的每一帧图像时,sourceType 传入 0 会得到更优的效果。默认值1 |
+| modelModel | `keyof IModelModel` | 否 | 算法模型类型。正常情况传入 1 即可。0、1、2 分别表示小、中、大模型,模型越大识别准确率越高,但资源占用也越高。建议根据用户设备性能进行选择。 |
+
+### IModelModel
+
+算法模型类型
+
+| 参数 | 说明 |
+| --- | --- |
+| 0 | 小模型 |
+| 1 | 中模型 |
+| 2 | 大模型 |
+
+### IDetectHandOption
+
+| 参数 | 类型 | 必填 | 说明 |
+| --- | --- | :---: | --- |
+| frameBuffer | `ArrayBuffer` | 是 | 人脸图像像素点数据,每四项表示一个像素点的 RGBA |
+| width | `number` | 是 | 图像宽度 |
+| height | `number` | 是 | 图像高度 |
+| scoreThreshold | `number` | 否 | 评分阈值。正常情况传入 0.8 即可。默认值0.8 |
+| algoMode | `keyof IAlgoMode` | 否 | 算法检测模式 |
+
+### IAlgoMode
+
+算法检测模式
+
+| 参数 | 说明 |
+| --- | --- |
+| 0 | 检测模式,输出框和点 |
+| 1 | 手势模式,输出框和手势分类 |
+| 2 | 结合0和1模式,输出框、点、手势分类 |
+
+### IMarker
+
+| 参数 | 类型 | 说明 |
+| --- | --- | --- |
+| markerId | `number` | marker id |
+| path | `string` | 图片路径 |
+
+### IOSDMarker
+
+OSD marker
+
+| 参数 | 类型 | 说明 |
+| --- | --- | --- |
+| markerId | `number` | marker id |
+| path | `string` | 图片路径 |
+
+### IRunOCROption
+
+| 参数 | 类型 | 说明 |
+| --- | --- | --- |
+| frameBuffer | `ArrayBuffer` | 待识别图像的像素点数据,每四项表示一个像素点的 RGBA |
+| width | `number` | 图像宽度 |
+| height | `number` | 图像高度 |
+
+### IHitTestResult
hitTest 检测结果
@@ -233,7 +620,7 @@ hitTest 检测结果
| --- | --- | --- |
| transform | `Float32Array` | 包含位置、旋转、放缩信息的矩阵,以列为主序 |
-### StartStatus
+### IStartStatus
start status 的合法值
@@ -253,12 +640,25 @@ start status 的合法值
| API | 微信小程序 | H5 | React Native | Harmony |
| :---: | :---: | :---: | :---: | :---: |
| VKSession | ✔️ | | | |
+| VKSession.addMarker | ✔️ | | | |
+| VKSession.addOSDMarker | ✔️ | | | |
| VKSession.cancelAnimationFrame | ✔️ | | | |
| VKSession.destroy | ✔️ | | | |
+| VKSession.detectBody | ✔️ | | | |
+| VKSession.detectDepth | ✔️ | | | |
+| VKSession.detectFace | ✔️ | | | |
+| VKSession.detectHand | ✔️ | | | |
+| VKSession.getAllMarker | ✔️ | | | |
+| VKSession.getAllOSDMarker | ✔️ | | | |
| VKSession.getVKFrame | ✔️ | | | |
| VKSession.hitTest | ✔️ | | | |
| VKSession.off | ✔️ | | | |
| VKSession.on | ✔️ | | | |
+| VKSession.removeMarker | ✔️ | | | |
+| VKSession.removeOSDMarker | ✔️ | | | |
| VKSession.requestAnimationFrame | ✔️ | | | |
+| VKSession.runOCR | ✔️ | | | |
| VKSession.start | ✔️ | | | |
| VKSession.stop | ✔️ | | | |
+| VKSession.update3DMode | ✔️ | | | |
+| VKSession.updateOSDThreshold | ✔️ | | | |
diff --git a/docs/apis/ai/visionkit/createVKSession.md b/docs/apis/ai/visionkit/createVKSession.md
index 69b52f3f267e..fa5fa1fb8c28 100644
--- a/docs/apis/ai/visionkit/createVKSession.md
+++ b/docs/apis/ai/visionkit/createVKSession.md
@@ -12,16 +12,16 @@ sidebar_label: createVKSession
## 类型
```tsx
-(version: keyof Version) => VKSession
+(version: keyof IVersion) => VKSession
```
## 参数
| 参数 | 类型 |
| --- | --- |
-| version | `keyof Version` |
+| version | `keyof IVersion` |
-### Version
+### IVersion
vision kit 版本
@@ -30,23 +30,23 @@ vision kit 版本
| v1 | 旧版本 |
| v2 | v2 版本,目前只有 iOS 基础库 2.22.0 以上支持 |
-### Track
+### ITrack
跟踪配置
| 参数 | 类型 | 说明 |
| --- | --- | --- |
-| plane | `Plane` | 平面跟踪配置 |
+| plane | `IPlane` | 平面跟踪配置 |
-### Plane
+### IPlane
平面跟踪配置
| 参数 | 类型 | 说明 |
| --- | --- | --- |
-| mode | `keyof PlaneMode` | 平面跟踪配置模式 |
+| mode | `keyof IPlaneMode` | 平面跟踪配置模式 |
-### PlaneMode
+### IPlaneMode
平面跟踪配置模式合法值
diff --git a/docs/apis/ai/visionkit/isVKSupport.md b/docs/apis/ai/visionkit/isVKSupport.md
index 2a90d529133d..144da2a59213 100644
--- a/docs/apis/ai/visionkit/isVKSupport.md
+++ b/docs/apis/ai/visionkit/isVKSupport.md
@@ -12,16 +12,16 @@ sidebar_label: isVKSupport
## 类型
```tsx
-(version: keyof Version) => boolean
+(version: keyof IVersion) => boolean
```
## 参数
| 参数 | 类型 |
| --- | --- |
-| version | `keyof Version` |
+| version | `keyof IVersion` |
-### Version
+### IVersion
vision kit 版本
diff --git a/docs/apis/base/performance/Performance.md b/docs/apis/base/performance/Performance.md
index 4b54dc1ff4dd..c3f4c49c33b1 100644
--- a/docs/apis/base/performance/Performance.md
+++ b/docs/apis/base/performance/Performance.md
@@ -20,12 +20,12 @@ Performance 对象,用于获取性能数据及创建性能监听器
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/Performance.createObserver.html)
```tsx
-(callback: Function) => PerformanceObserver
+(callback: TaroGeneral.TFunc) => PerformanceObserver
```
| 参数 | 类型 |
| --- | --- |
-| callback | `Function` |
+| callback | `TaroGeneral.TFunc` |
### getEntries
diff --git a/docs/apis/base/performance/preloadAssets.md b/docs/apis/base/performance/preloadAssets.md
index d90380f1d75e..d5055fb15c66 100644
--- a/docs/apis/base/performance/preloadAssets.md
+++ b/docs/apis/base/performance/preloadAssets.md
@@ -39,7 +39,7 @@ sidebar_label: preloadAssets
| 参数 | 类型 | 必填 | 说明 |
| --- | --- | :---: | --- |
-| data | `AssetsObjectType[]` | 是 | |
+| data | `AssetsObject[]` | 是 | |
| complete | `(res: TaroGeneral.CallbackResult) => void` | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
| fail | `(res: TaroGeneral.CallbackResult) => void` | 否 | 接口调用失败的回调函数 |
| success | `(res: TaroGeneral.CallbackResult) => void` | 否 | 接口调用成功的回调函数 |
diff --git a/docs/apis/canvas/Canvas.md b/docs/apis/canvas/Canvas.md
index e3ca90861782..e958966800d4 100644
--- a/docs/apis/canvas/Canvas.md
+++ b/docs/apis/canvas/Canvas.md
@@ -18,7 +18,7 @@ Canvas 实例,可通过 SelectorQuery 获取。
取消由 requestAnimationFrame 添加到计划中的动画帧请求。支持在 2D Canvas 和 WebGL Canvas 下使用, 但不支持混用 2D 和 WebGL 的方法。
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.cancelAnimationFrame.html)
@@ -46,7 +46,7 @@ Canvas 实例,可通过 SelectorQuery 获取。
创建一个图片对象。 支持在 2D Canvas 和 WebGL Canvas 下使用, 但不支持混用 2D 和 WebGL 的方法。
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.createImage.html)
@@ -74,7 +74,7 @@ Canvas 实例,可通过 SelectorQuery 获取。
支持获取 2D 和 WebGL 绘图上下文
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.getContext.html)
@@ -119,14 +119,31 @@ Canvas 实例,可通过 SelectorQuery 获取。
| type | `string` | 图片格式,默认为 image/png |
| encoderOptions | `number` | 在指定图片格式为 image/jpeg 或 image/webp的情况下,可以从 0 到 1 的区间内选择图片的质量。如果超出取值范围,将会使用默认值 0.92。其他参数会被忽略。 |
+### toTempFilePath
+
+把当前画布指定区域保存为图片
+
+支持情况:
+
+> [参考文档](https://opendocs.alipay.com/mini/api/toTempFilePath?pathHash=e79fe218)
+
+```tsx
+(oprion: Option) => void
+```
+
+| 参数 | 类型 |
+| --- | --- |
+| oprion | `Option` |
+
## API 支持度
-| API | 微信小程序 | H5 | React Native | Harmony |
-| :---: | :---: | :---: | :---: | :---: |
-| Canvas.cancelAnimationFrame | ✔️ | | | |
-| Canvas.createImageData | ✔️ | | | |
-| Canvas.createImage | ✔️ | | | |
-| Canvas.createPath2D | ✔️ | | | |
-| Canvas.getContext | ✔️ | | | |
-| Canvas.requestAnimationFrame | ✔️ | | | |
-| Canvas.toDataURL | ✔️ | | | |
+| API | 微信小程序 | 支付宝小程序 | 抖音小程序 | H5 | React Native | Harmony |
+| :---: | :---: | :---: | :---: | :---: | :---: | :---: |
+| Canvas.cancelAnimationFrame | ✔️ | ✔️ | ✔️ | | | |
+| Canvas.createImageData | ✔️ | | | | | |
+| Canvas.createImage | ✔️ | ✔️ | ✔️ | | | |
+| Canvas.createPath2D | ✔️ | | | | | |
+| Canvas.getContext | ✔️ | ✔️ | ✔️ | | | |
+| Canvas.requestAnimationFrame | ✔️ | | | | | |
+| Canvas.toDataURL | ✔️ | | | | | |
+| Canvas.toTempFilePath | | ✔️ | | | | |
diff --git a/docs/apis/canvas/CanvasContext.md b/docs/apis/canvas/CanvasContext.md
index 0d674fb9f38b..f46b7188ae28 100644
--- a/docs/apis/canvas/CanvasContext.md
+++ b/docs/apis/canvas/CanvasContext.md
@@ -39,12 +39,12 @@ canvas 组件的绘图上下文
- 红色: 起始弧度 (0)
- 蓝色: 终止弧度 (1.5 * Math.PI)
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.arc.html)
```tsx
-(x: number, y: number, r: number, sAngle: number, eAngle: number, counterclockwise?: boolean) => void
+(x: number, y: number, r: number, sAngle: number, eAngle: number, counterclockwise?: boolean, anticlockwise?: boolean) => void
```
| 参数 | 类型 | 说明 |
@@ -55,6 +55,7 @@ canvas 组件的绘图上下文
| sAngle | `number` | 起始弧度,单位弧度(在3点钟方向) |
| eAngle | `number` | 终止弧度 |
| counterclockwise | `boolean` | 弧度的方向是否是逆时针 |
+| anticlockwise | `boolean` | 弧度的方向是否是逆时针
API 支持度: tt |
#### 示例代码
@@ -102,7 +103,7 @@ ctx.draw()
根据控制点和半径绘制圆弧路径。
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.arcTo.html)
@@ -125,7 +126,7 @@ ctx.draw()
- 在最开始的时候相当于调用了一次 `beginPath`。
- 同一个路径内的多次 `setFillStyle`、`setStrokeStyle`、`setLineWidth`等设置,以最后一次设置为准。
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.beginPath.html)
@@ -164,7 +165,7 @@ ctx.draw()
- 蓝色:两个控制点(20, 100) (200, 100)
- 绿色:终止点(200, 20)
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.bezierCurveTo.html)
@@ -224,7 +225,7 @@ ctx.draw()
清除画布上在该矩形区域内的内容
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.clearRect.html)
@@ -259,7 +260,7 @@ ctx.draw()
从原始画布中剪切任意形状和尺寸。一旦剪切了某个区域,则所有之后的绘图都会被限制在被剪切的区域内(不能访问画布上的其他区域)。可以在使用 `clip` 方法前通过使用 `save` 方法对当前画布区域进行保存,并在以后的任意时间通过`restore`方法对其进行恢复。
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.clip.html)
@@ -289,7 +290,7 @@ Taro.downloadFile({
关闭一个路径。会连接起点和终点。如果关闭路径后没有调用 `fill` 或者 `stroke` 并开启了新的路径,那之前的路径将不会被渲染。
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.closePath.html)
@@ -335,7 +336,7 @@ ctx.draw()
创建一个圆形的渐变颜色。起点在圆心,终点在圆环。返回的`CanvasGradient`对象需要使用 [CanvasGradient.addColorStop()](/docs/apis/canvas/CanvasGradient#addcolorstop) 来指定渐变点,至少要两个。
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.createCircularGradient.html)
@@ -367,7 +368,7 @@ ctx.draw()
创建一个线性的渐变颜色。返回的`CanvasGradient`对象需要使用 [CanvasGradient.addColorStop()](/docs/apis/canvas/CanvasGradient#addcolorstop) 来指定渐变点,至少要两个。
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.createLinearGradient.html)
@@ -400,7 +401,7 @@ ctx.draw()
对指定的图像创建模式的方法,可在指定的方向上重复元图像
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.createPattern.html)
@@ -417,20 +418,21 @@ ctx.draw()
将之前在绘图上下文中的描述(路径、变形、样式)画到 canvas 中。
-支持情况:
+支持情况:
> H5: 第二次调用 draw 前需要等待上一次 draw 调用结束后再调用,否则新的一次 draw 调用栈不会清空而导致结果异常。
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.draw.html)
```tsx
-(reserve?: boolean, callback?: (...args: any[]) => any) => void | Promise
+(reserve?: boolean, callback?: (...args: any[]) => any, useHardwareAccelerate?: boolean) => void | Promise
```
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| reserve | `boolean` | 本次绘制是否接着上一次绘制。即 reserve 参数为 false,则在本次调用绘制之前 native 层会先清空画布再继续绘制;若 reserve 参数为 true,则保留当前画布上的内容,本次调用 drawCanvas 绘制的内容覆盖在上面,默认 false。 |
| callback | `(...args: any[]) => any` | 绘制完成后执行的回调函数 |
+| useHardwareAccelerate | `boolean` | 是否使用硬件加速
API 支持度: jd |
#### 示例代码
@@ -546,7 +548,7 @@ Taro.chooseImage({
对当前路径中的内容进行填充。默认的填充色为黑色。
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.fill.html)
@@ -596,7 +598,7 @@ ctx.draw()
填充一个矩形。用 [`setFillStyle`](/docs/apis/canvas/CanvasContext#setfillstyle) 设置矩形的填充色,如果没设置默认是黑色。
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.fillRect.html)
@@ -624,7 +626,7 @@ ctx.draw()
在画布上绘制被填充的文本
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.fillText.html)
@@ -653,7 +655,7 @@ ctx.draw()
增加一个新点,然后创建一条从上次指定点到目标点的线。用 `stroke` 方法来画线条
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.lineTo.html)
@@ -679,9 +681,9 @@ ctx.draw()
### measureText
-测量文本尺寸信息。目前仅返回文本宽度。同步接口。
+测量文本尺寸信息。目前仅返回文本宽度(width)。同步接口。
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.measureText.html)
@@ -697,7 +699,7 @@ ctx.draw()
把路径移动到画布中的指定点,不创建线条。用 `stroke` 方法来画线条
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.moveTo.html)
@@ -732,7 +734,7 @@ ctx.draw()
- 蓝色:控制点(20, 100)
- 绿色:终止点(200, 20)
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.quadraticCurveTo.html)
@@ -786,7 +788,7 @@ ctx.draw()
创建一个矩形路径。需要用 [`fill`](/docs/apis/canvas/CanvasContext#fill) 或者 [`stroke`](/docs/apis/canvas/CanvasContext#stroke) 方法将矩形真正的画到 `canvas` 中
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.rect.html)
@@ -811,11 +813,23 @@ ctx.fill()
ctx.draw()
```
+### reset
+
+重置绘图上下文状态
+
+支持情况:
+
+> [参考文档](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/reset)
+
+```tsx
+() => void
+```
+
### restore
恢复之前保存的绘图上下文
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.restore.html)
@@ -841,7 +855,7 @@ ctx.draw()
以原点为中心顺时针旋转当前坐标轴。多次调用旋转的角度会叠加。原点可以用 `translate` 方法修改。
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.rotate.html)
@@ -869,7 +883,7 @@ ctx.draw()
保存绘图上下文。
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.save.html)
@@ -895,7 +909,7 @@ ctx.draw()
在调用后,之后创建的路径其横纵坐标会被缩放。多次调用倍数会相乘。
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.scale.html)
@@ -924,7 +938,7 @@ ctx.draw()
设置填充色。
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setFillStyle.html)
@@ -949,7 +963,7 @@ ctx.draw()
设置字体的字号
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setFontSize.html)
@@ -980,7 +994,7 @@ ctx.draw()
设置全局画笔透明度。
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setGlobalAlpha.html)
@@ -1010,7 +1024,7 @@ ctx.draw()
设置线条的端点样式
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineCap.html)
@@ -1055,7 +1069,7 @@ ctx.draw()
设置虚线样式。
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineDash.html)
@@ -1084,7 +1098,7 @@ ctx.draw()
设置线条的交点样式
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineJoin.html)
@@ -1133,7 +1147,7 @@ ctx.draw()
设置线条的宽度
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineWidth.html)
@@ -1175,7 +1189,7 @@ ctx.draw()
设置最大斜接长度。斜接长度指的是在两条线交汇处内角和外角之间的距离。当 [CanvasContext.setLineJoin()](/docs/apis/canvas/CanvasContext#setlinejoin) 为 miter 时才有效。超过最大倾斜长度的,连接处将以 lineJoin 为 bevel 来显示。
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setMiterLimit.html)
@@ -1230,7 +1244,7 @@ ctx.draw()
设定阴影样式。
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setShadow.html)
@@ -1259,7 +1273,7 @@ ctx.draw()
设置描边颜色。
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setStrokeStyle.html)
@@ -1284,7 +1298,7 @@ ctx.draw()
设置文字的对齐
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setTextAlign.html)
@@ -1307,18 +1321,20 @@ ctx.stroke()
ctx.setFontSize(15)
ctx.setTextAlign('left')
ctx.fillText('textAlign=left', 150, 60)
+await ctx.draw(true)
ctx.setTextAlign('center')
ctx.fillText('textAlign=center', 150, 80)
+await ctx.draw(true)
ctx.setTextAlign('right')
ctx.fillText('textAlign=right', 150, 100)
-ctx.draw()
+await ctx.draw(true)
```
### setTextBaseline
设置文字的竖直对齐
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setTextBaseline.html)
@@ -1341,33 +1357,36 @@ ctx.stroke()
ctx.setFontSize(20)
ctx.setTextBaseline('top')
ctx.fillText('top', 5, 75)
+await ctx.draw(true)
ctx.setTextBaseline('middle')
ctx.fillText('middle', 50, 75)
+await ctx.draw(true)
ctx.setTextBaseline('bottom')
ctx.fillText('bottom', 120, 75)
+await ctx.draw(true)
ctx.setTextBaseline('normal')
ctx.fillText('normal', 200, 75)
-ctx.draw()
+await ctx.draw(true)
```
### setTransform
使用矩阵重新设置(覆盖)当前变换的方法
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setTransform.html)
```tsx
-(scaleX: number, scaleY: number, skewX: number, skewY: number, translateX: number, translateY: number) => void
+{ (scaleX: number, skewX: number, skewY: number, scaleY: number, translateX: number, translateY: number): void; (scaleX: number, skewY: number, skewX: number, scaleY: number, translateX: number, translateY: number): void; (scaleX: number, scaleY: number, skewX: number, skewY: number, translateX: number, translateY: ...
```
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| scaleX | `number` | 水平缩放 |
-| scaleY | `number` | 垂直缩放 |
| skewX | `number` | 水平倾斜 |
| skewY | `number` | 垂直倾斜 |
+| scaleY | `number` | 垂直缩放 |
| translateX | `number` | 水平移动 |
| translateY | `number` | 垂直移动 |
@@ -1375,7 +1394,7 @@ ctx.draw()
画出当前路径的边框。默认颜色色为黑色。
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.stroke.html)
@@ -1423,7 +1442,7 @@ ctx.draw()
画一个矩形(非填充)。 用 [`setStrokeStyle`](/docs/apis/canvas/CanvasContext#setstrokestyle) 设置矩形线条的颜色,如果没设置默认是黑色。
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.strokeRect.html)
@@ -1451,7 +1470,7 @@ ctx.draw()
给定的 (x, y) 位置绘制文本描边的方法
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.strokeText.html)
@@ -1469,21 +1488,22 @@ ctx.draw()
### transform
使用矩阵多次叠加当前变换的方法
+使用矩阵叠加当前变换。矩阵由方法的参数进行描述,可以缩放、旋转、移动和倾斜上下文
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.transform.html)
```tsx
-(scaleX: number, scaleY: number, skewX: number, skewY: number, translateX: number, translateY: number) => void
+{ (scaleX: number, skewX: number, skewY: number, scaleY: number, translateX: number, translateY: number): void; (scaleX: number, skewY: number, skewX: number, scaleY: number, translateX: number, translateY: number): void; (scaleX: number, scaleY: number, skewX: number, skewY: number, translateX: number, translateY: ...
```
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| scaleX | `number` | 水平缩放 |
-| scaleY | `number` | 垂直缩放 |
| skewX | `number` | 水平倾斜 |
| skewY | `number` | 垂直倾斜 |
+| scaleY | `number` | 垂直缩放 |
| translateX | `number` | 水平移动 |
| translateY | `number` | 垂直移动 |
@@ -1491,7 +1511,7 @@ ctx.draw()
对当前坐标系的原点 (0, 0) 进行变换。默认的坐标系原点为页面左上角。
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.translate.html)
@@ -1565,54 +1585,58 @@ ctx.draw()
| 参数 | 说明 |
| --- | --- |
-| top | 顶部对齐 |
-| bottom | 底部对齐 |
-| middle | 居中对齐 |
-| normal | |
+| top | 顶部对齐
API 支持度: weapp, alipay, swan, jd, qq, tt, h5 |
+| bottom | 底部对齐
API 支持度: weapp, alipay, swan, jd, qq, tt, h5 |
+| middle | 居中对齐
API 支持度: weapp, alipay, swan, jd, qq, tt, h5 |
+| normal |
API 支持度: weapp, alipay, swan, jd, qq, tt, h5 |
+| hanging | 文本基线为悬挂基线。
API 支持度: alipay, tt, h5 |
+| alphabetic | 文本基线是标准的字母基线
API 支持度: alipay, tt, h5 |
+| ideographic | 文字基线是表意字基线。如果字符本身超出了alphabetic 基线,那么ideograhpic基线位置在字符本身的底部。
API 支持度: alipay, tt, h5 |
## API 支持度
-| API | 微信小程序 | H5 | React Native | Harmony |
-| :---: | :---: | :---: | :---: | :---: |
-| CanvasContext.arc | ✔️ | ✔️ | | |
-| CanvasContext.arcTo | ✔️ | ✔️ | | |
-| CanvasContext.beginPath | ✔️ | ✔️ | | |
-| CanvasContext.bezierCurveTo | ✔️ | ✔️ | | |
-| CanvasContext.clearRect | ✔️ | ✔️ | | |
-| CanvasContext.clip | ✔️ | ✔️ | | |
-| CanvasContext.closePath | ✔️ | ✔️ | | |
-| CanvasContext.createCircularGradient | ✔️ | ✔️ | | |
-| CanvasContext.createLinearGradient | ✔️ | ✔️ | | |
-| CanvasContext.createPattern | ✔️ | ✔️ | | |
-| CanvasContext.draw | ✔️ | ✔️(第二次调用 draw 前需要等待上一次 draw 调用结束后再调用,否则新的一次 draw 调用栈不会清空而导致结果异常。) | | |
-| CanvasContext.drawImage | ✔️ | ✔️ | | |
-| CanvasContext.fill | ✔️ | ✔️ | | |
-| CanvasContext.fillRect | ✔️ | ✔️ | | |
-| CanvasContext.fillText | ✔️ | ✔️ | | |
-| CanvasContext.lineTo | ✔️ | ✔️ | | |
-| CanvasContext.measureText | ✔️ | ✔️ | | |
-| CanvasContext.moveTo | ✔️ | ✔️ | | |
-| CanvasContext.quadraticCurveTo | ✔️ | ✔️ | | |
-| CanvasContext.rect | ✔️ | ✔️ | | |
-| CanvasContext.restore | ✔️ | ✔️ | | |
-| CanvasContext.rotate | ✔️ | ✔️ | | |
-| CanvasContext.save | ✔️ | ✔️ | | |
-| CanvasContext.scale | ✔️ | ✔️ | | |
-| CanvasContext.setFillStyle | ✔️ | ✔️ | | |
-| CanvasContext.setFontSize | ✔️ | ✔️ | | |
-| CanvasContext.setGlobalAlpha | ✔️ | ✔️ | | |
-| CanvasContext.setLineCap | ✔️ | ✔️ | | |
-| CanvasContext.setLineDash | ✔️ | ✔️ | | |
-| CanvasContext.setLineJoin | ✔️ | ✔️ | | |
-| CanvasContext.setLineWidth | ✔️ | ✔️ | | |
-| CanvasContext.setMiterLimit | ✔️ | ✔️ | | |
-| CanvasContext.setShadow | ✔️ | ✔️ | | |
-| CanvasContext.setStrokeStyle | ✔️ | ✔️ | | |
-| CanvasContext.setTextAlign | ✔️ | ✔️ | | |
-| CanvasContext.setTextBaseline | ✔️ | ✔️ | | |
-| CanvasContext.setTransform | ✔️ | ✔️ | | |
-| CanvasContext.stroke | ✔️ | ✔️ | | |
-| CanvasContext.strokeRect | ✔️ | ✔️ | | |
-| CanvasContext.strokeText | ✔️ | ✔️ | | |
-| CanvasContext.transform | ✔️ | ✔️ | | |
-| CanvasContext.translate | ✔️ | ✔️ | | |
+| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 抖音小程序 | QQ 小程序 | 京东小程序 | H5 | React Native | Harmony |
+| :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
+| CanvasContext.arc | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | |
+| CanvasContext.arcTo | ✔️ | | ✔️ | | ✔️ | ✔️ | ✔️ | | |
+| CanvasContext.beginPath | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | |
+| CanvasContext.bezierCurveTo | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | |
+| CanvasContext.clearRect | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | |
+| CanvasContext.clip | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | |
+| CanvasContext.closePath | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | |
+| CanvasContext.createCircularGradient | ✔️ | ✔️ | ✔️ | | ✔️ | ✔️ | ✔️ | | |
+| CanvasContext.createLinearGradient | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | |
+| CanvasContext.createPattern | ✔️ | | ✔️ | | ✔️ | ✔️ | ✔️ | | |
+| CanvasContext.draw | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️(第二次调用 draw 前需要等待上一次 draw 调用结束后再调用,否则新的一次 draw 调用栈不会清空而导致结果异常。) | | |
+| CanvasContext.drawImage | ✔️ | | | | | | ✔️ | | |
+| CanvasContext.fill | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | |
+| CanvasContext.fillRect | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | |
+| CanvasContext.fillText | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | |
+| CanvasContext.lineTo | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | |
+| CanvasContext.measureText | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | |
+| CanvasContext.moveTo | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | |
+| CanvasContext.quadraticCurveTo | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | |
+| CanvasContext.rect | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | |
+| CanvasContext.reset | | | | | | | ✔️ | | |
+| CanvasContext.restore | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | |
+| CanvasContext.rotate | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | |
+| CanvasContext.save | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | |
+| CanvasContext.scale | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | |
+| CanvasContext.setFillStyle | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | |
+| CanvasContext.setFontSize | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | |
+| CanvasContext.setGlobalAlpha | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | |
+| CanvasContext.setLineCap | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | |
+| CanvasContext.setLineDash | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | |
+| CanvasContext.setLineJoin | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | |
+| CanvasContext.setLineWidth | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | |
+| CanvasContext.setMiterLimit | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | |
+| CanvasContext.setShadow | ✔️ | ✔️ | ✔️ | | ✔️ | ✔️ | ✔️ | | |
+| CanvasContext.setStrokeStyle | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | |
+| CanvasContext.setTextAlign | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | |
+| CanvasContext.setTextBaseline | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | |
+| CanvasContext.setTransform | ✔️ | ✔️ | | ✔️ | | ✔️ | ✔️ | | |
+| CanvasContext.stroke | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | |
+| CanvasContext.strokeRect | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | |
+| CanvasContext.strokeText | ✔️ | ✔️ | ✔️ | | ✔️ | ✔️ | ✔️ | | |
+| CanvasContext.transform | ✔️ | | | ✔️ | | ✔️ | ✔️ | | |
+| CanvasContext.translate | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | |
diff --git a/docs/apis/canvas/CanvasGradient.md b/docs/apis/canvas/CanvasGradient.md
index 74617c8ed14f..d195f96d4b7b 100644
--- a/docs/apis/canvas/CanvasGradient.md
+++ b/docs/apis/canvas/CanvasGradient.md
@@ -15,7 +15,7 @@ sidebar_label: CanvasGradient
添加颜色的渐变点。小于最小 stop 的部分会按最小 stop 的 color 来渲染,大于最大 stop 的部分会按最大 stop 的 color 来渲染
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasGradient.addColorStop.html)
@@ -49,7 +49,7 @@ ctx.draw()
## API 支持度
-| API | 微信小程序 | H5 | React Native | Harmony |
-| :---: | :---: | :---: | :---: | :---: |
-| CanvasGradient | ✔️ | | | |
-| CanvasGradient.addColorStop | ✔️ | | | |
+| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 抖音小程序 | QQ 小程序 | 京东小程序 | H5 | React Native | Harmony |
+| :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
+| CanvasGradient | ✔️ | | | | | | | | |
+| CanvasGradient.addColorStop | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | | |
diff --git a/docs/apis/canvas/Image.md b/docs/apis/canvas/Image.md
index 9fa93b98c31e..a0c37fe15455 100644
--- a/docs/apis/canvas/Image.md
+++ b/docs/apis/canvas/Image.md
@@ -16,7 +16,7 @@ sidebar_label: Image
| src | `string` | 图片的 URL |
| height | `number` | 图片的真实高度 |
| width | `number` | 图片的真实宽度 |
-| referrerPolicy | `string` | origin: 发送完整的referrer; no-referrer: 不发送。
格式固定为 https://servicewechat.com/{appid}/{version}/page-frame.html,其中 {appid} 为小程序的 appid,{version} 为小程序的版本号,版本号为 0 表示为开发版、体验版以及审核版本,版本号为 devtools 表示为开发者工具,其余为正式版本 |
+| referrerPolicy | `string` | origin: 发送完整的referrer; no-referrer: 不发送。
格式固定为 https://servicewechat.com/{appid}/{version}/page-frame.html,其中 {appid} 为小程序的 appid,{version} 为小程序的版本号,版本号为 0 表示为开发版、体验版以及审核版本,版本号为 devtools 表示为开发者工具,其余为正式版本
API 支持度: weapp |
| onerror | `(...args: any[]) => any` | 图片加载发生错误后触发的回调函数 |
| onload | `(...args: any[]) => any` | 图片加载完成后触发的回调函数 |
@@ -25,3 +25,4 @@ sidebar_label: Image
| API | 微信小程序 | H5 | React Native | Harmony |
| :---: | :---: | :---: | :---: | :---: |
| Image | ✔️ | | | |
+| Image.referrerPolicy | ✔️ | | | |
diff --git a/docs/apis/canvas/OffscreenCanvas.md b/docs/apis/canvas/OffscreenCanvas.md
index 8bb6d441d590..ffb742763558 100644
--- a/docs/apis/canvas/OffscreenCanvas.md
+++ b/docs/apis/canvas/OffscreenCanvas.md
@@ -11,6 +11,11 @@ sidebar_label: OffscreenCanvas
## 方法
+| 参数 | 类型 | 说明 |
+| --- | --- | --- |
+| width | `number` | 画布宽度 |
+| height | `number` | 画布高度 |
+
### createImage
创建一个图片对象。支持在 2D Canvas 和 WebGL Canvas 下使用, 但不支持混用 2D 和 WebGL 的方法
@@ -31,22 +36,22 @@ sidebar_label: OffscreenCanvas
> 当前仅支持获取 WebGL 绘图上下文
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/OffscreenCanvas.getContext.html)
```tsx
-(contextType: string) => RenderingContext
+(contextType: "webgl" | "2d") => RenderingContext
```
| 参数 | 类型 |
| --- | --- |
-| contextType | `string` |
+| contextType | "webgl" or "2d" |
## API 支持度
-| API | 微信小程序 | H5 | React Native | Harmony |
-| :---: | :---: | :---: | :---: | :---: |
-| OffscreenCanvas | ✔️ | | | |
-| OffscreenCanvas.createImage | ✔️ | | | |
-| OffscreenCanvas.getContext | ✔️ | | | |
+| API | 微信小程序 | 抖音小程序 | H5 | React Native | Harmony |
+| :---: | :---: | :---: | :---: | :---: | :---: |
+| OffscreenCanvas | ✔️ | | | | |
+| OffscreenCanvas.createImage | ✔️ | | | | |
+| OffscreenCanvas.getContext | ✔️ | ✔️ | | | |
diff --git a/docs/apis/canvas/Path2D.md b/docs/apis/canvas/Path2D.md
index 3762887b6f9e..80cad7ef185f 100644
--- a/docs/apis/canvas/Path2D.md
+++ b/docs/apis/canvas/Path2D.md
@@ -8,3 +8,186 @@ Canvas 2D API 的接口 Path2D 用来声明路径,此路径稍后会被CanvasR
支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Path2D.html)
+
+## 方法
+
+### addPath
+
+添加路径到当前路径。
+
+支持情况:
+
+```tsx
+(path: Path2D) => void
+```
+
+| 参数 | 类型 | 说明 |
+| --- | --- | --- |
+| path | `Path2D` | 添加的 Path2D 路径 |
+
+### arc
+
+添加一段圆弧路径
+
+支持情况:
+
+```tsx
+(x: number, y: number, radius: number, startAngle: number, endAngle: number, counterclockwise: boolean) => void
+```
+
+| 参数 | 类型 | 说明 |
+| --- | --- | --- |
+| x | `number` | 圆心横坐标 |
+| y | `number` | 圆心纵坐标 |
+| radius | `number` | 圆形半径,必须为正数 |
+| startAngle | `number` | 圆弧开始角度 |
+| endAngle | `number` | 圆弧结束角度 |
+| counterclockwise | `boolean` | 是否逆时针绘制。如果传 true, 则会从 endAngle 开始绘制到 startAngle |
+
+### arcTo
+
+通过给定控制点添加一段圆弧路径
+
+支持情况:
+
+```tsx
+(x1: number, y1: number, x2: number, y2: number, radius: number) => void
+```
+
+| 参数 | 类型 | 说明 |
+| --- | --- | --- |
+| x1 | `number` | 第一个控制点横坐标 |
+| y1 | `number` | 第一个控制点纵坐标 |
+| x2 | `number` | 第二个控制点横坐标 |
+| y2 | `number` | 第二个控制点纵坐标 |
+| radius | `number` | 圆形半径,必须为非负数 |
+
+### bezierCurveTo
+
+添加三次贝塞尔曲线路径
+
+支持情况:
+
+```tsx
+(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number) => void
+```
+
+| 参数 | 类型 | 说明 |
+| --- | --- | --- |
+| cp1x | `number` | 第一个控制点横坐标 |
+| cp1y | `number` | 第一个控制点纵坐标 |
+| cp2x | `number` | 第二个控制点横坐标 |
+| cp2y | `number` | 第二个控制点纵坐标 |
+| x | `number` | 结束点横坐标 |
+| y | `number` | 结束点纵坐标 |
+
+### closePath
+
+闭合路径到起点
+
+支持情况:
+
+```tsx
+() => void
+```
+
+### ellipse
+
+添加椭圆弧路径
+
+支持情况:
+
+```tsx
+(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, counterclockwise: boolean) => void
+```
+
+| 参数 | 类型 | 说明 |
+| --- | --- | --- |
+| x | `number` | 椭圆圆心横坐标 |
+| y | `number` | 椭圆圆心纵坐标 |
+| radiusX | `number` | 椭圆长轴半径,必须为非负数 |
+| radiusY | `number` | 椭圆短轴半径,必须为非负数 |
+| rotation | `number` | 椭圆旋转角度 |
+| startAngle | `number` | 圆弧开始角度 |
+| endAngle | `number` | 圆弧结束角度 |
+| counterclockwise | `boolean` | 是否逆时针绘制。如果传 true, 则会从 endAngle 开始绘制到 startAngle |
+
+### lineTo
+
+添加直线路径
+
+支持情况:
+
+```tsx
+(x: number, y: number) => void
+```
+
+| 参数 | 类型 | 说明 |
+| --- | --- | --- |
+| x | `number` | 结束点横坐标 |
+| y | `number` | 结束点纵坐标 |
+
+### moveTo
+
+移动路径开始点
+
+支持情况:
+
+```tsx
+(x: number, y: number) => void
+```
+
+| 参数 | 类型 | 说明 |
+| --- | --- | --- |
+| x | `number` | 横坐标 |
+| y | `number` | 纵坐标 |
+
+### quadraticCurveTo
+
+添加二次贝塞尔曲线路径
+
+支持情况:
+
+```tsx
+(cpx: number, cpy: number, x: number, y: number) => void
+```
+
+| 参数 | 类型 | 说明 |
+| --- | --- | --- |
+| cpx | `number` | 控制点横坐标 |
+| cpy | `number` | 控制点纵坐标 |
+| x | `number` | 结束点横坐标 |
+| y | `number` | 结束点纵坐标 |
+
+### rect
+
+添加方形路径
+
+支持情况:
+
+```tsx
+(x: number, y: number, width: number, height: number) => void
+```
+
+| 参数 | 类型 | 说明 |
+| --- | --- | --- |
+| x | `number` | 开始点横坐标 |
+| y | `number` | 开始点纵坐标 |
+| width | `number` | 方形宽度,正数向右,负数向左 |
+| height | `number` | 方形高度,正数向下,负数向上 |
+
+## API 支持度
+
+| API | 微信小程序 | H5 | React Native | Harmony |
+| :---: | :---: | :---: | :---: | :---: |
+| Path2D | ✔️ | | | |
+| Path2D.addPath | ✔️ | | | |
+| Path2D.arc | ✔️ | | | |
+| Path2D.arcTo | ✔️ | | | |
+| Path2D.bezierCurveTo | ✔️ | | | |
+| Path2D.closePath | ✔️ | | | |
+| Path2D.ellipse | ✔️ | | | |
+| Path2D.lineTo | ✔️ | | | |
+| Path2D.moveTo | ✔️ | | | |
+| Path2D.quadraticCurveTo | ✔️ | | | |
+| Path2D.rect | ✔️ | | | |
diff --git a/docs/apis/canvas/RenderingContext.md b/docs/apis/canvas/RenderingContext.md
index b8d9eba1547c..844e5db63540 100644
--- a/docs/apis/canvas/RenderingContext.md
+++ b/docs/apis/canvas/RenderingContext.md
@@ -9,7 +9,8 @@ Canvas 绘图上下文。
- 通过 Canvas.getContext('2d') 接口可以获取 CanvasRenderingContext2D 对象,实现了 [HTML Canvas 2D Context](https://www.w3.org/TR/2dcontext/) 定义的属性、方法。
- 通过 Canvas.getContext('webgl') 或 OffscreenCanvas.getContext('webgl') 接口可以获取 WebGLRenderingContext 对象,实现了 [WebGL 1.0](https://www.khronos.org/registry/webgl/specs/latest/1.0/) 定义的所有属性、方法、常量。
+- CanvasRenderingContext2D 的 drawImage 方法 2.10.0 起支持传入通过 SelectorQuery 获取的 video 对象,2.29.0 起支持传入开启了自定义渲染的 LivePusherContext 对象。
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html)
diff --git a/docs/apis/canvas/canvasGetImageData.md b/docs/apis/canvas/canvasGetImageData.md
index 803373779699..3c6b3db1658f 100644
--- a/docs/apis/canvas/canvasGetImageData.md
+++ b/docs/apis/canvas/canvasGetImageData.md
@@ -5,7 +5,7 @@ sidebar_label: canvasGetImageData
获取 canvas 区域隐含的像素数据。
-支持情况:
+支持情况:
> [参考文档](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.canvasGetImageData.html)
diff --git a/docs/apis/canvas/canvasPutImageData.md b/docs/apis/canvas/canvasPutImageData.md
index 8d99e3290f2b..3ff4eac3dc00 100644
--- a/docs/apis/canvas/canvasPutImageData.md
+++ b/docs/apis/canvas/canvasPutImageData.md
@@ -5,7 +5,7 @@ sidebar_label: canvasPutImageData
将像素数据绘制到画布。在自定义组件下,第二个参数传入自定义组件实例 this,以操作组件内 `