Skip to content

Commit 53bc80c

Browse files
author
AxT-Team Bot
committed
chore: regen translate stream
1 parent bc5b77f commit 53bc80c

15 files changed

+536
-8
lines changed

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,16 @@ console.log(result)
2525

2626
## CDN 引入
2727

28-
`uapi-browser-sdk` 已发布到 npm,因此任意支持 npm 包的 CDN 都可以直接加载,无需构建步骤。推荐做法是按照下面的示例引用,并在生产环境中固定版本号`@latest` 适合快速试用)。
28+
`uapi-browser-sdk` 发布在 npm,因而可以直接通过常见 CDN 以 ES Module 方式加载。建议在生产环境固定版本号`@latest` 仅用于快速试用)。
2929

30-
### jsDelivr(官方推荐
30+
### jsDelivr(推荐
3131

3232
```html
3333
<script type="module">
3434
import { UapiClient } from 'https://cdn.jsdelivr.net/npm/uapi-browser-sdk@latest/dist/index.js';
3535
3636
const client = new UapiClient('https://uapis.cn/api/v1');
37-
const data = await client.network.getNetworkMyip();
37+
const data = await client.social.getSocialQqUserinfo({ qq: '10001' });
3838
console.log(data);
3939
</script>
4040
```
@@ -48,13 +48,13 @@ console.log(result)
4848
</script>
4949
```
5050

51-
### ESM CDN(esm.run / esm.sh
51+
### ESM CDN(esm.run / esm.sh)
5252

5353
```ts
5454
import { UapiClient } from 'https://esm.run/uapi-browser-sdk@latest';
5555
```
5656

57-
以上三种方式都会返回同一份浏览器原生 ESM 模块,因此可以根据团队的缓存策略或地理覆盖选择最合适的 CDN
57+
三种 CDN 均会返回同一份浏览器模块,可按自己的缓存/区域策略选择
5858

5959
## 特性
6060

internal/.openapi-generator/FILES

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -262,6 +262,9 @@ docs/PostTextMd5Request.md
262262
docs/PostTextMd5Verify200Response.md
263263
docs/PostTextMd5Verify400Response.md
264264
docs/PostTextMd5VerifyRequest.md
265+
docs/PostTranslateStream400Response.md
266+
docs/PostTranslateStream500Response.md
267+
docs/PostTranslateStreamRequest.md
265268
docs/PostTranslateText200Response.md
266269
docs/PostTranslateText400Response.md
267270
docs/PostTranslateText500Response.md
@@ -545,6 +548,9 @@ src/models/PostTextMd5Request.ts
545548
src/models/PostTextMd5Verify200Response.ts
546549
src/models/PostTextMd5Verify400Response.ts
547550
src/models/PostTextMd5VerifyRequest.ts
551+
src/models/PostTranslateStream400Response.ts
552+
src/models/PostTranslateStream500Response.ts
553+
src/models/PostTranslateStreamRequest.ts
548554
src/models/PostTranslateText200Response.ts
549555
src/models/PostTranslateText400Response.ts
550556
src/models/PostTranslateText500Response.ts

internal/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ All URIs are relative to *https://uapis.cn/api/v1*
117117
*TextApi* | [**postTextMd5Verify**](docs/TextApi.md#posttextmd5verifyoperation) | **POST** /text/md5/verify | 校验MD5哈希值
118118
*TranslateApi* | [**getAiTranslateLanguages**](docs/TranslateApi.md#getaitranslatelanguages) | **GET** /ai/translate/languages | 获取AI翻译支持的语言和配置
119119
*TranslateApi* | [**postAiTranslate**](docs/TranslateApi.md#postaitranslateoperation) | **POST** /ai/translate | AI智能翻译
120+
*TranslateApi* | [**postTranslateStream**](docs/TranslateApi.md#posttranslatestreamoperation) | **POST** /translate/stream | 流式翻译(中英互译)
120121
*TranslateApi* | [**postTranslateText**](docs/TranslateApi.md#posttranslatetextoperation) | **POST** /translate/text | 多语言文本翻译
121122
*WebParseApi* | [**getWebTomarkdownAsyncStatus**](docs/WebParseApi.md#getwebtomarkdownasyncstatus) | **GET** /web/tomarkdown/async/{task_id} | 查询网页转换任务状态和结果
122123
*WebParseApi* | [**getWebparseExtractimages**](docs/WebParseApi.md#getwebparseextractimages) | **GET** /webparse/extractimages | 提取网页中的所有图片
@@ -378,6 +379,9 @@ All URIs are relative to *https://uapis.cn/api/v1*
378379
- [PostTextMd5Verify200Response](docs/PostTextMd5Verify200Response.md)
379380
- [PostTextMd5Verify400Response](docs/PostTextMd5Verify400Response.md)
380381
- [PostTextMd5VerifyRequest](docs/PostTextMd5VerifyRequest.md)
382+
- [PostTranslateStream400Response](docs/PostTranslateStream400Response.md)
383+
- [PostTranslateStream500Response](docs/PostTranslateStream500Response.md)
384+
- [PostTranslateStreamRequest](docs/PostTranslateStreamRequest.md)
381385
- [PostTranslateText200Response](docs/PostTranslateText200Response.md)
382386
- [PostTranslateText400Response](docs/PostTranslateText400Response.md)
383387
- [PostTranslateText500Response](docs/PostTranslateText500Response.md)
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
2+
# PostTranslateStream400Response
3+
4+
5+
## Properties
6+
7+
Name | Type
8+
------------ | -------------
9+
`error` | string
10+
`code` | string
11+
12+
## Example
13+
14+
```typescript
15+
import type { PostTranslateStream400Response } from 'uapi-browser-sdk-browser'
16+
17+
// TODO: Update the object below with actual values
18+
const example = {
19+
"error": Missing required parameter,
20+
"code": MISSING_QUERY,
21+
} satisfies PostTranslateStream400Response
22+
23+
console.log(example)
24+
25+
// Convert the instance to a JSON string
26+
const exampleJSON: string = JSON.stringify(example)
27+
console.log(exampleJSON)
28+
29+
// Parse the JSON string back to an object
30+
const exampleParsed = JSON.parse(exampleJSON) as PostTranslateStream400Response
31+
console.log(exampleParsed)
32+
```
33+
34+
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
35+
36+
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
2+
# PostTranslateStream500Response
3+
4+
5+
## Properties
6+
7+
Name | Type
8+
------------ | -------------
9+
`error` | string
10+
`code` | string
11+
12+
## Example
13+
14+
```typescript
15+
import type { PostTranslateStream500Response } from 'uapi-browser-sdk-browser'
16+
17+
// TODO: Update the object below with actual values
18+
const example = {
19+
"error": Translation service unavailable,
20+
"code": SERVICE_ERROR,
21+
} satisfies PostTranslateStream500Response
22+
23+
console.log(example)
24+
25+
// Convert the instance to a JSON string
26+
const exampleJSON: string = JSON.stringify(example)
27+
console.log(exampleJSON)
28+
29+
// Parse the JSON string back to an object
30+
const exampleParsed = JSON.parse(exampleJSON) as PostTranslateStream500Response
31+
console.log(exampleParsed)
32+
```
33+
34+
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
35+
36+
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
2+
# PostTranslateStreamRequest
3+
4+
5+
## Properties
6+
7+
Name | Type
8+
------------ | -------------
9+
`query` | string
10+
`toLang` | string
11+
`fromLang` | string
12+
`tone` | string
13+
14+
## Example
15+
16+
```typescript
17+
import type { PostTranslateStreamRequest } from 'uapi-browser-sdk-browser'
18+
19+
// TODO: Update the object below with actual values
20+
const example = {
21+
"query": Hello, how are you?,
22+
"toLang": 中文,
23+
"fromLang": 英文,
24+
"tone": ,
25+
} satisfies PostTranslateStreamRequest
26+
27+
console.log(example)
28+
29+
// Convert the instance to a JSON string
30+
const exampleJSON: string = JSON.stringify(example)
31+
console.log(exampleJSON)
32+
33+
// Parse the JSON string back to an object
34+
const exampleParsed = JSON.parse(exampleJSON) as PostTranslateStreamRequest
35+
console.log(exampleParsed)
36+
```
37+
38+
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
39+
40+

internal/docs/TranslateApi.md

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ All URIs are relative to *https://uapis.cn/api/v1*
66
|------------- | ------------- | -------------|
77
| [**getAiTranslateLanguages**](TranslateApi.md#getaitranslatelanguages) | **GET** /ai/translate/languages | 获取AI翻译支持的语言和配置 |
88
| [**postAiTranslate**](TranslateApi.md#postaitranslateoperation) | **POST** /ai/translate | AI智能翻译 |
9+
| [**postTranslateStream**](TranslateApi.md#posttranslatestreamoperation) | **POST** /translate/stream | 流式翻译(中英互译) |
910
| [**postTranslateText**](TranslateApi.md#posttranslatetextoperation) | **POST** /translate/text | 多语言文本翻译 |
1011

1112

@@ -143,6 +144,75 @@ No authorization required
143144
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
144145

145146

147+
## postTranslateStream
148+
149+
> string postTranslateStream(postTranslateStreamRequest)
150+
151+
流式翻译(中英互译)
152+
153+
想让翻译结果像打字机一样逐字显示出来?这个流式翻译接口能实现这种效果。 ## 功能概述 不同于传统翻译API一次性返回完整结果,这个接口会实时地、一个字一个字地把翻译内容推给你(就像ChatGPT回复消息那样),非常适合用在聊天应用、直播字幕等需要即时反馈的场景。 ## 它能做什么 - **中英互译**:支持中文和英文之间的双向翻译 - **自动识别**:不确定源语言?设置为 &#x60;auto&#x60; 让我们自动检测 - **逐字返回**:翻译结果会像打字机一样逐字流式返回,用户体验更流畅 - **音频朗读**:部分翻译结果会附带音频链接,方便朗读 ## 支持的语言 目前专注于中英互译,支持以下选项: - &#x60;中文&#x60;(简体/繁体) - &#x60;英文&#x60; - &#x60;auto&#x60;(自动检测)
154+
155+
### Example
156+
157+
```ts
158+
import {
159+
Configuration,
160+
TranslateApi,
161+
} from 'uapi-browser-sdk-browser';
162+
import type { PostTranslateStreamOperationRequest } from 'uapi-browser-sdk-browser';
163+
164+
async function example() {
165+
console.log("🚀 Testing uapi-browser-sdk-browser SDK...");
166+
const api = new TranslateApi();
167+
168+
const body = {
169+
// PostTranslateStreamRequest | 包含翻译参数的JSON对象
170+
postTranslateStreamRequest: ...,
171+
} satisfies PostTranslateStreamOperationRequest;
172+
173+
try {
174+
const data = await api.postTranslateStream(body);
175+
console.log(data);
176+
} catch (error) {
177+
console.error(error);
178+
}
179+
}
180+
181+
// Run the test
182+
example().catch(console.error);
183+
```
184+
185+
### Parameters
186+
187+
188+
| Name | Type | Description | Notes |
189+
|------------- | ------------- | ------------- | -------------|
190+
| **postTranslateStreamRequest** | [PostTranslateStreamRequest](PostTranslateStreamRequest.md) | 包含翻译参数的JSON对象 | |
191+
192+
### Return type
193+
194+
**string**
195+
196+
### Authorization
197+
198+
No authorization required
199+
200+
### HTTP request headers
201+
202+
- **Content-Type**: `application/json`
203+
- **Accept**: `text/event-stream`, `application/json`
204+
205+
206+
### HTTP response details
207+
| Status code | Description | Response headers |
208+
|-------------|-------------|------------------|
209+
| **200** | SSE流式响应。Content-Type为text/event-stream | - |
210+
| **400** | 请求参数错误 | - |
211+
| **500** | 翻译服务错误 | - |
212+
213+
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
214+
215+
146216
## postTranslateText
147217

148218
> PostTranslateText200Response postTranslateText(toLang, postTranslateTextRequest)

internal/src/apis/TranslateApi.ts

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ import type {
2222
PostAiTranslate429Response,
2323
PostAiTranslate500Response,
2424
PostAiTranslateRequest,
25+
PostTranslateStream400Response,
26+
PostTranslateStream500Response,
27+
PostTranslateStreamRequest,
2528
PostTranslateText200Response,
2629
PostTranslateText400Response,
2730
PostTranslateText500Response,
@@ -42,6 +45,12 @@ import {
4245
PostAiTranslate500ResponseToJSON,
4346
PostAiTranslateRequestFromJSON,
4447
PostAiTranslateRequestToJSON,
48+
PostTranslateStream400ResponseFromJSON,
49+
PostTranslateStream400ResponseToJSON,
50+
PostTranslateStream500ResponseFromJSON,
51+
PostTranslateStream500ResponseToJSON,
52+
PostTranslateStreamRequestFromJSON,
53+
PostTranslateStreamRequestToJSON,
4554
PostTranslateText200ResponseFromJSON,
4655
PostTranslateText200ResponseToJSON,
4756
PostTranslateText400ResponseFromJSON,
@@ -57,6 +66,10 @@ export interface PostAiTranslateOperationRequest {
5766
postAiTranslateRequest: PostAiTranslateRequest;
5867
}
5968

69+
export interface PostTranslateStreamOperationRequest {
70+
postTranslateStreamRequest: PostTranslateStreamRequest;
71+
}
72+
6073
export interface PostTranslateTextOperationRequest {
6174
toLang: PostTranslateTextOperationToLangEnum;
6275
postTranslateTextRequest: PostTranslateTextRequest;
@@ -150,6 +163,51 @@ export class TranslateApi extends runtime.BaseAPI {
150163
return await response.value();
151164
}
152165

166+
/**
167+
* 想让翻译结果像打字机一样逐字显示出来?这个流式翻译接口能实现这种效果。 ## 功能概述 不同于传统翻译API一次性返回完整结果,这个接口会实时地、一个字一个字地把翻译内容推给你(就像ChatGPT回复消息那样),非常适合用在聊天应用、直播字幕等需要即时反馈的场景。 ## 它能做什么 - **中英互译**:支持中文和英文之间的双向翻译 - **自动识别**:不确定源语言?设置为 `auto` 让我们自动检测 - **逐字返回**:翻译结果会像打字机一样逐字流式返回,用户体验更流畅 - **音频朗读**:部分翻译结果会附带音频链接,方便朗读 ## 支持的语言 目前专注于中英互译,支持以下选项: - `中文`(简体/繁体) - `英文` - `auto`(自动检测)
168+
* 流式翻译(中英互译)
169+
*/
170+
async postTranslateStreamRaw(requestParameters: PostTranslateStreamOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<string>> {
171+
if (requestParameters['postTranslateStreamRequest'] == null) {
172+
throw new runtime.RequiredError(
173+
'postTranslateStreamRequest',
174+
'Required parameter "postTranslateStreamRequest" was null or undefined when calling postTranslateStream().'
175+
);
176+
}
177+
178+
const queryParameters: any = {};
179+
180+
const headerParameters: runtime.HTTPHeaders = {};
181+
182+
headerParameters['Content-Type'] = 'application/json';
183+
184+
185+
let urlPath = `/translate/stream`;
186+
187+
const response = await this.request({
188+
path: urlPath,
189+
method: 'POST',
190+
headers: headerParameters,
191+
query: queryParameters,
192+
body: PostTranslateStreamRequestToJSON(requestParameters['postTranslateStreamRequest']),
193+
}, initOverrides);
194+
195+
if (this.isJsonMime(response.headers.get('content-type'))) {
196+
return new runtime.JSONApiResponse<string>(response);
197+
} else {
198+
return new runtime.TextApiResponse(response) as any;
199+
}
200+
}
201+
202+
/**
203+
* 想让翻译结果像打字机一样逐字显示出来?这个流式翻译接口能实现这种效果。 ## 功能概述 不同于传统翻译API一次性返回完整结果,这个接口会实时地、一个字一个字地把翻译内容推给你(就像ChatGPT回复消息那样),非常适合用在聊天应用、直播字幕等需要即时反馈的场景。 ## 它能做什么 - **中英互译**:支持中文和英文之间的双向翻译 - **自动识别**:不确定源语言?设置为 `auto` 让我们自动检测 - **逐字返回**:翻译结果会像打字机一样逐字流式返回,用户体验更流畅 - **音频朗读**:部分翻译结果会附带音频链接,方便朗读 ## 支持的语言 目前专注于中英互译,支持以下选项: - `中文`(简体/繁体) - `英文` - `auto`(自动检测)
204+
* 流式翻译(中英互译)
205+
*/
206+
async postTranslateStream(requestParameters: PostTranslateStreamOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<string> {
207+
const response = await this.postTranslateStreamRaw(requestParameters, initOverrides);
208+
return await response.value();
209+
}
210+
153211
/**
154212
* 需要跨越语言的鸿沟进行交流?这个翻译接口是你可靠的\'同声传译\'。 ## 功能概述 你可以将一段源语言文本(我们能自动检测源语言)翻译成你指定的任何目标语言。无论是中译英、日译法,都不在话下。 ## 支持的语言 我们支持超过100种语言的互译,包括但不限于:中文(简体/繁体)、英语、日语、韩语、法语、德语、西班牙语、俄语、阿拉伯语等主流语言,以及各种小语种。详见下方参数列表。
155213
* 多语言文本翻译

0 commit comments

Comments
 (0)