@bud-fe/h5-native-bridge 1.0.4 → 1.0.5

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.
@@ -105,6 +105,7 @@ export declare class NativeBridgeCore {
105
105
  * 调用原生方法
106
106
  */
107
107
  callNative<T = any>(options: CallNativeOptions, callbacks?: CallbacksBase<T>): string;
108
+ isIOS(): boolean;
108
109
  /**
109
110
  * 同步调用原生方法
110
111
  *
@@ -130,9 +131,9 @@ export declare class NativeBridgeCore {
130
131
  */
131
132
  private mockNativeCall;
132
133
  /**
133
- * 释放回调
134
+ * 释放回调资源
134
135
  */
135
- releaseCallback(callbackId: string): void;
136
+ private releaseCallback;
136
137
  /**
137
138
  * 设置调试模式
138
139
  */
@@ -151,17 +152,17 @@ export declare class NativeBridgeCore {
151
152
  */
152
153
  isDebugMode(): boolean;
153
154
  /**
154
- * 日志记录 - 信息
155
+ * 日志输出
155
156
  */
156
- log(message: string, ...args: any[]): void;
157
+ private log;
157
158
  /**
158
- * 日志记录 - 警告
159
+ * 错误日志输出
159
160
  */
160
- warn(message: string, ...args: any[]): void;
161
+ private error;
161
162
  /**
162
- * 日志记录 - 错误
163
+ * 警告日志输出
163
164
  */
164
- error(source: string, error: Error): void;
165
+ private warn;
165
166
  /**
166
167
  * 获取回调映射表
167
168
  */
@@ -62,9 +62,17 @@ export interface compressImageOptions extends CallbacksBase {
62
62
  export interface compressImageResponse {
63
63
  filePaths: string;
64
64
  }
65
+ export interface compressVideoOptions extends CallbacksBase {
66
+ filePath: string;
67
+ compressLevel?: number;
68
+ }
69
+ export interface compressVideoResponse {
70
+ filePath: string;
71
+ }
65
72
  export interface ChooseVideoOptions extends CallbacksBase {
66
73
  sourceType?: string[];
67
74
  maxDuration?: number;
75
+ compressLevel?: number;
68
76
  }
69
77
  export interface ChooseVideoResponse {
70
78
  filePath: string;
@@ -73,6 +81,10 @@ export interface ChooseVideoResponse {
73
81
  height: number;
74
82
  width: number;
75
83
  }
84
+ export interface UploadProgressOptions {
85
+ progress: number;
86
+ status: number;
87
+ }
76
88
  declare module "../core" {
77
89
  interface PluginMethods {
78
90
  saveImage: (options: MediaInfoOptions) => Promise<NativeResponse>;
@@ -80,7 +92,9 @@ declare module "../core" {
80
92
  chooseImage: (options?: ChooseImageOptions) => Promise<ChooseImageResponse>;
81
93
  previewImage: (options: previewImageOptions) => Promise<void>;
82
94
  compressImage: (options: compressImageOptions) => Promise<compressImageResponse>;
95
+ compressVideo: (options: compressVideoOptions) => Promise<compressVideoResponse>;
83
96
  chooseVideo: (options?: ChooseVideoOptions) => Promise<ChooseVideoResponse>;
97
+ onUploadProgress: (callback: (progress: UploadProgressOptions) => void) => void;
84
98
  }
85
99
  interface NativeBridgeCore extends PluginMethods {
86
100
  }
@@ -139,11 +153,18 @@ declare class MediaPlugin implements BridgePlugin {
139
153
  * @returns 返回一个Promise,解析为压缩后的图片响应数据
140
154
  */
141
155
  compressImage(options: compressImageOptions): Promise<compressImageResponse>;
156
+ /**
157
+ * 压缩视频
158
+ * @param options 压缩视频的配置选项
159
+ * @returns 返回一个Promise,解析为压缩后的视频响应数据
160
+ */
161
+ compressVideo(options: compressVideoOptions): Promise<compressVideoResponse>;
142
162
  /**
143
163
  * 选择视频文件
144
164
  * @param options 选择视频的配置选项,包含以下属性:
145
165
  * @param options.sourceType 视频来源类型,默认同时支持相册和相机['album','camera']
146
166
  * @param options.maxDuration 视频最大时长(秒),默认60秒
167
+ * @param options.compressLevel?: number; //压缩级别,支持 0 ~ 3 的整数,默认 3, (0:低质量, 1:中等质量,2:高质量,3:不压缩)
147
168
  * @returns Promise<ChooseVideoResponse> 返回包含视频信息的Promise对象
148
169
  * @returns ChooseVideoResponse.filePath 视频临时文件路径
149
170
  * @returns ChooseVideoResponse.duration 视频时长(秒)
@@ -152,6 +173,14 @@ declare class MediaPlugin implements BridgePlugin {
152
173
  * @returns ChooseVideoResponse.width 视频宽度
153
174
  */
154
175
  chooseVideo(options?: ChooseVideoOptions): Promise<ChooseVideoResponse>;
176
+ /**
177
+ * 上传文件进度回调
178
+ * @param options 上传进度信息
179
+ * @param options.progress 上传进度,0-100
180
+ * @param options.status 上传状态,0: 正在上传、1: 上传成功、2: 失败
181
+ * @returns void
182
+ */
183
+ onUploadProgress(callback: (options: UploadProgressOptions) => void): void;
155
184
  }
156
185
  export declare const mediaPlugin: MediaPlugin;
157
186
  export default mediaPlugin;
@@ -58,6 +58,15 @@ declare module "../core" {
58
58
  * @param options 链接选项
59
59
  */
60
60
  openLink: (options: OpenLinkOptions) => Promise<void>;
61
+ /**
62
+ * 跳转原生设置页面
63
+ * @param url 要跳转的原生页面URL
64
+ */
65
+ navigateToNativePage: (url: string) => Promise<void>;
66
+ /**
67
+ * 关闭当前WebView页面
68
+ */
69
+ closeCurrentPage: () => Promise<void>;
61
70
  }
62
71
  interface NativeBridgeCore extends PluginMethods {
63
72
  }
@@ -79,6 +88,17 @@ declare class NavigatePlugin implements BridgePlugin {
79
88
  * @returns Promise对象,解析为打开链接的响应
80
89
  */
81
90
  openLink(options: OpenLinkOptions): Promise<void>;
91
+ /**
92
+ * 跳转原生设置页面
93
+ * @param url 要跳转的原生页面URL
94
+ * @returns Promise<void>
95
+ */
96
+ navigateToNativePage(url: string): Promise<void>;
97
+ /**
98
+ * 关闭当前WebView页面
99
+ * @returns Promise<void>
100
+ */
101
+ closeCurrentPage(): Promise<void>;
82
102
  }
83
103
  export declare const navigatePlugin: NavigatePlugin;
84
104
  export default navigatePlugin;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bud-fe/h5-native-bridge",
3
- "version": "1.0.4",
3
+ "version": "1.0.5",
4
4
  "description": "H5与原生App通信工具库",
5
5
  "type": "module",
6
6
  "main": "./dist/native-bridge.umd.js",
@@ -16,12 +16,6 @@
16
16
  "files": [
17
17
  "dist"
18
18
  ],
19
- "scripts": {
20
- "dev": "vite",
21
- "build": "vite build",
22
- "preview": "vite preview",
23
- "test": "vitest"
24
- },
25
19
  "keywords": [
26
20
  "h5",
27
21
  "native",
@@ -31,6 +25,11 @@
31
25
  ],
32
26
  "author": "Jason_xu",
33
27
  "license": "MIT",
28
+ "browserslist": [
29
+ "> 1%",
30
+ "last 2 versions",
31
+ "ie >= 9"
32
+ ],
34
33
  "devDependencies": {
35
34
  "@types/node": "^20.8.0",
36
35
  "terser": "^5.20.0",
@@ -42,5 +41,11 @@
42
41
  "publishConfig": {
43
42
  "access": "public",
44
43
  "registry": "https://registry.npmjs.org"
44
+ },
45
+ "scripts": {
46
+ "dev": "vite",
47
+ "build": "vite build",
48
+ "preview": "vite preview",
49
+ "test": "vitest"
45
50
  }
46
- }
51
+ }