Skip to content

Commit 81ad504

Browse files
committed
update readme & changelog
1 parent 9b8c8f5 commit 81ad504

File tree

2 files changed

+69
-32
lines changed

2 files changed

+69
-32
lines changed

packages/harmony/library/CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
# Change logs
22

3+
## v1.0.0-rc.4 (2024-03-13)
4+
5+
### 改动
6+
7+
- 支持 datashare schema 的 uri
8+
- 添加支持指定 uploadHosts 功能
9+
- 重命名 serverUrl 为 apiServerUrl
10+
- 其他细节错误优化
11+
312
## v1.0.0-rc.3 (2024-01-12)
413

514
### 改动

packages/harmony/library/README.md

Lines changed: 60 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -4,58 +4,66 @@
44

55
1. 安装SDK
66

7-
```
8-
ohpm install @qiniu/upload
7+
```bash
8+
ohpm i @qiniu/upload
99
```
1010

1111
2. 导入SDK
1212

13-
```javascript
14-
import { createMultipartUploadTask, FileData } from '@qiniu/upload';
13+
```typescript
14+
import { createDirectUploadTask, createMultipartUploadTask, FileData } from '@qiniu/upload';
1515
```
1616

1717
3. 创建上传任务
1818

19-
```javascript
20-
// 获取当前应用的 context
21-
// 关于如何获取具体参考:https://developer.harmonyos.com/cn/docs/documentation/doc-references-V3/js-apis-inner-application-context-0000001427744988-V3
22-
const context = getContext(this)
23-
19+
```typescript
2420
// 创建上传数据
25-
const fileData: FileData = { type: 'uri', data: 'file-uri' }
21+
const fileData: FileData = { type: 'uri', data: 'datashare://xxxx' }
22+
const fileData: FileData = { type: 'path', data: '/data/storage/xxx' }
2623
const fileData: FileData = { type: 'string', data: 'content' }
2724
const fileData: FileData = { type: 'array-buffer', data: new ArrayBuffer(1e3) }
2825

29-
// 注意:当前版本暂不支持直传
26+
// 创建直传任务
27+
// 由于系统 api9 接口问题暂时不推荐使用,无法获取上传的服务端返回信息
28+
const uploadTask = createDirectUploadTask(fileData, config);
3029

3130
// 创建分片上传任务
32-
const multipartUploadTask = createMultipartUploadTask(context, fileData, config);
31+
// 当前版本 SDK 暂不支持部分版本较老的私有集群分片上传功能
32+
const uploadTask = createMultipartUploadTask(fileData, config);
3333
```
3434

35-
4. 设置任务回调函数
35+
1. 设置任务回调函数
3636

37-
```javascript
37+
```typescript
3838
// 设置进度回调函数
39-
directUploadTask.onProgress((context) => {
39+
uploadTask.onProgress((progress, context) => {
4040
// 处理进度回调
4141
});
4242

4343
// 设置完成回调函数
44-
directUploadTask.onComplete((context) => {
44+
uploadTask.onComplete((result, context) => {
4545
// 处理完成回调
4646
});
4747

4848
// 设置错误回调函数
49-
directUploadTask.onError((context) => {
49+
uploadTask.onError((error, context) => {
5050
// 处理错误回调
5151
});
5252
```
5353

5454
5. 启动任务
5555

56-
```javascript
57-
directUploadTask.start()
58-
.then((result) => {
56+
```typescript
57+
uploadTask.start()
58+
```
59+
60+
6. 简单模式
61+
62+
如果你不需要关心进度信息,可以通过 start 快速获取任务的状态信息
63+
64+
```
65+
createMultipartUploadTask(fileData, config).start()
66+
.then((result) => {
5967
// 处理任务完成结果
6068
})
6169
.catch((error) => {
@@ -77,16 +85,16 @@ type TokenProvider = () => Promise<string>
7785
### Context
7886
7987
```typescript
80-
interface Context {
88+
interface Context<ProgressKey extends string = string> {
8189
host?: Host;
8290
token?: Token;
8391
result?: string;
8492
error?: UploadError;
85-
progress: Progress;
93+
progress: Progress<ProgressKey>;
8694
}
8795
```
8896

89-
- 上传队列的上下文接口,用于存储任务相关的信息。
97+
- 上传的上下文接口,用于存储任务相关的信息。
9098
- `host`:上传使用的 host。
9199
- `token`:上传使用的 token。
92100
- `result`:上传成功的信息。
@@ -98,42 +106,62 @@ interface Context {
98106
```typescript
99107
interface UploadConfig {
100108
tokenProvider: TokenProvider;
101-
serverUrl?: string;
109+
apiServerUrl?: string;
110+
uploadHosts?: []string;
102111
logLevel?: LogLevel;
103112
protocol?: HttpProtocol;
104113
vars?: Record<string, string>;
105114
}
106115
```
107116

108117
- 上传配置接口,用于配置上传任务的相关参数。
109-
- `serverUrl`:服务器 URL,默认为 api.qiniu.com,专有云根据情况填写。
110-
- `logLevel`:日志级别,默认为 NONE,不输出任何日志。
118+
- `apiServerUrl`:服务的接口地址;默认为七牛公有云,示例:<https://api.qiniu.com> 该配置仅当未设置 `uploadHosts` 时生效,SDK 将会通过指定的 api 服务提供的接口来动态获取上传地址,私有云请联系集群运维人员,并确认集群是否支持 `v4/query` 接口
119+
- `uploadHosts`: 上传服务地址,手动指定上传服务地址,示例:up.qiniu.com
120+
- `logLevel`:日志级别。
111121
- `protocol`:HTTP 协议,默认 HTTPS。
112122
- `tokenProvider`:用于获取上传所需 token 的函数。
113123
- `vars`: 上传过程中的自定义变量。
114124

115125
### OnError
116126

117127
```typescript
118-
type OnError = (context: Context) => void;
128+
type OnError = (error: UploadError, context: Context) => void;
119129
```
120130

121131
- 错误回调函数类型。
122-
- 接收一个上下文参数,并返回 `void`
123132

124133
### OnProgress
125134

126135
```typescript
127-
type OnProgress = (context: Context) => void;
136+
type OnProgress = (progress: Progress, context: Context) => void;
128137
```
129138

130139
- 进度回调函数类型。
131-
- 接收一个上下文参数,并返回 `void`
140+
141+
#### Progress
142+
143+
```typescript
144+
type Progress<Key extends string = string> = {
145+
/** 上传的文件总大小;单位 byte */
146+
size: number
147+
/** 目前处理的百分比进度;范围 0-1 */
148+
percent: number
149+
/** 具体每个部分的进度信息; */
150+
details: Record<Key, {
151+
/** 子任务的处理数据大小;单位 byte */
152+
size: number
153+
/** 目前处理的百分比进度;范围 0-1 */
154+
percent: number
155+
/** 该处理是否复用了缓存; */
156+
fromCache: boolean
157+
}>
158+
}
159+
```
132160
133161
### OnComplete
134162
135163
```typescript
136-
type OnComplete = (context: Context) => void;
164+
type OnComplete = (result: string, context: Context) => void;
137165
```
138166

139167
- 完成回调函数类型。
@@ -156,4 +184,4 @@ interface UploadTask {
156184
- `onComplete(fn: OnComplete)`:设置完成回调函数。
157185
- `onError(fn: OnError)`:设置错误回调函数。
158186
- `cancel()`:取消上传任务,并返回一个 Promise,该 Promise 在解析时提供任务结果。
159-
- `start()`:启动上传任务,并返回一个 Promise, 该Promise 在解析时提供任务结果。
187+
- `start()`:启动上传任务,并返回一个 Promise, 该 Promise 在解析时提供任务结果。

0 commit comments

Comments
 (0)