@docoi/mys-sdk 1.0.0-beta.0 → 1.0.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/dist/api/basic.d.ts +288 -45
- package/dist/api/biz.d.ts +76 -15
- package/dist/api/index.d.ts +2 -2
- package/dist/bridge.d.ts +8 -13
- package/dist/constants/code.d.ts +21 -0
- package/dist/index.d.ts +41 -38
- package/dist/index.mjs +377 -46
- package/dist/types/base.d.ts +54 -0
- package/dist/types/enums.d.ts +44 -0
- package/dist/types/index.d.ts +8 -138
- package/dist/types/params.d.ts +249 -0
- package/dist/types/results.d.ts +102 -0
- package/package.json +46 -79
- package/LICENSE +0 -21
- package/README.md +0 -110
- package/dist/basic-C58euoyc.js +0 -153
- package/dist/basic-C58euoyc.js.map +0 -1
- package/dist/basic-CSwC4kuv.cjs +0 -2
- package/dist/basic-CSwC4kuv.cjs.map +0 -1
- package/dist/basic.d.ts +0 -32
- package/dist/basic.js +0 -2
- package/dist/basic.js.map +0 -1
- package/dist/basic.mjs +0 -37
- package/dist/basic.mjs.map +0 -1
- package/dist/biz-BUeFEJQb.cjs +0 -2
- package/dist/biz-BUeFEJQb.cjs.map +0 -1
- package/dist/biz-BbTdssY5.js +0 -43
- package/dist/biz-BbTdssY5.js.map +0 -1
- package/dist/biz.d.ts +0 -16
- package/dist/biz.js +0 -2
- package/dist/biz.js.map +0 -1
- package/dist/biz.mjs +0 -21
- package/dist/biz.mjs.map +0 -1
- package/dist/bridge-B5p50L4Z.cjs +0 -2
- package/dist/bridge-B5p50L4Z.cjs.map +0 -1
- package/dist/bridge-BsyNF-2c.js +0 -39
- package/dist/bridge-BsyNF-2c.js.map +0 -1
- package/dist/index.js +0 -2
- package/dist/index.js.map +0 -1
- package/dist/index.mjs.map +0 -1
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
import { Callbacks } from './base';
|
|
2
|
+
import { MediaFileType, SettingType, MediaSourceType, CameraDirection, WebviewType, ShareChannelType, PermissionType, PreviewMediaType, ToastDuration } from './enums';
|
|
3
|
+
import { ChooseMediaResult, CheckPermissionResult, UploadFileResult } from './results';
|
|
4
|
+
/**
|
|
5
|
+
* showToast 参数
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts
|
|
9
|
+
* mys.showToast({ text: '操作成功', duration: ToastDuration.Short })
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
export interface ShowToastParams extends Callbacks {
|
|
13
|
+
/** 提示内容 */
|
|
14
|
+
text: string;
|
|
15
|
+
/**
|
|
16
|
+
* 显示时长。
|
|
17
|
+
*
|
|
18
|
+
* - ToastDuration.Short / 0:短时显示
|
|
19
|
+
* - ToastDuration.Long / 1:长时显示
|
|
20
|
+
*
|
|
21
|
+
* @default ToastDuration.Short
|
|
22
|
+
*/
|
|
23
|
+
duration?: ToastDuration;
|
|
24
|
+
}
|
|
25
|
+
/** openPhoneSetting 参数 */
|
|
26
|
+
export interface OpenPhoneSettingParams extends Callbacks {
|
|
27
|
+
/** 设置页类型。当前仅支持 notice,表示系统通知设置页 */
|
|
28
|
+
type: SettingType;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* checkPermission 参数
|
|
32
|
+
*/
|
|
33
|
+
export interface CheckPermissionParams extends Callbacks<CheckPermissionResult> {
|
|
34
|
+
/** 要检查的权限类型 */
|
|
35
|
+
permission: PermissionType;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* previewImage / previewVideo 参数
|
|
39
|
+
*/
|
|
40
|
+
export interface PlayMediaParams extends Callbacks {
|
|
41
|
+
/** 图片/视频 URL 列表 */
|
|
42
|
+
urls: string[];
|
|
43
|
+
/**
|
|
44
|
+
* 当前预览资源的数组下标,从 0 开始。
|
|
45
|
+
*
|
|
46
|
+
* @default 0
|
|
47
|
+
*/
|
|
48
|
+
current?: number;
|
|
49
|
+
}
|
|
50
|
+
/** playMedia Native 调用媒体类型 */
|
|
51
|
+
export type PlayMediaType = PreviewMediaType;
|
|
52
|
+
/**
|
|
53
|
+
* chooseMedia 参数
|
|
54
|
+
*/
|
|
55
|
+
export interface ChooseMediaParams extends Callbacks<ChooseMediaResult> {
|
|
56
|
+
/**
|
|
57
|
+
* 最多可选择的文件数量。
|
|
58
|
+
*
|
|
59
|
+
* @default 9
|
|
60
|
+
*/
|
|
61
|
+
count?: number;
|
|
62
|
+
/**
|
|
63
|
+
* 选择或拍摄的媒体类型。
|
|
64
|
+
*
|
|
65
|
+
* @default 'image'
|
|
66
|
+
*/
|
|
67
|
+
mediaType?: MediaFileType;
|
|
68
|
+
/**
|
|
69
|
+
* 媒体来源。
|
|
70
|
+
*
|
|
71
|
+
* - album: 只打开相册
|
|
72
|
+
* - camera: 只打开相机
|
|
73
|
+
* - all: 由 Native 提供拍摄/相册选择入口
|
|
74
|
+
*
|
|
75
|
+
* @default 'all'
|
|
76
|
+
*/
|
|
77
|
+
sourceType?: MediaSourceType;
|
|
78
|
+
/**
|
|
79
|
+
* 是否压缩后生成临时文件。
|
|
80
|
+
*
|
|
81
|
+
* @default true
|
|
82
|
+
*/
|
|
83
|
+
compressed?: boolean;
|
|
84
|
+
/**
|
|
85
|
+
* 录制视频最大时长,单位秒。
|
|
86
|
+
*
|
|
87
|
+
* @default 60
|
|
88
|
+
*/
|
|
89
|
+
maxDuration?: number;
|
|
90
|
+
/**
|
|
91
|
+
* 默认摄像头。
|
|
92
|
+
*
|
|
93
|
+
* @default 'back'
|
|
94
|
+
*/
|
|
95
|
+
camera?: CameraDirection;
|
|
96
|
+
}
|
|
97
|
+
/** uploadFile 参数 */
|
|
98
|
+
export interface UploadFileParams extends Callbacks<UploadFileResult> {
|
|
99
|
+
/** chooseMedia 返回的临时文件路径 */
|
|
100
|
+
filePath: string;
|
|
101
|
+
}
|
|
102
|
+
/** 保存媒体文件到系统相册的通用参数 */
|
|
103
|
+
export interface SaveImageToPhotosAlbumParams extends Callbacks {
|
|
104
|
+
/** 文件路径 */
|
|
105
|
+
filePath: string;
|
|
106
|
+
}
|
|
107
|
+
/** saveVideoToPhotosAlbum 参数(与 SaveImageToPhotosAlbumParams 结构相同) */
|
|
108
|
+
export type SaveVideoToPhotosAlbumParams = SaveImageToPhotosAlbumParams;
|
|
109
|
+
/** startRecord 参数 */
|
|
110
|
+
export interface StartRecordParams extends Callbacks {
|
|
111
|
+
/** 录音最大时长(秒) */
|
|
112
|
+
maxDuration?: number;
|
|
113
|
+
}
|
|
114
|
+
/** setClipboardData 参数 */
|
|
115
|
+
export interface SetClipboardDataParams extends Callbacks {
|
|
116
|
+
/** 剪贴板内容 */
|
|
117
|
+
data: string;
|
|
118
|
+
}
|
|
119
|
+
/** 导航跳转通用参数(url 必填) */
|
|
120
|
+
export interface NavigateToAppParams extends Callbacks {
|
|
121
|
+
/** 目标 URL */
|
|
122
|
+
url: string;
|
|
123
|
+
}
|
|
124
|
+
/** 外部浏览器打开参数 */
|
|
125
|
+
export type OpenInExternalBrowserParams = NavigateToAppParams;
|
|
126
|
+
/** switchTab 参数 */
|
|
127
|
+
export type SwitchTabParams = NavigateToAppParams;
|
|
128
|
+
/**
|
|
129
|
+
* openWebview 参数
|
|
130
|
+
*
|
|
131
|
+
* @example
|
|
132
|
+
* ```ts
|
|
133
|
+
* mys.openWebview({ url: 'https://example.com', type: 'immersive' })
|
|
134
|
+
* mys.openWebview({ url: 'https://example.com', replace: true }) // 直接替换当前页面
|
|
135
|
+
* ```
|
|
136
|
+
*/
|
|
137
|
+
export interface OpenWebviewParams extends Callbacks {
|
|
138
|
+
/** 页面链接 */
|
|
139
|
+
url: string;
|
|
140
|
+
/**
|
|
141
|
+
* Webview 类型
|
|
142
|
+
*
|
|
143
|
+
* @default 'normal'
|
|
144
|
+
*/
|
|
145
|
+
type?: WebviewType;
|
|
146
|
+
/** 是否直接替换当前页面(不走 bridge) */
|
|
147
|
+
replace?: boolean;
|
|
148
|
+
}
|
|
149
|
+
/** triggerVibrate 多段震动序列项 */
|
|
150
|
+
export interface VibrateStep {
|
|
151
|
+
/** 本段时长,单位 ms */
|
|
152
|
+
duration: number;
|
|
153
|
+
/** 本段力度,范围 0-1;填 0 表示停顿 */
|
|
154
|
+
intensity: number;
|
|
155
|
+
}
|
|
156
|
+
/** triggerVibrate 参数 */
|
|
157
|
+
export interface TriggerVibrateParams extends Callbacks {
|
|
158
|
+
/** 单段震动时长,单位 ms。有 steps 时忽略此字段 */
|
|
159
|
+
duration?: number;
|
|
160
|
+
/**
|
|
161
|
+
* 单段震动力度,范围 0-1。iOS 不支持时会忽略。
|
|
162
|
+
*
|
|
163
|
+
* @default 1.0
|
|
164
|
+
*/
|
|
165
|
+
intensity?: number;
|
|
166
|
+
/** 多段变力度震动序列。有此字段时忽略 duration / intensity */
|
|
167
|
+
steps?: VibrateStep[];
|
|
168
|
+
/**
|
|
169
|
+
* 是否循环。true 表示无限循环,直到调用 stopVibrate。
|
|
170
|
+
*
|
|
171
|
+
* @default false
|
|
172
|
+
*/
|
|
173
|
+
repeat?: boolean;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* shareWebCard 参数
|
|
177
|
+
*
|
|
178
|
+
* 分享网页卡片到社交平台(微信、QQ 等)
|
|
179
|
+
*
|
|
180
|
+
* @example
|
|
181
|
+
* ```ts
|
|
182
|
+
* mys.shareWebCard({
|
|
183
|
+
* title: '精彩文章',
|
|
184
|
+
* content: '点开看看',
|
|
185
|
+
* shareUrl: 'https://example.com/article/1'
|
|
186
|
+
* })
|
|
187
|
+
* ```
|
|
188
|
+
*/
|
|
189
|
+
export interface ShareWebCardParams extends Callbacks {
|
|
190
|
+
/** 分享标题 */
|
|
191
|
+
title: string;
|
|
192
|
+
/** 分享文案 */
|
|
193
|
+
content?: string;
|
|
194
|
+
/** 分享图标 URL */
|
|
195
|
+
icon?: string;
|
|
196
|
+
/** 分享链接 */
|
|
197
|
+
shareUrl?: string;
|
|
198
|
+
/** 朋友圈文案 */
|
|
199
|
+
externalContent?: string;
|
|
200
|
+
/**
|
|
201
|
+
* 分享渠道
|
|
202
|
+
*
|
|
203
|
+
* @default [1, 2, 3]
|
|
204
|
+
*/
|
|
205
|
+
shareTypes?: ShareChannelType[];
|
|
206
|
+
/** 是否为截图分享 */
|
|
207
|
+
isSharePic?: boolean;
|
|
208
|
+
/** 服务器资源 ID */
|
|
209
|
+
serverId?: string;
|
|
210
|
+
/** 埋点数据 */
|
|
211
|
+
trackData?: string;
|
|
212
|
+
/** 稻壳圈子分享链接 */
|
|
213
|
+
daokeUrl?: string;
|
|
214
|
+
/** 渠道 ID */
|
|
215
|
+
channelIds?: string;
|
|
216
|
+
/** 内容类型 */
|
|
217
|
+
contentType?: string;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* showAd 参数
|
|
221
|
+
*
|
|
222
|
+
* 展示原生广告视频
|
|
223
|
+
*
|
|
224
|
+
* @example
|
|
225
|
+
* ```ts
|
|
226
|
+
* mys.showAd({ type: 1, circle_id: '123' })
|
|
227
|
+
* ```
|
|
228
|
+
*/
|
|
229
|
+
export interface ShowAdParams extends Callbacks {
|
|
230
|
+
/** 广告类型 */
|
|
231
|
+
type: number;
|
|
232
|
+
/** 社群/圈子 ID */
|
|
233
|
+
circle_id?: string;
|
|
234
|
+
/** 循环天数 */
|
|
235
|
+
cycle_day?: string | number;
|
|
236
|
+
/** 模块 */
|
|
237
|
+
module?: string | number;
|
|
238
|
+
/** 循环 ID */
|
|
239
|
+
cycle_id?: string;
|
|
240
|
+
/** 转盘抽奖 ID */
|
|
241
|
+
wheel_lottery_id?: string | number;
|
|
242
|
+
}
|
|
243
|
+
/** toBindGameRole 参数 */
|
|
244
|
+
export interface BindGameRoleParams extends Callbacks {
|
|
245
|
+
/** 游戏名称 */
|
|
246
|
+
gameName: string;
|
|
247
|
+
/** 服务器 ID */
|
|
248
|
+
serverId: string;
|
|
249
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { Platform, NetworkTypeStr, PermissionStatus, PermissionType } from './enums';
|
|
2
|
+
/** chooseMedia 返回值 */
|
|
3
|
+
export interface ChooseMediaResult {
|
|
4
|
+
/** 本地临时媒体文件列表 */
|
|
5
|
+
files: ChooseMediaFile[];
|
|
6
|
+
}
|
|
7
|
+
/** chooseMedia 临时媒体文件 */
|
|
8
|
+
export interface ChooseMediaFile {
|
|
9
|
+
/** 临时文件路径,可用于 img / video 预览,也可传给 uploadFile 上传 */
|
|
10
|
+
tempFilePath: string;
|
|
11
|
+
/** 文件大小,单位 byte */
|
|
12
|
+
size?: number;
|
|
13
|
+
/** 宽度,单位 px */
|
|
14
|
+
width?: number;
|
|
15
|
+
/** 高度,单位 px */
|
|
16
|
+
height?: number;
|
|
17
|
+
/** 视频时长,单位秒,仅视频文件返回 */
|
|
18
|
+
duration?: number;
|
|
19
|
+
/** 缩略图临时路径 */
|
|
20
|
+
thumbTempFilePath?: string;
|
|
21
|
+
}
|
|
22
|
+
/** uploadFile 返回值 */
|
|
23
|
+
export interface UploadFileResult {
|
|
24
|
+
/** 上传后的网络 URL */
|
|
25
|
+
url: string;
|
|
26
|
+
/** 上传后的缩略图网络 URL */
|
|
27
|
+
thumbUrl?: string;
|
|
28
|
+
}
|
|
29
|
+
/** getClipboardData 返回值 */
|
|
30
|
+
export interface GetClipboardDataResult {
|
|
31
|
+
/** 剪贴板内容 */
|
|
32
|
+
data: string;
|
|
33
|
+
}
|
|
34
|
+
/** getSystemInfo 返回值 */
|
|
35
|
+
export interface SystemInfoResult {
|
|
36
|
+
/** 设备品牌 */
|
|
37
|
+
brand: string;
|
|
38
|
+
/** 设备型号 */
|
|
39
|
+
model: string;
|
|
40
|
+
/** 设备像素比 */
|
|
41
|
+
pixelRatio: number;
|
|
42
|
+
/** 屏幕宽度(px) */
|
|
43
|
+
screenWidth: number;
|
|
44
|
+
/** 屏幕高度(px) */
|
|
45
|
+
screenHeight: number;
|
|
46
|
+
/** 可使用窗口宽度(px) */
|
|
47
|
+
windowWidth: number;
|
|
48
|
+
/** 可使用窗口高度(px) */
|
|
49
|
+
windowHeight: number;
|
|
50
|
+
/** 状态栏高度(px) */
|
|
51
|
+
statusBarHeight: number;
|
|
52
|
+
/** App 版本号 */
|
|
53
|
+
version: string;
|
|
54
|
+
/** 操作系统版本 */
|
|
55
|
+
system: string;
|
|
56
|
+
/** 平台 */
|
|
57
|
+
platform: Platform;
|
|
58
|
+
}
|
|
59
|
+
/** getNetworkType 返回值 */
|
|
60
|
+
export interface NetworkTypeResult {
|
|
61
|
+
/** 网络类型 */
|
|
62
|
+
networkType: NetworkTypeStr;
|
|
63
|
+
}
|
|
64
|
+
/** checkPermission 返回值 */
|
|
65
|
+
export interface CheckPermissionResult {
|
|
66
|
+
/** 权限类型 */
|
|
67
|
+
permission: PermissionType;
|
|
68
|
+
/** 权限检查结果 */
|
|
69
|
+
result: PermissionStatus;
|
|
70
|
+
}
|
|
71
|
+
/** 用户基本信息 */
|
|
72
|
+
export interface UserInfo {
|
|
73
|
+
/** 用户昵称 */
|
|
74
|
+
nickName?: string;
|
|
75
|
+
/** 头像 URL */
|
|
76
|
+
avatarUrl?: string;
|
|
77
|
+
/** 用户 ID */
|
|
78
|
+
userId?: string;
|
|
79
|
+
/** 性别 0:未知 1:男 2:女 */
|
|
80
|
+
gender?: number;
|
|
81
|
+
}
|
|
82
|
+
/** login 返回值 */
|
|
83
|
+
export interface LoginResult {
|
|
84
|
+
/** 授权码 */
|
|
85
|
+
readonly code: string;
|
|
86
|
+
/** 用户信息 */
|
|
87
|
+
readonly userInfo?: UserInfo;
|
|
88
|
+
}
|
|
89
|
+
/** getToken 返回值 */
|
|
90
|
+
export interface GetTokenResult {
|
|
91
|
+
/** 登录 Token */
|
|
92
|
+
readonly token: string;
|
|
93
|
+
}
|
|
94
|
+
/** getCurrentCircleInfo 返回值 */
|
|
95
|
+
export interface GetCircleInfoResult {
|
|
96
|
+
/** 服务器 ID */
|
|
97
|
+
readonly serverId: string;
|
|
98
|
+
/** 社群/圈子名称 */
|
|
99
|
+
readonly name: string;
|
|
100
|
+
/** 社群/圈子图标 URL */
|
|
101
|
+
readonly icon: string;
|
|
102
|
+
}
|
package/package.json
CHANGED
|
@@ -1,79 +1,46 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@docoi/mys-sdk",
|
|
3
|
-
"version": "1.0.0
|
|
4
|
-
"description": "
|
|
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
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
"
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
"
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
"
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
},
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
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
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@docoi/mys-sdk",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "基于 JSBridge 封装的H5 SDK,统一 Native 通信与业务 API 封装",
|
|
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
|
+
"module": "./dist/index.mjs",
|
|
21
|
+
"types": "./dist/index.d.ts",
|
|
22
|
+
"exports": {
|
|
23
|
+
".": {
|
|
24
|
+
"types": "./dist/index.d.ts",
|
|
25
|
+
"import": "./dist/index.mjs"
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"files": [
|
|
29
|
+
"dist"
|
|
30
|
+
],
|
|
31
|
+
"scripts": {
|
|
32
|
+
"dev": "vite build --watch",
|
|
33
|
+
"build": "vite build",
|
|
34
|
+
"type-check": "tsc --noEmit",
|
|
35
|
+
"prepublishOnly": "pnpm build"
|
|
36
|
+
},
|
|
37
|
+
"dependencies": {
|
|
38
|
+
"@docoi/jsbridge-sdk": "2.0.1"
|
|
39
|
+
},
|
|
40
|
+
"devDependencies": {
|
|
41
|
+
"@changesets/cli": "^2.31.1",
|
|
42
|
+
"typescript": "^5.9.3",
|
|
43
|
+
"vite": "^5.4.21",
|
|
44
|
+
"vite-plugin-dts": "^5.0.3"
|
|
45
|
+
}
|
|
46
|
+
}
|
package/LICENSE
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
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
DELETED
|
@@ -1,110 +0,0 @@
|
|
|
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
|