@xunlei-open/miniapp-types 0.1.1-beta.5 → 0.1.1-beta.7
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/index.d.cts +75 -26
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +75 -26
- package/dist/index.d.mts.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -32,13 +32,13 @@ export interface MiniappManifest {
|
|
|
32
32
|
/** 用户设置项。 */
|
|
33
33
|
settings?: MiniappSettingManifest[];
|
|
34
34
|
}
|
|
35
|
-
export type MiniappPermission =
|
|
35
|
+
export type MiniappPermission = 'network' | 'tasks.create' | 'tasks.list' | 'tasks.detail' | 'tasks.file.access' | 'tasks.update' | 'tasks.delete' | 'blob' | 'webview';
|
|
36
36
|
export interface MiniappNetworkManifest {
|
|
37
37
|
[key: string]: unknown;
|
|
38
38
|
/** 页面和事件脚本可直接访问的远程网址匹配模式。 */
|
|
39
39
|
urls?: string[];
|
|
40
40
|
}
|
|
41
|
-
export type MiniappEntryType =
|
|
41
|
+
export type MiniappEntryType = 'miniapp' | 'in_app_webview';
|
|
42
42
|
export interface MiniappEntryManifest {
|
|
43
43
|
/** 默认使用微应用自己的页面容器。 */
|
|
44
44
|
type?: MiniappEntryType;
|
|
@@ -58,7 +58,7 @@ export interface MiniappScriptManifest {
|
|
|
58
58
|
match?: MiniappEventMatch;
|
|
59
59
|
entry: string;
|
|
60
60
|
}
|
|
61
|
-
export type MiniappLifecycleEventName =
|
|
61
|
+
export type MiniappLifecycleEventName = 'onResolve' | 'onStart' | 'onError' | 'onDone';
|
|
62
62
|
export type MiniappEventMatch = {
|
|
63
63
|
urls?: string[];
|
|
64
64
|
labels?: string[];
|
|
@@ -68,7 +68,7 @@ export interface MiniappSettingManifest {
|
|
|
68
68
|
name: string;
|
|
69
69
|
title: string;
|
|
70
70
|
description?: string;
|
|
71
|
-
type?:
|
|
71
|
+
type?: 'string' | 'number' | 'boolean';
|
|
72
72
|
value?: MiniappSettingValue;
|
|
73
73
|
options?: MiniappSettingOption[];
|
|
74
74
|
}
|
|
@@ -77,11 +77,11 @@ export interface MiniappSettingOption {
|
|
|
77
77
|
value: MiniappSettingValue;
|
|
78
78
|
}
|
|
79
79
|
/** 下载协议类型。 */
|
|
80
|
-
export type Protocol =
|
|
81
|
-
export type TaskStatus =
|
|
80
|
+
export type Protocol = 'http' | 'bt' | 'ed2k';
|
|
81
|
+
export type TaskStatus = 'ready' | 'running' | 'pause' | 'wait' | 'error' | 'done';
|
|
82
82
|
/** 支持的 HTTP 请求头 */
|
|
83
83
|
export type HttpHeader = {
|
|
84
|
-
|
|
84
|
+
'User-Agent'?: string;
|
|
85
85
|
Referer?: string;
|
|
86
86
|
Cookie?: string;
|
|
87
87
|
Authorization?: string;
|
|
@@ -145,7 +145,7 @@ export interface TaskProgress {
|
|
|
145
145
|
downloaded: number;
|
|
146
146
|
}
|
|
147
147
|
export interface Task {
|
|
148
|
-
type:
|
|
148
|
+
type: 'single';
|
|
149
149
|
/** 任务标识。 */
|
|
150
150
|
id: string;
|
|
151
151
|
/** 下载协议类型。 */
|
|
@@ -155,10 +155,10 @@ export interface Task {
|
|
|
155
155
|
/** 任务元数据,包含请求、资源和下载选项。 */
|
|
156
156
|
meta: {
|
|
157
157
|
/** 任务详情不返回请求的附加选项。 */
|
|
158
|
-
req: Omit<Request,
|
|
158
|
+
req: Omit<Request, 'extra'>;
|
|
159
159
|
res: Resource;
|
|
160
160
|
/** 任务详情不返回下载的附加选项。 */
|
|
161
|
-
opts: Omit<Options,
|
|
161
|
+
opts: Omit<Options, 'extra'>;
|
|
162
162
|
};
|
|
163
163
|
/** 任务状态。 */
|
|
164
164
|
status: TaskStatus;
|
|
@@ -173,8 +173,8 @@ export interface Task {
|
|
|
173
173
|
}
|
|
174
174
|
/** 普通任务与任务组均使用 id 字段标识,通过 type 字段区分类型。 */
|
|
175
175
|
export type TaskDetailResult = Task | TaskGroup;
|
|
176
|
-
export interface TaskGroup extends Omit<Task,
|
|
177
|
-
type:
|
|
176
|
+
export interface TaskGroup extends Omit<Task, 'type' | 'protocol' | 'meta'> {
|
|
177
|
+
type: 'group';
|
|
178
178
|
/** path 为父目录,name 为组目录名。 */
|
|
179
179
|
opts: {
|
|
180
180
|
path: string;
|
|
@@ -196,11 +196,13 @@ export interface TaskFileAccessResult {
|
|
|
196
196
|
* 用于任务开始(onStart)和任务出错(onError)事件的上下文。
|
|
197
197
|
*/
|
|
198
198
|
export interface ExtensionTask extends Task {
|
|
199
|
-
meta: Omit<Task[
|
|
199
|
+
meta: Omit<Task['meta'], 'req'> & {
|
|
200
200
|
req: ExtensionRequest;
|
|
201
201
|
};
|
|
202
202
|
/** 覆盖任务请求地址。 */
|
|
203
203
|
setUrl(url: string): Promise<void>;
|
|
204
|
+
/** 设置任务请求扩展信息。 */
|
|
205
|
+
setExtra(extra: ReqExtra): Promise<void>;
|
|
204
206
|
}
|
|
205
207
|
export interface OnErrorExtensionTask extends ExtensionTask {
|
|
206
208
|
/** 恢复任务。 */
|
|
@@ -225,9 +227,9 @@ export interface TaskListInput {
|
|
|
225
227
|
/** 每页最多返回的任务数量,宿主默认值由运行时约定。 */
|
|
226
228
|
limit?: number;
|
|
227
229
|
/** 按任务状态筛选。 */
|
|
228
|
-
status?: Task[
|
|
230
|
+
status?: Task['status'] | Task['status'][];
|
|
229
231
|
/** 创建时间排序方式,默认倒序。 */
|
|
230
|
-
sort?:
|
|
232
|
+
sort?: 'createdAtAsc' | 'createdAtDesc';
|
|
231
233
|
}
|
|
232
234
|
export interface TaskListResult {
|
|
233
235
|
/** 当前页的任务标识;详情通过 tasks.detail 单独查询。 */
|
|
@@ -259,15 +261,15 @@ export interface TaskDeleteResult {
|
|
|
259
261
|
}
|
|
260
262
|
/** onResolve 解析结果中的文件必须指定下载请求,其他文件信息可省略。 */
|
|
261
263
|
export type OnResolveFileInfo = {
|
|
262
|
-
name?: FileInfo[
|
|
263
|
-
path?: FileInfo[
|
|
264
|
-
size?: FileInfo[
|
|
264
|
+
name?: FileInfo['name'];
|
|
265
|
+
path?: FileInfo['path'];
|
|
266
|
+
size?: FileInfo['size'];
|
|
265
267
|
req: Request;
|
|
266
268
|
};
|
|
267
269
|
/** 资源解析事件(onResolve)的结果允许省略名称和总大小。 */
|
|
268
270
|
export type OnResolveResource = {
|
|
269
|
-
name?: Resource[
|
|
270
|
-
size?: Resource[
|
|
271
|
+
name?: Resource['name'];
|
|
272
|
+
size?: Resource['size'];
|
|
271
273
|
files: OnResolveFileInfo[];
|
|
272
274
|
};
|
|
273
275
|
/** 资源解析事件(onResolve)的上下文。 */
|
|
@@ -398,7 +400,7 @@ export interface WebviewGotoOptions {
|
|
|
398
400
|
/** 导航超时时间,单位为毫秒。 */
|
|
399
401
|
timeoutMs?: number;
|
|
400
402
|
/** 等待页面加载完成的阶段。 */
|
|
401
|
-
waitUntil?:
|
|
403
|
+
waitUntil?: 'load' | 'domcontentloaded';
|
|
402
404
|
}
|
|
403
405
|
export interface WebviewClickOptions {
|
|
404
406
|
/** 点击前等待的时间,单位为毫秒。 */
|
|
@@ -441,7 +443,7 @@ export type WebviewExecutable<T = unknown> = string | ((...args: unknown[]) => T
|
|
|
441
443
|
/** WebView 事件及其回调参数。导航和加载事件仅针对主页面,不包含 iframe。 */
|
|
442
444
|
export interface WebviewEventMap {
|
|
443
445
|
/** 实际地址发生变化,包含同一文档内的导航;不表示页面已加载完成。 */
|
|
444
|
-
|
|
446
|
+
'url-changed': {
|
|
445
447
|
url: string;
|
|
446
448
|
/** 是否为 hash、History API 等同一文档内的地址变化。 */
|
|
447
449
|
sameDocument: boolean;
|
|
@@ -450,18 +452,18 @@ export interface WebviewEventMap {
|
|
|
450
452
|
* 主页面触发 window.load,表示文档及阻塞 load 的资源已结束加载,不代表业务异步任务完成。
|
|
451
453
|
* 刷新页面会触发;仅 hash 或 History API 引起的同一文档内导航不触发。
|
|
452
454
|
*/
|
|
453
|
-
|
|
455
|
+
load: {
|
|
454
456
|
url: string;
|
|
455
457
|
};
|
|
456
458
|
/** 页面加载失败。 */
|
|
457
|
-
|
|
459
|
+
'load-error': {
|
|
458
460
|
url: string;
|
|
459
461
|
message: string;
|
|
460
462
|
};
|
|
461
463
|
/** 页面已关闭。 */
|
|
462
|
-
|
|
464
|
+
closed: {
|
|
463
465
|
/** 用户关闭窗口,或通过 close() 关闭页面。 */
|
|
464
|
-
reason:
|
|
466
|
+
reason: 'user' | 'api';
|
|
465
467
|
};
|
|
466
468
|
}
|
|
467
469
|
/** 取消本次监听,可重复调用,页面关闭后调用也安全。 */
|
|
@@ -643,6 +645,51 @@ export interface XunleiRuntime {
|
|
|
643
645
|
blob: XunleiRuntimeBlob;
|
|
644
646
|
webview: XunleiRuntimeWebview;
|
|
645
647
|
}
|
|
648
|
+
/** 宿主主题模式。 */
|
|
649
|
+
export type HostThemeMode = 'light' | 'dark';
|
|
650
|
+
/** 宿主环境信息查询接口,页面和事件脚本均可用。 */
|
|
651
|
+
export interface XunleiHostEnv {
|
|
652
|
+
/**
|
|
653
|
+
* 宿主默认下载目录,绝对路径。
|
|
654
|
+
* 用户在宿主中修改后,后续调用返回新值。
|
|
655
|
+
*/
|
|
656
|
+
defaultDownloadDir(): Promise<string>;
|
|
657
|
+
/**
|
|
658
|
+
* 宿主当前主题模式;宿主设置为跟随系统时返回解析后的结果,不返回 auto。
|
|
659
|
+
* 主题变化后,后续调用返回新值。
|
|
660
|
+
*/
|
|
661
|
+
themeMode(): Promise<HostThemeMode>;
|
|
662
|
+
}
|
|
663
|
+
export interface UiPickDirectoryOptions {
|
|
664
|
+
/** 对话框初始定位的目录,绝对路径;未指定时定位到宿主默认下载目录。 */
|
|
665
|
+
defaultPath?: string;
|
|
666
|
+
}
|
|
667
|
+
/** 目录选择结果。 */
|
|
668
|
+
export interface UiPickDirectoryResult {
|
|
669
|
+
/** 用户选择的目录绝对路径。 */
|
|
670
|
+
path: string;
|
|
671
|
+
}
|
|
672
|
+
export interface UiOpenTaskListOptions {
|
|
673
|
+
/** 跳转后高亮选中的任务标识;任务不存在或不可见时仅跳转,不高亮。 */
|
|
674
|
+
taskId?: string;
|
|
675
|
+
}
|
|
676
|
+
/** 宿主 UI 操作接口,仅微应用页面可用,事件脚本不注入。 */
|
|
677
|
+
export interface XunleiHostUi {
|
|
678
|
+
/** 打开宿主目录选择器;用户取消时返回 null,不视为错误。 */
|
|
679
|
+
pickDirectory(opts?: UiPickDirectoryOptions): Promise<UiPickDirectoryResult | null>;
|
|
680
|
+
/** 跳转到宿主任务列表页,可选高亮指定任务。 */
|
|
681
|
+
openTaskList(opts?: UiOpenTaskListOptions): Promise<void>;
|
|
682
|
+
}
|
|
683
|
+
/**
|
|
684
|
+
* 宿主环境与 UI 接口,与 info(微应用自身信息)相对。
|
|
685
|
+
* env 读宿主状态,页面和事件脚本均可用;ui 操作宿主界面,仅页面可用。
|
|
686
|
+
*/
|
|
687
|
+
export interface XunleiHost {
|
|
688
|
+
/** 宿主环境信息。 */
|
|
689
|
+
env: XunleiHostEnv;
|
|
690
|
+
/** 宿主 UI 操作,仅页面可用。 */
|
|
691
|
+
ui: XunleiHostUi;
|
|
692
|
+
}
|
|
646
693
|
export interface Xunlei {
|
|
647
694
|
/** 微应用信息(只读)。 */
|
|
648
695
|
info: XunleiInfo;
|
|
@@ -658,6 +705,8 @@ export interface Xunlei {
|
|
|
658
705
|
events: XunleiEvents;
|
|
659
706
|
/** 运行时能力接口。 */
|
|
660
707
|
runtime: XunleiRuntime;
|
|
708
|
+
/** 宿主环境与 UI 接口。 */
|
|
709
|
+
host: XunleiHost;
|
|
661
710
|
}
|
|
662
711
|
export interface MiniappInfo {
|
|
663
712
|
id: string;
|
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/index.ts"],"mappings":";;iBAGiB;;
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/index.ts"],"mappings":"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"}
|
package/dist/index.d.mts
CHANGED
|
@@ -32,13 +32,13 @@ export interface MiniappManifest {
|
|
|
32
32
|
/** 用户设置项。 */
|
|
33
33
|
settings?: MiniappSettingManifest[];
|
|
34
34
|
}
|
|
35
|
-
export type MiniappPermission =
|
|
35
|
+
export type MiniappPermission = 'network' | 'tasks.create' | 'tasks.list' | 'tasks.detail' | 'tasks.file.access' | 'tasks.update' | 'tasks.delete' | 'blob' | 'webview';
|
|
36
36
|
export interface MiniappNetworkManifest {
|
|
37
37
|
[key: string]: unknown;
|
|
38
38
|
/** 页面和事件脚本可直接访问的远程网址匹配模式。 */
|
|
39
39
|
urls?: string[];
|
|
40
40
|
}
|
|
41
|
-
export type MiniappEntryType =
|
|
41
|
+
export type MiniappEntryType = 'miniapp' | 'in_app_webview';
|
|
42
42
|
export interface MiniappEntryManifest {
|
|
43
43
|
/** 默认使用微应用自己的页面容器。 */
|
|
44
44
|
type?: MiniappEntryType;
|
|
@@ -58,7 +58,7 @@ export interface MiniappScriptManifest {
|
|
|
58
58
|
match?: MiniappEventMatch;
|
|
59
59
|
entry: string;
|
|
60
60
|
}
|
|
61
|
-
export type MiniappLifecycleEventName =
|
|
61
|
+
export type MiniappLifecycleEventName = 'onResolve' | 'onStart' | 'onError' | 'onDone';
|
|
62
62
|
export type MiniappEventMatch = {
|
|
63
63
|
urls?: string[];
|
|
64
64
|
labels?: string[];
|
|
@@ -68,7 +68,7 @@ export interface MiniappSettingManifest {
|
|
|
68
68
|
name: string;
|
|
69
69
|
title: string;
|
|
70
70
|
description?: string;
|
|
71
|
-
type?:
|
|
71
|
+
type?: 'string' | 'number' | 'boolean';
|
|
72
72
|
value?: MiniappSettingValue;
|
|
73
73
|
options?: MiniappSettingOption[];
|
|
74
74
|
}
|
|
@@ -77,11 +77,11 @@ export interface MiniappSettingOption {
|
|
|
77
77
|
value: MiniappSettingValue;
|
|
78
78
|
}
|
|
79
79
|
/** 下载协议类型。 */
|
|
80
|
-
export type Protocol =
|
|
81
|
-
export type TaskStatus =
|
|
80
|
+
export type Protocol = 'http' | 'bt' | 'ed2k';
|
|
81
|
+
export type TaskStatus = 'ready' | 'running' | 'pause' | 'wait' | 'error' | 'done';
|
|
82
82
|
/** 支持的 HTTP 请求头 */
|
|
83
83
|
export type HttpHeader = {
|
|
84
|
-
|
|
84
|
+
'User-Agent'?: string;
|
|
85
85
|
Referer?: string;
|
|
86
86
|
Cookie?: string;
|
|
87
87
|
Authorization?: string;
|
|
@@ -145,7 +145,7 @@ export interface TaskProgress {
|
|
|
145
145
|
downloaded: number;
|
|
146
146
|
}
|
|
147
147
|
export interface Task {
|
|
148
|
-
type:
|
|
148
|
+
type: 'single';
|
|
149
149
|
/** 任务标识。 */
|
|
150
150
|
id: string;
|
|
151
151
|
/** 下载协议类型。 */
|
|
@@ -155,10 +155,10 @@ export interface Task {
|
|
|
155
155
|
/** 任务元数据,包含请求、资源和下载选项。 */
|
|
156
156
|
meta: {
|
|
157
157
|
/** 任务详情不返回请求的附加选项。 */
|
|
158
|
-
req: Omit<Request,
|
|
158
|
+
req: Omit<Request, 'extra'>;
|
|
159
159
|
res: Resource;
|
|
160
160
|
/** 任务详情不返回下载的附加选项。 */
|
|
161
|
-
opts: Omit<Options,
|
|
161
|
+
opts: Omit<Options, 'extra'>;
|
|
162
162
|
};
|
|
163
163
|
/** 任务状态。 */
|
|
164
164
|
status: TaskStatus;
|
|
@@ -173,8 +173,8 @@ export interface Task {
|
|
|
173
173
|
}
|
|
174
174
|
/** 普通任务与任务组均使用 id 字段标识,通过 type 字段区分类型。 */
|
|
175
175
|
export type TaskDetailResult = Task | TaskGroup;
|
|
176
|
-
export interface TaskGroup extends Omit<Task,
|
|
177
|
-
type:
|
|
176
|
+
export interface TaskGroup extends Omit<Task, 'type' | 'protocol' | 'meta'> {
|
|
177
|
+
type: 'group';
|
|
178
178
|
/** path 为父目录,name 为组目录名。 */
|
|
179
179
|
opts: {
|
|
180
180
|
path: string;
|
|
@@ -196,11 +196,13 @@ export interface TaskFileAccessResult {
|
|
|
196
196
|
* 用于任务开始(onStart)和任务出错(onError)事件的上下文。
|
|
197
197
|
*/
|
|
198
198
|
export interface ExtensionTask extends Task {
|
|
199
|
-
meta: Omit<Task[
|
|
199
|
+
meta: Omit<Task['meta'], 'req'> & {
|
|
200
200
|
req: ExtensionRequest;
|
|
201
201
|
};
|
|
202
202
|
/** 覆盖任务请求地址。 */
|
|
203
203
|
setUrl(url: string): Promise<void>;
|
|
204
|
+
/** 设置任务请求扩展信息。 */
|
|
205
|
+
setExtra(extra: ReqExtra): Promise<void>;
|
|
204
206
|
}
|
|
205
207
|
export interface OnErrorExtensionTask extends ExtensionTask {
|
|
206
208
|
/** 恢复任务。 */
|
|
@@ -225,9 +227,9 @@ export interface TaskListInput {
|
|
|
225
227
|
/** 每页最多返回的任务数量,宿主默认值由运行时约定。 */
|
|
226
228
|
limit?: number;
|
|
227
229
|
/** 按任务状态筛选。 */
|
|
228
|
-
status?: Task[
|
|
230
|
+
status?: Task['status'] | Task['status'][];
|
|
229
231
|
/** 创建时间排序方式,默认倒序。 */
|
|
230
|
-
sort?:
|
|
232
|
+
sort?: 'createdAtAsc' | 'createdAtDesc';
|
|
231
233
|
}
|
|
232
234
|
export interface TaskListResult {
|
|
233
235
|
/** 当前页的任务标识;详情通过 tasks.detail 单独查询。 */
|
|
@@ -259,15 +261,15 @@ export interface TaskDeleteResult {
|
|
|
259
261
|
}
|
|
260
262
|
/** onResolve 解析结果中的文件必须指定下载请求,其他文件信息可省略。 */
|
|
261
263
|
export type OnResolveFileInfo = {
|
|
262
|
-
name?: FileInfo[
|
|
263
|
-
path?: FileInfo[
|
|
264
|
-
size?: FileInfo[
|
|
264
|
+
name?: FileInfo['name'];
|
|
265
|
+
path?: FileInfo['path'];
|
|
266
|
+
size?: FileInfo['size'];
|
|
265
267
|
req: Request;
|
|
266
268
|
};
|
|
267
269
|
/** 资源解析事件(onResolve)的结果允许省略名称和总大小。 */
|
|
268
270
|
export type OnResolveResource = {
|
|
269
|
-
name?: Resource[
|
|
270
|
-
size?: Resource[
|
|
271
|
+
name?: Resource['name'];
|
|
272
|
+
size?: Resource['size'];
|
|
271
273
|
files: OnResolveFileInfo[];
|
|
272
274
|
};
|
|
273
275
|
/** 资源解析事件(onResolve)的上下文。 */
|
|
@@ -398,7 +400,7 @@ export interface WebviewGotoOptions {
|
|
|
398
400
|
/** 导航超时时间,单位为毫秒。 */
|
|
399
401
|
timeoutMs?: number;
|
|
400
402
|
/** 等待页面加载完成的阶段。 */
|
|
401
|
-
waitUntil?:
|
|
403
|
+
waitUntil?: 'load' | 'domcontentloaded';
|
|
402
404
|
}
|
|
403
405
|
export interface WebviewClickOptions {
|
|
404
406
|
/** 点击前等待的时间,单位为毫秒。 */
|
|
@@ -441,7 +443,7 @@ export type WebviewExecutable<T = unknown> = string | ((...args: unknown[]) => T
|
|
|
441
443
|
/** WebView 事件及其回调参数。导航和加载事件仅针对主页面,不包含 iframe。 */
|
|
442
444
|
export interface WebviewEventMap {
|
|
443
445
|
/** 实际地址发生变化,包含同一文档内的导航;不表示页面已加载完成。 */
|
|
444
|
-
|
|
446
|
+
'url-changed': {
|
|
445
447
|
url: string;
|
|
446
448
|
/** 是否为 hash、History API 等同一文档内的地址变化。 */
|
|
447
449
|
sameDocument: boolean;
|
|
@@ -450,18 +452,18 @@ export interface WebviewEventMap {
|
|
|
450
452
|
* 主页面触发 window.load,表示文档及阻塞 load 的资源已结束加载,不代表业务异步任务完成。
|
|
451
453
|
* 刷新页面会触发;仅 hash 或 History API 引起的同一文档内导航不触发。
|
|
452
454
|
*/
|
|
453
|
-
|
|
455
|
+
load: {
|
|
454
456
|
url: string;
|
|
455
457
|
};
|
|
456
458
|
/** 页面加载失败。 */
|
|
457
|
-
|
|
459
|
+
'load-error': {
|
|
458
460
|
url: string;
|
|
459
461
|
message: string;
|
|
460
462
|
};
|
|
461
463
|
/** 页面已关闭。 */
|
|
462
|
-
|
|
464
|
+
closed: {
|
|
463
465
|
/** 用户关闭窗口,或通过 close() 关闭页面。 */
|
|
464
|
-
reason:
|
|
466
|
+
reason: 'user' | 'api';
|
|
465
467
|
};
|
|
466
468
|
}
|
|
467
469
|
/** 取消本次监听,可重复调用,页面关闭后调用也安全。 */
|
|
@@ -643,6 +645,51 @@ export interface XunleiRuntime {
|
|
|
643
645
|
blob: XunleiRuntimeBlob;
|
|
644
646
|
webview: XunleiRuntimeWebview;
|
|
645
647
|
}
|
|
648
|
+
/** 宿主主题模式。 */
|
|
649
|
+
export type HostThemeMode = 'light' | 'dark';
|
|
650
|
+
/** 宿主环境信息查询接口,页面和事件脚本均可用。 */
|
|
651
|
+
export interface XunleiHostEnv {
|
|
652
|
+
/**
|
|
653
|
+
* 宿主默认下载目录,绝对路径。
|
|
654
|
+
* 用户在宿主中修改后,后续调用返回新值。
|
|
655
|
+
*/
|
|
656
|
+
defaultDownloadDir(): Promise<string>;
|
|
657
|
+
/**
|
|
658
|
+
* 宿主当前主题模式;宿主设置为跟随系统时返回解析后的结果,不返回 auto。
|
|
659
|
+
* 主题变化后,后续调用返回新值。
|
|
660
|
+
*/
|
|
661
|
+
themeMode(): Promise<HostThemeMode>;
|
|
662
|
+
}
|
|
663
|
+
export interface UiPickDirectoryOptions {
|
|
664
|
+
/** 对话框初始定位的目录,绝对路径;未指定时定位到宿主默认下载目录。 */
|
|
665
|
+
defaultPath?: string;
|
|
666
|
+
}
|
|
667
|
+
/** 目录选择结果。 */
|
|
668
|
+
export interface UiPickDirectoryResult {
|
|
669
|
+
/** 用户选择的目录绝对路径。 */
|
|
670
|
+
path: string;
|
|
671
|
+
}
|
|
672
|
+
export interface UiOpenTaskListOptions {
|
|
673
|
+
/** 跳转后高亮选中的任务标识;任务不存在或不可见时仅跳转,不高亮。 */
|
|
674
|
+
taskId?: string;
|
|
675
|
+
}
|
|
676
|
+
/** 宿主 UI 操作接口,仅微应用页面可用,事件脚本不注入。 */
|
|
677
|
+
export interface XunleiHostUi {
|
|
678
|
+
/** 打开宿主目录选择器;用户取消时返回 null,不视为错误。 */
|
|
679
|
+
pickDirectory(opts?: UiPickDirectoryOptions): Promise<UiPickDirectoryResult | null>;
|
|
680
|
+
/** 跳转到宿主任务列表页,可选高亮指定任务。 */
|
|
681
|
+
openTaskList(opts?: UiOpenTaskListOptions): Promise<void>;
|
|
682
|
+
}
|
|
683
|
+
/**
|
|
684
|
+
* 宿主环境与 UI 接口,与 info(微应用自身信息)相对。
|
|
685
|
+
* env 读宿主状态,页面和事件脚本均可用;ui 操作宿主界面,仅页面可用。
|
|
686
|
+
*/
|
|
687
|
+
export interface XunleiHost {
|
|
688
|
+
/** 宿主环境信息。 */
|
|
689
|
+
env: XunleiHostEnv;
|
|
690
|
+
/** 宿主 UI 操作,仅页面可用。 */
|
|
691
|
+
ui: XunleiHostUi;
|
|
692
|
+
}
|
|
646
693
|
export interface Xunlei {
|
|
647
694
|
/** 微应用信息(只读)。 */
|
|
648
695
|
info: XunleiInfo;
|
|
@@ -658,6 +705,8 @@ export interface Xunlei {
|
|
|
658
705
|
events: XunleiEvents;
|
|
659
706
|
/** 运行时能力接口。 */
|
|
660
707
|
runtime: XunleiRuntime;
|
|
708
|
+
/** 宿主环境与 UI 接口。 */
|
|
709
|
+
host: XunleiHost;
|
|
661
710
|
}
|
|
662
711
|
export interface MiniappInfo {
|
|
663
712
|
id: string;
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/index.ts"],"mappings":";;iBAGiB;;
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/index.ts"],"mappings":"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"}
|
package/package.json
CHANGED