minip-bridge 1.0.0 → 1.0.1
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.mts +158 -0
- package/dist/index.mjs +279 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +1 -1
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
type HUDType = "success" | "error" | "progress" | "label";
|
|
2
|
+
interface ShowHUDRequest {
|
|
3
|
+
type?: HUDType;
|
|
4
|
+
title?: string;
|
|
5
|
+
subTitle?: string;
|
|
6
|
+
/**
|
|
7
|
+
* ms
|
|
8
|
+
*/
|
|
9
|
+
delay?: number;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* @param title use key if not set
|
|
13
|
+
* @param key callback arg
|
|
14
|
+
*/
|
|
15
|
+
interface AlertAction {
|
|
16
|
+
title?: string;
|
|
17
|
+
style?: "cancel" | "destructive";
|
|
18
|
+
key: string;
|
|
19
|
+
}
|
|
20
|
+
interface AlertConfig {
|
|
21
|
+
title?: string;
|
|
22
|
+
message?: string;
|
|
23
|
+
preferredStyle?: "alert" | "actionSheet";
|
|
24
|
+
actions: AlertAction[];
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
interface MRequestBase {
|
|
28
|
+
/**
|
|
29
|
+
* Api name.
|
|
30
|
+
*/
|
|
31
|
+
api: string;
|
|
32
|
+
}
|
|
33
|
+
interface MRequestWithData<T> extends MRequestBase {
|
|
34
|
+
data?: T;
|
|
35
|
+
}
|
|
36
|
+
type MRequest<T> = MRequestBase | MRequestWithData<T>;
|
|
37
|
+
|
|
38
|
+
declare enum MResponseStatusCode {
|
|
39
|
+
SUCCESS = 0,
|
|
40
|
+
FAILED = 7
|
|
41
|
+
}
|
|
42
|
+
interface MResponse {
|
|
43
|
+
/**
|
|
44
|
+
* Integer, 0 for succeeded, other for failed.
|
|
45
|
+
* Auto reject in promise when failed.
|
|
46
|
+
*/
|
|
47
|
+
code: MResponseStatusCode;
|
|
48
|
+
/**
|
|
49
|
+
* Error msg or other info.
|
|
50
|
+
*/
|
|
51
|
+
msg?: string;
|
|
52
|
+
}
|
|
53
|
+
interface MResponseWithData<T> extends MResponse {
|
|
54
|
+
data: T;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
interface AppInfo {
|
|
58
|
+
name: string;
|
|
59
|
+
appId: string;
|
|
60
|
+
author?: string;
|
|
61
|
+
website?: string;
|
|
62
|
+
icon?: string;
|
|
63
|
+
version?: string;
|
|
64
|
+
description?: string;
|
|
65
|
+
homepage: string;
|
|
66
|
+
title?: string;
|
|
67
|
+
pages?: PageConfig[];
|
|
68
|
+
tabs?: TabConfig[];
|
|
69
|
+
navigationBarStatus?: string;
|
|
70
|
+
colorScheme?: string;
|
|
71
|
+
backgroundColor?: string;
|
|
72
|
+
navigationBarColor?: string;
|
|
73
|
+
tintColor?: string;
|
|
74
|
+
webServerEnabled?: boolean;
|
|
75
|
+
landscape?: boolean;
|
|
76
|
+
files?: File[];
|
|
77
|
+
}
|
|
78
|
+
interface PageConfig {
|
|
79
|
+
path: string;
|
|
80
|
+
title?: string;
|
|
81
|
+
scrollable?: boolean;
|
|
82
|
+
backgroundColor?: string;
|
|
83
|
+
navigationBarColor?: string;
|
|
84
|
+
}
|
|
85
|
+
interface TabConfig {
|
|
86
|
+
path: string;
|
|
87
|
+
title: string;
|
|
88
|
+
systemImage: string;
|
|
89
|
+
}
|
|
90
|
+
interface File {
|
|
91
|
+
name: string;
|
|
92
|
+
path: string;
|
|
93
|
+
hash: string;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
declare function navigateTo(data: {
|
|
97
|
+
page: string;
|
|
98
|
+
title?: string;
|
|
99
|
+
}): Promise<MResponse>;
|
|
100
|
+
declare function navigateBack(delta?: number): Promise<MResponse>;
|
|
101
|
+
declare function redirectTo(data: {
|
|
102
|
+
page: string;
|
|
103
|
+
title?: string;
|
|
104
|
+
}): Promise<MResponse>;
|
|
105
|
+
declare function openWebsite(url: string): Promise<MResponse>;
|
|
106
|
+
|
|
107
|
+
declare function closeApp(): Promise<MResponse>;
|
|
108
|
+
declare function showAppDetail(): Promise<MResponse>;
|
|
109
|
+
declare function installApp(url: string): Promise<MResponse>;
|
|
110
|
+
declare function getInstalledAppList(): Promise<MResponseWithData<AppInfo[]>>;
|
|
111
|
+
|
|
112
|
+
declare function setNavigationBarTitle(title: string): Promise<MResponse>;
|
|
113
|
+
declare function setNavigationBarColor(config: {
|
|
114
|
+
foregroundColor: string;
|
|
115
|
+
backgroundColor: string;
|
|
116
|
+
}): Promise<MResponse>;
|
|
117
|
+
declare function enablePullDownRefresh(): Promise<MResponse>;
|
|
118
|
+
declare function disablePullDownRefresh(): Promise<MResponse>;
|
|
119
|
+
declare function onPullDownRefresh(callback: (e: Event) => any): void;
|
|
120
|
+
declare function startPullDownRefresh(): Promise<MResponse>;
|
|
121
|
+
declare function stopPullDownRefresh(): Promise<MResponse>;
|
|
122
|
+
declare function showHUD(req: ShowHUDRequest): Promise<MResponse>;
|
|
123
|
+
declare function hideHUD(): Promise<MResponse>;
|
|
124
|
+
declare function showAlert(config: AlertConfig): Promise<MResponseWithData<string>>;
|
|
125
|
+
declare function previewImage(url: string): Promise<MResponse>;
|
|
126
|
+
declare function previewVideo(url: string): Promise<MResponse>;
|
|
127
|
+
|
|
128
|
+
declare function getKVStorage(key: string): Promise<MResponseWithData<string>>;
|
|
129
|
+
declare function setKVStorage(key: string, value: string): Promise<MResponse>;
|
|
130
|
+
declare function deleteKVStorage(key: string): Promise<MResponse>;
|
|
131
|
+
declare function clearKVStorage(): Promise<MResponse>;
|
|
132
|
+
declare function getKVStorageSync(key: string): MResponseWithData<string>;
|
|
133
|
+
declare function setKVStorageSync(key: string, value: string): MResponse;
|
|
134
|
+
declare function deleteKVStorageSync(key: string): MResponse;
|
|
135
|
+
declare function clearKVStorageSync(): MResponse;
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
*
|
|
139
|
+
* @param type medium as default
|
|
140
|
+
*/
|
|
141
|
+
declare function vibrate(type?: "light" | "medium" | "heavy"): Promise<MResponse>;
|
|
142
|
+
declare function getClipboardData(): Promise<MResponseWithData<string>>;
|
|
143
|
+
declare function setClipboardData(data: string): Promise<MResponseWithData<string>>;
|
|
144
|
+
|
|
145
|
+
interface Callable {
|
|
146
|
+
postMessage: (data: string) => Promise<string>;
|
|
147
|
+
}
|
|
148
|
+
declare global {
|
|
149
|
+
interface Window {
|
|
150
|
+
webkit?: {
|
|
151
|
+
messageHandlers?: {
|
|
152
|
+
MinipNativeInteraction?: Callable;
|
|
153
|
+
};
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
export { type AlertAction, type AlertConfig, type AppInfo, type HUDType, type MRequest, type MRequestBase, type MRequestWithData, type MResponse, MResponseStatusCode, type MResponseWithData, type ShowHUDRequest, clearKVStorage, clearKVStorageSync, closeApp, deleteKVStorage, deleteKVStorageSync, disablePullDownRefresh, enablePullDownRefresh, getClipboardData, getInstalledAppList, getKVStorage, getKVStorageSync, hideHUD, installApp, navigateBack, navigateTo, onPullDownRefresh, openWebsite, previewImage, previewVideo, redirectTo, setClipboardData, setKVStorage, setKVStorageSync, setNavigationBarColor, setNavigationBarTitle, showAlert, showAppDetail, showHUD, startPullDownRefresh, stopPullDownRefresh, vibrate };
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
// src/model/response/index.ts
|
|
2
|
+
var MResponseStatusCode = /* @__PURE__ */ ((MResponseStatusCode2) => {
|
|
3
|
+
MResponseStatusCode2[MResponseStatusCode2["SUCCESS"] = 0] = "SUCCESS";
|
|
4
|
+
MResponseStatusCode2[MResponseStatusCode2["FAILED"] = 7] = "FAILED";
|
|
5
|
+
return MResponseStatusCode2;
|
|
6
|
+
})(MResponseStatusCode || {});
|
|
7
|
+
|
|
8
|
+
// src/bridge/index.ts
|
|
9
|
+
var jsBridge;
|
|
10
|
+
if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.MinipNativeInteraction) {
|
|
11
|
+
const _callNative = window.webkit.messageHandlers.MinipNativeInteraction;
|
|
12
|
+
jsBridge = {
|
|
13
|
+
callNative(req) {
|
|
14
|
+
return _callNative.postMessage(JSON.stringify(req)).then((res) => JSON.parse(res)).then((res) => {
|
|
15
|
+
if (res.code === 0 /* SUCCESS */) {
|
|
16
|
+
return res;
|
|
17
|
+
} else {
|
|
18
|
+
throw new Error(res.msg ?? "Unknown error, res: ");
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
},
|
|
22
|
+
callNativeSync(req) {
|
|
23
|
+
const res = prompt(JSON.stringify(req));
|
|
24
|
+
if (res) {
|
|
25
|
+
return JSON.parse(res);
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
code: 7 /* FAILED */,
|
|
29
|
+
msg: "Unknown error"
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
} else {
|
|
34
|
+
jsBridge = {
|
|
35
|
+
callNative() {
|
|
36
|
+
return new Promise((_, reject) => {
|
|
37
|
+
reject("Cannot find JavaScript Bridge!!!");
|
|
38
|
+
});
|
|
39
|
+
},
|
|
40
|
+
callNativeSync() {
|
|
41
|
+
return {
|
|
42
|
+
code: 7 /* FAILED */,
|
|
43
|
+
msg: "Cannot find JavaScript Bridge!!!"
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
var bridge_default = jsBridge;
|
|
49
|
+
|
|
50
|
+
// src/api/route.ts
|
|
51
|
+
function navigateTo(data) {
|
|
52
|
+
return bridge_default.callNative({
|
|
53
|
+
api: "navigateTo",
|
|
54
|
+
data
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
function navigateBack(delta = 1) {
|
|
58
|
+
return bridge_default.callNative({
|
|
59
|
+
api: "navigateBack",
|
|
60
|
+
data: {
|
|
61
|
+
delta
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
function redirectTo(data) {
|
|
66
|
+
return bridge_default.callNative({
|
|
67
|
+
api: "redirectTo",
|
|
68
|
+
data
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
function openWebsite(url) {
|
|
72
|
+
return bridge_default.callNative({
|
|
73
|
+
api: "openWebsite",
|
|
74
|
+
data: { url }
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
// src/api/app.ts
|
|
79
|
+
function closeApp() {
|
|
80
|
+
return bridge_default.callNative({
|
|
81
|
+
api: "closeApp"
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
function showAppDetail() {
|
|
85
|
+
return bridge_default.callNative({
|
|
86
|
+
api: "showAppDetail"
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
function installApp(url) {
|
|
90
|
+
return bridge_default.callNative({
|
|
91
|
+
api: "installApp",
|
|
92
|
+
data: {
|
|
93
|
+
url
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
function getInstalledAppList() {
|
|
98
|
+
return bridge_default.callNative({
|
|
99
|
+
api: "getInstalledAppList"
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
// src/api/ui.ts
|
|
104
|
+
function setNavigationBarTitle(title) {
|
|
105
|
+
return bridge_default.callNative({
|
|
106
|
+
api: "setNavigationBarTitle",
|
|
107
|
+
data: {
|
|
108
|
+
title
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
function setNavigationBarColor(config) {
|
|
113
|
+
return bridge_default.callNative({
|
|
114
|
+
api: "setNavigationBarColor",
|
|
115
|
+
data: config
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
function enablePullDownRefresh() {
|
|
119
|
+
return bridge_default.callNative({
|
|
120
|
+
api: "enablePullDownRefresh"
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
function disablePullDownRefresh() {
|
|
124
|
+
return bridge_default.callNative({
|
|
125
|
+
api: "disablePullDownRefresh"
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
function onPullDownRefresh(callback) {
|
|
129
|
+
window.addEventListener("pulldownrefresh", callback);
|
|
130
|
+
}
|
|
131
|
+
function startPullDownRefresh() {
|
|
132
|
+
return bridge_default.callNative({
|
|
133
|
+
api: "startPullDownRefresh"
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
function stopPullDownRefresh() {
|
|
137
|
+
return bridge_default.callNative({
|
|
138
|
+
api: "stopPullDownRefresh"
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
function showHUD(req) {
|
|
142
|
+
return bridge_default.callNative({
|
|
143
|
+
api: "showHUD",
|
|
144
|
+
data: req
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
function hideHUD() {
|
|
148
|
+
return bridge_default.callNative({
|
|
149
|
+
api: "hideHUD"
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
function showAlert(config) {
|
|
153
|
+
return bridge_default.callNative({
|
|
154
|
+
api: "showAlert",
|
|
155
|
+
data: config
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
function previewImage(url) {
|
|
159
|
+
return bridge_default.callNative({
|
|
160
|
+
api: "previewImage",
|
|
161
|
+
data: {
|
|
162
|
+
url
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
function previewVideo(url) {
|
|
167
|
+
return bridge_default.callNative({
|
|
168
|
+
api: "previewVideo",
|
|
169
|
+
data: {
|
|
170
|
+
url
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
// src/api/kvstorage.ts
|
|
176
|
+
function getKVStorage(key) {
|
|
177
|
+
return bridge_default.callNative({
|
|
178
|
+
api: "getKVStorage",
|
|
179
|
+
data: { key }
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
function setKVStorage(key, value) {
|
|
183
|
+
return bridge_default.callNative({
|
|
184
|
+
api: "setKVStorage",
|
|
185
|
+
data: { key, value }
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
function deleteKVStorage(key) {
|
|
189
|
+
return bridge_default.callNative({
|
|
190
|
+
api: "deleteKVStorage",
|
|
191
|
+
data: { key }
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
function clearKVStorage() {
|
|
195
|
+
return bridge_default.callNative({
|
|
196
|
+
api: "clearKVStorage"
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
function getKVStorageSync(key) {
|
|
200
|
+
return bridge_default.callNativeSync({
|
|
201
|
+
api: "getKVStorageSync",
|
|
202
|
+
data: { key }
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
function setKVStorageSync(key, value) {
|
|
206
|
+
return bridge_default.callNativeSync({
|
|
207
|
+
api: "setKVStorageSync",
|
|
208
|
+
data: { key, value }
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
function deleteKVStorageSync(key) {
|
|
212
|
+
return bridge_default.callNativeSync({
|
|
213
|
+
api: "deleteKVStorageSync",
|
|
214
|
+
data: { key }
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
function clearKVStorageSync() {
|
|
218
|
+
return bridge_default.callNativeSync({
|
|
219
|
+
api: "clearKVStorageSync"
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
// src/api/device.ts
|
|
224
|
+
function vibrate(type) {
|
|
225
|
+
return bridge_default.callNative({
|
|
226
|
+
api: "vibrate",
|
|
227
|
+
data: {
|
|
228
|
+
type
|
|
229
|
+
}
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
function getClipboardData() {
|
|
233
|
+
return bridge_default.callNative({
|
|
234
|
+
api: "getClipboardData"
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
function setClipboardData(data) {
|
|
238
|
+
return bridge_default.callNative({
|
|
239
|
+
api: "setClipboardData",
|
|
240
|
+
data: {
|
|
241
|
+
data
|
|
242
|
+
}
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
export {
|
|
246
|
+
MResponseStatusCode,
|
|
247
|
+
clearKVStorage,
|
|
248
|
+
clearKVStorageSync,
|
|
249
|
+
closeApp,
|
|
250
|
+
deleteKVStorage,
|
|
251
|
+
deleteKVStorageSync,
|
|
252
|
+
disablePullDownRefresh,
|
|
253
|
+
enablePullDownRefresh,
|
|
254
|
+
getClipboardData,
|
|
255
|
+
getInstalledAppList,
|
|
256
|
+
getKVStorage,
|
|
257
|
+
getKVStorageSync,
|
|
258
|
+
hideHUD,
|
|
259
|
+
installApp,
|
|
260
|
+
navigateBack,
|
|
261
|
+
navigateTo,
|
|
262
|
+
onPullDownRefresh,
|
|
263
|
+
openWebsite,
|
|
264
|
+
previewImage,
|
|
265
|
+
previewVideo,
|
|
266
|
+
redirectTo,
|
|
267
|
+
setClipboardData,
|
|
268
|
+
setKVStorage,
|
|
269
|
+
setKVStorageSync,
|
|
270
|
+
setNavigationBarColor,
|
|
271
|
+
setNavigationBarTitle,
|
|
272
|
+
showAlert,
|
|
273
|
+
showAppDetail,
|
|
274
|
+
showHUD,
|
|
275
|
+
startPullDownRefresh,
|
|
276
|
+
stopPullDownRefresh,
|
|
277
|
+
vibrate
|
|
278
|
+
};
|
|
279
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/model/response/index.ts","../src/bridge/index.ts","../src/api/route.ts","../src/api/app.ts","../src/api/ui.ts","../src/api/kvstorage.ts","../src/api/device.ts"],"sourcesContent":["export enum MResponseStatusCode {\r\n SUCCESS = 0,\r\n FAILED = 7,\r\n}\r\n\r\nexport interface MResponse {\r\n /**\r\n * Integer, 0 for succeeded, other for failed.\r\n * Auto reject in promise when failed.\r\n */\r\n code: MResponseStatusCode;\r\n /**\r\n * Error msg or other info.\r\n */\r\n msg?: string;\r\n}\r\n\r\nexport interface MResponseWithData<T> extends MResponse {\r\n data: T;\r\n}\r\n","import { MResponseStatusCode } from \"../model\";\r\nimport { MRequest } from \"../model/request\";\r\n\r\ninterface Callable {\r\n postMessage: (data: string) => Promise<string>;\r\n}\r\n\r\ndeclare global {\r\n interface Window {\r\n webkit?: {\r\n messageHandlers?: {\r\n MinipNativeInteraction?: Callable;\r\n };\r\n };\r\n }\r\n}\r\n\r\nlet jsBridge: {\r\n callNative: <T>(req?: MRequest<T>) => Promise<any>;\r\n callNativeSync: <T>(req?: MRequest<T>) => any;\r\n};\r\n\r\n// iOS\r\nif (\r\n window.webkit &&\r\n window.webkit.messageHandlers &&\r\n window.webkit.messageHandlers.MinipNativeInteraction\r\n) {\r\n const _callNative = window.webkit.messageHandlers.MinipNativeInteraction;\r\n jsBridge = {\r\n callNative(req) {\r\n return _callNative\r\n .postMessage(JSON.stringify(req))\r\n .then((res) => JSON.parse(res))\r\n .then((res) => {\r\n if (res.code === MResponseStatusCode.SUCCESS) {\r\n return res;\r\n } else {\r\n throw new Error(res.msg ?? \"Unknown error, res: \");\r\n }\r\n });\r\n },\r\n callNativeSync(req) {\r\n const res = prompt(JSON.stringify(req));\r\n if (res) {\r\n return JSON.parse(res);\r\n }\r\n return {\r\n code: MResponseStatusCode.FAILED,\r\n msg: \"Unknown error\",\r\n };\r\n },\r\n };\r\n} else {\r\n // error\r\n jsBridge = {\r\n callNative() {\r\n return new Promise((_, reject) => {\r\n reject(\"Cannot find JavaScript Bridge!!!\");\r\n });\r\n },\r\n callNativeSync() {\r\n return {\r\n code: MResponseStatusCode.FAILED,\r\n msg: \"Cannot find JavaScript Bridge!!!\",\r\n };\r\n },\r\n };\r\n}\r\n\r\nexport default jsBridge;\r\n","import jsBridge from \"../bridge\";\r\nimport { MResponse } from \"../model\";\r\n\r\nexport function navigateTo(data: {\r\n page: string;\r\n title?: string;\r\n}): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"navigateTo\",\r\n data: data,\r\n });\r\n}\r\n\r\nexport function navigateBack(delta: number = 1): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"navigateBack\",\r\n data: {\r\n delta,\r\n },\r\n });\r\n}\r\n\r\nexport function redirectTo(data: {\r\n page: string;\r\n title?: string;\r\n}): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"redirectTo\",\r\n data: data,\r\n });\r\n}\r\n\r\nexport function openWebsite(url: string): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"openWebsite\",\r\n data: { url },\r\n });\r\n}\r\n","import jsBridge from \"../bridge\";\r\nimport { AppInfo, MResponse, MResponseWithData } from \"../model\";\r\n\r\nexport function closeApp(): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"closeApp\",\r\n });\r\n}\r\n\r\nexport function showAppDetail(): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"showAppDetail\",\r\n });\r\n}\r\n\r\nexport function installApp(url: string): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"installApp\",\r\n data: {\r\n url,\r\n },\r\n });\r\n}\r\n\r\nexport function getInstalledAppList(): Promise<MResponseWithData<AppInfo[]>> {\r\n return jsBridge.callNative({\r\n api: \"getInstalledAppList\",\r\n });\r\n}\r\n","import jsBridge from \"../bridge\";\r\nimport {\r\n AlertConfig,\r\n MResponse,\r\n MResponseWithData,\r\n ShowHUDRequest,\r\n} from \"../model\";\r\n\r\n// navigation bar\r\n\r\nexport function setNavigationBarTitle(title: string): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"setNavigationBarTitle\",\r\n data: {\r\n title,\r\n },\r\n });\r\n}\r\n\r\nexport function setNavigationBarColor(config: {\r\n foregroundColor: string;\r\n backgroundColor: string;\r\n}): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"setNavigationBarColor\",\r\n data: config,\r\n });\r\n}\r\n\r\n// pulldown refresh\r\n\r\nexport function enablePullDownRefresh(): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"enablePullDownRefresh\",\r\n });\r\n}\r\n\r\nexport function disablePullDownRefresh(): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"disablePullDownRefresh\",\r\n });\r\n}\r\n\r\nexport function onPullDownRefresh(callback: (e: Event) => any) {\r\n window.addEventListener(\"pulldownrefresh\", callback);\r\n}\r\n\r\nexport function startPullDownRefresh(): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"startPullDownRefresh\",\r\n });\r\n}\r\n\r\nexport function stopPullDownRefresh(): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"stopPullDownRefresh\",\r\n });\r\n}\r\n\r\n// HUD\r\n\r\nexport function showHUD(req: ShowHUDRequest): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"showHUD\",\r\n data: req,\r\n });\r\n}\r\n\r\nexport function hideHUD(): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"hideHUD\",\r\n });\r\n}\r\n\r\n// alert\r\nexport function showAlert(\r\n config: AlertConfig,\r\n): Promise<MResponseWithData<string>> {\r\n return jsBridge.callNative({\r\n api: \"showAlert\",\r\n data: config,\r\n });\r\n}\r\n\r\n// media\r\nexport function previewImage(url: string): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"previewImage\",\r\n data: {\r\n url,\r\n },\r\n });\r\n}\r\n\r\nexport function previewVideo(url: string): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"previewVideo\",\r\n data: {\r\n url,\r\n },\r\n });\r\n}\r\n","import jsBridge from \"../bridge\";\r\nimport { MResponse, MResponseWithData } from \"../model\";\r\n\r\n// async methods\r\n\r\nexport function getKVStorage(key: string): Promise<MResponseWithData<string>> {\r\n return jsBridge.callNative({\r\n api: \"getKVStorage\",\r\n data: { key },\r\n });\r\n}\r\n\r\nexport function setKVStorage(key: string, value: string): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"setKVStorage\",\r\n data: { key, value },\r\n });\r\n}\r\n\r\nexport function deleteKVStorage(key: string): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"deleteKVStorage\",\r\n data: { key },\r\n });\r\n}\r\n\r\nexport function clearKVStorage(): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"clearKVStorage\",\r\n });\r\n}\r\n\r\n// sync methods\r\n\r\nexport function getKVStorageSync(key: string): MResponseWithData<string> {\r\n return jsBridge.callNativeSync({\r\n api: \"getKVStorageSync\",\r\n data: { key },\r\n });\r\n}\r\n\r\nexport function setKVStorageSync(key: string, value: string): MResponse {\r\n return jsBridge.callNativeSync({\r\n api: \"setKVStorageSync\",\r\n data: { key, value },\r\n });\r\n}\r\n\r\nexport function deleteKVStorageSync(key: string): MResponse {\r\n return jsBridge.callNativeSync({\r\n api: \"deleteKVStorageSync\",\r\n data: { key },\r\n });\r\n}\r\n\r\nexport function clearKVStorageSync(): MResponse {\r\n return jsBridge.callNativeSync({\r\n api: \"clearKVStorageSync\",\r\n });\r\n}\r\n","import jsBridge from \"../bridge\";\r\nimport { MResponse, MResponseWithData } from \"../model\";\r\n\r\n/**\r\n *\r\n * @param type medium as default\r\n */\r\nexport function vibrate(\r\n type?: \"light\" | \"medium\" | \"heavy\",\r\n): Promise<MResponse> {\r\n return jsBridge.callNative({\r\n api: \"vibrate\",\r\n data: {\r\n type,\r\n },\r\n });\r\n}\r\n\r\nexport function getClipboardData(): Promise<MResponseWithData<string>> {\r\n return jsBridge.callNative({\r\n api: \"getClipboardData\",\r\n });\r\n}\r\n\r\nexport function setClipboardData(\r\n data: string,\r\n): Promise<MResponseWithData<string>> {\r\n return jsBridge.callNative({\r\n api: \"setClipboardData\",\r\n data: {\r\n data,\r\n },\r\n });\r\n}\r\n"],"mappings":";AAAO,IAAK,sBAAL,kBAAKA,yBAAL;AACL,EAAAA,0CAAA,aAAU,KAAV;AACA,EAAAA,0CAAA,YAAS,KAAT;AAFU,SAAAA;AAAA,GAAA;;;ACiBZ,IAAI;AAMJ,IACE,OAAO,UACP,OAAO,OAAO,mBACd,OAAO,OAAO,gBAAgB,wBAC9B;AACA,QAAM,cAAc,OAAO,OAAO,gBAAgB;AAClD,aAAW;AAAA,IACT,WAAW,KAAK;AACd,aAAO,YACJ,YAAY,KAAK,UAAU,GAAG,CAAC,EAC/B,KAAK,CAAC,QAAQ,KAAK,MAAM,GAAG,CAAC,EAC7B,KAAK,CAAC,QAAQ;AACb,YAAI,IAAI,0BAAsC;AAC5C,iBAAO;AAAA,QACT,OAAO;AACL,gBAAM,IAAI,MAAM,IAAI,OAAO,sBAAsB;AAAA,QACnD;AAAA,MACF,CAAC;AAAA,IACL;AAAA,IACA,eAAe,KAAK;AAClB,YAAM,MAAM,OAAO,KAAK,UAAU,GAAG,CAAC;AACtC,UAAI,KAAK;AACP,eAAO,KAAK,MAAM,GAAG;AAAA,MACvB;AACA,aAAO;AAAA,QACL;AAAA,QACA,KAAK;AAAA,MACP;AAAA,IACF;AAAA,EACF;AACF,OAAO;AAEL,aAAW;AAAA,IACT,aAAa;AACX,aAAO,IAAI,QAAQ,CAAC,GAAG,WAAW;AAChC,eAAO,kCAAkC;AAAA,MAC3C,CAAC;AAAA,IACH;AAAA,IACA,iBAAiB;AACf,aAAO;AAAA,QACL;AAAA,QACA,KAAK;AAAA,MACP;AAAA,IACF;AAAA,EACF;AACF;AAEA,IAAO,iBAAQ;;;ACnER,SAAS,WAAW,MAGJ;AACrB,SAAO,eAAS,WAAW;AAAA,IACzB,KAAK;AAAA,IACL;AAAA,EACF,CAAC;AACH;AAEO,SAAS,aAAa,QAAgB,GAAuB;AAClE,SAAO,eAAS,WAAW;AAAA,IACzB,KAAK;AAAA,IACL,MAAM;AAAA,MACJ;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAEO,SAAS,WAAW,MAGJ;AACrB,SAAO,eAAS,WAAW;AAAA,IACzB,KAAK;AAAA,IACL;AAAA,EACF,CAAC;AACH;AAEO,SAAS,YAAY,KAAiC;AAC3D,SAAO,eAAS,WAAW;AAAA,IACzB,KAAK;AAAA,IACL,MAAM,EAAE,IAAI;AAAA,EACd,CAAC;AACH;;;AClCO,SAAS,WAA+B;AAC7C,SAAO,eAAS,WAAW;AAAA,IACzB,KAAK;AAAA,EACP,CAAC;AACH;AAEO,SAAS,gBAAoC;AAClD,SAAO,eAAS,WAAW;AAAA,IACzB,KAAK;AAAA,EACP,CAAC;AACH;AAEO,SAAS,WAAW,KAAiC;AAC1D,SAAO,eAAS,WAAW;AAAA,IACzB,KAAK;AAAA,IACL,MAAM;AAAA,MACJ;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAEO,SAAS,sBAA6D;AAC3E,SAAO,eAAS,WAAW;AAAA,IACzB,KAAK;AAAA,EACP,CAAC;AACH;;;AClBO,SAAS,sBAAsB,OAAmC;AACvE,SAAO,eAAS,WAAW;AAAA,IACzB,KAAK;AAAA,IACL,MAAM;AAAA,MACJ;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAEO,SAAS,sBAAsB,QAGf;AACrB,SAAO,eAAS,WAAW;AAAA,IACzB,KAAK;AAAA,IACL,MAAM;AAAA,EACR,CAAC;AACH;AAIO,SAAS,wBAA4C;AAC1D,SAAO,eAAS,WAAW;AAAA,IACzB,KAAK;AAAA,EACP,CAAC;AACH;AAEO,SAAS,yBAA6C;AAC3D,SAAO,eAAS,WAAW;AAAA,IACzB,KAAK;AAAA,EACP,CAAC;AACH;AAEO,SAAS,kBAAkB,UAA6B;AAC7D,SAAO,iBAAiB,mBAAmB,QAAQ;AACrD;AAEO,SAAS,uBAA2C;AACzD,SAAO,eAAS,WAAW;AAAA,IACzB,KAAK;AAAA,EACP,CAAC;AACH;AAEO,SAAS,sBAA0C;AACxD,SAAO,eAAS,WAAW;AAAA,IACzB,KAAK;AAAA,EACP,CAAC;AACH;AAIO,SAAS,QAAQ,KAAyC;AAC/D,SAAO,eAAS,WAAW;AAAA,IACzB,KAAK;AAAA,IACL,MAAM;AAAA,EACR,CAAC;AACH;AAEO,SAAS,UAA8B;AAC5C,SAAO,eAAS,WAAW;AAAA,IACzB,KAAK;AAAA,EACP,CAAC;AACH;AAGO,SAAS,UACd,QACoC;AACpC,SAAO,eAAS,WAAW;AAAA,IACzB,KAAK;AAAA,IACL,MAAM;AAAA,EACR,CAAC;AACH;AAGO,SAAS,aAAa,KAAiC;AAC5D,SAAO,eAAS,WAAW;AAAA,IACzB,KAAK;AAAA,IACL,MAAM;AAAA,MACJ;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAEO,SAAS,aAAa,KAAiC;AAC5D,SAAO,eAAS,WAAW;AAAA,IACzB,KAAK;AAAA,IACL,MAAM;AAAA,MACJ;AAAA,IACF;AAAA,EACF,CAAC;AACH;;;AChGO,SAAS,aAAa,KAAiD;AAC5E,SAAO,eAAS,WAAW;AAAA,IACzB,KAAK;AAAA,IACL,MAAM,EAAE,IAAI;AAAA,EACd,CAAC;AACH;AAEO,SAAS,aAAa,KAAa,OAAmC;AAC3E,SAAO,eAAS,WAAW;AAAA,IACzB,KAAK;AAAA,IACL,MAAM,EAAE,KAAK,MAAM;AAAA,EACrB,CAAC;AACH;AAEO,SAAS,gBAAgB,KAAiC;AAC/D,SAAO,eAAS,WAAW;AAAA,IACzB,KAAK;AAAA,IACL,MAAM,EAAE,IAAI;AAAA,EACd,CAAC;AACH;AAEO,SAAS,iBAAqC;AACnD,SAAO,eAAS,WAAW;AAAA,IACzB,KAAK;AAAA,EACP,CAAC;AACH;AAIO,SAAS,iBAAiB,KAAwC;AACvE,SAAO,eAAS,eAAe;AAAA,IAC7B,KAAK;AAAA,IACL,MAAM,EAAE,IAAI;AAAA,EACd,CAAC;AACH;AAEO,SAAS,iBAAiB,KAAa,OAA0B;AACtE,SAAO,eAAS,eAAe;AAAA,IAC7B,KAAK;AAAA,IACL,MAAM,EAAE,KAAK,MAAM;AAAA,EACrB,CAAC;AACH;AAEO,SAAS,oBAAoB,KAAwB;AAC1D,SAAO,eAAS,eAAe;AAAA,IAC7B,KAAK;AAAA,IACL,MAAM,EAAE,IAAI;AAAA,EACd,CAAC;AACH;AAEO,SAAS,qBAAgC;AAC9C,SAAO,eAAS,eAAe;AAAA,IAC7B,KAAK;AAAA,EACP,CAAC;AACH;;;ACpDO,SAAS,QACd,MACoB;AACpB,SAAO,eAAS,WAAW;AAAA,IACzB,KAAK;AAAA,IACL,MAAM;AAAA,MACJ;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAEO,SAAS,mBAAuD;AACrE,SAAO,eAAS,WAAW;AAAA,IACzB,KAAK;AAAA,EACP,CAAC;AACH;AAEO,SAAS,iBACd,MACoC;AACpC,SAAO,eAAS,WAAW;AAAA,IACzB,KAAK;AAAA,IACL,MAAM;AAAA,MACJ;AAAA,IACF;AAAA,EACF,CAAC;AACH;","names":["MResponseStatusCode"]}
|