@docoi/mys-sdk 1.0.0-beta.0
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/LICENSE +21 -0
- package/README.md +110 -0
- package/dist/api/basic.d.ts +47 -0
- package/dist/api/biz.d.ts +15 -0
- package/dist/api/index.d.ts +2 -0
- package/dist/basic-C58euoyc.js +153 -0
- package/dist/basic-C58euoyc.js.map +1 -0
- package/dist/basic-CSwC4kuv.cjs +2 -0
- package/dist/basic-CSwC4kuv.cjs.map +1 -0
- package/dist/basic.d.ts +32 -0
- package/dist/basic.js +2 -0
- package/dist/basic.js.map +1 -0
- package/dist/basic.mjs +37 -0
- package/dist/basic.mjs.map +1 -0
- package/dist/biz-BUeFEJQb.cjs +2 -0
- package/dist/biz-BUeFEJQb.cjs.map +1 -0
- package/dist/biz-BbTdssY5.js +43 -0
- package/dist/biz-BbTdssY5.js.map +1 -0
- package/dist/biz.d.ts +16 -0
- package/dist/biz.js +2 -0
- package/dist/biz.js.map +1 -0
- package/dist/biz.mjs +21 -0
- package/dist/biz.mjs.map +1 -0
- package/dist/bridge-B5p50L4Z.cjs +2 -0
- package/dist/bridge-B5p50L4Z.cjs.map +1 -0
- package/dist/bridge-BsyNF-2c.js +39 -0
- package/dist/bridge-BsyNF-2c.js.map +1 -0
- package/dist/bridge.d.ts +16 -0
- package/dist/index.d.ts +46 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +51 -0
- package/dist/index.mjs.map +1 -0
- package/dist/types/index.d.ts +141 -0
- package/package.json +79 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 docoi
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# @yangkangtan/mysJs-sdk
|
|
2
|
+
|
|
3
|
+
封装基于 `@docoi/jsbridge-sdk` 的H5 JSBridge SDK。
|
|
4
|
+
|
|
5
|
+
## 安装
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
pnpm add @yangkangtan/mysJs-sdk
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## 快速开始
|
|
12
|
+
|
|
13
|
+
```typescript
|
|
14
|
+
import mys from "@yangkangtan/mysJs-sdk"
|
|
15
|
+
|
|
16
|
+
// 获取系统信息
|
|
17
|
+
const info = await mys.getSystemInfo()
|
|
18
|
+
console.log(info.brand, info.platform)
|
|
19
|
+
|
|
20
|
+
// 显示提示框
|
|
21
|
+
await mys.showToast({ title: '操作成功', icon: 'success' })
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## 三种调用方式
|
|
25
|
+
|
|
26
|
+
SDK 支持**回调风格**、**Promise 风格**、**混合调用**三种方式,完全兼容微信小程序 API 风格。
|
|
27
|
+
|
|
28
|
+
### 1. Promise / async-await(推荐)
|
|
29
|
+
|
|
30
|
+
```typescript
|
|
31
|
+
import mys from "@yangkangtan/mysJs-sdk"
|
|
32
|
+
|
|
33
|
+
async function demo() {
|
|
34
|
+
// 显示提示框
|
|
35
|
+
await mys.showToast({ title: '加载中...' })
|
|
36
|
+
|
|
37
|
+
// 获取网络类型
|
|
38
|
+
const network = await mys.getNetworkType()
|
|
39
|
+
console.log(network.networkType)
|
|
40
|
+
|
|
41
|
+
// 获取系统信息
|
|
42
|
+
const sys = await mys.getSystemInfo()
|
|
43
|
+
console.log(sys.platform) // "android" | "ios"
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### 2. 纯回调风格
|
|
48
|
+
|
|
49
|
+
```typescript
|
|
50
|
+
// 显示提示框(带成功回调)
|
|
51
|
+
mys.showToast({
|
|
52
|
+
title: '提交成功',
|
|
53
|
+
icon: 'success',
|
|
54
|
+
duration: 1000,
|
|
55
|
+
mask: true,
|
|
56
|
+
success: function () {
|
|
57
|
+
setTimeout(function () {
|
|
58
|
+
// 提示结束后执行操作
|
|
59
|
+
}, 1000);
|
|
60
|
+
},
|
|
61
|
+
fail: function (err) {
|
|
62
|
+
console.error('显示失败', err.errMsg)
|
|
63
|
+
}
|
|
64
|
+
})
|
|
65
|
+
|
|
66
|
+
// 隐藏提示框
|
|
67
|
+
mys.hideToast({
|
|
68
|
+
success: () => { console.log('提示框已隐藏') }
|
|
69
|
+
})
|
|
70
|
+
|
|
71
|
+
// 获取系统信息
|
|
72
|
+
mys.getSystemInfo({
|
|
73
|
+
success: (res) => {
|
|
74
|
+
console.log(res.brand, res.platform)
|
|
75
|
+
}
|
|
76
|
+
})
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### 3. 混用(传入回调但仍返回 Promise)
|
|
80
|
+
|
|
81
|
+
```typescript
|
|
82
|
+
// 传入回调,但同时返回 Promise
|
|
83
|
+
const res = await mys.getStorage(
|
|
84
|
+
{ key: 'userInfo' },
|
|
85
|
+
{
|
|
86
|
+
success: () => { console.log('获取成功') },
|
|
87
|
+
fail: (err) => { console.error(err) }
|
|
88
|
+
}
|
|
89
|
+
)
|
|
90
|
+
console.log(res.data) // Promise result 同样可用
|
|
91
|
+
```
|
|
92
|
+
## 开发命令
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
# 安装依赖
|
|
96
|
+
pnpm install
|
|
97
|
+
|
|
98
|
+
# 监听模式构建
|
|
99
|
+
pnpm dev
|
|
100
|
+
|
|
101
|
+
# 生产构建
|
|
102
|
+
pnpm build
|
|
103
|
+
|
|
104
|
+
# 类型检查
|
|
105
|
+
pnpm type-check
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## License
|
|
109
|
+
|
|
110
|
+
MIT
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { ShowToastParams, HideToastParams, PlayMediaParams, ChooseMediaParams, ChooseMediaResult, SaveImageToPhotosAlbumParams, SaveVideoToPhotosAlbumParams, StartRecordParams, SetClipboardDataParams, GetClipboardDataResult, OpenInExternalBrowserParams, NavigateToAppParams, SwitchTabParams, OpenWebviewParams, VibrateShortParams, Callbacks, SystemInfoResult, NetworkTypeResult } from '../types';
|
|
2
|
+
/** 显示消息提示框 */
|
|
3
|
+
export declare function showToast(params: ShowToastParams): Promise<void>;
|
|
4
|
+
/** 隐藏消息提示框 */
|
|
5
|
+
export declare function hideToast(params?: HideToastParams): Promise<void>;
|
|
6
|
+
/** 预览图片 */
|
|
7
|
+
export declare function previewImage(params: PlayMediaParams): Promise<void>;
|
|
8
|
+
/** 预览视频 */
|
|
9
|
+
export declare function previewVideo(params: PlayMediaParams): Promise<void>;
|
|
10
|
+
/** 拍摄或从手机相册中选择图片或视频 */
|
|
11
|
+
export declare function chooseMedia(params: ChooseMediaParams): Promise<ChooseMediaResult>;
|
|
12
|
+
/** 保存图片到系统相册 */
|
|
13
|
+
export declare function saveImageToPhotosAlbum(params: SaveImageToPhotosAlbumParams): Promise<void>;
|
|
14
|
+
/** 保存视频到系统相册 */
|
|
15
|
+
export declare function saveVideoToPhotosAlbum(params: SaveVideoToPhotosAlbumParams): Promise<void>;
|
|
16
|
+
/** 开始录音 */
|
|
17
|
+
export declare function startRecord(params?: StartRecordParams): Promise<void>;
|
|
18
|
+
/** 停止录音 */
|
|
19
|
+
export declare function stopRecord(params?: Callbacks): Promise<void>;
|
|
20
|
+
/** 获取系统信息 */
|
|
21
|
+
export declare function getSystemInfo(params?: Callbacks<SystemInfoResult>): Promise<SystemInfoResult>;
|
|
22
|
+
/** 获取网络类型 */
|
|
23
|
+
export declare function getNetworkType(params?: Callbacks<NetworkTypeResult>): Promise<NetworkTypeResult>;
|
|
24
|
+
/** 设置系统剪贴板的内容 */
|
|
25
|
+
export declare function setClipboardData(params: SetClipboardDataParams): Promise<void>;
|
|
26
|
+
/** 获取系统剪贴板的内容 */
|
|
27
|
+
export declare function getClipboardData(params?: Callbacks<GetClipboardDataResult>): Promise<GetClipboardDataResult>;
|
|
28
|
+
/** 短震动 */
|
|
29
|
+
export declare function vibrateShort(params: VibrateShortParams): Promise<void>;
|
|
30
|
+
/** 长震动 */
|
|
31
|
+
export declare function vibrateLong(params?: Callbacks): Promise<void>;
|
|
32
|
+
/** 使用外部浏览器打开链接 */
|
|
33
|
+
export declare function openInExternalBrowser(params: OpenInExternalBrowserParams): Promise<void>;
|
|
34
|
+
/** 跳转到应用内的某个页面 (非 Tab 页面) */
|
|
35
|
+
export declare function navigateToApp(params: NavigateToAppParams): Promise<void>;
|
|
36
|
+
/** 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面 */
|
|
37
|
+
export declare function switchTab(params: SwitchTabParams): Promise<void>;
|
|
38
|
+
/** 打开 Webview 容器 */
|
|
39
|
+
export declare function openWebview(params: OpenWebviewParams): Promise<void>;
|
|
40
|
+
/** 关闭当前网页视图 */
|
|
41
|
+
export declare function closeWebView(params?: Callbacks): Promise<void>;
|
|
42
|
+
/** 隐藏键盘 */
|
|
43
|
+
export declare function hideKeyboard(params?: Callbacks): Promise<void>;
|
|
44
|
+
/** 监听键盘高度变化 */
|
|
45
|
+
export declare function onKeyboardHeightChange(callback: (height: number) => void): void;
|
|
46
|
+
/** 取消监听键盘高度变化 */
|
|
47
|
+
export declare function offKeyboardHeightChange(): void;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Callbacks, ShareWebCardParams, ShowAdParams, BindGameRoleParams, LoginResult, GetTokenResult, GetCircleInfoResult } from '../types';
|
|
2
|
+
/** 登录授权,获取用户信息 */
|
|
3
|
+
export declare function login(params?: Callbacks<LoginResult>): Promise<LoginResult>;
|
|
4
|
+
/** 获取当前用户的登录 Token */
|
|
5
|
+
export declare function getToken(params?: Callbacks<GetTokenResult>): Promise<GetTokenResult>;
|
|
6
|
+
/** 获取当前社群/圈子信息 */
|
|
7
|
+
export declare function getCurrentCircleInfo(params?: Callbacks<GetCircleInfoResult>): Promise<GetCircleInfoResult>;
|
|
8
|
+
/** 分享网页卡片到社交平台 */
|
|
9
|
+
export declare function shareWebCard(params: ShareWebCardParams): Promise<void>;
|
|
10
|
+
/** 跳转绑定游戏角色页面 */
|
|
11
|
+
export declare function toBindGameRole(params?: BindGameRoleParams): Promise<void>;
|
|
12
|
+
/** 展示原生广告 */
|
|
13
|
+
export declare function showAd(params: ShowAdParams): Promise<void>;
|
|
14
|
+
/** 打开添加自定义表情页面 */
|
|
15
|
+
export declare function openAddCustomEmoji(params?: Callbacks): Promise<void>;
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { i, b as o } from "./bridge-BsyNF-2c.js";
|
|
2
|
+
function u(e) {
|
|
3
|
+
var r;
|
|
4
|
+
return e.title ? i("showToast", {
|
|
5
|
+
text: e.title,
|
|
6
|
+
icon: e.icon || "none",
|
|
7
|
+
duration: e.duration || 2e3,
|
|
8
|
+
mask: !!e.mask
|
|
9
|
+
}, e) : ((r = e.fail) == null || r.call(e, { errMsg: "showToast:fail parameter error: title is required", errCode: -1 }), Promise.reject({ errMsg: "showToast:fail parameter error: title is required", errCode: -1 }));
|
|
10
|
+
}
|
|
11
|
+
function l(e) {
|
|
12
|
+
return i("hideToast", {}, e);
|
|
13
|
+
}
|
|
14
|
+
function d(e) {
|
|
15
|
+
return i("playMedia", {
|
|
16
|
+
type: 1,
|
|
17
|
+
urls: e.urls,
|
|
18
|
+
url: e.url
|
|
19
|
+
}, e);
|
|
20
|
+
}
|
|
21
|
+
function f(e) {
|
|
22
|
+
var r;
|
|
23
|
+
return e.url ? i("playMedia", {
|
|
24
|
+
type: 2,
|
|
25
|
+
urls: [e.url],
|
|
26
|
+
current: 0
|
|
27
|
+
}, e) : ((r = e.fail) == null || r.call(e, { errMsg: "previewVideo:fail parameter error: url is required", errCode: -1 }), Promise.reject({ errMsg: "previewVideo:fail parameter error: url is required", errCode: -1 }));
|
|
28
|
+
}
|
|
29
|
+
function c(e) {
|
|
30
|
+
return i("chooseMedia", {
|
|
31
|
+
count: 9,
|
|
32
|
+
mediaType: ["image", "video"],
|
|
33
|
+
sourceType: ["album", "camera"],
|
|
34
|
+
...e
|
|
35
|
+
}, e);
|
|
36
|
+
}
|
|
37
|
+
function a(e) {
|
|
38
|
+
var r;
|
|
39
|
+
return e.filePath ? i("saveMediaToPhotosAlbum", { type: "image", file: e.filePath }, e) : ((r = e.fail) == null || r.call(e, { errMsg: "saveImageToPhotosAlbum:fail parameter error: filePath is required", errCode: -1 }), Promise.reject({ errMsg: "saveImageToPhotosAlbum:fail parameter error: filePath is required", errCode: -1 }));
|
|
40
|
+
}
|
|
41
|
+
function s(e) {
|
|
42
|
+
var r;
|
|
43
|
+
return e.filePath ? i("saveMediaToPhotosAlbum", { type: "video", file: e.filePath }, e) : ((r = e.fail) == null || r.call(e, { errMsg: "saveVideoToPhotosAlbum:fail parameter error: filePath is required", errCode: -1 }), Promise.reject({ errMsg: "saveVideoToPhotosAlbum:fail parameter error: filePath is required", errCode: -1 }));
|
|
44
|
+
}
|
|
45
|
+
function g(e) {
|
|
46
|
+
return i("startRecord", e || {}, e);
|
|
47
|
+
}
|
|
48
|
+
function b(e) {
|
|
49
|
+
return i("stopRecord", {}, e);
|
|
50
|
+
}
|
|
51
|
+
function h(e) {
|
|
52
|
+
return i("getSystemInfo", {}, e);
|
|
53
|
+
}
|
|
54
|
+
function v(e) {
|
|
55
|
+
return i("getNetworkType", {}, e);
|
|
56
|
+
}
|
|
57
|
+
function P(e) {
|
|
58
|
+
var r;
|
|
59
|
+
return e.data === void 0 ? ((r = e.fail) == null || r.call(e, { errMsg: "setClipboardData:fail parameter error: data is required", errCode: -1 }), Promise.reject({ errMsg: "setClipboardData:fail parameter error: data is required", errCode: -1 })) : i("setClipboardData", { data: e.data }, e);
|
|
60
|
+
}
|
|
61
|
+
function w(e) {
|
|
62
|
+
return i("getClipboardData", {}, e);
|
|
63
|
+
}
|
|
64
|
+
function C(e) {
|
|
65
|
+
return i("vibrateShort", { type: e.type }, e);
|
|
66
|
+
}
|
|
67
|
+
function M(e) {
|
|
68
|
+
return i("vibrateLong", {}, e);
|
|
69
|
+
}
|
|
70
|
+
function T(e) {
|
|
71
|
+
var r;
|
|
72
|
+
return e.url ? i("openInExternalBrowser", { url: e.url }, e) : ((r = e.fail) == null || r.call(e, { errMsg: "openInExternalBrowser:fail parameter error: url is required", errCode: -1 }), Promise.reject({ errMsg: "openInExternalBrowser:fail parameter error: url is required", errCode: -1 }));
|
|
73
|
+
}
|
|
74
|
+
function y(e) {
|
|
75
|
+
var r;
|
|
76
|
+
return e.url ? i("redirectPage", { page: 11, params: { url: e.url } }, e) : ((r = e.fail) == null || r.call(e, { errMsg: "navigateToApp:fail parameter error: url is required", errCode: -1 }), Promise.reject({ errMsg: "navigateToApp:fail parameter error: url is required", errCode: -1 }));
|
|
77
|
+
}
|
|
78
|
+
function q(e) {
|
|
79
|
+
var r;
|
|
80
|
+
return e.url ? i("redirectPage", { page: 1, params: { url: e.url } }, e) : ((r = e.fail) == null || r.call(e, { errMsg: "switchTab:fail parameter error: url is required", errCode: -1 }), Promise.reject({ errMsg: "switchTab:fail parameter error: url is required", errCode: -1 }));
|
|
81
|
+
}
|
|
82
|
+
function j(e) {
|
|
83
|
+
var r;
|
|
84
|
+
return e.url ? e.replace ? (window.location.replace(e.url), Promise.resolve()) : i("openWebview", { link: e.url, type: e.type || "normal" }, e) : ((r = e.fail) == null || r.call(e, { errMsg: "openWebview:fail parameter error: url is required", errCode: -1 }), Promise.reject({ errMsg: "openWebview:fail parameter error: url is required", errCode: -1 }));
|
|
85
|
+
}
|
|
86
|
+
function A(e) {
|
|
87
|
+
return i("closeWebView", {}, e);
|
|
88
|
+
}
|
|
89
|
+
function I(e) {
|
|
90
|
+
return i("hideKeyboard", {}, e);
|
|
91
|
+
}
|
|
92
|
+
function k(e) {
|
|
93
|
+
o.on("keyboardHeightChange", (r) => {
|
|
94
|
+
const t = window.devicePixelRatio || 1, n = r ? r / t : 0;
|
|
95
|
+
e(n);
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
function x() {
|
|
99
|
+
o.off("keyboardHeightChange");
|
|
100
|
+
}
|
|
101
|
+
const D = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
102
|
+
__proto__: null,
|
|
103
|
+
chooseMedia: c,
|
|
104
|
+
closeWebView: A,
|
|
105
|
+
getClipboardData: w,
|
|
106
|
+
getNetworkType: v,
|
|
107
|
+
getSystemInfo: h,
|
|
108
|
+
hideKeyboard: I,
|
|
109
|
+
hideToast: l,
|
|
110
|
+
navigateToApp: y,
|
|
111
|
+
offKeyboardHeightChange: x,
|
|
112
|
+
onKeyboardHeightChange: k,
|
|
113
|
+
openInExternalBrowser: T,
|
|
114
|
+
openWebview: j,
|
|
115
|
+
previewImage: d,
|
|
116
|
+
previewVideo: f,
|
|
117
|
+
saveImageToPhotosAlbum: a,
|
|
118
|
+
saveVideoToPhotosAlbum: s,
|
|
119
|
+
setClipboardData: P,
|
|
120
|
+
showToast: u,
|
|
121
|
+
startRecord: g,
|
|
122
|
+
stopRecord: b,
|
|
123
|
+
switchTab: q,
|
|
124
|
+
vibrateLong: M,
|
|
125
|
+
vibrateShort: C
|
|
126
|
+
}, Symbol.toStringTag, { value: "Module" }));
|
|
127
|
+
export {
|
|
128
|
+
D as a,
|
|
129
|
+
A as b,
|
|
130
|
+
c,
|
|
131
|
+
v as d,
|
|
132
|
+
h as e,
|
|
133
|
+
l as f,
|
|
134
|
+
w as g,
|
|
135
|
+
I as h,
|
|
136
|
+
k as i,
|
|
137
|
+
T as j,
|
|
138
|
+
j as k,
|
|
139
|
+
f as l,
|
|
140
|
+
s as m,
|
|
141
|
+
y as n,
|
|
142
|
+
x as o,
|
|
143
|
+
d as p,
|
|
144
|
+
P as q,
|
|
145
|
+
u as r,
|
|
146
|
+
a as s,
|
|
147
|
+
g as t,
|
|
148
|
+
b as u,
|
|
149
|
+
q as v,
|
|
150
|
+
M as w,
|
|
151
|
+
C as x
|
|
152
|
+
};
|
|
153
|
+
//# sourceMappingURL=basic-C58euoyc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"basic-C58euoyc.js","sources":["../src/api/basic.ts"],"sourcesContent":["/**\r\n * Basic API - 基础功能模块 v2.0.0\r\n */\r\nimport bridge, { invoke } from '../bridge'\r\nimport type {\r\n ShowToastParams,\r\n HideToastParams,\r\n PlayMediaParams,\r\n ChooseMediaParams,\r\n ChooseMediaResult,\r\n SaveImageToPhotosAlbumParams,\r\n SaveVideoToPhotosAlbumParams,\r\n StartRecordParams,\r\n SetClipboardDataParams,\r\n GetClipboardDataResult,\r\n OpenInExternalBrowserParams,\r\n NavigateToAppParams,\r\n SwitchTabParams,\r\n OpenWebviewParams,\r\n VibrateShortParams,\r\n Callbacks,\r\n SystemInfoResult,\r\n NetworkTypeResult,\r\n} from '../types'\r\n\r\n// ==============================\r\n// UI 交互\r\n// ==============================\r\n\r\n/** 显示消息提示框 */\r\nexport function showToast(params: ShowToastParams): Promise<void> {\r\n if (!params.title) {\r\n params.fail?.({ errMsg: 'showToast:fail parameter error: title is required', errCode: -1 })\r\n return Promise.reject({ errMsg: 'showToast:fail parameter error: title is required', errCode: -1 })\r\n }\r\n return invoke('showToast', {\r\n text: params.title,\r\n icon: params.icon || 'none',\r\n duration: params.duration || 2000,\r\n mask: !!params.mask,\r\n }, params)\r\n}\r\n\r\n/** 隐藏消息提示框 */\r\nexport function hideToast(params?: HideToastParams): Promise<void> {\r\n return invoke('hideToast', {}, params)\r\n}\r\n\r\n/** 预览图片 */\r\nexport function previewImage(params: PlayMediaParams): Promise<void> {\r\n return invoke('playMedia', {\r\n type: 1,\r\n urls: params.urls,\r\n url: params.url,\r\n }, params)\r\n}\r\n\r\n/** 预览视频 */\r\nexport function previewVideo(params: PlayMediaParams): Promise<void> {\r\n if (!params.url) {\r\n params.fail?.({ errMsg: 'previewVideo:fail parameter error: url is required', errCode: -1 })\r\n return Promise.reject({ errMsg: 'previewVideo:fail parameter error: url is required', errCode: -1 })\r\n }\r\n return invoke('playMedia', {\r\n type: 2,\r\n urls: [params.url],\r\n current: 0,\r\n }, params)\r\n}\r\n\r\n// ==============================\r\n// 媒体功能\r\n// ==============================\r\n\r\n/** 拍摄或从手机相册中选择图片或视频 */\r\nexport function chooseMedia(params: ChooseMediaParams): Promise<ChooseMediaResult> {\r\n return invoke('chooseMedia', {\r\n count: 9,\r\n mediaType: ['image', 'video'],\r\n sourceType: ['album', 'camera'],\r\n ...params,\r\n }, params)\r\n}\r\n\r\n/** 保存图片到系统相册 */\r\nexport function saveImageToPhotosAlbum(params: SaveImageToPhotosAlbumParams): Promise<void> {\r\n if (!params.filePath) {\r\n params.fail?.({ errMsg: 'saveImageToPhotosAlbum:fail parameter error: filePath is required', errCode: -1 })\r\n return Promise.reject({ errMsg: 'saveImageToPhotosAlbum:fail parameter error: filePath is required', errCode: -1 })\r\n }\r\n return invoke('saveMediaToPhotosAlbum', { type: 'image', file: params.filePath }, params)\r\n}\r\n\r\n/** 保存视频到系统相册 */\r\nexport function saveVideoToPhotosAlbum(params: SaveVideoToPhotosAlbumParams): Promise<void> {\r\n if (!params.filePath) {\r\n params.fail?.({ errMsg: 'saveVideoToPhotosAlbum:fail parameter error: filePath is required', errCode: -1 })\r\n return Promise.reject({ errMsg: 'saveVideoToPhotosAlbum:fail parameter error: filePath is required', errCode: -1 })\r\n }\r\n return invoke('saveMediaToPhotosAlbum', { type: 'video', file: params.filePath }, params)\r\n}\r\n\r\n/** 开始录音 */\r\nexport function startRecord(params?: StartRecordParams): Promise<void> {\r\n return invoke('startRecord', params || {}, params)\r\n}\r\n\r\n/** 停止录音 */\r\nexport function stopRecord(params?: Callbacks): Promise<void> {\r\n return invoke('stopRecord', {}, params)\r\n}\r\n\r\n// ==============================\r\n// 设备\r\n// ==============================\r\n\r\n/** 获取系统信息 */\r\nexport function getSystemInfo(params?: Callbacks<SystemInfoResult>): Promise<SystemInfoResult> {\r\n return invoke('getSystemInfo', {}, params)\r\n}\r\n\r\n/** 获取网络类型 */\r\nexport function getNetworkType(params?: Callbacks<NetworkTypeResult>): Promise<NetworkTypeResult> {\r\n return invoke('getNetworkType', {}, params)\r\n}\r\n\r\n/** 设置系统剪贴板的内容 */\r\nexport function setClipboardData(params: SetClipboardDataParams): Promise<void> {\r\n if (params.data === undefined) {\r\n params.fail?.({ errMsg: 'setClipboardData:fail parameter error: data is required', errCode: -1 })\r\n return Promise.reject({ errMsg: 'setClipboardData:fail parameter error: data is required', errCode: -1 })\r\n }\r\n return invoke('setClipboardData', { data: params.data }, params)\r\n}\r\n\r\n/** 获取系统剪贴板的内容 */\r\nexport function getClipboardData(params?: Callbacks<GetClipboardDataResult>): Promise<GetClipboardDataResult> {\r\n return invoke('getClipboardData', {}, params)\r\n}\r\n\r\n/** 短震动 */\r\nexport function vibrateShort(params: VibrateShortParams): Promise<void> {\r\n return invoke('vibrateShort', { type: params.type }, params)\r\n}\r\n\r\n/** 长震动 */\r\nexport function vibrateLong(params?: Callbacks): Promise<void> {\r\n return invoke('vibrateLong', {}, params)\r\n}\r\n\r\n/** 使用外部浏览器打开链接 */\r\nexport function openInExternalBrowser(params: OpenInExternalBrowserParams): Promise<void> {\r\n if (!params.url) {\r\n params.fail?.({ errMsg: 'openInExternalBrowser:fail parameter error: url is required', errCode: -1 })\r\n return Promise.reject({ errMsg: 'openInExternalBrowser:fail parameter error: url is required', errCode: -1 })\r\n }\r\n return invoke('openInExternalBrowser', { url: params.url }, params)\r\n}\r\n\r\n// ==============================\r\n// 导航跳转\r\n// ==============================\r\n\r\n/** 跳转到应用内的某个页面 (非 Tab 页面) */\r\nexport function navigateToApp(params: NavigateToAppParams): Promise<void> {\r\n if (!params.url) {\r\n params.fail?.({ errMsg: 'navigateToApp:fail parameter error: url is required', errCode: -1 })\r\n return Promise.reject({ errMsg: 'navigateToApp:fail parameter error: url is required', errCode: -1 })\r\n }\r\n return invoke('redirectPage', { page: 11, params: { url: params.url } }, params)\r\n}\r\n\r\n/** 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面 */\r\nexport function switchTab(params: SwitchTabParams): Promise<void> {\r\n if (!params.url) {\r\n params.fail?.({ errMsg: 'switchTab:fail parameter error: url is required', errCode: -1 })\r\n return Promise.reject({ errMsg: 'switchTab:fail parameter error: url is required', errCode: -1 })\r\n }\r\n return invoke('redirectPage', { page: 1, params: { url: params.url } }, params)\r\n}\r\n\r\n/** 打开 Webview 容器 */\r\nexport function openWebview(params: OpenWebviewParams): Promise<void> {\r\n if (!params.url) {\r\n params.fail?.({ errMsg: 'openWebview:fail parameter error: url is required', errCode: -1 })\r\n return Promise.reject({ errMsg: 'openWebview:fail parameter error: url is required', errCode: -1 })\r\n }\r\n\r\n if (params.replace) {\r\n window.location.replace(params.url)\r\n return Promise.resolve()\r\n }\r\n\r\n return invoke('openWebview', { link: params.url, type: params.type || 'normal' }, params)\r\n}\r\n\r\n/** 关闭当前网页视图 */\r\nexport function closeWebView(params?: Callbacks): Promise<void> {\r\n return invoke('closeWebView', {}, params)\r\n}\r\n\r\n/** 隐藏键盘 */\r\nexport function hideKeyboard(params?: Callbacks): Promise<void> {\r\n return invoke('hideKeyboard', {}, params)\r\n}\r\n\r\n// ==============================\r\n// 事件监听\r\n// ==============================\r\n\r\n/** 监听键盘高度变化 */\r\nexport function onKeyboardHeightChange(callback: (height: number) => void): void {\r\n bridge.on('keyboardHeightChange', (height: number) => {\r\n const DPR = window.devicePixelRatio || 1\r\n const logicHeight = height ? height / DPR : 0\r\n callback(logicHeight)\r\n })\r\n}\r\n\r\n/** 取消监听键盘高度变化 */\r\nexport function offKeyboardHeightChange(): void {\r\n bridge.off('keyboardHeightChange')\r\n}"],"names":["showToast","params","invoke","_a","hideToast","previewImage","previewVideo","chooseMedia","saveImageToPhotosAlbum","saveVideoToPhotosAlbum","startRecord","stopRecord","getSystemInfo","getNetworkType","setClipboardData","getClipboardData","vibrateShort","vibrateLong","openInExternalBrowser","navigateToApp","switchTab","openWebview","closeWebView","hideKeyboard","onKeyboardHeightChange","callback","bridge","height","DPR","logicHeight","offKeyboardHeightChange"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const o=require("./bridge-B5p50L4Z.cjs");function i(e){var r;return e.title?o.invoke("showToast",{text:e.title,icon:e.icon||"none",duration:e.duration||2e3,mask:!!e.mask},e):((r=e.fail)==null||r.call(e,{errMsg:"showToast:fail parameter error: title is required",errCode:-1}),Promise.reject({errMsg:"showToast:fail parameter error: title is required",errCode:-1}))}function t(e){return o.invoke("hideToast",{},e)}function n(e){return o.invoke("playMedia",{type:1,urls:e.urls,url:e.url},e)}function u(e){var r;return e.url?o.invoke("playMedia",{type:2,urls:[e.url],current:0},e):((r=e.fail)==null||r.call(e,{errMsg:"previewVideo:fail parameter error: url is required",errCode:-1}),Promise.reject({errMsg:"previewVideo:fail parameter error: url is required",errCode:-1}))}function l(e){return o.invoke("chooseMedia",{count:9,mediaType:["image","video"],sourceType:["album","camera"],...e},e)}function d(e){var r;return e.filePath?o.invoke("saveMediaToPhotosAlbum",{type:"image",file:e.filePath},e):((r=e.fail)==null||r.call(e,{errMsg:"saveImageToPhotosAlbum:fail parameter error: filePath is required",errCode:-1}),Promise.reject({errMsg:"saveImageToPhotosAlbum:fail parameter error: filePath is required",errCode:-1}))}function f(e){var r;return e.filePath?o.invoke("saveMediaToPhotosAlbum",{type:"video",file:e.filePath},e):((r=e.fail)==null||r.call(e,{errMsg:"saveVideoToPhotosAlbum:fail parameter error: filePath is required",errCode:-1}),Promise.reject({errMsg:"saveVideoToPhotosAlbum:fail parameter error: filePath is required",errCode:-1}))}function c(e){return o.invoke("startRecord",e||{},e)}function g(e){return o.invoke("stopRecord",{},e)}function a(e){return o.invoke("getSystemInfo",{},e)}function v(e){return o.invoke("getNetworkType",{},e)}function b(e){var r;return e.data===void 0?((r=e.fail)==null||r.call(e,{errMsg:"setClipboardData:fail parameter error: data is required",errCode:-1}),Promise.reject({errMsg:"setClipboardData:fail parameter error: data is required",errCode:-1})):o.invoke("setClipboardData",{data:e.data},e)}function h(e){return o.invoke("getClipboardData",{},e)}function s(e){return o.invoke("vibrateShort",{type:e.type},e)}function w(e){return o.invoke("vibrateLong",{},e)}function P(e){var r;return e.url?o.invoke("openInExternalBrowser",{url:e.url},e):((r=e.fail)==null||r.call(e,{errMsg:"openInExternalBrowser:fail parameter error: url is required",errCode:-1}),Promise.reject({errMsg:"openInExternalBrowser:fail parameter error: url is required",errCode:-1}))}function C(e){var r;return e.url?o.invoke("redirectPage",{page:11,params:{url:e.url}},e):((r=e.fail)==null||r.call(e,{errMsg:"navigateToApp:fail parameter error: url is required",errCode:-1}),Promise.reject({errMsg:"navigateToApp:fail parameter error: url is required",errCode:-1}))}function T(e){var r;return e.url?o.invoke("redirectPage",{page:1,params:{url:e.url}},e):((r=e.fail)==null||r.call(e,{errMsg:"switchTab:fail parameter error: url is required",errCode:-1}),Promise.reject({errMsg:"switchTab:fail parameter error: url is required",errCode:-1}))}function k(e){var r;return e.url?e.replace?(window.location.replace(e.url),Promise.resolve()):o.invoke("openWebview",{link:e.url,type:e.type||"normal"},e):((r=e.fail)==null||r.call(e,{errMsg:"openWebview:fail parameter error: url is required",errCode:-1}),Promise.reject({errMsg:"openWebview:fail parameter error: url is required",errCode:-1}))}function y(e){return o.invoke("closeWebView",{},e)}function M(e){return o.invoke("hideKeyboard",{},e)}function q(e){o.bridge.on("keyboardHeightChange",r=>{const I=window.devicePixelRatio||1,j=r?r/I:0;e(j)})}function A(){o.bridge.off("keyboardHeightChange")}const V=Object.freeze(Object.defineProperty({__proto__:null,chooseMedia:l,closeWebView:y,getClipboardData:h,getNetworkType:v,getSystemInfo:a,hideKeyboard:M,hideToast:t,navigateToApp:C,offKeyboardHeightChange:A,onKeyboardHeightChange:q,openInExternalBrowser:P,openWebview:k,previewImage:n,previewVideo:u,saveImageToPhotosAlbum:d,saveVideoToPhotosAlbum:f,setClipboardData:b,showToast:i,startRecord:c,stopRecord:g,switchTab:T,vibrateLong:w,vibrateShort:s},Symbol.toStringTag,{value:"Module"}));exports.api=V;exports.chooseMedia=l;exports.closeWebView=y;exports.getClipboardData=h;exports.getNetworkType=v;exports.getSystemInfo=a;exports.hideKeyboard=M;exports.hideToast=t;exports.navigateToApp=C;exports.offKeyboardHeightChange=A;exports.onKeyboardHeightChange=q;exports.openInExternalBrowser=P;exports.openWebview=k;exports.previewImage=n;exports.previewVideo=u;exports.saveImageToPhotosAlbum=d;exports.saveVideoToPhotosAlbum=f;exports.setClipboardData=b;exports.showToast=i;exports.startRecord=c;exports.stopRecord=g;exports.switchTab=T;exports.vibrateLong=w;exports.vibrateShort=s;
|
|
2
|
+
//# sourceMappingURL=basic-CSwC4kuv.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"basic-CSwC4kuv.cjs","sources":["../src/api/basic.ts"],"sourcesContent":["/**\r\n * Basic API - 基础功能模块 v2.0.0\r\n */\r\nimport bridge, { invoke } from '../bridge'\r\nimport type {\r\n ShowToastParams,\r\n HideToastParams,\r\n PlayMediaParams,\r\n ChooseMediaParams,\r\n ChooseMediaResult,\r\n SaveImageToPhotosAlbumParams,\r\n SaveVideoToPhotosAlbumParams,\r\n StartRecordParams,\r\n SetClipboardDataParams,\r\n GetClipboardDataResult,\r\n OpenInExternalBrowserParams,\r\n NavigateToAppParams,\r\n SwitchTabParams,\r\n OpenWebviewParams,\r\n VibrateShortParams,\r\n Callbacks,\r\n SystemInfoResult,\r\n NetworkTypeResult,\r\n} from '../types'\r\n\r\n// ==============================\r\n// UI 交互\r\n// ==============================\r\n\r\n/** 显示消息提示框 */\r\nexport function showToast(params: ShowToastParams): Promise<void> {\r\n if (!params.title) {\r\n params.fail?.({ errMsg: 'showToast:fail parameter error: title is required', errCode: -1 })\r\n return Promise.reject({ errMsg: 'showToast:fail parameter error: title is required', errCode: -1 })\r\n }\r\n return invoke('showToast', {\r\n text: params.title,\r\n icon: params.icon || 'none',\r\n duration: params.duration || 2000,\r\n mask: !!params.mask,\r\n }, params)\r\n}\r\n\r\n/** 隐藏消息提示框 */\r\nexport function hideToast(params?: HideToastParams): Promise<void> {\r\n return invoke('hideToast', {}, params)\r\n}\r\n\r\n/** 预览图片 */\r\nexport function previewImage(params: PlayMediaParams): Promise<void> {\r\n return invoke('playMedia', {\r\n type: 1,\r\n urls: params.urls,\r\n url: params.url,\r\n }, params)\r\n}\r\n\r\n/** 预览视频 */\r\nexport function previewVideo(params: PlayMediaParams): Promise<void> {\r\n if (!params.url) {\r\n params.fail?.({ errMsg: 'previewVideo:fail parameter error: url is required', errCode: -1 })\r\n return Promise.reject({ errMsg: 'previewVideo:fail parameter error: url is required', errCode: -1 })\r\n }\r\n return invoke('playMedia', {\r\n type: 2,\r\n urls: [params.url],\r\n current: 0,\r\n }, params)\r\n}\r\n\r\n// ==============================\r\n// 媒体功能\r\n// ==============================\r\n\r\n/** 拍摄或从手机相册中选择图片或视频 */\r\nexport function chooseMedia(params: ChooseMediaParams): Promise<ChooseMediaResult> {\r\n return invoke('chooseMedia', {\r\n count: 9,\r\n mediaType: ['image', 'video'],\r\n sourceType: ['album', 'camera'],\r\n ...params,\r\n }, params)\r\n}\r\n\r\n/** 保存图片到系统相册 */\r\nexport function saveImageToPhotosAlbum(params: SaveImageToPhotosAlbumParams): Promise<void> {\r\n if (!params.filePath) {\r\n params.fail?.({ errMsg: 'saveImageToPhotosAlbum:fail parameter error: filePath is required', errCode: -1 })\r\n return Promise.reject({ errMsg: 'saveImageToPhotosAlbum:fail parameter error: filePath is required', errCode: -1 })\r\n }\r\n return invoke('saveMediaToPhotosAlbum', { type: 'image', file: params.filePath }, params)\r\n}\r\n\r\n/** 保存视频到系统相册 */\r\nexport function saveVideoToPhotosAlbum(params: SaveVideoToPhotosAlbumParams): Promise<void> {\r\n if (!params.filePath) {\r\n params.fail?.({ errMsg: 'saveVideoToPhotosAlbum:fail parameter error: filePath is required', errCode: -1 })\r\n return Promise.reject({ errMsg: 'saveVideoToPhotosAlbum:fail parameter error: filePath is required', errCode: -1 })\r\n }\r\n return invoke('saveMediaToPhotosAlbum', { type: 'video', file: params.filePath }, params)\r\n}\r\n\r\n/** 开始录音 */\r\nexport function startRecord(params?: StartRecordParams): Promise<void> {\r\n return invoke('startRecord', params || {}, params)\r\n}\r\n\r\n/** 停止录音 */\r\nexport function stopRecord(params?: Callbacks): Promise<void> {\r\n return invoke('stopRecord', {}, params)\r\n}\r\n\r\n// ==============================\r\n// 设备\r\n// ==============================\r\n\r\n/** 获取系统信息 */\r\nexport function getSystemInfo(params?: Callbacks<SystemInfoResult>): Promise<SystemInfoResult> {\r\n return invoke('getSystemInfo', {}, params)\r\n}\r\n\r\n/** 获取网络类型 */\r\nexport function getNetworkType(params?: Callbacks<NetworkTypeResult>): Promise<NetworkTypeResult> {\r\n return invoke('getNetworkType', {}, params)\r\n}\r\n\r\n/** 设置系统剪贴板的内容 */\r\nexport function setClipboardData(params: SetClipboardDataParams): Promise<void> {\r\n if (params.data === undefined) {\r\n params.fail?.({ errMsg: 'setClipboardData:fail parameter error: data is required', errCode: -1 })\r\n return Promise.reject({ errMsg: 'setClipboardData:fail parameter error: data is required', errCode: -1 })\r\n }\r\n return invoke('setClipboardData', { data: params.data }, params)\r\n}\r\n\r\n/** 获取系统剪贴板的内容 */\r\nexport function getClipboardData(params?: Callbacks<GetClipboardDataResult>): Promise<GetClipboardDataResult> {\r\n return invoke('getClipboardData', {}, params)\r\n}\r\n\r\n/** 短震动 */\r\nexport function vibrateShort(params: VibrateShortParams): Promise<void> {\r\n return invoke('vibrateShort', { type: params.type }, params)\r\n}\r\n\r\n/** 长震动 */\r\nexport function vibrateLong(params?: Callbacks): Promise<void> {\r\n return invoke('vibrateLong', {}, params)\r\n}\r\n\r\n/** 使用外部浏览器打开链接 */\r\nexport function openInExternalBrowser(params: OpenInExternalBrowserParams): Promise<void> {\r\n if (!params.url) {\r\n params.fail?.({ errMsg: 'openInExternalBrowser:fail parameter error: url is required', errCode: -1 })\r\n return Promise.reject({ errMsg: 'openInExternalBrowser:fail parameter error: url is required', errCode: -1 })\r\n }\r\n return invoke('openInExternalBrowser', { url: params.url }, params)\r\n}\r\n\r\n// ==============================\r\n// 导航跳转\r\n// ==============================\r\n\r\n/** 跳转到应用内的某个页面 (非 Tab 页面) */\r\nexport function navigateToApp(params: NavigateToAppParams): Promise<void> {\r\n if (!params.url) {\r\n params.fail?.({ errMsg: 'navigateToApp:fail parameter error: url is required', errCode: -1 })\r\n return Promise.reject({ errMsg: 'navigateToApp:fail parameter error: url is required', errCode: -1 })\r\n }\r\n return invoke('redirectPage', { page: 11, params: { url: params.url } }, params)\r\n}\r\n\r\n/** 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面 */\r\nexport function switchTab(params: SwitchTabParams): Promise<void> {\r\n if (!params.url) {\r\n params.fail?.({ errMsg: 'switchTab:fail parameter error: url is required', errCode: -1 })\r\n return Promise.reject({ errMsg: 'switchTab:fail parameter error: url is required', errCode: -1 })\r\n }\r\n return invoke('redirectPage', { page: 1, params: { url: params.url } }, params)\r\n}\r\n\r\n/** 打开 Webview 容器 */\r\nexport function openWebview(params: OpenWebviewParams): Promise<void> {\r\n if (!params.url) {\r\n params.fail?.({ errMsg: 'openWebview:fail parameter error: url is required', errCode: -1 })\r\n return Promise.reject({ errMsg: 'openWebview:fail parameter error: url is required', errCode: -1 })\r\n }\r\n\r\n if (params.replace) {\r\n window.location.replace(params.url)\r\n return Promise.resolve()\r\n }\r\n\r\n return invoke('openWebview', { link: params.url, type: params.type || 'normal' }, params)\r\n}\r\n\r\n/** 关闭当前网页视图 */\r\nexport function closeWebView(params?: Callbacks): Promise<void> {\r\n return invoke('closeWebView', {}, params)\r\n}\r\n\r\n/** 隐藏键盘 */\r\nexport function hideKeyboard(params?: Callbacks): Promise<void> {\r\n return invoke('hideKeyboard', {}, params)\r\n}\r\n\r\n// ==============================\r\n// 事件监听\r\n// ==============================\r\n\r\n/** 监听键盘高度变化 */\r\nexport function onKeyboardHeightChange(callback: (height: number) => void): void {\r\n bridge.on('keyboardHeightChange', (height: number) => {\r\n const DPR = window.devicePixelRatio || 1\r\n const logicHeight = height ? height / DPR : 0\r\n callback(logicHeight)\r\n })\r\n}\r\n\r\n/** 取消监听键盘高度变化 */\r\nexport function offKeyboardHeightChange(): void {\r\n bridge.off('keyboardHeightChange')\r\n}"],"names":["showToast","params","invoke","_a","hideToast","previewImage","previewVideo","chooseMedia","saveImageToPhotosAlbum","saveVideoToPhotosAlbum","startRecord","stopRecord","getSystemInfo","getNetworkType","setClipboardData","getClipboardData","vibrateShort","vibrateLong","openInExternalBrowser","navigateToApp","switchTab","openWebview","closeWebView","hideKeyboard","onKeyboardHeightChange","callback","bridge","height","DPR","logicHeight","offKeyboardHeightChange"],"mappings":"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"}
|
package/dist/basic.d.ts
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { setDebug } from './bridge';
|
|
2
|
+
import defaultBridge from './bridge';
|
|
3
|
+
declare const basic: {
|
|
4
|
+
setDebug: (enabled: boolean) => import("@docoi/jsbridge-sdk").JSBridgeInterface;
|
|
5
|
+
bridge: import("@docoi/jsbridge-sdk").JSBridgeInterface;
|
|
6
|
+
showToast(params: import("./types").ShowToastParams): Promise<void>;
|
|
7
|
+
hideToast(params?: import("./types").HideToastParams): Promise<void>;
|
|
8
|
+
previewImage(params: import("./types").PlayMediaParams): Promise<void>;
|
|
9
|
+
previewVideo(params: import("./types").PlayMediaParams): Promise<void>;
|
|
10
|
+
chooseMedia(params: import("./types").ChooseMediaParams): Promise<import("./types").ChooseMediaResult>;
|
|
11
|
+
saveImageToPhotosAlbum(params: import("./types").SaveImageToPhotosAlbumParams): Promise<void>;
|
|
12
|
+
saveVideoToPhotosAlbum(params: import("./types").SaveVideoToPhotosAlbumParams): Promise<void>;
|
|
13
|
+
startRecord(params?: import("./types").StartRecordParams): Promise<void>;
|
|
14
|
+
stopRecord(params?: import("./types").Callbacks): Promise<void>;
|
|
15
|
+
getSystemInfo(params?: import("./types").Callbacks<import("./types").SystemInfoResult>): Promise<import("./types").SystemInfoResult>;
|
|
16
|
+
getNetworkType(params?: import("./types").Callbacks<import("./types").NetworkTypeResult>): Promise<import("./types").NetworkTypeResult>;
|
|
17
|
+
setClipboardData(params: import("./types").SetClipboardDataParams): Promise<void>;
|
|
18
|
+
getClipboardData(params?: import("./types").Callbacks<import("./types").GetClipboardDataResult>): Promise<import("./types").GetClipboardDataResult>;
|
|
19
|
+
vibrateShort(params: import("./types").VibrateShortParams): Promise<void>;
|
|
20
|
+
vibrateLong(params?: import("./types").Callbacks): Promise<void>;
|
|
21
|
+
openInExternalBrowser(params: import("./types").OpenInExternalBrowserParams): Promise<void>;
|
|
22
|
+
navigateToApp(params: import("./types").NavigateToAppParams): Promise<void>;
|
|
23
|
+
switchTab(params: import("./types").SwitchTabParams): Promise<void>;
|
|
24
|
+
openWebview(params: import("./types").OpenWebviewParams): Promise<void>;
|
|
25
|
+
closeWebView(params?: import("./types").Callbacks): Promise<void>;
|
|
26
|
+
hideKeyboard(params?: import("./types").Callbacks): Promise<void>;
|
|
27
|
+
onKeyboardHeightChange(callback: (height: number) => void): void;
|
|
28
|
+
offKeyboardHeightChange(): void;
|
|
29
|
+
};
|
|
30
|
+
export default basic;
|
|
31
|
+
export * from './api/basic';
|
|
32
|
+
export { setDebug, defaultBridge as bridge };
|
package/dist/basic.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./basic-CSwC4kuv.cjs"),o=require("./bridge-B5p50L4Z.cjs"),t={...e.api,setDebug:o.setDebug,bridge:o.bridge};exports.chooseMedia=e.chooseMedia;exports.closeWebView=e.closeWebView;exports.getClipboardData=e.getClipboardData;exports.getNetworkType=e.getNetworkType;exports.getSystemInfo=e.getSystemInfo;exports.hideKeyboard=e.hideKeyboard;exports.hideToast=e.hideToast;exports.navigateToApp=e.navigateToApp;exports.offKeyboardHeightChange=e.offKeyboardHeightChange;exports.onKeyboardHeightChange=e.onKeyboardHeightChange;exports.openInExternalBrowser=e.openInExternalBrowser;exports.openWebview=e.openWebview;exports.previewImage=e.previewImage;exports.previewVideo=e.previewVideo;exports.saveImageToPhotosAlbum=e.saveImageToPhotosAlbum;exports.saveVideoToPhotosAlbum=e.saveVideoToPhotosAlbum;exports.setClipboardData=e.setClipboardData;exports.showToast=e.showToast;exports.startRecord=e.startRecord;exports.stopRecord=e.stopRecord;exports.switchTab=e.switchTab;exports.vibrateLong=e.vibrateLong;exports.vibrateShort=e.vibrateShort;exports.bridge=o.bridge;exports.setDebug=o.setDebug;exports.default=t;
|
|
2
|
+
//# sourceMappingURL=basic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"basic.js","sources":["../src/basic.ts"],"sourcesContent":["/**\n * mysJs-sdk v2.0.0 Basic 子模块入口\n * 按需引入:import basic from '@yangkangtan/mysJs-sdk/basic'\n */\nimport * as api from './api/basic'\nimport { setDebug } from './bridge'\nimport defaultBridge from './bridge'\n\nconst basic = {\n ...api,\n setDebug,\n bridge: defaultBridge,\n}\n\nexport default basic\n\nexport * from './api/basic'\nexport { setDebug, defaultBridge as bridge }"],"names":["basic","api","setDebug","defaultBridge"],"mappings":"uLAQMA,EAAQ,CACZ,GAAGC,EAAAA,IAAA,SACHC,EAAAA,SACA,OAAQC,EAAAA,MACV"}
|
package/dist/basic.mjs
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { a } from "./basic-C58euoyc.js";
|
|
2
|
+
import { c as d, b as p, g, d as h, e as n, h as m, f as v, n as w, o as c, i as f, j as l, k as T, p as u, l as y, s as x, m as C, q as I, r as A, t as D, u as K, v as V, w as k, x as H } from "./basic-C58euoyc.js";
|
|
3
|
+
import { b as e, s } from "./bridge-BsyNF-2c.js";
|
|
4
|
+
const r = {
|
|
5
|
+
...a,
|
|
6
|
+
setDebug: s,
|
|
7
|
+
bridge: e
|
|
8
|
+
};
|
|
9
|
+
export {
|
|
10
|
+
e as bridge,
|
|
11
|
+
d as chooseMedia,
|
|
12
|
+
p as closeWebView,
|
|
13
|
+
r as default,
|
|
14
|
+
g as getClipboardData,
|
|
15
|
+
h as getNetworkType,
|
|
16
|
+
n as getSystemInfo,
|
|
17
|
+
m as hideKeyboard,
|
|
18
|
+
v as hideToast,
|
|
19
|
+
w as navigateToApp,
|
|
20
|
+
c as offKeyboardHeightChange,
|
|
21
|
+
f as onKeyboardHeightChange,
|
|
22
|
+
l as openInExternalBrowser,
|
|
23
|
+
T as openWebview,
|
|
24
|
+
u as previewImage,
|
|
25
|
+
y as previewVideo,
|
|
26
|
+
x as saveImageToPhotosAlbum,
|
|
27
|
+
C as saveVideoToPhotosAlbum,
|
|
28
|
+
I as setClipboardData,
|
|
29
|
+
s as setDebug,
|
|
30
|
+
A as showToast,
|
|
31
|
+
D as startRecord,
|
|
32
|
+
K as stopRecord,
|
|
33
|
+
V as switchTab,
|
|
34
|
+
k as vibrateLong,
|
|
35
|
+
H as vibrateShort
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=basic.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"basic.mjs","sources":["../src/basic.ts"],"sourcesContent":["/**\n * mysJs-sdk v2.0.0 Basic 子模块入口\n * 按需引入:import basic from '@yangkangtan/mysJs-sdk/basic'\n */\nimport * as api from './api/basic'\nimport { setDebug } from './bridge'\nimport defaultBridge from './bridge'\n\nconst basic = {\n ...api,\n setDebug,\n bridge: defaultBridge,\n}\n\nexport default basic\n\nexport * from './api/basic'\nexport { setDebug, defaultBridge as bridge }"],"names":["basic","api","setDebug","defaultBridge"],"mappings":";;;AAQA,MAAMA,IAAQ;AAAA,EACZ,GAAGC;AAAA,EACH,UAAAC;AAAA,EACA,QAAQC;AACV;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const n=require("./bridge-B5p50L4Z.cjs");function o(e){return n.invoke("login",{},e)}function t(e){return n.invoke("getToken",{},e)}function i(e){return n.invoke("getCurrentCircleInfo",{},e)}function r(e){return n.invoke("shareWebCard",e,e)}function u(e){return n.invoke("pointsMallBindGame",e||{},e)}function d(e){return n.invoke("showAdVideo",e,e)}function c(e){return n.invoke("openAddCustomEmoji",e||{},e)}const l=Object.freeze(Object.defineProperty({__proto__:null,getCurrentCircleInfo:i,getToken:t,login:o,openAddCustomEmoji:c,shareWebCard:r,showAd:d,toBindGameRole:u},Symbol.toStringTag,{value:"Module"}));exports.api=l;exports.getCurrentCircleInfo=i;exports.getToken=t;exports.login=o;exports.openAddCustomEmoji=c;exports.shareWebCard=r;exports.showAd=d;exports.toBindGameRole=u;
|
|
2
|
+
//# sourceMappingURL=biz-BUeFEJQb.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"biz-BUeFEJQb.cjs","sources":["../src/api/biz.ts"],"sourcesContent":["/**\r\n * Biz API - 业务功能模块 v2.0.0\r\n */\r\nimport { invoke } from '../bridge'\r\nimport type {\r\n Callbacks,\r\n ShareWebCardParams,\r\n ShowAdParams,\r\n BindGameRoleParams,\r\n LoginResult,\r\n GetTokenResult,\r\n GetCircleInfoResult,\r\n} from '../types'\r\n\r\n// ==============================\r\n// 业务授权\r\n// ==============================\r\n\r\n/** 登录授权,获取用户信息 */\r\nexport function login(params?: Callbacks<LoginResult>): Promise<LoginResult> {\r\n return invoke('login', {}, params)\r\n}\r\n\r\n/** 获取当前用户的登录 Token */\r\nexport function getToken(params?: Callbacks<GetTokenResult>): Promise<GetTokenResult> {\r\n return invoke('getToken', {}, params)\r\n}\r\n\r\n/** 获取当前社群/圈子信息 */\r\nexport function getCurrentCircleInfo(\r\n params?: Callbacks<GetCircleInfoResult>,\r\n): Promise<GetCircleInfoResult> {\r\n return invoke('getCurrentCircleInfo', {}, params)\r\n}\r\n\r\n// ==============================\r\n// 分享\r\n// ==============================\r\n\r\n/** 分享网页卡片到社交平台 */\r\nexport function shareWebCard(params: ShareWebCardParams): Promise<void> {\r\n return invoke('shareWebCard', params, params)\r\n}\r\n\r\n// ==============================\r\n// 其他业务\r\n// ==============================\r\n\r\n/** 跳转绑定游戏角色页面 */\r\nexport function toBindGameRole(params?: BindGameRoleParams): Promise<void> {\r\n return invoke('pointsMallBindGame', params || {}, params)\r\n}\r\n\r\n/** 展示原生广告 */\r\nexport function showAd(params: ShowAdParams): Promise<void> {\r\n return invoke('showAdVideo', params, params)\r\n}\r\n\r\n/** 打开添加自定义表情页面 */\r\nexport function openAddCustomEmoji(params?: Callbacks): Promise<void> {\r\n return invoke('openAddCustomEmoji', params || {}, params)\r\n}"],"names":["login","params","invoke","getToken","getCurrentCircleInfo","shareWebCard","toBindGameRole","showAd","openAddCustomEmoji"],"mappings":"sDAmBO,SAASA,EAAMC,EAAuD,CAC3E,OAAOC,SAAO,QAAS,CAAA,EAAID,CAAM,CACnC,CAGO,SAASE,EAASF,EAA6D,CACpF,OAAOC,SAAO,WAAY,CAAA,EAAID,CAAM,CACtC,CAGO,SAASG,EACdH,EAC8B,CAC9B,OAAOC,SAAO,uBAAwB,CAAA,EAAID,CAAM,CAClD,CAOO,SAASI,EAAaJ,EAA2C,CACtE,OAAOC,SAAO,eAAgBD,EAAQA,CAAM,CAC9C,CAOO,SAASK,EAAeL,EAA4C,CACzE,OAAOC,EAAAA,OAAO,qBAAsBD,GAAU,CAAA,EAAIA,CAAM,CAC1D,CAGO,SAASM,EAAON,EAAqC,CAC1D,OAAOC,SAAO,cAAeD,EAAQA,CAAM,CAC7C,CAGO,SAASO,EAAmBP,EAAmC,CACpE,OAAOC,EAAAA,OAAO,qBAAsBD,GAAU,CAAA,EAAIA,CAAM,CAC1D"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { i as n } from "./bridge-BsyNF-2c.js";
|
|
2
|
+
function o(e) {
|
|
3
|
+
return n("login", {}, e);
|
|
4
|
+
}
|
|
5
|
+
function t(e) {
|
|
6
|
+
return n("getToken", {}, e);
|
|
7
|
+
}
|
|
8
|
+
function r(e) {
|
|
9
|
+
return n("getCurrentCircleInfo", {}, e);
|
|
10
|
+
}
|
|
11
|
+
function i(e) {
|
|
12
|
+
return n("shareWebCard", e, e);
|
|
13
|
+
}
|
|
14
|
+
function u(e) {
|
|
15
|
+
return n("pointsMallBindGame", e || {}, e);
|
|
16
|
+
}
|
|
17
|
+
function s(e) {
|
|
18
|
+
return n("showAdVideo", e, e);
|
|
19
|
+
}
|
|
20
|
+
function c(e) {
|
|
21
|
+
return n("openAddCustomEmoji", e || {}, e);
|
|
22
|
+
}
|
|
23
|
+
const l = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
24
|
+
__proto__: null,
|
|
25
|
+
getCurrentCircleInfo: r,
|
|
26
|
+
getToken: t,
|
|
27
|
+
login: o,
|
|
28
|
+
openAddCustomEmoji: c,
|
|
29
|
+
shareWebCard: i,
|
|
30
|
+
showAd: s,
|
|
31
|
+
toBindGameRole: u
|
|
32
|
+
}, Symbol.toStringTag, { value: "Module" }));
|
|
33
|
+
export {
|
|
34
|
+
l as a,
|
|
35
|
+
t as b,
|
|
36
|
+
s as c,
|
|
37
|
+
r as g,
|
|
38
|
+
o as l,
|
|
39
|
+
c as o,
|
|
40
|
+
i as s,
|
|
41
|
+
u as t
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=biz-BbTdssY5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"biz-BbTdssY5.js","sources":["../src/api/biz.ts"],"sourcesContent":["/**\r\n * Biz API - 业务功能模块 v2.0.0\r\n */\r\nimport { invoke } from '../bridge'\r\nimport type {\r\n Callbacks,\r\n ShareWebCardParams,\r\n ShowAdParams,\r\n BindGameRoleParams,\r\n LoginResult,\r\n GetTokenResult,\r\n GetCircleInfoResult,\r\n} from '../types'\r\n\r\n// ==============================\r\n// 业务授权\r\n// ==============================\r\n\r\n/** 登录授权,获取用户信息 */\r\nexport function login(params?: Callbacks<LoginResult>): Promise<LoginResult> {\r\n return invoke('login', {}, params)\r\n}\r\n\r\n/** 获取当前用户的登录 Token */\r\nexport function getToken(params?: Callbacks<GetTokenResult>): Promise<GetTokenResult> {\r\n return invoke('getToken', {}, params)\r\n}\r\n\r\n/** 获取当前社群/圈子信息 */\r\nexport function getCurrentCircleInfo(\r\n params?: Callbacks<GetCircleInfoResult>,\r\n): Promise<GetCircleInfoResult> {\r\n return invoke('getCurrentCircleInfo', {}, params)\r\n}\r\n\r\n// ==============================\r\n// 分享\r\n// ==============================\r\n\r\n/** 分享网页卡片到社交平台 */\r\nexport function shareWebCard(params: ShareWebCardParams): Promise<void> {\r\n return invoke('shareWebCard', params, params)\r\n}\r\n\r\n// ==============================\r\n// 其他业务\r\n// ==============================\r\n\r\n/** 跳转绑定游戏角色页面 */\r\nexport function toBindGameRole(params?: BindGameRoleParams): Promise<void> {\r\n return invoke('pointsMallBindGame', params || {}, params)\r\n}\r\n\r\n/** 展示原生广告 */\r\nexport function showAd(params: ShowAdParams): Promise<void> {\r\n return invoke('showAdVideo', params, params)\r\n}\r\n\r\n/** 打开添加自定义表情页面 */\r\nexport function openAddCustomEmoji(params?: Callbacks): Promise<void> {\r\n return invoke('openAddCustomEmoji', params || {}, params)\r\n}"],"names":["login","params","invoke","getToken","getCurrentCircleInfo","shareWebCard","toBindGameRole","showAd","openAddCustomEmoji"],"mappings":";AAmBO,SAASA,EAAMC,GAAuD;AAC3E,SAAOC,EAAO,SAAS,CAAA,GAAID,CAAM;AACnC;AAGO,SAASE,EAASF,GAA6D;AACpF,SAAOC,EAAO,YAAY,CAAA,GAAID,CAAM;AACtC;AAGO,SAASG,EACdH,GAC8B;AAC9B,SAAOC,EAAO,wBAAwB,CAAA,GAAID,CAAM;AAClD;AAOO,SAASI,EAAaJ,GAA2C;AACtE,SAAOC,EAAO,gBAAgBD,GAAQA,CAAM;AAC9C;AAOO,SAASK,EAAeL,GAA4C;AACzE,SAAOC,EAAO,sBAAsBD,KAAU,CAAA,GAAIA,CAAM;AAC1D;AAGO,SAASM,EAAON,GAAqC;AAC1D,SAAOC,EAAO,eAAeD,GAAQA,CAAM;AAC7C;AAGO,SAASO,EAAmBP,GAAmC;AACpE,SAAOC,EAAO,sBAAsBD,KAAU,CAAA,GAAIA,CAAM;AAC1D;;;;;;;;;;;"}
|
package/dist/biz.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { setDebug } from './bridge';
|
|
2
|
+
import defaultBridge from './bridge';
|
|
3
|
+
declare const biz: {
|
|
4
|
+
setDebug: (enabled: boolean) => import("@docoi/jsbridge-sdk").JSBridgeInterface;
|
|
5
|
+
bridge: import("@docoi/jsbridge-sdk").JSBridgeInterface;
|
|
6
|
+
login(params?: import("./types").Callbacks<import("./types").LoginResult>): Promise<import("./types").LoginResult>;
|
|
7
|
+
getToken(params?: import("./types").Callbacks<import("./types").GetTokenResult>): Promise<import("./types").GetTokenResult>;
|
|
8
|
+
getCurrentCircleInfo(params?: import("./types").Callbacks<import("./types").GetCircleInfoResult>): Promise<import("./types").GetCircleInfoResult>;
|
|
9
|
+
shareWebCard(params: import("./types").ShareWebCardParams): Promise<void>;
|
|
10
|
+
toBindGameRole(params?: import("./types").BindGameRoleParams): Promise<void>;
|
|
11
|
+
showAd(params: import("./types").ShowAdParams): Promise<void>;
|
|
12
|
+
openAddCustomEmoji(params?: import("./types").Callbacks): Promise<void>;
|
|
13
|
+
};
|
|
14
|
+
export default biz;
|
|
15
|
+
export * from './api/biz';
|
|
16
|
+
export { setDebug, defaultBridge as bridge };
|
package/dist/biz.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./biz-BUeFEJQb.cjs"),o=require("./bridge-B5p50L4Z.cjs"),t={...e.api,setDebug:o.setDebug,bridge:o.bridge};exports.getCurrentCircleInfo=e.getCurrentCircleInfo;exports.getToken=e.getToken;exports.login=e.login;exports.openAddCustomEmoji=e.openAddCustomEmoji;exports.shareWebCard=e.shareWebCard;exports.showAd=e.showAd;exports.toBindGameRole=e.toBindGameRole;exports.bridge=o.bridge;exports.setDebug=o.setDebug;exports.default=t;
|
|
2
|
+
//# sourceMappingURL=biz.js.map
|
package/dist/biz.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"biz.js","sources":["../src/biz.ts"],"sourcesContent":["/**\n * mysJs-sdk v2.0.0 Biz 子模块入口\n * 按需引入:import biz from '@yangkangtan/mysJs-sdk/biz'\n */\nimport * as api from './api/biz'\nimport { setDebug } from './bridge'\nimport defaultBridge from './bridge'\n\nconst biz = {\n ...api,\n setDebug,\n bridge: defaultBridge,\n}\n\nexport default biz\n\nexport * from './api/biz'\nexport { setDebug, defaultBridge as bridge }"],"names":["biz","api","setDebug","defaultBridge"],"mappings":"qLAQMA,EAAM,CACV,GAAGC,EAAAA,IAAA,SACHC,EAAAA,SACA,OAAQC,EAAAA,MACV"}
|
package/dist/biz.mjs
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { a as o } from "./biz-BbTdssY5.js";
|
|
2
|
+
import { g as m, b, l as g, o as n, s as p, c as f, t as l } from "./biz-BbTdssY5.js";
|
|
3
|
+
import { b as s, s as a } from "./bridge-BsyNF-2c.js";
|
|
4
|
+
const t = {
|
|
5
|
+
...o,
|
|
6
|
+
setDebug: a,
|
|
7
|
+
bridge: s
|
|
8
|
+
};
|
|
9
|
+
export {
|
|
10
|
+
s as bridge,
|
|
11
|
+
t as default,
|
|
12
|
+
m as getCurrentCircleInfo,
|
|
13
|
+
b as getToken,
|
|
14
|
+
g as login,
|
|
15
|
+
n as openAddCustomEmoji,
|
|
16
|
+
a as setDebug,
|
|
17
|
+
p as shareWebCard,
|
|
18
|
+
f as showAd,
|
|
19
|
+
l as toBindGameRole
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=biz.mjs.map
|
package/dist/biz.mjs.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"biz.mjs","sources":["../src/biz.ts"],"sourcesContent":["/**\n * mysJs-sdk v2.0.0 Biz 子模块入口\n * 按需引入:import biz from '@yangkangtan/mysJs-sdk/biz'\n */\nimport * as api from './api/biz'\nimport { setDebug } from './bridge'\nimport defaultBridge from './bridge'\n\nconst biz = {\n ...api,\n setDebug,\n bridge: defaultBridge,\n}\n\nexport default biz\n\nexport * from './api/biz'\nexport { setDebug, defaultBridge as bridge }"],"names":["biz","api","setDebug","defaultBridge"],"mappings":";;;AAQA,MAAMA,IAAM;AAAA,EACV,GAAGC;AAAA,EACH,UAAAC;AAAA,EACA,QAAQC;AACV;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const b=require("@docoi/jsbridge-sdk"),g=b.init({debug:!1,timeout:1e4}),h=o=>g.setDebug(o);function k(o){const i={};for(const n of Object.keys(o))n!=="success"&&n!=="fail"&&n!=="complete"&&(i[n]=o[n]);return i}function y(o,i={},n,d){const a=String(o),{success:u,fail:f,complete:c}=n||{},e=t=>{if(typeof t=="string")try{t=JSON.parse(t)}catch{}if((t==null?void 0:t.code)===0){const s=t.result??t;return u==null||u(s),c==null||c(s),s}throw t},l=t=>{const s=t!=null&&t.errMsg?t:{errMsg:`${a}:fail ${(t==null?void 0:t.msg)||(t==null?void 0:t.message)||"fail"}`,errCode:(t==null?void 0:t.code)??-1,...typeof(t==null?void 0:t.result)=="object"?t.result:{}};throw f==null||f(s),c==null||c(s),t};return g.invokeAsync(a,k(i),d).then(e).catch(l)}exports.bridge=g;exports.invoke=y;exports.setDebug=h;
|
|
2
|
+
//# sourceMappingURL=bridge-B5p50L4Z.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridge-B5p50L4Z.cjs","sources":["../src/bridge.ts"],"sourcesContent":["/**\r\n * mysJs-sdk v2.0.0 Bridge 层\r\n * 封装 JSBridgeSdk invoke/invokeAsync,提供 callbacks 风格兼容\r\n */\r\nimport JSBridgeSdk from '@docoi/jsbridge-sdk'\r\nimport type { JSBridgeInterface, InvokeOptions } from '@docoi/jsbridge-sdk'\r\nimport type { ApiError, Callbacks } from './types'\r\n\r\n// ==============================\r\n// 初始化\r\n// ==============================\r\n\r\nconst bridge: JSBridgeInterface = JSBridgeSdk.init({\r\n debug: false,\r\n timeout: 10000,\r\n})\r\n\r\n/** 设置调试模式 */\r\nexport const setDebug = (enabled: boolean) => bridge.setDebug(enabled)\r\n\r\n/** 获取原始 bridge 实例 */\r\nexport default bridge\r\n\r\n// ==============================\r\n// 工具函数\r\n// ==============================\r\n\r\n/** 参数校验快速失败 */\r\nexport function rejectParamError(\r\n fnName: string,\r\n msg: string,\r\n options?: Callbacks,\r\n): Promise<never> {\r\n const error: ApiError = {\r\n errMsg: `${fnName}:fail parameter error: ${msg}`,\r\n errCode: -1,\r\n }\r\n options?.fail?.(error)\r\n options?.complete?.(error)\r\n return Promise.reject(error)\r\n}\r\n\r\n// ==============================\r\n// 过滤 data 中的回调函数字段\r\n// ==============================\r\n\r\n/** 清理 data,去除 success/fail/complete 等回调字段,避免传入原生 */\r\nfunction cleanData(data: Record<string, any>): Record<string, any> {\r\n const filtered: Record<string, any> = {}\r\n for (const key of Object.keys(data)) {\r\n if (key !== 'success' && key !== 'fail' && key !== 'complete') {\r\n filtered[key] = data[key]\r\n }\r\n }\r\n return filtered\r\n}\r\n\r\n/**\r\n * 通用执行器\r\n * - 调用 bridge.invokeAsync (Promise 风格) 实现\r\n * - 兼容 callbacks (success/fail/complete) 模式\r\n * - 原生返回 code === 0 视为成功\r\n */\r\nexport function invoke<T = any>(\r\n fnName: string,\r\n data: Record<string, any> = {},\r\n options?: Callbacks<T>,\r\n invokeOptions?: InvokeOptions,\r\n): Promise<T> {\r\n const name = String(fnName)\r\n const { success, fail, complete } = options || {}\r\n\r\n const handleSuccess = (res: any): T => {\r\n // 字符串 JSON 解析\r\n if (typeof res === 'string') {\r\n try {\r\n res = JSON.parse(res)\r\n } catch {\r\n /* keep raw */\r\n }\r\n }\r\n\r\n // code === 0 视为成功\r\n if (res?.code === 0) {\r\n const result: T = res.result ?? res\r\n success?.(result as any)\r\n complete?.(result as any)\r\n return result\r\n }\r\n\r\n // 非 0 视为失败\r\n throw res\r\n }\r\n\r\n const handleError = (err: any): never => {\r\n const error: ApiError = err?.errMsg\r\n ? err\r\n : {\r\n errMsg: `${name}:fail ${err?.msg || err?.message || 'fail'}`,\r\n errCode: err?.code ?? -1,\r\n ...(typeof err?.result === 'object' ? err.result : {}),\r\n }\r\n fail?.(error)\r\n complete?.(error)\r\n // 直接抛出原始错误,不重新包装\r\n throw err\r\n }\r\n\r\n return bridge\r\n .invokeAsync(name, cleanData(data), invokeOptions)\r\n .then(handleSuccess)\r\n .catch(handleError)\r\n}"],"names":["bridge","JSBridgeSdk","setDebug","enabled","cleanData","data","filtered","key","invoke","fnName","options","invokeOptions","name","success","fail","complete","handleSuccess","res","result","handleError","err","error"],"mappings":"oDAYMA,EAA4BC,EAAY,KAAK,CACjD,MAAO,GACP,QAAS,GACX,CAAC,EAGYC,EAAYC,GAAqBH,EAAO,SAASG,CAAO,EA6BrE,SAASC,EAAUC,EAAgD,CACjE,MAAMC,EAAgC,CAAA,EACtC,UAAWC,KAAO,OAAO,KAAKF,CAAI,EAC5BE,IAAQ,WAAaA,IAAQ,QAAUA,IAAQ,aACjDD,EAASC,CAAG,EAAIF,EAAKE,CAAG,GAG5B,OAAOD,CACT,CAQO,SAASE,EACdC,EACAJ,EAA4B,CAAA,EAC5BK,EACAC,EACY,CACZ,MAAMC,EAAO,OAAOH,CAAM,EACpB,CAAE,QAAAI,EAAS,KAAAC,EAAM,SAAAC,CAAA,EAAaL,GAAW,CAAA,EAEzCM,EAAiBC,GAAgB,CAErC,GAAI,OAAOA,GAAQ,SACjB,GAAI,CACFA,EAAM,KAAK,MAAMA,CAAG,CACtB,MAAQ,CAER,CAIF,IAAIA,GAAA,YAAAA,EAAK,QAAS,EAAG,CACnB,MAAMC,EAAYD,EAAI,QAAUA,EAChC,OAAAJ,GAAA,MAAAA,EAAUK,GACVH,GAAA,MAAAA,EAAWG,GACJA,CACT,CAGA,MAAMD,CACR,EAEME,EAAeC,GAAoB,CACvC,MAAMC,EAAkBD,GAAA,MAAAA,EAAK,OACzBA,EACA,CACE,OAAQ,GAAGR,CAAI,UAASQ,GAAA,YAAAA,EAAK,OAAOA,GAAA,YAAAA,EAAK,UAAW,MAAM,GAC1D,SAASA,GAAA,YAAAA,EAAK,OAAQ,GACtB,GAAI,OAAOA,GAAA,YAAAA,EAAK,SAAW,SAAWA,EAAI,OAAS,CAAA,CAAC,EAE1D,MAAAN,GAAA,MAAAA,EAAOO,GACPN,GAAA,MAAAA,EAAWM,GAELD,CACR,EAEA,OAAOpB,EACJ,YAAYY,EAAMR,EAAUC,CAAI,EAAGM,CAAa,EAChD,KAAKK,CAAa,EAClB,MAAMG,CAAW,CACtB"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import h from "@docoi/jsbridge-sdk";
|
|
2
|
+
const g = h.init({
|
|
3
|
+
debug: !1,
|
|
4
|
+
timeout: 1e4
|
|
5
|
+
}), S = (o) => g.setDebug(o);
|
|
6
|
+
function y(o) {
|
|
7
|
+
const i = {};
|
|
8
|
+
for (const n of Object.keys(o))
|
|
9
|
+
n !== "success" && n !== "fail" && n !== "complete" && (i[n] = o[n]);
|
|
10
|
+
return i;
|
|
11
|
+
}
|
|
12
|
+
function m(o, i = {}, n, d) {
|
|
13
|
+
const u = String(o), { success: a, fail: f, complete: c } = n || {}, l = (t) => {
|
|
14
|
+
if (typeof t == "string")
|
|
15
|
+
try {
|
|
16
|
+
t = JSON.parse(t);
|
|
17
|
+
} catch {
|
|
18
|
+
}
|
|
19
|
+
if ((t == null ? void 0 : t.code) === 0) {
|
|
20
|
+
const s = t.result ?? t;
|
|
21
|
+
return a == null || a(s), c == null || c(s), s;
|
|
22
|
+
}
|
|
23
|
+
throw t;
|
|
24
|
+
}, b = (t) => {
|
|
25
|
+
const s = t != null && t.errMsg ? t : {
|
|
26
|
+
errMsg: `${u}:fail ${(t == null ? void 0 : t.msg) || (t == null ? void 0 : t.message) || "fail"}`,
|
|
27
|
+
errCode: (t == null ? void 0 : t.code) ?? -1,
|
|
28
|
+
...typeof (t == null ? void 0 : t.result) == "object" ? t.result : {}
|
|
29
|
+
};
|
|
30
|
+
throw f == null || f(s), c == null || c(s), t;
|
|
31
|
+
};
|
|
32
|
+
return g.invokeAsync(u, y(i), d).then(l).catch(b);
|
|
33
|
+
}
|
|
34
|
+
export {
|
|
35
|
+
g as b,
|
|
36
|
+
m as i,
|
|
37
|
+
S as s
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=bridge-BsyNF-2c.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridge-BsyNF-2c.js","sources":["../src/bridge.ts"],"sourcesContent":["/**\r\n * mysJs-sdk v2.0.0 Bridge 层\r\n * 封装 JSBridgeSdk invoke/invokeAsync,提供 callbacks 风格兼容\r\n */\r\nimport JSBridgeSdk from '@docoi/jsbridge-sdk'\r\nimport type { JSBridgeInterface, InvokeOptions } from '@docoi/jsbridge-sdk'\r\nimport type { ApiError, Callbacks } from './types'\r\n\r\n// ==============================\r\n// 初始化\r\n// ==============================\r\n\r\nconst bridge: JSBridgeInterface = JSBridgeSdk.init({\r\n debug: false,\r\n timeout: 10000,\r\n})\r\n\r\n/** 设置调试模式 */\r\nexport const setDebug = (enabled: boolean) => bridge.setDebug(enabled)\r\n\r\n/** 获取原始 bridge 实例 */\r\nexport default bridge\r\n\r\n// ==============================\r\n// 工具函数\r\n// ==============================\r\n\r\n/** 参数校验快速失败 */\r\nexport function rejectParamError(\r\n fnName: string,\r\n msg: string,\r\n options?: Callbacks,\r\n): Promise<never> {\r\n const error: ApiError = {\r\n errMsg: `${fnName}:fail parameter error: ${msg}`,\r\n errCode: -1,\r\n }\r\n options?.fail?.(error)\r\n options?.complete?.(error)\r\n return Promise.reject(error)\r\n}\r\n\r\n// ==============================\r\n// 过滤 data 中的回调函数字段\r\n// ==============================\r\n\r\n/** 清理 data,去除 success/fail/complete 等回调字段,避免传入原生 */\r\nfunction cleanData(data: Record<string, any>): Record<string, any> {\r\n const filtered: Record<string, any> = {}\r\n for (const key of Object.keys(data)) {\r\n if (key !== 'success' && key !== 'fail' && key !== 'complete') {\r\n filtered[key] = data[key]\r\n }\r\n }\r\n return filtered\r\n}\r\n\r\n/**\r\n * 通用执行器\r\n * - 调用 bridge.invokeAsync (Promise 风格) 实现\r\n * - 兼容 callbacks (success/fail/complete) 模式\r\n * - 原生返回 code === 0 视为成功\r\n */\r\nexport function invoke<T = any>(\r\n fnName: string,\r\n data: Record<string, any> = {},\r\n options?: Callbacks<T>,\r\n invokeOptions?: InvokeOptions,\r\n): Promise<T> {\r\n const name = String(fnName)\r\n const { success, fail, complete } = options || {}\r\n\r\n const handleSuccess = (res: any): T => {\r\n // 字符串 JSON 解析\r\n if (typeof res === 'string') {\r\n try {\r\n res = JSON.parse(res)\r\n } catch {\r\n /* keep raw */\r\n }\r\n }\r\n\r\n // code === 0 视为成功\r\n if (res?.code === 0) {\r\n const result: T = res.result ?? res\r\n success?.(result as any)\r\n complete?.(result as any)\r\n return result\r\n }\r\n\r\n // 非 0 视为失败\r\n throw res\r\n }\r\n\r\n const handleError = (err: any): never => {\r\n const error: ApiError = err?.errMsg\r\n ? err\r\n : {\r\n errMsg: `${name}:fail ${err?.msg || err?.message || 'fail'}`,\r\n errCode: err?.code ?? -1,\r\n ...(typeof err?.result === 'object' ? err.result : {}),\r\n }\r\n fail?.(error)\r\n complete?.(error)\r\n // 直接抛出原始错误,不重新包装\r\n throw err\r\n }\r\n\r\n return bridge\r\n .invokeAsync(name, cleanData(data), invokeOptions)\r\n .then(handleSuccess)\r\n .catch(handleError)\r\n}"],"names":["bridge","JSBridgeSdk","setDebug","enabled","cleanData","data","filtered","key","invoke","fnName","options","invokeOptions","name","success","fail","complete","handleSuccess","res","result","handleError","err","error"],"mappings":";AAYA,MAAMA,IAA4BC,EAAY,KAAK;AAAA,EACjD,OAAO;AAAA,EACP,SAAS;AACX,CAAC,GAGYC,IAAW,CAACC,MAAqBH,EAAO,SAASG,CAAO;AA6BrE,SAASC,EAAUC,GAAgD;AACjE,QAAMC,IAAgC,CAAA;AACtC,aAAWC,KAAO,OAAO,KAAKF,CAAI;AAChC,IAAIE,MAAQ,aAAaA,MAAQ,UAAUA,MAAQ,eACjDD,EAASC,CAAG,IAAIF,EAAKE,CAAG;AAG5B,SAAOD;AACT;AAQO,SAASE,EACdC,GACAJ,IAA4B,CAAA,GAC5BK,GACAC,GACY;AACZ,QAAMC,IAAO,OAAOH,CAAM,GACpB,EAAE,SAAAI,GAAS,MAAAC,GAAM,UAAAC,EAAA,IAAaL,KAAW,CAAA,GAEzCM,IAAgB,CAACC,MAAgB;AAErC,QAAI,OAAOA,KAAQ;AACjB,UAAI;AACF,QAAAA,IAAM,KAAK,MAAMA,CAAG;AAAA,MACtB,QAAQ;AAAA,MAER;AAIF,SAAIA,KAAA,gBAAAA,EAAK,UAAS,GAAG;AACnB,YAAMC,IAAYD,EAAI,UAAUA;AAChC,aAAAJ,KAAA,QAAAA,EAAUK,IACVH,KAAA,QAAAA,EAAWG,IACJA;AAAA,IACT;AAGA,UAAMD;AAAA,EACR,GAEME,IAAc,CAACC,MAAoB;AACvC,UAAMC,IAAkBD,KAAA,QAAAA,EAAK,SACzBA,IACA;AAAA,MACE,QAAQ,GAAGR,CAAI,UAASQ,KAAA,gBAAAA,EAAK,SAAOA,KAAA,gBAAAA,EAAK,YAAW,MAAM;AAAA,MAC1D,UAASA,KAAA,gBAAAA,EAAK,SAAQ;AAAA,MACtB,GAAI,QAAOA,KAAA,gBAAAA,EAAK,WAAW,WAAWA,EAAI,SAAS,CAAA;AAAA,IAAC;AAE1D,UAAAN,KAAA,QAAAA,EAAOO,IACPN,KAAA,QAAAA,EAAWM,IAELD;AAAA,EACR;AAEA,SAAOpB,EACJ,YAAYY,GAAMR,EAAUC,CAAI,GAAGM,CAAa,EAChD,KAAKK,CAAa,EAClB,MAAMG,CAAW;AACtB;"}
|
package/dist/bridge.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { JSBridgeInterface, InvokeOptions } from '@docoi/jsbridge-sdk';
|
|
2
|
+
import type { Callbacks } from './types';
|
|
3
|
+
declare const bridge: JSBridgeInterface;
|
|
4
|
+
/** 设置调试模式 */
|
|
5
|
+
export declare const setDebug: (enabled: boolean) => JSBridgeInterface;
|
|
6
|
+
/** 获取原始 bridge 实例 */
|
|
7
|
+
export default bridge;
|
|
8
|
+
/** 参数校验快速失败 */
|
|
9
|
+
export declare function rejectParamError(fnName: string, msg: string, options?: Callbacks): Promise<never>;
|
|
10
|
+
/**
|
|
11
|
+
* 通用执行器
|
|
12
|
+
* - 调用 bridge.invokeAsync (Promise 风格) 实现
|
|
13
|
+
* - 兼容 callbacks (success/fail/complete) 模式
|
|
14
|
+
* - 原生返回 code === 0 视为成功
|
|
15
|
+
*/
|
|
16
|
+
export declare function invoke<T = any>(fnName: string, data?: Record<string, any>, options?: Callbacks<T>, invokeOptions?: InvokeOptions): Promise<T>;
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { setDebug } from './bridge';
|
|
2
|
+
import defaultBridge from './bridge';
|
|
3
|
+
import JSBridgeSdk from '@docoi/jsbridge-sdk';
|
|
4
|
+
declare const mys: {
|
|
5
|
+
setDebug: (enabled: boolean) => import("@docoi/jsbridge-sdk").JSBridgeInterface;
|
|
6
|
+
bridge: import("@docoi/jsbridge-sdk").JSBridgeInterface;
|
|
7
|
+
JSBridgeSdk: import("@docoi/jsbridge-sdk").JSBridgeInterface;
|
|
8
|
+
login(params?: import("./types").Callbacks<import("./types").LoginResult>): Promise<import("./types").LoginResult>;
|
|
9
|
+
getToken(params?: import("./types").Callbacks<import("./types").GetTokenResult>): Promise<import("./types").GetTokenResult>;
|
|
10
|
+
getCurrentCircleInfo(params?: import("./types").Callbacks<import("./types").GetCircleInfoResult>): Promise<import("./types").GetCircleInfoResult>;
|
|
11
|
+
shareWebCard(params: import("./types").ShareWebCardParams): Promise<void>;
|
|
12
|
+
toBindGameRole(params?: import("./types").BindGameRoleParams): Promise<void>;
|
|
13
|
+
showAd(params: import("./types").ShowAdParams): Promise<void>;
|
|
14
|
+
openAddCustomEmoji(params?: import("./types").Callbacks): Promise<void>;
|
|
15
|
+
showToast(params: import("./types").ShowToastParams): Promise<void>;
|
|
16
|
+
hideToast(params?: import("./types").HideToastParams): Promise<void>;
|
|
17
|
+
previewImage(params: import("./types").PlayMediaParams): Promise<void>;
|
|
18
|
+
previewVideo(params: import("./types").PlayMediaParams): Promise<void>;
|
|
19
|
+
chooseMedia(params: import("./types").ChooseMediaParams): Promise<import("./types").ChooseMediaResult>;
|
|
20
|
+
saveImageToPhotosAlbum(params: import("./types").SaveImageToPhotosAlbumParams): Promise<void>;
|
|
21
|
+
saveVideoToPhotosAlbum(params: import("./types").SaveVideoToPhotosAlbumParams): Promise<void>;
|
|
22
|
+
startRecord(params?: import("./types").StartRecordParams): Promise<void>;
|
|
23
|
+
stopRecord(params?: import("./types").Callbacks): Promise<void>;
|
|
24
|
+
getSystemInfo(params?: import("./types").Callbacks<import("./types").SystemInfoResult>): Promise<import("./types").SystemInfoResult>;
|
|
25
|
+
getNetworkType(params?: import("./types").Callbacks<import("./types").NetworkTypeResult>): Promise<import("./types").NetworkTypeResult>;
|
|
26
|
+
setClipboardData(params: import("./types").SetClipboardDataParams): Promise<void>;
|
|
27
|
+
getClipboardData(params?: import("./types").Callbacks<import("./types").GetClipboardDataResult>): Promise<import("./types").GetClipboardDataResult>;
|
|
28
|
+
vibrateShort(params: import("./types").VibrateShortParams): Promise<void>;
|
|
29
|
+
vibrateLong(params?: import("./types").Callbacks): Promise<void>;
|
|
30
|
+
openInExternalBrowser(params: import("./types").OpenInExternalBrowserParams): Promise<void>;
|
|
31
|
+
navigateToApp(params: import("./types").NavigateToAppParams): Promise<void>;
|
|
32
|
+
switchTab(params: import("./types").SwitchTabParams): Promise<void>;
|
|
33
|
+
openWebview(params: import("./types").OpenWebviewParams): Promise<void>;
|
|
34
|
+
closeWebView(params?: import("./types").Callbacks): Promise<void>;
|
|
35
|
+
hideKeyboard(params?: import("./types").Callbacks): Promise<void>;
|
|
36
|
+
onKeyboardHeightChange(callback: (height: number) => void): void;
|
|
37
|
+
offKeyboardHeightChange(): void;
|
|
38
|
+
};
|
|
39
|
+
export default mys;
|
|
40
|
+
export * from './api/basic';
|
|
41
|
+
export * from './api/biz';
|
|
42
|
+
export { setDebug, defaultBridge as bridge };
|
|
43
|
+
export { JSBridgeSdk };
|
|
44
|
+
export type { NativeResponse, ApiError, Callbacks } from './types';
|
|
45
|
+
export type { ShowToastParams, HideToastParams, PlayMediaParams, ChooseMediaParams, ChooseMediaResult, SaveImageToPhotosAlbumParams, SaveVideoToPhotosAlbumParams, StartRecordParams, SetClipboardDataParams, GetClipboardDataResult, OpenInExternalBrowserParams, NavigateToAppParams, SwitchTabParams, OpenWebviewParams, VibrateShortParams, SystemInfoResult, NetworkTypeResult, } from './types';
|
|
46
|
+
export type { ShareWebCardParams, ShowAdParams, BindGameRoleParams, LoginResult, GetTokenResult, GetCircleInfoResult, } from './types';
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./basic-CSwC4kuv.cjs"),o=require("./biz-BUeFEJQb.cjs"),t=require("./bridge-B5p50L4Z.cjs"),r=require("@docoi/jsbridge-sdk"),a={...e.api,...o.api,setDebug:t.setDebug,bridge:t.bridge,JSBridgeSdk:r};exports.chooseMedia=e.chooseMedia;exports.closeWebView=e.closeWebView;exports.getClipboardData=e.getClipboardData;exports.getNetworkType=e.getNetworkType;exports.getSystemInfo=e.getSystemInfo;exports.hideKeyboard=e.hideKeyboard;exports.hideToast=e.hideToast;exports.navigateToApp=e.navigateToApp;exports.offKeyboardHeightChange=e.offKeyboardHeightChange;exports.onKeyboardHeightChange=e.onKeyboardHeightChange;exports.openInExternalBrowser=e.openInExternalBrowser;exports.openWebview=e.openWebview;exports.previewImage=e.previewImage;exports.previewVideo=e.previewVideo;exports.saveImageToPhotosAlbum=e.saveImageToPhotosAlbum;exports.saveVideoToPhotosAlbum=e.saveVideoToPhotosAlbum;exports.setClipboardData=e.setClipboardData;exports.showToast=e.showToast;exports.startRecord=e.startRecord;exports.stopRecord=e.stopRecord;exports.switchTab=e.switchTab;exports.vibrateLong=e.vibrateLong;exports.vibrateShort=e.vibrateShort;exports.getCurrentCircleInfo=o.getCurrentCircleInfo;exports.getToken=o.getToken;exports.login=o.login;exports.openAddCustomEmoji=o.openAddCustomEmoji;exports.shareWebCard=o.shareWebCard;exports.showAd=o.showAd;exports.toBindGameRole=o.toBindGameRole;exports.bridge=t.bridge;exports.setDebug=t.setDebug;exports.JSBridgeSdk=r;exports.default=a;
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["/**\r\n * mysJs-sdk v2.0.0 主入口\r\n *\r\n * 基于 @docoi/jsbridge-sdk v2 通信桥梁,封装微信小程序风格 API\r\n * - 所有 API 均返回 Promise,同时兼容 success/fail/complete 回调\r\n * - 支持按需引入 main/import/basic/biz 多种使用方式\r\n */\r\nimport * as basicApi from './api/basic'\r\nimport * as bizApi from './api/biz'\r\nimport { setDebug } from './bridge'\r\nimport defaultBridge from './bridge'\r\nimport JSBridgeSdk from '@docoi/jsbridge-sdk'\r\n\r\nconst mys = {\r\n ...basicApi,\r\n ...bizApi,\r\n setDebug,\r\n bridge: defaultBridge,\r\n JSBridgeSdk,\r\n}\r\n\r\nexport default mys\r\n\r\n// 命名导出 - API\r\nexport * from './api/basic'\r\nexport * from './api/biz'\r\n\r\n// 命名导出 - 工具\r\nexport { setDebug, defaultBridge as bridge }\r\nexport { JSBridgeSdk }\r\n\r\n// 命名导出 - 类型\r\nexport type { NativeResponse, ApiError, Callbacks } from './types'\r\nexport type {\r\n ShowToastParams,\r\n HideToastParams,\r\n PlayMediaParams,\r\n ChooseMediaParams,\r\n ChooseMediaResult,\r\n SaveImageToPhotosAlbumParams,\r\n SaveVideoToPhotosAlbumParams,\r\n StartRecordParams,\r\n SetClipboardDataParams,\r\n GetClipboardDataResult,\r\n OpenInExternalBrowserParams,\r\n NavigateToAppParams,\r\n SwitchTabParams,\r\n OpenWebviewParams,\r\n VibrateShortParams,\r\n SystemInfoResult,\r\n NetworkTypeResult,\r\n} from './types'\r\nexport type {\r\n ShareWebCardParams,\r\n ShowAdParams,\r\n BindGameRoleParams,\r\n LoginResult,\r\n GetTokenResult,\r\n GetCircleInfoResult,\r\n} from './types'"],"names":["mys","basicApi","bizApi","setDebug","defaultBridge","JSBridgeSdk"],"mappings":"wPAaMA,EAAM,CACV,GAAGC,EAAAA,IACH,GAAGC,EAAAA,IAAA,SACHC,EAAAA,SACA,OAAQC,EAAAA,OACR,YAAAC,CACF"}
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { a } from "./basic-C58euoyc.js";
|
|
2
|
+
import { c as n, b as h, g as f, d as l, e as w, h as c, f as v, n as u, o as C, i as T, j as x, k as y, p as S, l as k, s as A, m as I, q as B, r as D, t as K, u as R, v as V, w as W, x as j } from "./basic-C58euoyc.js";
|
|
3
|
+
import { a as e } from "./biz-BbTdssY5.js";
|
|
4
|
+
import { g as H, b as J, l as P, o as q, s as G, c as L, t as M } from "./biz-BbTdssY5.js";
|
|
5
|
+
import { b as s, s as o } from "./bridge-BsyNF-2c.js";
|
|
6
|
+
import r from "@docoi/jsbridge-sdk";
|
|
7
|
+
import { default as $ } from "@docoi/jsbridge-sdk";
|
|
8
|
+
const g = {
|
|
9
|
+
...a,
|
|
10
|
+
...e,
|
|
11
|
+
setDebug: o,
|
|
12
|
+
bridge: s,
|
|
13
|
+
JSBridgeSdk: r
|
|
14
|
+
};
|
|
15
|
+
export {
|
|
16
|
+
$ as JSBridgeSdk,
|
|
17
|
+
s as bridge,
|
|
18
|
+
n as chooseMedia,
|
|
19
|
+
h as closeWebView,
|
|
20
|
+
g as default,
|
|
21
|
+
f as getClipboardData,
|
|
22
|
+
H as getCurrentCircleInfo,
|
|
23
|
+
l as getNetworkType,
|
|
24
|
+
w as getSystemInfo,
|
|
25
|
+
J as getToken,
|
|
26
|
+
c as hideKeyboard,
|
|
27
|
+
v as hideToast,
|
|
28
|
+
P as login,
|
|
29
|
+
u as navigateToApp,
|
|
30
|
+
C as offKeyboardHeightChange,
|
|
31
|
+
T as onKeyboardHeightChange,
|
|
32
|
+
q as openAddCustomEmoji,
|
|
33
|
+
x as openInExternalBrowser,
|
|
34
|
+
y as openWebview,
|
|
35
|
+
S as previewImage,
|
|
36
|
+
k as previewVideo,
|
|
37
|
+
A as saveImageToPhotosAlbum,
|
|
38
|
+
I as saveVideoToPhotosAlbum,
|
|
39
|
+
B as setClipboardData,
|
|
40
|
+
o as setDebug,
|
|
41
|
+
G as shareWebCard,
|
|
42
|
+
L as showAd,
|
|
43
|
+
D as showToast,
|
|
44
|
+
K as startRecord,
|
|
45
|
+
R as stopRecord,
|
|
46
|
+
V as switchTab,
|
|
47
|
+
M as toBindGameRole,
|
|
48
|
+
W as vibrateLong,
|
|
49
|
+
j as vibrateShort
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../src/index.ts"],"sourcesContent":["/**\r\n * mysJs-sdk v2.0.0 主入口\r\n *\r\n * 基于 @docoi/jsbridge-sdk v2 通信桥梁,封装微信小程序风格 API\r\n * - 所有 API 均返回 Promise,同时兼容 success/fail/complete 回调\r\n * - 支持按需引入 main/import/basic/biz 多种使用方式\r\n */\r\nimport * as basicApi from './api/basic'\r\nimport * as bizApi from './api/biz'\r\nimport { setDebug } from './bridge'\r\nimport defaultBridge from './bridge'\r\nimport JSBridgeSdk from '@docoi/jsbridge-sdk'\r\n\r\nconst mys = {\r\n ...basicApi,\r\n ...bizApi,\r\n setDebug,\r\n bridge: defaultBridge,\r\n JSBridgeSdk,\r\n}\r\n\r\nexport default mys\r\n\r\n// 命名导出 - API\r\nexport * from './api/basic'\r\nexport * from './api/biz'\r\n\r\n// 命名导出 - 工具\r\nexport { setDebug, defaultBridge as bridge }\r\nexport { JSBridgeSdk }\r\n\r\n// 命名导出 - 类型\r\nexport type { NativeResponse, ApiError, Callbacks } from './types'\r\nexport type {\r\n ShowToastParams,\r\n HideToastParams,\r\n PlayMediaParams,\r\n ChooseMediaParams,\r\n ChooseMediaResult,\r\n SaveImageToPhotosAlbumParams,\r\n SaveVideoToPhotosAlbumParams,\r\n StartRecordParams,\r\n SetClipboardDataParams,\r\n GetClipboardDataResult,\r\n OpenInExternalBrowserParams,\r\n NavigateToAppParams,\r\n SwitchTabParams,\r\n OpenWebviewParams,\r\n VibrateShortParams,\r\n SystemInfoResult,\r\n NetworkTypeResult,\r\n} from './types'\r\nexport type {\r\n ShareWebCardParams,\r\n ShowAdParams,\r\n BindGameRoleParams,\r\n LoginResult,\r\n GetTokenResult,\r\n GetCircleInfoResult,\r\n} from './types'"],"names":["mys","basicApi","bizApi","setDebug","defaultBridge","JSBridgeSdk"],"mappings":";;;;;;;AAaA,MAAMA,IAAM;AAAA,EACV,GAAGC;AAAAA,EACH,GAAGC;AAAAA,EACH,UAAAC;AAAA,EACA,QAAQC;AAAAA,EACR,aAAAC;AACF;"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* mysJs-sdk v2.0.0 类型定义
|
|
3
|
+
*
|
|
4
|
+
* 统一模块导出:基础协议类型 + 各 API 参数/返回值类型
|
|
5
|
+
*/
|
|
6
|
+
/** Native 返回的统一格式 */
|
|
7
|
+
export interface NativeResponse<T = any> {
|
|
8
|
+
code: number;
|
|
9
|
+
msg: string;
|
|
10
|
+
result: T;
|
|
11
|
+
}
|
|
12
|
+
/** API 错误 */
|
|
13
|
+
export interface ApiError {
|
|
14
|
+
errMsg: string;
|
|
15
|
+
errCode: number;
|
|
16
|
+
[key: string]: any;
|
|
17
|
+
}
|
|
18
|
+
/** 通用回调接口 */
|
|
19
|
+
export interface Callbacks<T = any> {
|
|
20
|
+
success?: (res: T) => void;
|
|
21
|
+
fail?: (err: ApiError) => void;
|
|
22
|
+
complete?: (res?: T | ApiError) => void;
|
|
23
|
+
}
|
|
24
|
+
export interface ShowToastParams extends Callbacks<void> {
|
|
25
|
+
title: string;
|
|
26
|
+
icon?: 'success' | 'error' | 'loading' | 'none';
|
|
27
|
+
duration?: number;
|
|
28
|
+
mask?: boolean;
|
|
29
|
+
}
|
|
30
|
+
export interface HideToastParams extends Callbacks<void> {
|
|
31
|
+
}
|
|
32
|
+
export interface PlayMediaParams extends Callbacks<void> {
|
|
33
|
+
urls: string[];
|
|
34
|
+
url: string;
|
|
35
|
+
}
|
|
36
|
+
export interface ChooseMediaParams extends Callbacks<ChooseMediaResult> {
|
|
37
|
+
count?: number;
|
|
38
|
+
mediaType?: ('image' | 'video' | 'mix')[];
|
|
39
|
+
sourceType?: ('album' | 'camera')[];
|
|
40
|
+
maxDuration?: number;
|
|
41
|
+
sizeType?: ('original' | 'compressed')[];
|
|
42
|
+
camera?: 'back' | 'front';
|
|
43
|
+
}
|
|
44
|
+
export interface ChooseMediaResult {
|
|
45
|
+
tempFiles: Array<{
|
|
46
|
+
tempFilePath: string;
|
|
47
|
+
size: number;
|
|
48
|
+
duration?: number;
|
|
49
|
+
height?: number;
|
|
50
|
+
width?: number;
|
|
51
|
+
thumbTempFilePath?: string;
|
|
52
|
+
fileType: 'image' | 'video';
|
|
53
|
+
}>;
|
|
54
|
+
type: 'image' | 'video' | 'mix';
|
|
55
|
+
}
|
|
56
|
+
export interface SaveImageToPhotosAlbumParams extends Callbacks<void> {
|
|
57
|
+
filePath: string;
|
|
58
|
+
}
|
|
59
|
+
export interface SaveVideoToPhotosAlbumParams extends Callbacks<void> {
|
|
60
|
+
filePath: string;
|
|
61
|
+
}
|
|
62
|
+
export interface StartRecordParams extends Callbacks<void> {
|
|
63
|
+
maxDuration?: number;
|
|
64
|
+
}
|
|
65
|
+
export interface SetClipboardDataParams extends Callbacks<void> {
|
|
66
|
+
data: string;
|
|
67
|
+
}
|
|
68
|
+
export interface GetClipboardDataResult {
|
|
69
|
+
data: string;
|
|
70
|
+
}
|
|
71
|
+
export interface OpenInExternalBrowserParams extends Callbacks<void> {
|
|
72
|
+
url: string;
|
|
73
|
+
}
|
|
74
|
+
export interface NavigateToAppParams extends Callbacks<void> {
|
|
75
|
+
url: string;
|
|
76
|
+
}
|
|
77
|
+
export interface SwitchTabParams extends Callbacks<void> {
|
|
78
|
+
url: string;
|
|
79
|
+
}
|
|
80
|
+
export interface OpenWebviewParams extends Callbacks<void> {
|
|
81
|
+
url: string;
|
|
82
|
+
type?: 'immersive' | 'normal' | 'mini';
|
|
83
|
+
replace?: boolean;
|
|
84
|
+
}
|
|
85
|
+
export interface VibrateShortParams extends Callbacks<void> {
|
|
86
|
+
type: 'heavy' | 'medium' | 'light';
|
|
87
|
+
}
|
|
88
|
+
export interface SystemInfoResult {
|
|
89
|
+
brand: string;
|
|
90
|
+
model: string;
|
|
91
|
+
pixelRatio: number;
|
|
92
|
+
screenWidth: number;
|
|
93
|
+
screenHeight: number;
|
|
94
|
+
windowWidth: number;
|
|
95
|
+
windowHeight: number;
|
|
96
|
+
statusBarHeight: number;
|
|
97
|
+
version: string;
|
|
98
|
+
system: string;
|
|
99
|
+
platform: 'android' | 'ios';
|
|
100
|
+
}
|
|
101
|
+
export interface NetworkTypeResult {
|
|
102
|
+
networkType: 'wifi' | '2g' | '3g' | '4g' | '5g' | 'unknown' | 'none';
|
|
103
|
+
}
|
|
104
|
+
export interface ShareWebCardParams extends Callbacks<void> {
|
|
105
|
+
title: string;
|
|
106
|
+
content?: string;
|
|
107
|
+
icon?: string;
|
|
108
|
+
shareUrl?: string;
|
|
109
|
+
externalContent?: string;
|
|
110
|
+
shareTypes?: (1 | 2 | 3)[];
|
|
111
|
+
isSharePic?: boolean;
|
|
112
|
+
serverId?: string;
|
|
113
|
+
trackData?: string;
|
|
114
|
+
daokeUrl?: string;
|
|
115
|
+
channelIds?: string;
|
|
116
|
+
contentType?: string;
|
|
117
|
+
}
|
|
118
|
+
export interface ShowAdParams extends Callbacks<void> {
|
|
119
|
+
type: number;
|
|
120
|
+
circle_id?: string;
|
|
121
|
+
cycle_day?: string | number;
|
|
122
|
+
module?: string | number;
|
|
123
|
+
cycle_id?: string;
|
|
124
|
+
wheel_lottery_id?: string | number;
|
|
125
|
+
}
|
|
126
|
+
export interface BindGameRoleParams extends Callbacks<void> {
|
|
127
|
+
gameName: string;
|
|
128
|
+
serverId: string;
|
|
129
|
+
}
|
|
130
|
+
export interface LoginResult {
|
|
131
|
+
code: string;
|
|
132
|
+
userInfo?: any;
|
|
133
|
+
}
|
|
134
|
+
export interface GetTokenResult {
|
|
135
|
+
token: string;
|
|
136
|
+
}
|
|
137
|
+
export interface GetCircleInfoResult {
|
|
138
|
+
serverId: string;
|
|
139
|
+
name: string;
|
|
140
|
+
icon: string;
|
|
141
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@docoi/mys-sdk",
|
|
3
|
+
"version": "1.0.0-beta.0",
|
|
4
|
+
"description": "A class mini-program style JSBridge SDK for Docoi H5",
|
|
5
|
+
"author": "tanyangkang",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"sideEffects": false,
|
|
8
|
+
"homepage": "https://gitlab.docoi.cc/tanyangkang/mys-sdk",
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "git+https://gitlab.docoi.cc/tanyangkang/mys-sdk.git"
|
|
12
|
+
},
|
|
13
|
+
"bugs": {
|
|
14
|
+
"url": "https://gitlab.docoi.cc/tanyangkang/mys-sdk/issues"
|
|
15
|
+
},
|
|
16
|
+
"publishConfig": {
|
|
17
|
+
"access": "public"
|
|
18
|
+
},
|
|
19
|
+
"type": "module",
|
|
20
|
+
"main": "./dist/index.js",
|
|
21
|
+
"module": "./dist/index.mjs",
|
|
22
|
+
"types": "./dist/index.d.ts",
|
|
23
|
+
"exports": {
|
|
24
|
+
".": {
|
|
25
|
+
"types": "./dist/index.d.ts",
|
|
26
|
+
"import": "./dist/index.mjs",
|
|
27
|
+
"require": "./dist/index.js"
|
|
28
|
+
},
|
|
29
|
+
"./basic": {
|
|
30
|
+
"types": "./dist/basic.d.ts",
|
|
31
|
+
"import": "./dist/basic.mjs",
|
|
32
|
+
"require": "./dist/basic.js"
|
|
33
|
+
},
|
|
34
|
+
"./biz": {
|
|
35
|
+
"types": "./dist/biz.d.ts",
|
|
36
|
+
"import": "./dist/biz.mjs",
|
|
37
|
+
"require": "./dist/biz.js"
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"typesVersions": {
|
|
41
|
+
">=4.0.0": {
|
|
42
|
+
".": [
|
|
43
|
+
"dist/index.d.ts"
|
|
44
|
+
],
|
|
45
|
+
"basic": [
|
|
46
|
+
"dist/basic.d.ts"
|
|
47
|
+
],
|
|
48
|
+
"biz": [
|
|
49
|
+
"dist/biz.d.ts"
|
|
50
|
+
]
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"files": [
|
|
54
|
+
"dist"
|
|
55
|
+
],
|
|
56
|
+
"scripts": {
|
|
57
|
+
"dev": "vite build --watch",
|
|
58
|
+
"build": "vite build && vue-tsc --emitDeclarationOnly",
|
|
59
|
+
"type-check": "vue-tsc --noEmit",
|
|
60
|
+
"prepublishOnly": "pnpm build"
|
|
61
|
+
},
|
|
62
|
+
"dependencies": {
|
|
63
|
+
"@docoi/jsbridge-sdk": "^2.0.0-beta.0"
|
|
64
|
+
},
|
|
65
|
+
"peerDependencies": {
|
|
66
|
+
"vue": "^3.0.0"
|
|
67
|
+
},
|
|
68
|
+
"peerDependenciesMeta": {
|
|
69
|
+
"vue": {
|
|
70
|
+
"optional": true
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
"devDependencies": {
|
|
74
|
+
"@changesets/cli": "^2.30.0",
|
|
75
|
+
"typescript": "^5.0.0",
|
|
76
|
+
"vite": "^5.0.0",
|
|
77
|
+
"vue-tsc": "^2.0.0"
|
|
78
|
+
}
|
|
79
|
+
}
|