@docoi/mys-sdk 1.0.0-beta.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/basic.d.ts +301 -47
- 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 +38 -40
- package/dist/index.mjs +388 -48
- package/dist/types/base.d.ts +54 -0
- package/dist/types/enums.d.ts +42 -0
- package/dist/types/index.d.ts +8 -138
- package/dist/types/params.d.ts +228 -0
- package/dist/types/results.d.ts +144 -0
- package/package.json +14 -48
- 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,228 @@
|
|
|
1
|
+
import { Callbacks } from './base';
|
|
2
|
+
import { MediaFileType, SettingType, CameraDirection, ShareChannelType, PermissionType, PreviewMediaType, ToastDuration } from './enums';
|
|
3
|
+
import { ChooseMediaResult, CheckPermissionResult, UploadFilesProgress, UploadFilesResult } from './results';
|
|
4
|
+
/**
|
|
5
|
+
* 事件监听选项。
|
|
6
|
+
*
|
|
7
|
+
* 事件监听属于 native-event 通道,回调直接接收 Native 原始 payload,
|
|
8
|
+
* 不包装 code/msg/result。
|
|
9
|
+
*/
|
|
10
|
+
export interface EventListenOptions {
|
|
11
|
+
/** 是否只监听一次,触发后自动取消监听 */
|
|
12
|
+
once?: boolean;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* showToast 参数
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```ts
|
|
19
|
+
* mys.showToast({ text: '操作成功', duration: ToastDuration.Short })
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export interface ShowToastParams extends Callbacks {
|
|
23
|
+
/** 提示内容 */
|
|
24
|
+
text: string;
|
|
25
|
+
/**
|
|
26
|
+
* 显示时长。
|
|
27
|
+
*
|
|
28
|
+
* - ToastDuration.Short / 0:短时显示
|
|
29
|
+
* - ToastDuration.Long / 1:长时显示
|
|
30
|
+
*
|
|
31
|
+
* @default ToastDuration.Short
|
|
32
|
+
*/
|
|
33
|
+
duration?: ToastDuration;
|
|
34
|
+
}
|
|
35
|
+
/** openPhoneSetting 参数 */
|
|
36
|
+
export interface OpenPhoneSettingParams extends Callbacks {
|
|
37
|
+
/** 设置页类型。当前仅支持 notice,表示系统通知设置页 */
|
|
38
|
+
type: SettingType;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* checkPermission 参数
|
|
42
|
+
*/
|
|
43
|
+
export interface CheckPermissionParams extends Callbacks<CheckPermissionResult> {
|
|
44
|
+
/** 要检查的权限类型 */
|
|
45
|
+
permission: PermissionType;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* previewImage / previewVideo 参数
|
|
49
|
+
*/
|
|
50
|
+
export interface PlayMediaParams extends Callbacks {
|
|
51
|
+
/** 图片/视频 URL 列表 */
|
|
52
|
+
urls: string[];
|
|
53
|
+
/**
|
|
54
|
+
* 当前预览资源的数组下标,从 0 开始。
|
|
55
|
+
*
|
|
56
|
+
* @default 0
|
|
57
|
+
*/
|
|
58
|
+
current?: number;
|
|
59
|
+
}
|
|
60
|
+
/** playMedia Native 调用媒体类型 */
|
|
61
|
+
export type PlayMediaType = PreviewMediaType;
|
|
62
|
+
/**
|
|
63
|
+
* chooseMedia 参数
|
|
64
|
+
*/
|
|
65
|
+
export interface ChooseMediaParams extends Callbacks<ChooseMediaResult> {
|
|
66
|
+
/**
|
|
67
|
+
* 最多可选择的文件数量。
|
|
68
|
+
*
|
|
69
|
+
* @default 9
|
|
70
|
+
*/
|
|
71
|
+
count?: number;
|
|
72
|
+
/**
|
|
73
|
+
* 选择或拍摄的媒体类型。
|
|
74
|
+
*
|
|
75
|
+
* @default 'image'
|
|
76
|
+
*/
|
|
77
|
+
mediaType?: MediaFileType;
|
|
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
|
+
/** uploadFiles 参数 */
|
|
98
|
+
export interface UploadFilesParams extends Callbacks<UploadFilesResult> {
|
|
99
|
+
/** 待上传文件列表,单个文件也需要放在数组中 */
|
|
100
|
+
files: string[];
|
|
101
|
+
/** 腾讯云 COS 目录前缀,默认 multipleSource/common/ */
|
|
102
|
+
cosDirPath?: string;
|
|
103
|
+
/** 上传进度回调,仅 H5 侧生效 */
|
|
104
|
+
onProgress?: (progress: UploadFilesProgress) => void;
|
|
105
|
+
}
|
|
106
|
+
/** 保存媒体文件到系统相册的通用参数 */
|
|
107
|
+
export interface SaveImageToPhotosAlbumParams extends Callbacks {
|
|
108
|
+
/** 文件路径 */
|
|
109
|
+
filePath: string;
|
|
110
|
+
}
|
|
111
|
+
/** saveVideoToPhotosAlbum 参数(与 SaveImageToPhotosAlbumParams 结构相同) */
|
|
112
|
+
export type SaveVideoToPhotosAlbumParams = SaveImageToPhotosAlbumParams;
|
|
113
|
+
/** startRecord 参数 */
|
|
114
|
+
export interface StartRecordParams extends Callbacks {
|
|
115
|
+
/** 录音最大时长(秒) */
|
|
116
|
+
maxDuration?: number;
|
|
117
|
+
}
|
|
118
|
+
/** setClipboardData 参数 */
|
|
119
|
+
export interface SetClipboardDataParams extends Callbacks {
|
|
120
|
+
/** 剪贴板内容 */
|
|
121
|
+
data: string;
|
|
122
|
+
}
|
|
123
|
+
/** 外部浏览器打开参数 */
|
|
124
|
+
export interface OpenInExternalBrowserParams extends Callbacks {
|
|
125
|
+
/** 目标 URL */
|
|
126
|
+
url: string;
|
|
127
|
+
}
|
|
128
|
+
/** triggerVibrate 多段震动序列项 */
|
|
129
|
+
export interface VibrateStep {
|
|
130
|
+
/** 本段时长,单位 ms */
|
|
131
|
+
duration: number;
|
|
132
|
+
/** 本段力度,范围 0-1;填 0 表示停顿 */
|
|
133
|
+
intensity: number;
|
|
134
|
+
}
|
|
135
|
+
/** triggerVibrate 参数 */
|
|
136
|
+
export interface TriggerVibrateParams extends Callbacks {
|
|
137
|
+
/** 单段震动时长,单位 ms。有 steps 时忽略此字段 */
|
|
138
|
+
duration?: number;
|
|
139
|
+
/**
|
|
140
|
+
* 单段震动力度,范围 0-1。iOS 不支持时会忽略。
|
|
141
|
+
*
|
|
142
|
+
* @default 1.0
|
|
143
|
+
*/
|
|
144
|
+
intensity?: number;
|
|
145
|
+
/** 多段变力度震动序列。有此字段时忽略 duration / intensity */
|
|
146
|
+
steps?: VibrateStep[];
|
|
147
|
+
/**
|
|
148
|
+
* 是否循环。true 表示无限循环,直到调用 stopVibrate。
|
|
149
|
+
*
|
|
150
|
+
* @default false
|
|
151
|
+
*/
|
|
152
|
+
repeat?: boolean;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* shareWebCard 参数
|
|
156
|
+
*
|
|
157
|
+
* 分享网页卡片到社交平台(微信、QQ 等)
|
|
158
|
+
*
|
|
159
|
+
* @example
|
|
160
|
+
* ```ts
|
|
161
|
+
* mys.shareWebCard({
|
|
162
|
+
* title: '精彩文章',
|
|
163
|
+
* content: '点开看看',
|
|
164
|
+
* shareUrl: 'https://example.com/article/1'
|
|
165
|
+
* })
|
|
166
|
+
* ```
|
|
167
|
+
*/
|
|
168
|
+
export interface ShareWebCardParams extends Callbacks {
|
|
169
|
+
/** 分享标题 */
|
|
170
|
+
title: string;
|
|
171
|
+
/** 分享文案 */
|
|
172
|
+
content?: string;
|
|
173
|
+
/** 分享图标 URL */
|
|
174
|
+
icon?: string;
|
|
175
|
+
/** 分享链接 */
|
|
176
|
+
shareUrl?: string;
|
|
177
|
+
/** 朋友圈文案 */
|
|
178
|
+
externalContent?: string;
|
|
179
|
+
/**
|
|
180
|
+
* 分享渠道
|
|
181
|
+
*
|
|
182
|
+
* @default [1, 2, 3]
|
|
183
|
+
*/
|
|
184
|
+
shareTypes?: ShareChannelType[];
|
|
185
|
+
/** 是否为截图分享 */
|
|
186
|
+
isSharePic?: boolean;
|
|
187
|
+
/** 服务器资源 ID */
|
|
188
|
+
serverId?: string;
|
|
189
|
+
/** 埋点数据 */
|
|
190
|
+
trackData?: string;
|
|
191
|
+
/** 稻壳圈子分享链接 */
|
|
192
|
+
daokeUrl?: string;
|
|
193
|
+
/** 渠道 ID */
|
|
194
|
+
channelIds?: string;
|
|
195
|
+
/** 内容类型 */
|
|
196
|
+
contentType?: string;
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* showAd 参数
|
|
200
|
+
*
|
|
201
|
+
* 展示原生广告视频
|
|
202
|
+
*
|
|
203
|
+
* @example
|
|
204
|
+
* ```ts
|
|
205
|
+
* mys.showAd({ type: 1, circle_id: '123' })
|
|
206
|
+
* ```
|
|
207
|
+
*/
|
|
208
|
+
export interface ShowAdParams extends Callbacks {
|
|
209
|
+
/** 广告类型 */
|
|
210
|
+
type: number;
|
|
211
|
+
/** 社群/圈子 ID */
|
|
212
|
+
circle_id?: string;
|
|
213
|
+
/** 循环天数 */
|
|
214
|
+
cycle_day?: string | number;
|
|
215
|
+
/** 模块 */
|
|
216
|
+
module?: string | number;
|
|
217
|
+
/** 循环 ID */
|
|
218
|
+
cycle_id?: string;
|
|
219
|
+
/** 转盘抽奖 ID */
|
|
220
|
+
wheel_lottery_id?: string | number;
|
|
221
|
+
}
|
|
222
|
+
/** toBindGameRole 参数 */
|
|
223
|
+
export interface BindGameRoleParams extends Callbacks {
|
|
224
|
+
/** 游戏名称 */
|
|
225
|
+
gameName: string;
|
|
226
|
+
/** 服务器 ID */
|
|
227
|
+
serverId: string;
|
|
228
|
+
}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { Platform, NetworkTypeStr, PermissionStatus, PermissionType } from './enums';
|
|
2
|
+
/** chooseMedia 返回值 */
|
|
3
|
+
export interface ChooseMediaResult {
|
|
4
|
+
/** 本地临时媒体文件列表 */
|
|
5
|
+
tempFiles: ChooseMediaFile[];
|
|
6
|
+
}
|
|
7
|
+
/** chooseMedia 临时媒体文件 */
|
|
8
|
+
export interface ChooseMediaFile {
|
|
9
|
+
/** 临时文件路径,可用于 img / video 预览,也可传给 uploadFiles 上传 */
|
|
10
|
+
tempFilePath: string;
|
|
11
|
+
/** 文件大小,单位 KB */
|
|
12
|
+
size?: number;
|
|
13
|
+
/** 宽度,单位 px */
|
|
14
|
+
width?: number;
|
|
15
|
+
/** 高度,单位 px */
|
|
16
|
+
height?: number;
|
|
17
|
+
/** 视频时长,单位秒,仅视频文件返回 */
|
|
18
|
+
duration?: number;
|
|
19
|
+
/** 缩略图临时路径 仅视频 */
|
|
20
|
+
thumbTempFilePath?: string;
|
|
21
|
+
}
|
|
22
|
+
/** uploadFiles 单个文件上传结果 */
|
|
23
|
+
export interface UploadFilesResultItem {
|
|
24
|
+
/** 原始本地文件路径 */
|
|
25
|
+
filePath: string;
|
|
26
|
+
/** 当前文件是否上传成功 */
|
|
27
|
+
success: boolean;
|
|
28
|
+
/** 上传后的网络 URL,成功时返回 */
|
|
29
|
+
url?: string;
|
|
30
|
+
/** 上传后的缩略图网络 URL,图片/视频可选 */
|
|
31
|
+
thumbUrl?: string;
|
|
32
|
+
}
|
|
33
|
+
/** uploadFiles 返回值 */
|
|
34
|
+
export interface UploadFilesResult {
|
|
35
|
+
/** 上传结果文件列表 */
|
|
36
|
+
files: UploadFilesResultItem[];
|
|
37
|
+
}
|
|
38
|
+
/** uploadFiles 进度 */
|
|
39
|
+
export interface UploadFilesProgress {
|
|
40
|
+
/** 每个文件的上传进度 */
|
|
41
|
+
files: UploadFilesProgressFile[];
|
|
42
|
+
}
|
|
43
|
+
/** uploadFiles 单个文件进度 */
|
|
44
|
+
export interface UploadFilesProgressFile {
|
|
45
|
+
/** 当前文件下标,从 0 开始 */
|
|
46
|
+
index: number;
|
|
47
|
+
/** 当前临时文件路径 */
|
|
48
|
+
filePath: string;
|
|
49
|
+
/** 当前文件进度,范围 0-100 */
|
|
50
|
+
progress: number;
|
|
51
|
+
}
|
|
52
|
+
/** getClipboardData 返回值 */
|
|
53
|
+
export interface GetClipboardDataResult {
|
|
54
|
+
/** 剪贴板内容 */
|
|
55
|
+
data: string;
|
|
56
|
+
}
|
|
57
|
+
/** getSystemInfo 返回值 */
|
|
58
|
+
export interface SystemInfoResult {
|
|
59
|
+
/** 设备品牌 */
|
|
60
|
+
brand: string;
|
|
61
|
+
/** 设备型号 */
|
|
62
|
+
model: string;
|
|
63
|
+
/** 设备像素比 */
|
|
64
|
+
pixelRatio: number;
|
|
65
|
+
/** 屏幕宽度(px) */
|
|
66
|
+
screenWidth: number;
|
|
67
|
+
/** 屏幕高度(px) */
|
|
68
|
+
screenHeight: number;
|
|
69
|
+
/** 可使用窗口宽度(px) */
|
|
70
|
+
windowWidth: number;
|
|
71
|
+
/** 可使用窗口高度(px) */
|
|
72
|
+
windowHeight: number;
|
|
73
|
+
/** 状态栏高度(px) */
|
|
74
|
+
statusBarHeight: number;
|
|
75
|
+
/** App 版本号 */
|
|
76
|
+
version: string;
|
|
77
|
+
/** 操作系统版本 */
|
|
78
|
+
system: string;
|
|
79
|
+
/** 平台 */
|
|
80
|
+
platform: Platform;
|
|
81
|
+
}
|
|
82
|
+
/** getNetworkType 返回值 */
|
|
83
|
+
export interface NetworkTypeResult {
|
|
84
|
+
/** 网络类型 */
|
|
85
|
+
networkType: NetworkTypeStr;
|
|
86
|
+
}
|
|
87
|
+
/** checkPermission 返回值 */
|
|
88
|
+
export interface CheckPermissionResult {
|
|
89
|
+
/** 权限类型 */
|
|
90
|
+
permission: PermissionType;
|
|
91
|
+
/** 权限检查结果 */
|
|
92
|
+
result: PermissionStatus;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* 键盘高度变化回调。
|
|
96
|
+
*
|
|
97
|
+
* 事件监听直接返回 CSS 逻辑像素高度,不包装 code/msg/result。
|
|
98
|
+
*/
|
|
99
|
+
export type KeyboardHeightChangeCallback = (height: number) => void;
|
|
100
|
+
/**
|
|
101
|
+
* 评论区面板状态变化事件 payload。
|
|
102
|
+
*
|
|
103
|
+
* 事件监听直接返回该业务对象,不包装 code/msg/result。
|
|
104
|
+
*/
|
|
105
|
+
export interface CommentPanelChangeResult {
|
|
106
|
+
/** 评论区面板是否可见 */
|
|
107
|
+
visible: boolean;
|
|
108
|
+
/** 评论区面板状态变化原因 */
|
|
109
|
+
reason: string;
|
|
110
|
+
}
|
|
111
|
+
/** 评论区面板状态变化回调 */
|
|
112
|
+
export type CommentPanelChangeCallback = (res: CommentPanelChangeResult) => void;
|
|
113
|
+
/** 用户基本信息 */
|
|
114
|
+
export interface UserInfo {
|
|
115
|
+
/** 用户昵称 */
|
|
116
|
+
nickName?: string;
|
|
117
|
+
/** 头像 URL */
|
|
118
|
+
avatarUrl?: string;
|
|
119
|
+
/** 用户 ID */
|
|
120
|
+
userId?: string;
|
|
121
|
+
/** 性别 0:未知 1:男 2:女 */
|
|
122
|
+
gender?: number;
|
|
123
|
+
}
|
|
124
|
+
/** login 返回值 */
|
|
125
|
+
export interface LoginResult {
|
|
126
|
+
/** 授权码 */
|
|
127
|
+
readonly code: string;
|
|
128
|
+
/** 用户信息 */
|
|
129
|
+
readonly userInfo?: UserInfo;
|
|
130
|
+
}
|
|
131
|
+
/** getToken 返回值 */
|
|
132
|
+
export interface GetTokenResult {
|
|
133
|
+
/** 登录 Token */
|
|
134
|
+
readonly token: string;
|
|
135
|
+
}
|
|
136
|
+
/** getCurrentCircleInfo 返回值 */
|
|
137
|
+
export interface GetCircleInfoResult {
|
|
138
|
+
/** 服务器 ID */
|
|
139
|
+
readonly serverId: string;
|
|
140
|
+
/** 社群/圈子名称 */
|
|
141
|
+
readonly name: string;
|
|
142
|
+
/** 社群/圈子图标 URL */
|
|
143
|
+
readonly icon: string;
|
|
144
|
+
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@docoi/mys-sdk",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "1.0.1",
|
|
4
|
+
"description": "基于 JSBridge 封装的H5 SDK,统一 Native 通信与业务 API 封装",
|
|
5
5
|
"author": "tanyangkang",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"sideEffects": false,
|
|
@@ -17,63 +17,29 @@
|
|
|
17
17
|
"access": "public"
|
|
18
18
|
},
|
|
19
19
|
"type": "module",
|
|
20
|
-
"main": "./dist/index.js",
|
|
21
20
|
"module": "./dist/index.mjs",
|
|
22
21
|
"types": "./dist/index.d.ts",
|
|
23
22
|
"exports": {
|
|
24
23
|
".": {
|
|
25
24
|
"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
|
-
]
|
|
25
|
+
"import": "./dist/index.mjs"
|
|
51
26
|
}
|
|
52
27
|
},
|
|
53
28
|
"files": [
|
|
54
29
|
"dist"
|
|
55
30
|
],
|
|
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
31
|
"dependencies": {
|
|
63
|
-
"@docoi/jsbridge-sdk": "
|
|
64
|
-
},
|
|
65
|
-
"peerDependencies": {
|
|
66
|
-
"vue": "^3.0.0"
|
|
67
|
-
},
|
|
68
|
-
"peerDependenciesMeta": {
|
|
69
|
-
"vue": {
|
|
70
|
-
"optional": true
|
|
71
|
-
}
|
|
32
|
+
"@docoi/jsbridge-sdk": "2.0.2"
|
|
72
33
|
},
|
|
73
34
|
"devDependencies": {
|
|
74
|
-
"@changesets/cli": "^2.
|
|
75
|
-
"typescript": "^5.
|
|
76
|
-
"vite": "^5.
|
|
77
|
-
"
|
|
35
|
+
"@changesets/cli": "^2.31.1",
|
|
36
|
+
"typescript": "^5.9.3",
|
|
37
|
+
"vite": "^5.4.21",
|
|
38
|
+
"vite-plugin-dts": "^5.0.3"
|
|
39
|
+
},
|
|
40
|
+
"scripts": {
|
|
41
|
+
"dev": "vite build --watch",
|
|
42
|
+
"build": "vite build",
|
|
43
|
+
"type-check": "tsc --noEmit"
|
|
78
44
|
}
|
|
79
|
-
}
|
|
45
|
+
}
|
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
|