@open-dy/vibecoding-sdk-taro 0.1.12 → 0.1.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/interest-card/runtime/microapp.d.ts +1 -1
- package/dist/adapters/interest-card/runtime/microapp.js +1 -1
- package/dist/adapters/interest-card/runtime/microapp.js.map +1 -1
- package/dist/reference/llms.txt +3 -1
- package/dist/reference/sdk-api/runtime/CreateMicroappClientOptions.md +3 -1
- package/dist/reference/sdk-api/runtime/PreparedImageForUpload.md +52 -0
- package/dist/reference/sdk-api/runtime/createMicroappClient.md +4 -3
- package/dist/reference/sdk-api/runtime/index.md +3 -1
- package/dist/reference/sdk-api/runtime/prepareImageForUpload.md +69 -0
- package/dist/reference/sdk-api.json +144 -6
- package/dist/reference/sdk-api.md +2 -0
- package/dist/runtime/client.d.ts +3 -1
- package/dist/runtime/client.js +20 -5
- package/dist/runtime/client.js.map +1 -1
- package/dist/runtime/default-client.d.ts +2 -2
- package/dist/runtime/default-client.js +2 -2
- package/dist/runtime/douyin-container-request.d.ts +3 -2
- package/dist/runtime/douyin-container-request.js +24 -15
- package/dist/runtime/douyin-container-request.js.map +1 -1
- package/dist/runtime/globals.d.ts +2 -2
- package/dist/runtime/image-upload-preparation.d.ts +39 -0
- package/dist/runtime/image-upload-preparation.js +190 -0
- package/dist/runtime/image-upload-preparation.js.map +1 -0
- package/dist/runtime/index.d.ts +1 -0
- package/dist/runtime/index.js +1 -0
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/prepared-upload-task.d.ts +3 -0
- package/dist/runtime/prepared-upload-task.js +91 -0
- package/dist/runtime/prepared-upload-task.js.map +1 -0
- package/package.json +1 -1
- package/release-provenance.json +4 -4
- package/src/adapters/interest-card/runtime/microapp.ts +2 -0
- package/src/runtime/client.ts +25 -5
- package/src/runtime/default-client.ts +2 -2
- package/src/runtime/douyin-container-request.ts +26 -20
- package/src/runtime/globals.d.ts +2 -2
- package/src/runtime/image-upload-preparation.ts +225 -0
- package/src/runtime/index.ts +1 -0
- package/src/runtime/prepared-upload-task.ts +86 -0
|
@@ -4,4 +4,4 @@
|
|
|
4
4
|
* 此适配层只提供稳定的兴趣卡导入路径;请求、登录和传输能力仍由通用
|
|
5
5
|
* microapp Runtime 实现,避免在业务域内复制基础逻辑。
|
|
6
6
|
*/
|
|
7
|
-
export { clearDouyinLoginAuth, createMicroappClient, type CreateMicroappClientOptions, } from '../../../runtime/index.js';
|
|
7
|
+
export { clearDouyinLoginAuth, createMicroappClient, prepareImageForUpload, type CreateMicroappClientOptions, type PreparedImageForUpload, } from '../../../runtime/index.js';
|
|
@@ -4,5 +4,5 @@
|
|
|
4
4
|
* 此适配层只提供稳定的兴趣卡导入路径;请求、登录和传输能力仍由通用
|
|
5
5
|
* microapp Runtime 实现,避免在业务域内复制基础逻辑。
|
|
6
6
|
*/
|
|
7
|
-
export { clearDouyinLoginAuth, createMicroappClient, } from '../../../runtime/index.js';
|
|
7
|
+
export { clearDouyinLoginAuth, createMicroappClient, prepareImageForUpload, } from '../../../runtime/index.js';
|
|
8
8
|
//# sourceMappingURL=microapp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"microapp.js","sourceRoot":"","sources":["../../../../src/adapters/interest-card/runtime/microapp.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EACL,oBAAoB,EACpB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"microapp.js","sourceRoot":"","sources":["../../../../src/adapters/interest-card/runtime/microapp.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,GAGtB,MAAM,2BAA2B,CAAA"}
|
package/dist/reference/llms.txt
CHANGED
|
@@ -14,7 +14,9 @@ Companion libraries are separate project dependencies, imported from their own p
|
|
|
14
14
|
## APIs
|
|
15
15
|
|
|
16
16
|
- [createMicroappClient](./sdk-api/runtime/createMicroappClient.md): 创建普通小程序的网络入口;SDK 自动绑定项目 Taro 运行时。 Import: `@open-dy/vibecoding-sdk-taro/runtime`.
|
|
17
|
-
- [CreateMicroappClientOptions](./sdk-api/runtime/CreateMicroappClientOptions.md): 配置普通小程序 Network
|
|
17
|
+
- [CreateMicroappClientOptions](./sdk-api/runtime/CreateMicroappClientOptions.md): 配置普通小程序 Network 的平台渠道和真机预览上传环境。 Import: `@open-dy/vibecoding-sdk-taro/runtime`.
|
|
18
|
+
- [prepareImageForUpload](./sdk-api/runtime/prepareImageForUpload.md): 显式预处理本地 JPEG,返回上传路径和诊断信息。 Import: `@open-dy/vibecoding-sdk-taro/runtime`.
|
|
19
|
+
- [PreparedImageForUpload](./sdk-api/runtime/PreparedImageForUpload.md): 图片上传应使用的本地路径,以及可取得的压缩诊断信息。 Import: `@open-dy/vibecoding-sdk-taro/runtime`.
|
|
18
20
|
- [MiniappOpenCard](./sdk-api/components/miniapp-open-card/MiniappOpenCard.md): 承载同一 OpenCard;SDK 选择环境版本并为空初始化参数提供对象,错误类型直接报错。 Import: `@open-dy/vibecoding-sdk-taro/components/miniapp-open-card`.
|
|
19
21
|
- [MiniappOpenCardProps](./sdk-api/components/miniapp-open-card/MiniappOpenCardProps.md): 普通 Taro 宿主的内嵌卡属性;沿用 StandardProps,但不接受 children 或 envVersion。 Import: `@open-dy/vibecoding-sdk-taro/components/miniapp-open-card`.
|
|
20
22
|
- [MiniappOpenCardErrorDetail](./sdk-api/components/miniapp-open-card/MiniappOpenCardErrorDetail.md): 内嵌卡加载错误的事件 detail;可选错误字段由平台提供。 Import: `@open-dy/vibecoding-sdk-taro/components/miniapp-open-card`.
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
#### 说明
|
|
9
9
|
|
|
10
|
-
配置普通小程序 Network
|
|
10
|
+
配置普通小程序 Network 的平台渠道和真机预览上传环境。
|
|
11
11
|
|
|
12
12
|
示例:
|
|
13
13
|
|
|
@@ -34,6 +34,7 @@ const options = { platformChannel: 'ext' as const }
|
|
|
34
34
|
```ts
|
|
35
35
|
export interface CreateMicroappClientOptions {
|
|
36
36
|
platformChannel?: '' | 'ext';
|
|
37
|
+
previewUploadEnvType?: 'development';
|
|
37
38
|
}
|
|
38
39
|
```
|
|
39
40
|
|
|
@@ -50,3 +51,4 @@ CreateMicroappClientOptions
|
|
|
50
51
|
| 字段 | 类型 | 说明 |
|
|
51
52
|
| --- | --- | --- |
|
|
52
53
|
| platformChannel? | `"" \| "ext" \| undefined` | 平台渠道:空字符串为内场,ext 为外场;默认空字符串。 |
|
|
54
|
+
| previewUploadEnvType? | `"development" \| undefined` | 设置为 development 时,真机扫码预览的托管上传使用抖音云开发环境。 |
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# PreparedImageForUpload
|
|
2
|
+
|
|
3
|
+
<!-- Generated by packages/sdk-tooling/src/reference/skill-reference.ts. Do not edit. -->
|
|
4
|
+
|
|
5
|
+
导入路径:`@open-dy/vibecoding-sdk-taro/runtime`
|
|
6
|
+
源码:实际安装的 `@open-dy/vibecoding-sdk-taro` 包内 `src/runtime/image-upload-preparation.ts`(仅补缺或排错时读取)。
|
|
7
|
+
|
|
8
|
+
#### 说明
|
|
9
|
+
|
|
10
|
+
图片上传应使用的本地路径,以及可取得的压缩诊断信息。
|
|
11
|
+
|
|
12
|
+
示例:
|
|
13
|
+
|
|
14
|
+
```ts
|
|
15
|
+
const { filePath, reason } = await prepareImageForUpload(tempFilePath)
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
#### AI 使用约束
|
|
19
|
+
|
|
20
|
+
| 规则 | 内容 |
|
|
21
|
+
| --- | --- |
|
|
22
|
+
| 意图 | 读取静默压缩选出的路径和诊断信息。 |
|
|
23
|
+
| 适用时机 | 既有调用方需要读取显式预处理的结果时。 |
|
|
24
|
+
| 避免 | 不要把压缩诊断用作上传错误或用户提示。 |
|
|
25
|
+
|
|
26
|
+
#### 声明
|
|
27
|
+
|
|
28
|
+
```ts
|
|
29
|
+
export interface PreparedImageForUpload {
|
|
30
|
+
filePath: string;
|
|
31
|
+
originalBytes?: number;
|
|
32
|
+
bytes?: number;
|
|
33
|
+
reason: 'compressed' | 'below-target' | 'unsupported' | 'not-jpeg' | 'input-budget' | 'busy' | 'invalid-image' | 'no-benefit' | 'timeout' | 'failed';
|
|
34
|
+
}
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### PreparedImageForUpload 的类型契约
|
|
38
|
+
|
|
39
|
+
#### 类型
|
|
40
|
+
|
|
41
|
+
```ts
|
|
42
|
+
PreparedImageForUpload
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
#### 字段
|
|
46
|
+
|
|
47
|
+
| 字段 | 类型 | 说明 |
|
|
48
|
+
| --- | --- | --- |
|
|
49
|
+
| filePath | `string` | 最终上传使用的本地文件路径。 |
|
|
50
|
+
| originalBytes? | `number \| undefined` | 原文件实际大小,单位字节。未取得时为 undefined。 |
|
|
51
|
+
| bytes? | `number \| undefined` | 最终文件实际大小,单位字节。未取得时为 undefined。 |
|
|
52
|
+
| reason | `"timeout" \| "compressed" \| "below-target" \| "unsupported" \| "not-jpeg" \| "input-budget" \| "busy" \| "invalid-image" \| "no-benefit" \| "failed"` | 压缩采用或使用原文件的原因。 |
|
|
@@ -13,11 +13,11 @@
|
|
|
13
13
|
|
|
14
14
|
| 名称 | 说明 |
|
|
15
15
|
| --- | --- |
|
|
16
|
-
| `options` |
|
|
16
|
+
| `options` | 平台渠道和真机预览上传环境配置。默认使用内场渠道。 |
|
|
17
17
|
|
|
18
18
|
返回:仅提供普通小程序的 request、uploadFile、downloadFile 和 streamSse。
|
|
19
19
|
|
|
20
|
-
备注:业务优先从模板的 @/network 导入 Network
|
|
20
|
+
备注:业务优先从模板的 @/network 导入 Network。uploadFile 在支持原生图片处理的抖音小程序中自动尝试压缩符合条件的本地 JPEG,各上传路由均适用。业务直接传入原始 filePath。HTTP(S) 绝对地址仍由 Taro 传输。宿主需要封闭域功能时通过 MiniappOpenCard 承载,请求与数据处理仅在卡内完成。streamSse 返回的是流句柄,Promise resolve 不代表生成完成。正常关闭仅调用一次 onComplete;流错误仅调用一次 onError(Error),随后释放任务;close() 主动取消仅调用一次可选的 onCancel,不调用 onComplete/onError。业务须在对应终态回调中清理 loading,不能把 onComplete 当通用 finally;终态后的消息与重复事件会被忽略。创建任务前的失败仍通过 Promise rejection 交付。
|
|
21
21
|
|
|
22
22
|
示例:
|
|
23
23
|
|
|
@@ -61,13 +61,14 @@ function createMicroappClient(options?: CreateMicroappClientOptions);
|
|
|
61
61
|
|
|
62
62
|
| 参数 | 类型 | 说明 |
|
|
63
63
|
| --- | --- | --- |
|
|
64
|
-
| options? | `CreateMicroappClientOptions` |
|
|
64
|
+
| options? | `CreateMicroappClientOptions` | 平台渠道和真机预览上传环境配置。默认使用内场渠道。 |
|
|
65
65
|
|
|
66
66
|
##### options 字段
|
|
67
67
|
|
|
68
68
|
| 字段 | 类型 | 说明 |
|
|
69
69
|
| --- | --- | --- |
|
|
70
70
|
| platformChannel? | `"" \| "ext" \| undefined` | 平台渠道:空字符串为内场,ext 为外场;默认空字符串。 |
|
|
71
|
+
| previewUploadEnvType? | `"development" \| undefined` | 设置为 development 时,真机扫码预览的托管上传使用抖音云开发环境。 |
|
|
71
72
|
|
|
72
73
|
#### 返回值
|
|
73
74
|
|
|
@@ -7,4 +7,6 @@
|
|
|
7
7
|
| API | 说明 | 文档 |
|
|
8
8
|
| --- | --- | --- |
|
|
9
9
|
| `createMicroappClient` | 创建普通小程序的网络入口;SDK 自动绑定项目 Taro 运行时。 | [查看](./createMicroappClient.md) |
|
|
10
|
-
| `CreateMicroappClientOptions` | 配置普通小程序 Network
|
|
10
|
+
| `CreateMicroappClientOptions` | 配置普通小程序 Network 的平台渠道和真机预览上传环境。 | [查看](./CreateMicroappClientOptions.md) |
|
|
11
|
+
| `prepareImageForUpload` | 显式预处理本地 JPEG,返回上传路径和诊断信息。 | [查看](./prepareImageForUpload.md) |
|
|
12
|
+
| `PreparedImageForUpload` | 图片上传应使用的本地路径,以及可取得的压缩诊断信息。 | [查看](./PreparedImageForUpload.md) |
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# prepareImageForUpload
|
|
2
|
+
|
|
3
|
+
<!-- Generated by packages/sdk-tooling/src/reference/skill-reference.ts. Do not edit. -->
|
|
4
|
+
|
|
5
|
+
导入路径:`@open-dy/vibecoding-sdk-taro/runtime`
|
|
6
|
+
源码:实际安装的 `@open-dy/vibecoding-sdk-taro` 包内 `src/runtime/image-upload-preparation.ts`(仅补缺或排错时读取)。
|
|
7
|
+
|
|
8
|
+
#### 说明
|
|
9
|
+
|
|
10
|
+
显式预处理本地 JPEG,返回上传路径和诊断信息。
|
|
11
|
+
|
|
12
|
+
返回:上传路径及诊断信息,降级时返回原路径。
|
|
13
|
+
|
|
14
|
+
备注:Network.uploadFile 会自动预处理符合条件的 JPEG。此方法兼容已有显式调用。压缩结果由宿主临时保存,能力缺失或超时时沿用原路径或已验证的候选。
|
|
15
|
+
|
|
16
|
+
示例:
|
|
17
|
+
|
|
18
|
+
```ts
|
|
19
|
+
const prepared = await prepareImageForUpload(tempFilePath)
|
|
20
|
+
console.log(prepared.bytes, prepared.reason)
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
#### AI 使用约束
|
|
24
|
+
|
|
25
|
+
| 规则 | 内容 |
|
|
26
|
+
| --- | --- |
|
|
27
|
+
| 意图 | 兼容已有的本地 JPEG 显式预处理。 |
|
|
28
|
+
| 适用时机 | 维护已使用显式预处理或需要其诊断信息的调用方时。 |
|
|
29
|
+
| 避免 | 不要为使用新版 Network.uploadFile 的新业务再接一层手动预处理。 |
|
|
30
|
+
|
|
31
|
+
示例:
|
|
32
|
+
|
|
33
|
+
```ts
|
|
34
|
+
const prepared = await prepareImageForUpload(tempFilePath)
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
#### 声明
|
|
38
|
+
|
|
39
|
+
```ts
|
|
40
|
+
function prepareImageForUpload(filePath: string): Promise<PreparedImageForUpload>;
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### prepareImageForUpload 的类型契约
|
|
44
|
+
|
|
45
|
+
#### 工厂签名
|
|
46
|
+
|
|
47
|
+
```ts
|
|
48
|
+
(filePath: string): Promise<PreparedImageForUpload>
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
#### 参数
|
|
52
|
+
|
|
53
|
+
| 参数 | 类型 | 说明 |
|
|
54
|
+
| --- | --- | --- |
|
|
55
|
+
| filePath | `string` | 选图或拍摄获得的本地文件路径。 |
|
|
56
|
+
|
|
57
|
+
#### 返回值
|
|
58
|
+
|
|
59
|
+
- 类型:`Promise<PreparedImageForUpload>`
|
|
60
|
+
- Promise resolve 类型:`PreparedImageForUpload`
|
|
61
|
+
|
|
62
|
+
##### 字段
|
|
63
|
+
|
|
64
|
+
| 字段 | 类型 | 说明 |
|
|
65
|
+
| --- | --- | --- |
|
|
66
|
+
| filePath | `string` | 最终上传使用的本地文件路径。 |
|
|
67
|
+
| originalBytes? | `number \| undefined` | 原文件实际大小,单位字节。未取得时为 undefined。 |
|
|
68
|
+
| bytes? | `number \| undefined` | 最终文件实际大小,单位字节。未取得时为 undefined。 |
|
|
69
|
+
| reason | `"timeout" \| "compressed" \| "below-target" \| "unsupported" \| "not-jpeg" \| "input-budget" \| "busy" \| "invalid-image" \| "no-benefit" \| "failed"` | 压缩采用或使用原文件的原因。 |
|
|
@@ -99,12 +99,12 @@
|
|
|
99
99
|
"parameters": [
|
|
100
100
|
{
|
|
101
101
|
"name": "options",
|
|
102
|
-
"description": "
|
|
102
|
+
"description": "平台渠道和真机预览上传环境配置。默认使用内场渠道。"
|
|
103
103
|
}
|
|
104
104
|
],
|
|
105
105
|
"returns": "仅提供普通小程序的 request、uploadFile、downloadFile 和 streamSse。",
|
|
106
106
|
"remarks": [
|
|
107
|
-
"业务优先从模板的 @/network 导入 Network
|
|
107
|
+
"业务优先从模板的 @/network 导入 Network。uploadFile 在支持原生图片处理的抖音小程序中自动尝试压缩符合条件的本地 JPEG,各上传路由均适用。业务直接传入原始 filePath。HTTP(S) 绝对地址仍由 Taro 传输。宿主需要封闭域功能时通过 MiniappOpenCard 承载,请求与数据处理仅在卡内完成。streamSse 返回的是流句柄,Promise resolve 不代表生成完成。正常关闭仅调用一次 onComplete;流错误仅调用一次 onError(Error),随后释放任务;close() 主动取消仅调用一次可选的 onCancel,不调用 onComplete/onError。业务须在对应终态回调中清理 loading,不能把 onComplete 当通用 finally;终态后的消息与重复事件会被忽略。创建任务前的失败仍通过 Promise rejection 交付。"
|
|
108
108
|
],
|
|
109
109
|
"examples": [
|
|
110
110
|
{
|
|
@@ -128,13 +128,19 @@
|
|
|
128
128
|
"name": "options",
|
|
129
129
|
"optional": true,
|
|
130
130
|
"type": "CreateMicroappClientOptions",
|
|
131
|
-
"description": "
|
|
131
|
+
"description": "平台渠道和真机预览上传环境配置。默认使用内场渠道。",
|
|
132
132
|
"fields": [
|
|
133
133
|
{
|
|
134
134
|
"name": "platformChannel",
|
|
135
135
|
"optional": true,
|
|
136
136
|
"type": "\"\" | \"ext\" | undefined",
|
|
137
137
|
"description": "平台渠道:空字符串为内场,ext 为外场;默认空字符串。"
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"name": "previewUploadEnvType",
|
|
141
|
+
"optional": true,
|
|
142
|
+
"type": "\"development\" | undefined",
|
|
143
|
+
"description": "设置为 development 时,真机扫码预览的托管上传使用抖音云开发环境。"
|
|
138
144
|
}
|
|
139
145
|
]
|
|
140
146
|
}
|
|
@@ -734,9 +740,9 @@
|
|
|
734
740
|
"importPath": "@open-dy/vibecoding-sdk-taro/runtime",
|
|
735
741
|
"source": "src/runtime/client.ts",
|
|
736
742
|
"docPath": "sdk-api/runtime/CreateMicroappClientOptions.md",
|
|
737
|
-
"summary": "配置普通小程序 Network
|
|
743
|
+
"summary": "配置普通小程序 Network 的平台渠道和真机预览上传环境。",
|
|
738
744
|
"documentation": {
|
|
739
|
-
"summary": "配置普通小程序 Network
|
|
745
|
+
"summary": "配置普通小程序 Network 的平台渠道和真机预览上传环境。",
|
|
740
746
|
"examples": [
|
|
741
747
|
{
|
|
742
748
|
"language": "ts",
|
|
@@ -750,7 +756,7 @@
|
|
|
750
756
|
"avoid": "不要在业务页面直接拼接渠道请求头。",
|
|
751
757
|
"example": "{ platformChannel: 'ext' }"
|
|
752
758
|
},
|
|
753
|
-
"signature": "export interface CreateMicroappClientOptions {\n platformChannel?: '' | 'ext';\n}",
|
|
759
|
+
"signature": "export interface CreateMicroappClientOptions {\n platformChannel?: '' | 'ext';\n previewUploadEnvType?: 'development';\n}",
|
|
754
760
|
"contract": {
|
|
755
761
|
"kind": "type",
|
|
756
762
|
"type": "CreateMicroappClientOptions",
|
|
@@ -760,6 +766,138 @@
|
|
|
760
766
|
"optional": true,
|
|
761
767
|
"type": "\"\" | \"ext\" | undefined",
|
|
762
768
|
"description": "平台渠道:空字符串为内场,ext 为外场;默认空字符串。"
|
|
769
|
+
},
|
|
770
|
+
{
|
|
771
|
+
"name": "previewUploadEnvType",
|
|
772
|
+
"optional": true,
|
|
773
|
+
"type": "\"development\" | undefined",
|
|
774
|
+
"description": "设置为 development 时,真机扫码预览的托管上传使用抖音云开发环境。"
|
|
775
|
+
}
|
|
776
|
+
]
|
|
777
|
+
}
|
|
778
|
+
},
|
|
779
|
+
{
|
|
780
|
+
"id": "runtime.prepareImageForUpload",
|
|
781
|
+
"name": "prepareImageForUpload",
|
|
782
|
+
"importPath": "@open-dy/vibecoding-sdk-taro/runtime",
|
|
783
|
+
"source": "src/runtime/image-upload-preparation.ts",
|
|
784
|
+
"docPath": "sdk-api/runtime/prepareImageForUpload.md",
|
|
785
|
+
"summary": "显式预处理本地 JPEG,返回上传路径和诊断信息。",
|
|
786
|
+
"documentation": {
|
|
787
|
+
"summary": "显式预处理本地 JPEG,返回上传路径和诊断信息。",
|
|
788
|
+
"returns": "上传路径及诊断信息,降级时返回原路径。",
|
|
789
|
+
"remarks": [
|
|
790
|
+
"Network.uploadFile 会自动预处理符合条件的 JPEG。此方法兼容已有显式调用。压缩结果由宿主临时保存,能力缺失或超时时沿用原路径或已验证的候选。"
|
|
791
|
+
],
|
|
792
|
+
"examples": [
|
|
793
|
+
{
|
|
794
|
+
"language": "ts",
|
|
795
|
+
"code": "const prepared = await prepareImageForUpload(tempFilePath)\nconsole.log(prepared.bytes, prepared.reason)"
|
|
796
|
+
}
|
|
797
|
+
]
|
|
798
|
+
},
|
|
799
|
+
"ai": {
|
|
800
|
+
"intent": "兼容已有的本地 JPEG 显式预处理。",
|
|
801
|
+
"when": "维护已使用显式预处理或需要其诊断信息的调用方时。",
|
|
802
|
+
"avoid": "不要为使用新版 Network.uploadFile 的新业务再接一层手动预处理。",
|
|
803
|
+
"example": "const prepared = await prepareImageForUpload(tempFilePath)"
|
|
804
|
+
},
|
|
805
|
+
"signature": "function prepareImageForUpload(filePath: string): Promise<PreparedImageForUpload>;",
|
|
806
|
+
"contract": {
|
|
807
|
+
"kind": "callable",
|
|
808
|
+
"signature": "(filePath: string): Promise<PreparedImageForUpload>",
|
|
809
|
+
"parameters": [
|
|
810
|
+
{
|
|
811
|
+
"name": "filePath",
|
|
812
|
+
"optional": false,
|
|
813
|
+
"type": "string",
|
|
814
|
+
"description": "选图或拍摄获得的本地文件路径。"
|
|
815
|
+
}
|
|
816
|
+
],
|
|
817
|
+
"returns": {
|
|
818
|
+
"type": "Promise<PreparedImageForUpload>",
|
|
819
|
+
"promise": true,
|
|
820
|
+
"resolvesTo": "PreparedImageForUpload",
|
|
821
|
+
"fields": [
|
|
822
|
+
{
|
|
823
|
+
"name": "filePath",
|
|
824
|
+
"optional": false,
|
|
825
|
+
"type": "string",
|
|
826
|
+
"description": "最终上传使用的本地文件路径。"
|
|
827
|
+
},
|
|
828
|
+
{
|
|
829
|
+
"name": "originalBytes",
|
|
830
|
+
"optional": true,
|
|
831
|
+
"type": "number | undefined",
|
|
832
|
+
"description": "原文件实际大小,单位字节。未取得时为 undefined。"
|
|
833
|
+
},
|
|
834
|
+
{
|
|
835
|
+
"name": "bytes",
|
|
836
|
+
"optional": true,
|
|
837
|
+
"type": "number | undefined",
|
|
838
|
+
"description": "最终文件实际大小,单位字节。未取得时为 undefined。"
|
|
839
|
+
},
|
|
840
|
+
{
|
|
841
|
+
"name": "reason",
|
|
842
|
+
"optional": false,
|
|
843
|
+
"type": "\"timeout\" | \"compressed\" | \"below-target\" | \"unsupported\" | \"not-jpeg\" | \"input-budget\" | \"busy\" | \"invalid-image\" | \"no-benefit\" | \"failed\"",
|
|
844
|
+
"description": "压缩采用或使用原文件的原因。"
|
|
845
|
+
}
|
|
846
|
+
]
|
|
847
|
+
},
|
|
848
|
+
"methods": []
|
|
849
|
+
}
|
|
850
|
+
},
|
|
851
|
+
{
|
|
852
|
+
"id": "runtime.PreparedImageForUpload",
|
|
853
|
+
"name": "PreparedImageForUpload",
|
|
854
|
+
"importPath": "@open-dy/vibecoding-sdk-taro/runtime",
|
|
855
|
+
"source": "src/runtime/image-upload-preparation.ts",
|
|
856
|
+
"docPath": "sdk-api/runtime/PreparedImageForUpload.md",
|
|
857
|
+
"summary": "图片上传应使用的本地路径,以及可取得的压缩诊断信息。",
|
|
858
|
+
"documentation": {
|
|
859
|
+
"summary": "图片上传应使用的本地路径,以及可取得的压缩诊断信息。",
|
|
860
|
+
"examples": [
|
|
861
|
+
{
|
|
862
|
+
"language": "ts",
|
|
863
|
+
"code": "const { filePath, reason } = await prepareImageForUpload(tempFilePath)"
|
|
864
|
+
}
|
|
865
|
+
]
|
|
866
|
+
},
|
|
867
|
+
"ai": {
|
|
868
|
+
"intent": "读取静默压缩选出的路径和诊断信息。",
|
|
869
|
+
"when": "既有调用方需要读取显式预处理的结果时。",
|
|
870
|
+
"avoid": "不要把压缩诊断用作上传错误或用户提示。",
|
|
871
|
+
"example": "const { filePath, reason } = await prepareImageForUpload(tempFilePath)"
|
|
872
|
+
},
|
|
873
|
+
"signature": "export interface PreparedImageForUpload {\n filePath: string;\n originalBytes?: number;\n bytes?: number;\n reason: 'compressed' | 'below-target' | 'unsupported' | 'not-jpeg' | 'input-budget' | 'busy' | 'invalid-image' | 'no-benefit' | 'timeout' | 'failed';\n}",
|
|
874
|
+
"contract": {
|
|
875
|
+
"kind": "type",
|
|
876
|
+
"type": "PreparedImageForUpload",
|
|
877
|
+
"fields": [
|
|
878
|
+
{
|
|
879
|
+
"name": "filePath",
|
|
880
|
+
"optional": false,
|
|
881
|
+
"type": "string",
|
|
882
|
+
"description": "最终上传使用的本地文件路径。"
|
|
883
|
+
},
|
|
884
|
+
{
|
|
885
|
+
"name": "originalBytes",
|
|
886
|
+
"optional": true,
|
|
887
|
+
"type": "number | undefined",
|
|
888
|
+
"description": "原文件实际大小,单位字节。未取得时为 undefined。"
|
|
889
|
+
},
|
|
890
|
+
{
|
|
891
|
+
"name": "bytes",
|
|
892
|
+
"optional": true,
|
|
893
|
+
"type": "number | undefined",
|
|
894
|
+
"description": "最终文件实际大小,单位字节。未取得时为 undefined。"
|
|
895
|
+
},
|
|
896
|
+
{
|
|
897
|
+
"name": "reason",
|
|
898
|
+
"optional": false,
|
|
899
|
+
"type": "\"timeout\" | \"compressed\" | \"below-target\" | \"unsupported\" | \"not-jpeg\" | \"input-budget\" | \"busy\" | \"invalid-image\" | \"no-benefit\" | \"failed\"",
|
|
900
|
+
"description": "压缩采用或使用原文件的原因。"
|
|
763
901
|
}
|
|
764
902
|
]
|
|
765
903
|
}
|
|
@@ -44,6 +44,8 @@
|
|
|
44
44
|
- [runtime](sdk-api/runtime/index.md)
|
|
45
45
|
- `createMicroappClient`
|
|
46
46
|
- `CreateMicroappClientOptions`
|
|
47
|
+
- `prepareImageForUpload`
|
|
48
|
+
- `PreparedImageForUpload`
|
|
47
49
|
- [components/miniapp-open-card](sdk-api/components/miniapp-open-card/index.md)
|
|
48
50
|
- `MiniappOpenCard`
|
|
49
51
|
- `MiniappOpenCardProps`
|
package/dist/runtime/client.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @desc 配置普通小程序 Network
|
|
2
|
+
* @desc 配置普通小程序 Network 的平台渠道和真机预览上传环境。
|
|
3
3
|
* @example
|
|
4
4
|
* ```ts
|
|
5
5
|
* const options = { platformChannel: 'ext' as const }
|
|
@@ -12,6 +12,8 @@
|
|
|
12
12
|
export interface CreateMicroappClientOptions {
|
|
13
13
|
/** @desc 平台渠道:空字符串为内场,ext 为外场;默认空字符串。 */
|
|
14
14
|
platformChannel?: '' | 'ext';
|
|
15
|
+
/** @desc 设置为 development 时,真机扫码预览的托管上传使用抖音云开发环境。 */
|
|
16
|
+
previewUploadEnvType?: 'development';
|
|
15
17
|
}
|
|
16
18
|
/**
|
|
17
19
|
* 网络请求模块
|
package/dist/runtime/client.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { canUseDouyinContainer, downloadByDouyinContainer, isDouyinMiniProgram, isDouyinPreviewEnv, isWebPreviewEnv, requestByDouyinContainer, requestSSEByDouyinContainer, uploadByDouyinContainer, } from './douyin-container-request.js';
|
|
1
|
+
import { canUseDouyinContainer, downloadByDouyinContainer, isDouyinMiniProgram, isDouyinNativePreviewEnv, isDouyinPreviewEnv, isWebPreviewEnv, requestByDouyinContainer, requestSSEByDouyinContainer, uploadByDouyinContainer, } from './douyin-container-request.js';
|
|
2
2
|
import { mergeCachedDouyinLoginHeaders, requestByDouyinLogin, requestSSEByDouyinLogin, requestSSEByFetch, setDouyinLoginPlatformChannel, uploadByDouyinLogin, downloadByDouyinLogin, } from './douyin-login-request.js';
|
|
3
3
|
import { mergeIframeIdentityHeaders } from '../internal/runtime/iframe-auth/index.js';
|
|
4
|
-
import {
|
|
4
|
+
import { canPrepareImageForUpload, prepareUploadFilePath } from './image-upload-preparation.js';
|
|
5
|
+
import { appendGetQuery, createUrl, getManagedUploadError } from './network-url.js';
|
|
6
|
+
import { startPreparedUploadTask } from './prepared-upload-task.js';
|
|
5
7
|
/**
|
|
6
8
|
* 网络请求模块
|
|
7
9
|
* 封装 Taro.request、Taro.uploadFile、Taro.downloadFile。
|
|
@@ -64,7 +66,7 @@ export function createMicroappClient(taro, options = {}) {
|
|
|
64
66
|
});
|
|
65
67
|
return promise;
|
|
66
68
|
});
|
|
67
|
-
const
|
|
69
|
+
const startUpload = (option) => {
|
|
68
70
|
if (!option.url) {
|
|
69
71
|
option.url = '';
|
|
70
72
|
}
|
|
@@ -75,14 +77,27 @@ export function createMicroappClient(taro, options = {}) {
|
|
|
75
77
|
if (!option.name) {
|
|
76
78
|
option.name = 'file';
|
|
77
79
|
}
|
|
80
|
+
if (options.previewUploadEnvType === 'development' && isDouyinNativePreviewEnv()) {
|
|
81
|
+
return uploadByDouyinContainer(option, options.previewUploadEnvType);
|
|
82
|
+
}
|
|
78
83
|
if (isDouyinMiniProgram() &&
|
|
79
84
|
!isWebPreviewEnv() &&
|
|
80
85
|
!isDouyinPreviewEnv() &&
|
|
81
|
-
canUseDouyinContainer()
|
|
82
|
-
!/^http(s)?:\/\//.test(option.url)) {
|
|
86
|
+
canUseDouyinContainer()) {
|
|
83
87
|
return uploadByDouyinContainer(option);
|
|
84
88
|
}
|
|
85
89
|
return uploadByDouyinLogin(option);
|
|
90
|
+
};
|
|
91
|
+
const uploadFile = ((option) => {
|
|
92
|
+
if (getManagedUploadError(option) || !canPrepareImageForUpload(option.filePath)) {
|
|
93
|
+
return startUpload(option);
|
|
94
|
+
}
|
|
95
|
+
const uploadOption = { ...option };
|
|
96
|
+
const preparedPath = prepareUploadFilePath(uploadOption.filePath);
|
|
97
|
+
if (/^https?:\/\//.test(uploadOption.url ?? '')) {
|
|
98
|
+
return startPreparedUploadTask(uploadOption, preparedPath, prepared => taro.uploadFile(prepared));
|
|
99
|
+
}
|
|
100
|
+
return preparedPath.then(filePath => startUpload({ ...uploadOption, filePath }));
|
|
86
101
|
});
|
|
87
102
|
const downloadFile = ((option) => {
|
|
88
103
|
if (!option.url) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/runtime/client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,wBAAwB,EACxB,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EACL,6BAA6B,EAC7B,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,6BAA6B,EAC7B,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAA;AAClF,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/runtime/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,9 @@ import Taro from '@tarojs/taro';
|
|
|
2
2
|
import { type CreateMicroappClientOptions } from './client.js';
|
|
3
3
|
/**
|
|
4
4
|
* @desc 创建普通小程序的网络入口;SDK 自动绑定项目 Taro 运行时。
|
|
5
|
-
* @params {CreateMicroappClientOptions} [options]
|
|
5
|
+
* @params {CreateMicroappClientOptions} [options] 平台渠道和真机预览上传环境配置。默认使用内场渠道。
|
|
6
6
|
* @return {ReturnType<typeof createMicroappClient>} 仅提供普通小程序的 request、uploadFile、downloadFile 和 streamSse。
|
|
7
|
-
* @remarks 业务优先从模板的 @/network 导入 Network
|
|
7
|
+
* @remarks 业务优先从模板的 @/network 导入 Network。uploadFile 在支持原生图片处理的抖音小程序中自动尝试压缩符合条件的本地 JPEG,各上传路由均适用。业务直接传入原始 filePath。HTTP(S) 绝对地址仍由 Taro 传输。宿主需要封闭域功能时通过 MiniappOpenCard 承载,请求与数据处理仅在卡内完成。streamSse 返回的是流句柄,Promise resolve 不代表生成完成。正常关闭仅调用一次 onComplete;流错误仅调用一次 onError(Error),随后释放任务;close() 主动取消仅调用一次可选的 onCancel,不调用 onComplete/onError。业务须在对应终态回调中清理 loading,不能把 onComplete 当通用 finally;终态后的消息与重复事件会被忽略。创建任务前的失败仍通过 Promise rejection 交付。
|
|
8
8
|
* @example
|
|
9
9
|
* ```ts
|
|
10
10
|
* const Network = createMicroappClient({ platformChannel: 'ext' })
|
|
@@ -2,9 +2,9 @@ import Taro from '@tarojs/taro';
|
|
|
2
2
|
import { createMicroappClient as createMicroappClientWithTaro, } from './client.js';
|
|
3
3
|
/**
|
|
4
4
|
* @desc 创建普通小程序的网络入口;SDK 自动绑定项目 Taro 运行时。
|
|
5
|
-
* @params {CreateMicroappClientOptions} [options]
|
|
5
|
+
* @params {CreateMicroappClientOptions} [options] 平台渠道和真机预览上传环境配置。默认使用内场渠道。
|
|
6
6
|
* @return {ReturnType<typeof createMicroappClient>} 仅提供普通小程序的 request、uploadFile、downloadFile 和 streamSse。
|
|
7
|
-
* @remarks 业务优先从模板的 @/network 导入 Network
|
|
7
|
+
* @remarks 业务优先从模板的 @/network 导入 Network。uploadFile 在支持原生图片处理的抖音小程序中自动尝试压缩符合条件的本地 JPEG,各上传路由均适用。业务直接传入原始 filePath。HTTP(S) 绝对地址仍由 Taro 传输。宿主需要封闭域功能时通过 MiniappOpenCard 承载,请求与数据处理仅在卡内完成。streamSse 返回的是流句柄,Promise resolve 不代表生成完成。正常关闭仅调用一次 onComplete;流错误仅调用一次 onError(Error),随后释放任务;close() 主动取消仅调用一次可选的 onCancel,不调用 onComplete/onError。业务须在对应终态回调中清理 loading,不能把 onComplete 当通用 finally;终态后的消息与重复事件会被忽略。创建任务前的失败仍通过 Promise rejection 交付。
|
|
8
8
|
* @example
|
|
9
9
|
* ```ts
|
|
10
10
|
* const Network = createMicroappClient({ platformChannel: 'ext' })
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import Taro from "@tarojs/taro";
|
|
2
2
|
export declare const isDouyinMiniProgram: () => boolean;
|
|
3
3
|
export declare const isDouyinPreviewEnv: () => boolean;
|
|
4
|
+
export declare const isDouyinNativePreviewEnv: () => boolean;
|
|
4
5
|
export declare const isDouyinTestEnv: () => boolean;
|
|
5
|
-
export declare const getDouyinCloud: () =>
|
|
6
|
+
export declare const getDouyinCloud: () => DouyinMiniProgramCloudInstance | null;
|
|
6
7
|
export declare const canUseDouyinContainer: () => boolean;
|
|
7
8
|
export declare const requestByDouyinContainer: (option: Taro.request.Option<any, any>) => ReturnType<typeof Taro.request>;
|
|
8
9
|
export declare const isWebPreviewEnv: () => boolean;
|
|
9
10
|
export declare const requestSSEByDouyinContainer: (option: Taro.request.Option<any, any>) => Promise<EventSourceTask>;
|
|
10
|
-
export declare const uploadByDouyinContainer: (option: Taro.uploadFile.Option) => Promise<
|
|
11
|
+
export declare const uploadByDouyinContainer: (option: Taro.uploadFile.Option, envType?: "development") => Promise<Taro.uploadFile.SuccessCallbackResult>;
|
|
11
12
|
export declare const downloadByDouyinContainer: (option: Taro.downloadFile.Option) => Taro.RequestTask<unknown> | Taro.DownloadTask.DownloadTaskPromise;
|