@widget-js/core 0.7.2 → 0.7.4

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.
Files changed (137) hide show
  1. package/dist/index.cjs +2027 -0
  2. package/dist/index.cjs.map +1 -0
  3. package/dist/index.d.ts +1396 -0
  4. package/dist/index.js +1944 -0
  5. package/dist/index.js.map +1 -0
  6. package/package.json +15 -16
  7. package/dist/cjs/AppPermission.js +0 -8
  8. package/dist/cjs/api/ApiConstants.js +0 -11
  9. package/dist/cjs/api/AppApi.js +0 -51
  10. package/dist/cjs/api/BaseApi.js +0 -13
  11. package/dist/cjs/api/BroadcastApi.js +0 -22
  12. package/dist/cjs/api/BrowserWindowApi.js +0 -144
  13. package/dist/cjs/api/Channel.js +0 -22
  14. package/dist/cjs/api/ClipboardApi.js +0 -23
  15. package/dist/cjs/api/DeviceApi.js +0 -25
  16. package/dist/cjs/api/DialogApi.js +0 -22
  17. package/dist/cjs/api/ElectronApi.js +0 -15
  18. package/dist/cjs/api/FileApi.js +0 -21
  19. package/dist/cjs/api/HostedWidgetApi.js +0 -64
  20. package/dist/cjs/api/LogApi.js +0 -28
  21. package/dist/cjs/api/NotificationApi.js +0 -117
  22. package/dist/cjs/api/ShortcutApi.js +0 -23
  23. package/dist/cjs/api/StoreApi.js +0 -38
  24. package/dist/cjs/api/WidgetApi.js +0 -92
  25. package/dist/cjs/api/WidgetDataApi.js +0 -95
  26. package/dist/cjs/index.js +0 -51
  27. package/dist/cjs/lang/LanguageCode.js +0 -34
  28. package/dist/cjs/model/AppNotification.js +0 -33
  29. package/dist/cjs/model/BrowserWindowStatus.js +0 -11
  30. package/dist/cjs/model/HostedMode.js +0 -18
  31. package/dist/cjs/model/HostedWidget.js +0 -14
  32. package/dist/cjs/model/SocialInfo.js +0 -10
  33. package/dist/cjs/model/Widget.js +0 -118
  34. package/dist/cjs/model/WidgetData.js +0 -16
  35. package/dist/cjs/model/WidgetPackage.js +0 -98
  36. package/dist/cjs/model/WidgetParams.js +0 -151
  37. package/dist/cjs/model/event/AppMouseEvent.js +0 -2
  38. package/dist/cjs/model/event/BroadcastEvent.js +0 -11
  39. package/dist/cjs/model/event/NativeKeyboardEvent.js +0 -2
  40. package/dist/cjs/model/event/WebSocketEvent.js +0 -14
  41. package/dist/cjs/model/interface/IHostedWidget.js +0 -2
  42. package/dist/cjs/model/interface/Rectangle.js +0 -2
  43. package/dist/cjs/model/msic/graphics.js +0 -10
  44. package/dist/cjs/permission/permission.js +0 -2
  45. package/dist/cjs/router/encoding.js +0 -144
  46. package/dist/cjs/router/query.js +0 -84
  47. package/dist/cjs/utils/ElectronUtils.js +0 -32
  48. package/dist/cjs/utils/LanguageUtils.js +0 -36
  49. package/dist/cjs/utils/UrlUtils.js +0 -36
  50. package/dist/esm/AppPermission.js +0 -5
  51. package/dist/esm/api/ApiConstants.js +0 -7
  52. package/dist/esm/api/AppApi.js +0 -47
  53. package/dist/esm/api/BaseApi.js +0 -9
  54. package/dist/esm/api/BroadcastApi.js +0 -18
  55. package/dist/esm/api/BrowserWindowApi.js +0 -139
  56. package/dist/esm/api/Channel.js +0 -19
  57. package/dist/esm/api/ClipboardApi.js +0 -19
  58. package/dist/esm/api/DeviceApi.js +0 -21
  59. package/dist/esm/api/DialogApi.js +0 -19
  60. package/dist/esm/api/ElectronApi.js +0 -11
  61. package/dist/esm/api/FileApi.js +0 -18
  62. package/dist/esm/api/HostedWidgetApi.js +0 -60
  63. package/dist/esm/api/LogApi.js +0 -25
  64. package/dist/esm/api/NotificationApi.js +0 -113
  65. package/dist/esm/api/ShortcutApi.js +0 -19
  66. package/dist/esm/api/StoreApi.js +0 -35
  67. package/dist/esm/api/WidgetApi.js +0 -88
  68. package/dist/esm/api/WidgetDataApi.js +0 -88
  69. package/dist/esm/index.js +0 -35
  70. package/dist/esm/lang/LanguageCode.js +0 -33
  71. package/dist/esm/model/AppNotification.js +0 -29
  72. package/dist/esm/model/BrowserWindowStatus.js +0 -8
  73. package/dist/esm/model/HostedMode.js +0 -15
  74. package/dist/esm/model/HostedWidget.js +0 -10
  75. package/dist/esm/model/SocialInfo.js +0 -6
  76. package/dist/esm/model/Widget.js +0 -114
  77. package/dist/esm/model/WidgetData.js +0 -12
  78. package/dist/esm/model/WidgetPackage.js +0 -94
  79. package/dist/esm/model/WidgetParams.js +0 -147
  80. package/dist/esm/model/event/AppMouseEvent.js +0 -1
  81. package/dist/esm/model/event/BroadcastEvent.js +0 -7
  82. package/dist/esm/model/event/NativeKeyboardEvent.js +0 -1
  83. package/dist/esm/model/event/WebSocketEvent.js +0 -10
  84. package/dist/esm/model/interface/IHostedWidget.js +0 -1
  85. package/dist/esm/model/interface/Rectangle.js +0 -1
  86. package/dist/esm/model/msic/graphics.js +0 -7
  87. package/dist/esm/permission/permission.js +0 -1
  88. package/dist/esm/router/encoding.js +0 -135
  89. package/dist/esm/router/query.js +0 -79
  90. package/dist/esm/utils/ElectronUtils.js +0 -28
  91. package/dist/esm/utils/LanguageUtils.js +0 -32
  92. package/dist/esm/utils/UrlUtils.js +0 -32
  93. package/dist/types/AppPermission.d.ts +0 -4
  94. package/dist/types/api/ApiConstants.d.ts +0 -7
  95. package/dist/types/api/AppApi.d.ts +0 -29
  96. package/dist/types/api/BaseApi.d.ts +0 -5
  97. package/dist/types/api/BroadcastApi.d.ts +0 -21
  98. package/dist/types/api/BrowserWindowApi.d.ts +0 -111
  99. package/dist/types/api/Channel.d.ts +0 -18
  100. package/dist/types/api/ClipboardApi.d.ts +0 -10
  101. package/dist/types/api/DeviceApi.d.ts +0 -20
  102. package/dist/types/api/DialogApi.d.ts +0 -7
  103. package/dist/types/api/ElectronApi.d.ts +0 -4
  104. package/dist/types/api/FileApi.d.ts +0 -13
  105. package/dist/types/api/HostedWidgetApi.d.ts +0 -55
  106. package/dist/types/api/LogApi.d.ts +0 -9
  107. package/dist/types/api/NotificationApi.d.ts +0 -38
  108. package/dist/types/api/ShortcutApi.d.ts +0 -10
  109. package/dist/types/api/StoreApi.d.ts +0 -10
  110. package/dist/types/api/WidgetApi.d.ts +0 -48
  111. package/dist/types/api/WidgetDataApi.d.ts +0 -44
  112. package/dist/types/index.d.ts +0 -35
  113. package/dist/types/lang/LanguageCode.d.ts +0 -40
  114. package/dist/types/model/AppNotification.d.ts +0 -50
  115. package/dist/types/model/BrowserWindowStatus.d.ts +0 -9
  116. package/dist/types/model/HostedMode.d.ts +0 -14
  117. package/dist/types/model/HostedWidget.d.ts +0 -13
  118. package/dist/types/model/SocialInfo.d.ts +0 -6
  119. package/dist/types/model/Widget.d.ts +0 -136
  120. package/dist/types/model/WidgetData.d.ts +0 -35
  121. package/dist/types/model/WidgetPackage.d.ts +0 -101
  122. package/dist/types/model/WidgetParams.d.ts +0 -61
  123. package/dist/types/model/event/AppMouseEvent.d.ts +0 -14
  124. package/dist/types/model/event/BroadcastEvent.d.ts +0 -21
  125. package/dist/types/model/event/NativeKeyboardEvent.d.ts +0 -6
  126. package/dist/types/model/event/WebSocketEvent.d.ts +0 -8
  127. package/dist/types/model/interface/IHostedWidget.d.ts +0 -13
  128. package/dist/types/model/interface/Rectangle.d.ts +0 -18
  129. package/dist/types/model/msic/graphics.d.ts +0 -14
  130. package/dist/types/permission/permission.d.ts +0 -1
  131. package/dist/types/router/encoding.d.ts +0 -62
  132. package/dist/types/router/query.d.ts +0 -53
  133. package/dist/types/utils/ElectronUtils.d.ts +0 -10
  134. package/dist/types/utils/LanguageUtils.d.ts +0 -8
  135. package/dist/types/utils/UrlUtils.d.ts +0 -6
  136. package/dist/umd/index.js +0 -2
  137. package/dist/umd/index.js.LICENSE.txt +0 -6
@@ -1,32 +0,0 @@
1
- /**
2
- * 根据语言环境获取文本
3
- * @param langMap 对象
4
- * @param {LanguageCode} langCode 语言环境 例如:zh-CN,en-US
5
- * @param fallbackToBrowser
6
- */
7
- export function getTextByLanguageCode(langMap, langCode, fallbackToBrowser = true) {
8
- let result;
9
- if (langCode) {
10
- if (langCode in langMap) {
11
- return langMap[langCode];
12
- }
13
- }
14
- // fallback to browser default language
15
- if (result == undefined && fallbackToBrowser) {
16
- if (typeof navigator != 'undefined' && navigator.languages) {
17
- const langCode = navigator.language;
18
- result = getTextByLanguageCode(langMap, langCode, false);
19
- if (result != undefined) {
20
- return result;
21
- }
22
- }
23
- }
24
- // fallback to first language
25
- if (result == undefined) {
26
- let langCode = Object.keys(langMap);
27
- if (langCode.length > 0) {
28
- return langMap[langCode[0]];
29
- }
30
- }
31
- return undefined;
32
- }
@@ -1,32 +0,0 @@
1
- export class UrlUtils {
2
- static getWidgetUrl(widgetUrl, widgetPackage, widgetParams) {
3
- let url = "";
4
- if (widgetUrl.startsWith("http")) {
5
- url = widgetUrl;
6
- }
7
- else {
8
- url = widgetPackage.getIndexUrl() + widgetUrl;
9
- }
10
- if (url.includes("?")) {
11
- return url + "&" + widgetParams.toUrlParams().toString();
12
- }
13
- else {
14
- return url + "?" + widgetParams.toUrlParams().toString();
15
- }
16
- }
17
- static getWidgetPackageIndexUrl(url, entry, hash) {
18
- const arr = [url];
19
- if (url.startsWith("http")) {
20
- if (hash) {
21
- arr.push(url.endsWith("/") ? "#" : "/#");
22
- }
23
- }
24
- else {
25
- arr.push(entry.startsWith("/") ? entry : `/${entry}`);
26
- if (hash) {
27
- arr.push(url.endsWith("#") ? "" : "#");
28
- }
29
- }
30
- return arr.join("");
31
- }
32
- }
@@ -1,4 +0,0 @@
1
- export declare enum AppPermission {
2
- ACCESS_MOUSE_EVENT = "ACCESS_MOUSE_EVENT",
3
- ACCESS_KEYBOARD_EVENT = "ACCESS_KEYBOARD_EVENT"
4
- }
@@ -1,7 +0,0 @@
1
- export declare class ApiConstants {
2
- static readonly CONFIG_LAUNCH_AT_STARTUP = "CONFIG_LAUNCH_AT_STARTUP";
3
- static readonly CONFIG_WIDGET_TITLE_COLOR = "CONFIG_WIDGET_TITLE_COLOR";
4
- static readonly CONFIG_DEBUG_MODE = "cn.widgetjs.config.debug";
5
- static readonly CONFIG_GRID_SIZE = "cn.widgetjs.config.grid.size";
6
- static readonly SHORTCUT_PIN_DESKTOP_WIDGETS = "cn.widgetjs.config.shortcut.pin_desktop_widgets";
7
- }
@@ -1,29 +0,0 @@
1
- import { BaseApi } from "./BaseApi";
2
- interface IAppApi {
3
- setConfig(key: string, value: string | number | boolean): Promise<void>;
4
- getConfig(key: string, defaultValue: string | number | boolean): Promise<string | number | boolean>;
5
- getVersion(): Promise<string>;
6
- getPreloadPath(): Promise<string>;
7
- openAddWidgetWindow(): Promise<void>;
8
- openSettingWindow(): Promise<void>;
9
- getIconFile(): Promise<string>;
10
- }
11
- type AppApiMethods = keyof IAppApi;
12
- declare enum AppApiEvent {
13
- CONFIG_CHANGED = "event::cn.widgetjs.core.app.config.changed"
14
- }
15
- declare class AppApiImpl extends BaseApi<AppApiMethods> implements IAppApi {
16
- getIconFile(): Promise<string>;
17
- getChannel(): string;
18
- setConfig(key: string, value: string | number | boolean): Promise<any>;
19
- getConfig(key: string, defaultValue: string | number | boolean): Promise<string | number | boolean>;
20
- openAddWidgetWindow(): Promise<any>;
21
- /**
22
- * 获取应用版本号,格式为 x.y.z
23
- */
24
- getVersion(): Promise<string>;
25
- getPreloadPath(): Promise<string>;
26
- openSettingWindow(): Promise<any>;
27
- }
28
- declare const AppApi: AppApiImpl;
29
- export { AppApi, AppApiEvent, AppApiMethods };
@@ -1,5 +0,0 @@
1
- export declare abstract class BaseApi<T extends string> {
2
- abstract getChannel(): string;
3
- protected invokeMethod(method: T, ...args: any[]): Promise<any>;
4
- protected invoke(...args: any[]): Promise<any>;
5
- }
@@ -1,21 +0,0 @@
1
- import { BroadcastEvent } from "../model/event/BroadcastEvent";
2
- import { BaseApi } from "./BaseApi";
3
- import { WidgetApiEvent } from "./WidgetApi";
4
- import { ShortcutApiEvent } from "./ShortcutApi";
5
- import { ClipboardApiEvent } from "./ClipboardApi";
6
- import { BrowserWindowApiEvent } from "./BrowserWindowApi";
7
- type BroadcastEventType = WidgetApiEvent | BrowserWindowApiEvent | ShortcutApiEvent | ClipboardApiEvent | string;
8
- interface IBroadcastApi {
9
- send(event: BroadcastEvent): Promise<void>;
10
- register(...event: BroadcastEventType[]): Promise<void>;
11
- unregister(...event: BroadcastEventType[]): Promise<void>;
12
- }
13
- type BroadcastApiMethods = keyof IBroadcastApi;
14
- export declare class BroadcastApiImpl extends BaseApi<BroadcastApiMethods> implements IBroadcastApi {
15
- send(event: BroadcastEvent): Promise<void>;
16
- register(...event: BroadcastEventType[]): Promise<void>;
17
- unregister(...event: BroadcastEventType[]): Promise<void>;
18
- getChannel(): string;
19
- }
20
- declare const BroadcastApi: IBroadcastApi;
21
- export { BroadcastApi, BroadcastApiMethods, BroadcastEventType };
@@ -1,111 +0,0 @@
1
- import { Rectangle } from "../model/interface/Rectangle";
2
- import { Position } from "../model/msic/graphics";
3
- import { BaseApi } from "./BaseApi";
4
- interface IBrowserWindowApi {
5
- setIgnoreMouseEvent(ignore: boolean): Promise<void>;
6
- show(): Promise<void>;
7
- hide(): Promise<void>;
8
- showInactive(): Promise<void>;
9
- center(): Promise<void>;
10
- startDraggingWindow(): Promise<void>;
11
- minimize(): Promise<void>;
12
- restore(): Promise<void>;
13
- isMinimized(): Promise<boolean>;
14
- isMaximized(): Promise<boolean>;
15
- maximize(): Promise<void>;
16
- stopDraggingWindow(): Promise<void>;
17
- setAlwaysOnTop(alwaysOnTop: boolean): Promise<void>;
18
- isAlwaysOnTop(): Promise<boolean>;
19
- openUrl(url: string, option?: OpenUrlOptions): Promise<void>;
20
- moveTop(): Promise<void>;
21
- unmaximize(): Promise<void>;
22
- reload(): Promise<void>;
23
- setSize(width: number, height: number, animate?: boolean): Promise<void>;
24
- openDevTools(): Promise<void>;
25
- setPosition(options: SetPositionOptions): Promise<void>;
26
- getPosition(): Promise<Position>;
27
- blur(): Promise<void>;
28
- focus(): Promise<void>;
29
- setResizable(resizable: boolean): Promise<void>;
30
- setMovable(movable: boolean): Promise<void>;
31
- getBounds(): Promise<Rectangle>;
32
- setBounds(bounds: Partial<Rectangle>, animate: boolean): Promise<void>;
33
- alignToScreen(align: AlignPosition): Promise<void>;
34
- existsByUrl(url: string): Promise<boolean>;
35
- getMaximumSize(): Promise<number[]>;
36
- getMinimumSize(): Promise<number[]>;
37
- setMaximumSize(width: number, height: number): Promise<void>;
38
- setMinimumSize(width: number, height: number): Promise<void>;
39
- setZoomLevel(level: number): Promise<void>;
40
- isFocused(): Promise<boolean>;
41
- }
42
- type BrowserWindowApiMethods = keyof IBrowserWindowApi;
43
- type AlignPosition = 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right';
44
- interface OpenUrlOptions {
45
- partition?: string;
46
- external?: boolean;
47
- }
48
- interface SetPositionOptions {
49
- x?: number;
50
- y?: number;
51
- /**
52
- * 只有在 macOS 上有效
53
- */
54
- animation?: boolean;
55
- }
56
- declare enum BrowserWindowApiEvent {
57
- BLUR = "event::cn.widgetjs.core.browser-window.blur",
58
- FOCUS = "event::cn.widgetjs.core.browser-window.focus",
59
- SNAP_TO_EDGE = "event::cn.widgetjs.core.browser-window.snap_to_edge",
60
- RESIZE = "event::cn.widgetjs.core.browser-window.resize",
61
- CANCEL_SNAP_TO_EDGE = "event::cn.widgetjs.core.browser-window.cancel_snap_to_edge"
62
- }
63
- export declare class BrowserWindowApiImpl extends BaseApi<BrowserWindowApiMethods> implements IBrowserWindowApi {
64
- getChannel(): string;
65
- setIgnoreMouseEvent(ignore: boolean): Promise<void>;
66
- show(): Promise<void>;
67
- showInactive(): Promise<void>;
68
- hide(): Promise<void>;
69
- center(): Promise<void>;
70
- setAlwaysOnTop(alwaysOnTop: boolean): Promise<void>;
71
- isAlwaysOnTop(): Promise<boolean>;
72
- openUrl(url: string, option?: OpenUrlOptions): Promise<void>;
73
- moveTop(): Promise<void>;
74
- openDevTools(): Promise<void>;
75
- setPosition(options: SetPositionOptions): Promise<void>;
76
- getPosition(): Promise<Position>;
77
- blur(): Promise<any>;
78
- focus(): Promise<any>;
79
- /**
80
- * 设置窗口是否可以拉伸
81
- * @param resizable
82
- */
83
- setResizable(resizable: boolean): Promise<any>;
84
- getBounds(): Promise<Rectangle>;
85
- setBounds(bounds: Partial<Rectangle>, animate?: boolean): Promise<void>;
86
- alignToScreen(align: AlignPosition): Promise<any>;
87
- startDraggingWindow(): Promise<any>;
88
- stopDraggingWindow(): Promise<any>;
89
- /**
90
- * 通过url检测窗口是否存在
91
- * @param url
92
- */
93
- existsByUrl(url: string): Promise<boolean>;
94
- getMaximumSize(): Promise<number[]>;
95
- minimize(): Promise<void>;
96
- maximize(): Promise<void>;
97
- isMaximized(): Promise<boolean>;
98
- isMinimized(): Promise<boolean>;
99
- restore(): Promise<void>;
100
- unmaximize(): Promise<void>;
101
- setZoomLevel(level: number): Promise<void>;
102
- reload(): Promise<void>;
103
- setMovable(movable: boolean): Promise<void>;
104
- setSize(width: number, height: number, animate?: boolean): Promise<void>;
105
- isFocused(): Promise<boolean>;
106
- setMaximumSize(width: number, height: number): Promise<void>;
107
- setMinimumSize(width: number, height: number): Promise<void>;
108
- getMinimumSize(): Promise<number[]>;
109
- }
110
- declare const BrowserWindowApi: BrowserWindowApiImpl;
111
- export { BrowserWindowApi, BrowserWindowApiMethods, OpenUrlOptions, SetPositionOptions, BrowserWindowApiEvent, AlignPosition };
@@ -1,18 +0,0 @@
1
- export declare enum Channel {
2
- NOTIFICATION = "channel::cn.widgetjs.core.notification",
3
- BROWSER_WINDOW = "channel::cn.widgetjs.core.browser_window",
4
- BROADCAST = "channel::cn.widgetjs.core.broadcast",
5
- WIDGET = "channel::cn.widgetjs.core.widget",
6
- HOSTED_WIDGET = "channel::cn.widgetjs.core.hosted_widget",
7
- APP = "channel::cn.widgetjs.core.app",
8
- DIALOG = "channel::cn.widgetjs.core.dialog",
9
- CLIPBOARD = "channel::cn.widgetjs.core.clipboard",
10
- FILE = "channel::cn.widgetjs.core.file",
11
- SCREEN = "channel::cn.widgetjs.core.screen",
12
- SHORTCUT = "channel::cn.widgetjs.core.shortcut",
13
- LOG = "channel::cn.widgetjs.core.log",
14
- DEVICE = "channel::cn.widgetjs.core.device",
15
- MOUSE = "channel::cn.widgetjs.core.mouse",
16
- KEYBOARD = "channel::cn.widgetjs.core.keyboard",
17
- STORE = "channel::cn.widgetjs.core.store"
18
- }
@@ -1,10 +0,0 @@
1
- interface IClipboardApi {
2
- getSelectedText(): Promise<string | undefined>;
3
- getText(): Promise<string | undefined>;
4
- }
5
- type ClipboardApiMethods = keyof IClipboardApi;
6
- declare enum ClipboardApiEvent {
7
- CHANGED = "clipboard-changed"
8
- }
9
- declare const ClipboardApi: IClipboardApi;
10
- export { ClipboardApi, ClipboardApiMethods, ClipboardApiEvent };
@@ -1,20 +0,0 @@
1
- import { BaseApi } from "./BaseApi";
2
- import { Point } from "../model/msic/graphics";
3
- interface IDeviceApi {
4
- getCursorScreenPoint(): Promise<Point>;
5
- isAllKeyReleased(): Promise<boolean>;
6
- }
7
- type DeviceApiMethods = keyof IDeviceApi;
8
- export declare class DeviceApiImpl extends BaseApi<DeviceApiMethods> implements IDeviceApi {
9
- /**
10
- * 获取当前鼠标位置
11
- */
12
- getCursorScreenPoint(): Promise<Point>;
13
- /**
14
- * 判断是否所有按键都已经释放
15
- */
16
- isAllKeyReleased(): Promise<boolean>;
17
- getChannel(): string;
18
- }
19
- declare const DeviceApi: IDeviceApi;
20
- export { DeviceApi, DeviceApiMethods };
@@ -1,7 +0,0 @@
1
- interface IDialogApi {
2
- pickFile(extensions?: string[]): Promise<string | undefined>;
3
- pickFolder(): Promise<string | undefined>;
4
- }
5
- type DialogApiMethods = keyof IDialogApi;
6
- declare const DialogApi: IDialogApi;
7
- export { DialogApiMethods, DialogApi, };
@@ -1,4 +0,0 @@
1
- export declare class ElectronApi {
2
- static addIpcListener(key: String, f: Function): Promise<void>;
3
- static removeIpcListener(key: String): Promise<void>;
4
- }
@@ -1,13 +0,0 @@
1
- import { FileTypeResult } from 'file-type';
2
- export interface ReadDirOptions {
3
- ignoreDir?: boolean;
4
- traverseDir?: boolean;
5
- }
6
- interface IFileApi {
7
- readDirectory(path: string, options?: ReadDirOptions): Promise<string[]>;
8
- isDirectory(filePath: string): Promise<boolean>;
9
- getFileType(filePath: string): Promise<FileTypeResult>;
10
- }
11
- type FileApiMethods = keyof IFileApi;
12
- declare const FileApi: IFileApi;
13
- export { FileApi, FileApiMethods };
@@ -1,55 +0,0 @@
1
- import { HostedWidget } from "../model/HostedWidget";
2
- import { WidgetParams } from "../model/WidgetParams";
3
- import { BaseApi } from "./BaseApi";
4
- import { HostedMode } from '../model/HostedMode';
5
- import { Widget } from '../model/Widget';
6
- interface IHostedWidgetApi {
7
- removeHostedWidget(id: string): Promise<void>;
8
- removeHostedWidgetByName(name: string): Promise<HostedWidget[]>;
9
- getHostedWidgets(): Promise<HostedWidget[]>;
10
- openDevTools(id: string): Promise<void>;
11
- openConfigRoute(id: string): Promise<void>;
12
- registerActiveShortcut(id: string, shortcut: string): Promise<boolean>;
13
- setProxy(id: string, proxy: string): Promise<boolean>;
14
- getHostedWidget(id: string): Promise<HostedWidget>;
15
- addWidget(widgetName: string, hostMode: HostedMode): Promise<Widget[]>;
16
- }
17
- type HostedWidgetApiMethods = keyof IHostedWidgetApi;
18
- export declare class HostedWidgetApiImpl extends BaseApi<HostedWidgetApiMethods> implements IHostedWidgetApi {
19
- getChannel(): string;
20
- /**
21
- * 移除组件
22
- * @param id
23
- */
24
- removeHostedWidget(id: string): Promise<any>;
25
- addWidget(widgetName: string, hostMode: HostedMode): Promise<Widget[]>;
26
- /**
27
- * 通过组件名移除已添加的组件
28
- * @param name 组件名
29
- */
30
- removeHostedWidgetByName(name: string): Promise<HostedWidget[]>;
31
- /**
32
- * 获取已添加的组件
33
- * @param name 组件名,可以不传
34
- */
35
- getHostedWidgets(name?: string): Promise<HostedWidget[]>;
36
- getHostedWidget(id: string): Promise<HostedWidget>;
37
- /**
38
- * Opens the dev tools for a widget with the specified ID.
39
- *
40
- * @param {string} widgetId - The ID of the widget to open the dev tools for.
41
- * @return {Promise} A Promise that resolves when the dev tools are opened.
42
- */
43
- openDevTools(widgetId: string): Promise<any>;
44
- openConfigRoute(widgetId: string, params?: WidgetParams): Promise<any>;
45
- /**
46
- * 注册激活、呼出、置顶组件快捷键
47
- * @param widgetId 组件id
48
- * @param shortcut 如果传空或者不传,则会取消快捷键。更多快捷键配置,请查看Accelerator用法
49
- * https://www.electronjs.org/docs/latest/api/accelerator
50
- */
51
- registerActiveShortcut(widgetId: string, shortcut?: string): Promise<boolean>;
52
- setProxy(widgetId: string, proxy: string): Promise<boolean>;
53
- }
54
- declare const HostedWidgetApi: HostedWidgetApiImpl;
55
- export { HostedWidgetApi, HostedWidgetApiMethods };
@@ -1,9 +0,0 @@
1
- interface ILogApi {
2
- info(...data: any[]): void;
3
- error(...data: any[]): void;
4
- warn(...data: any[]): void;
5
- log(...data: any[]): void;
6
- }
7
- type LogApiMethods = keyof ILogApi;
8
- declare const LogApi: ILogApi;
9
- export { LogApi, LogApiMethods };
@@ -1,38 +0,0 @@
1
- import { AppNotification } from "../model/AppNotification";
2
- import { BaseApi } from "./BaseApi";
3
- interface INotificationApi {
4
- send(notification: AppNotification): Promise<void>;
5
- hide(): Promise<void>;
6
- }
7
- type NotificationApiMethods = keyof INotificationApi;
8
- declare enum NotificationApiEvent {
9
- CONFIRM = "event::cn.widgetjs.core.notification.confirm",
10
- CANCEL = "event::cn.widgetjs.core.notification.cancel",
11
- HIDE = "event::cn.widgetjs.core.notification.hide"
12
- }
13
- declare class NotificationApiImpl extends BaseApi<NotificationApiMethods> implements INotificationApi {
14
- /**
15
- * 来电
16
- * @param avatar 头像地址
17
- * @param audio 音频地址
18
- * @param title 标题文件
19
- * @param message 初始消息
20
- * @param lyric 歌词字符串
21
- */
22
- call(avatar: string, audio: string, title: string, message: string, lyric: string): Promise<void>;
23
- send(notification: AppNotification): Promise<any>;
24
- reminder(title: string, message: string, icon: string, cancelButtonText: string, confirmButtonText: string, cancelBroadcast: string, confirmBroadcast: string, duration?: number): Promise<any>;
25
- advanceCountdown(message: string, targetTime: string, title?: string): Promise<any>;
26
- countdown(message: string, targetTime: string): Promise<void>;
27
- success(message: string, duration?: number): Promise<void>;
28
- error(message: string, duration?: number): Promise<void>;
29
- warning(message: string, duration?: number): Promise<void>;
30
- info(message: string, duration?: number): Promise<void>;
31
- /**
32
- * 隐藏通知
33
- */
34
- hide(): Promise<void>;
35
- getChannel(): string;
36
- }
37
- declare const NotificationApi: NotificationApiImpl;
38
- export { NotificationApi, NotificationApiMethods, NotificationApiEvent };
@@ -1,10 +0,0 @@
1
- interface IShortcutApi {
2
- register(shortcut: string): void;
3
- unregister(shortcut: string): void;
4
- }
5
- type ShortcutApiMethods = keyof IShortcutApi;
6
- declare enum ShortcutApiEvent {
7
- TRIGGERED = "channel::cn.widgetjs.core.shortcut.triggered"
8
- }
9
- declare const ShortcutApi: IShortcutApi;
10
- export { ShortcutApi, ShortcutApiMethods, ShortcutApiEvent };
@@ -1,10 +0,0 @@
1
- type BaseType = string | number | boolean;
2
- interface IStoreApi {
3
- get<T extends BaseType>(key: string, defaultValue?: T): Promise<T | null>;
4
- set(key: string, value: BaseType | object): Promise<string>;
5
- getObject<T>(key: string, defaultValue?: T): Promise<T | undefined>;
6
- delete(key: string): Promise<void>;
7
- }
8
- type StoreApiMethods = keyof IStoreApi;
9
- declare const StoreApi: IStoreApi;
10
- export { StoreApi, StoreApiMethods };
@@ -1,48 +0,0 @@
1
- import { Widget } from "../model/Widget";
2
- import { WidgetPackage } from "../model/WidgetPackage";
3
- import { WidgetParams } from "../model/WidgetParams";
4
- import { BaseApi } from "./BaseApi";
5
- interface IWidgetApi {
6
- registerWidgets(widgets: Widget[]): Promise<void>;
7
- registerWidgetPackage(widgetPackage: WidgetPackage): Promise<void>;
8
- getWidgets(): Promise<Widget[]>;
9
- getWidget(name: string): Promise<Widget>;
10
- getWidgetPackage(name: string): Promise<WidgetPackage>;
11
- getWidgetPackages(): Promise<WidgetPackage[]>;
12
- getWidgetUrl(widgetName: string, widgetParams: WidgetParams): Promise<string | null>;
13
- getWidgetPackageIndexUrl(packageName: string, hash?: boolean): Promise<string | null>;
14
- getWidgetConfigUrl(widgetName: string, widgetParams: WidgetParams): Promise<string | null>;
15
- getWidgetPackageUrl(packageName: string): Promise<string | null>;
16
- }
17
- type WidgetApiMethods = keyof IWidgetApi;
18
- declare enum WidgetApiEvent {
19
- DATA_CHANGED = "event::cn.widgetjs.core.widget.data-changed",
20
- EDIT_DESKTOP_WIDGETS = "event::cn.widgetjs.core.widget.desktop.edit"
21
- }
22
- declare class WidgetApiImpl extends BaseApi<WidgetApiMethods> implements IWidgetApi {
23
- getChannel(): string;
24
- registerWidgets(widgets: Widget[]): Promise<any>;
25
- registerWidgetPackage(widgetPackage: WidgetPackage): Promise<any>;
26
- getWidgets(): Promise<Widget[]>;
27
- getWidgetPackages(): Promise<WidgetPackage[]>;
28
- /**
29
- *
30
- * @param name package name
31
- */
32
- getWidget(name: string): Promise<Widget>;
33
- /**
34
- *
35
- * @param name package name
36
- */
37
- getWidgetPackage(name: string): Promise<WidgetPackage>;
38
- /**
39
- * 获取组件配置地址
40
- * @param widgetName
41
- */
42
- getWidgetConfigUrl(widgetName: string, widgetParams: WidgetParams): Promise<string | null>;
43
- getWidgetUrl(widgetName: string, widgetParams: WidgetParams): Promise<string | null>;
44
- getWidgetPackageIndexUrl(packageName: string, hash?: boolean): Promise<string | null>;
45
- getWidgetPackageUrl(packageName: string): Promise<string | null>;
46
- }
47
- declare const WidgetApi: WidgetApiImpl;
48
- export { WidgetApi, WidgetApiEvent, WidgetApiMethods };
@@ -1,44 +0,0 @@
1
- import { WidgetData } from "../model/WidgetData";
2
- export interface SaveWidgetOption {
3
- sendBroadcast?: boolean;
4
- id?: string;
5
- }
6
- export interface IWidgetDataApi {
7
- findByName<T extends WidgetData>(name: string, type: {
8
- new (name: string, id?: string): T;
9
- }): Promise<T | undefined>;
10
- findByName<T extends WidgetData>(data: T): Promise<T | undefined>;
11
- save(data: WidgetData): Promise<string>;
12
- getStore(name: string): LocalForage;
13
- saveByName<T extends WidgetData>(data: T, options?: SaveWidgetOption): Promise<string>;
14
- find<T extends WidgetData>(name: string, id: string, type: {
15
- new (name: string, id?: string): T;
16
- }): Promise<T | undefined>;
17
- }
18
- type WidgetDataApiMethods = keyof IWidgetDataApi;
19
- export declare class WidgetDataApiImpl implements IWidgetDataApi {
20
- private stores;
21
- /**
22
- * 保存组件数据
23
- * @param data
24
- */
25
- save(data: WidgetData): Promise<string>;
26
- /**
27
- * 获取组件 LocalForage 存储实例
28
- * @param name
29
- */
30
- getStore(name: string): LocalForage;
31
- /**
32
- * 通过组件名保存组件信息,通常用于存储可以在同类组件中共用的数据
33
- * @param data
34
- * @param options
35
- */
36
- saveByName<T extends WidgetData>(data: T, options?: SaveWidgetOption): Promise<string>;
37
- findByName<T extends WidgetData>(...args: any[]): Promise<T | undefined>;
38
- find<T extends WidgetData>(name: string, id: string, type: {
39
- new (name: string, id?: string): T;
40
- }): Promise<T | undefined>;
41
- private getKey;
42
- }
43
- declare const WidgetDataApi: IWidgetDataApi;
44
- export { WidgetDataApi, WidgetDataApiMethods };
@@ -1,35 +0,0 @@
1
- export * from "./model/Widget";
2
- export * from "./model/event/BroadcastEvent";
3
- export * from "./model/event/WebSocketEvent";
4
- export * from "./model/WidgetData";
5
- export * from "./model/WidgetParams";
6
- export * from "./model/AppNotification";
7
- export * from "./model/HostedMode";
8
- export * from "./model/HostedWidget";
9
- export * from "./model/interface/Rectangle";
10
- export * from "./model/msic/graphics";
11
- export * from "./model/event/NativeKeyboardEvent";
12
- export * from "./model/event/AppMouseEvent";
13
- export * from "./model/WidgetPackage";
14
- export * from "./api/ElectronApi";
15
- export * from "./api/WidgetDataApi";
16
- export * from "./api/BrowserWindowApi";
17
- export * from "./lang/LanguageCode";
18
- export * from "./api/NotificationApi";
19
- export * from "./api/HostedWidgetApi";
20
- export * from "./api/DeviceApi";
21
- export * from "./api/Channel";
22
- export * from "./api/ClipboardApi";
23
- export * from "./api/WidgetApi";
24
- export * from "./api/ApiConstants";
25
- export * from "./api/ShortcutApi";
26
- export * from "./api/BroadcastApi";
27
- export * from "./api/AppApi";
28
- export * from "./api/DialogApi";
29
- export * from "./api/StoreApi";
30
- export * from "./utils/ElectronUtils";
31
- export * from "./api/FileApi";
32
- export * from "./utils/UrlUtils";
33
- export * from "./router/query";
34
- export * from "./api/LogApi";
35
- export * from "./permission/permission";
@@ -1,40 +0,0 @@
1
- interface Language {
2
- locale: string;
3
- language: string;
4
- code: string;
5
- }
6
- interface ILanguageMap {
7
- 'ar-SA': Language;
8
- 'bn-BD': Language;
9
- 'en-US': Language;
10
- 'de-DE': Language;
11
- 'el-GR': Language;
12
- 'es-ES': Language;
13
- 'fi-FI': Language;
14
- 'fil-PH': Language;
15
- 'fr-FR': Language;
16
- 'hi-IN': Language;
17
- 'hu-HU': Language;
18
- 'id-ID': Language;
19
- 'it-IT': Language;
20
- 'ja-JP': Language;
21
- 'ko-KR': Language;
22
- 'nl-NL': Language;
23
- 'pl-PL': Language;
24
- 'pt-BR': Language;
25
- 'pt-PT': Language;
26
- 'ro-RO': Language;
27
- 'ru-RU': Language;
28
- 'sv-SE': Language;
29
- 'ta-IN': Language;
30
- 'tr-TR': Language;
31
- 'uk-UA': Language;
32
- 'vi-VN': Language;
33
- 'zh-CN': Language;
34
- 'zh-TW': Language;
35
- }
36
- export type LanguageCode = keyof ILanguageMap;
37
- export type LanguageTextMap = {
38
- [key in LanguageCode]?: string;
39
- };
40
- export {};