qsh-webview-sdk 2.4.6 → 2.4.8

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/README.md CHANGED
@@ -47,7 +47,6 @@ import qsh from 'qsh-webview-sdk';
47
47
 
48
48
  // 等待 SDK 就绪后再调用 API(内部也有自动等待机制)
49
49
  qsh.ready().then(() => {
50
- qsh.navigateTo({ url: '/pages/test/test' });
51
50
  });
52
51
  ```
53
52
 
@@ -79,7 +78,7 @@ await qsh.ready();
79
78
 
80
79
  - 浏览器环境下,SDK 会在 DOM 就绪后自动初始化,并触发 `UniAppJSBridgeReady` 事件。
81
80
  - SSR/Node 环境不会执行自动初始化;在客户端 Hydration 后会按上述规则自动初始化。
82
- - 所有对外 API(如 `navigateTo`、`postMessage`、`getEnv` 等)内置自动等待机制:即使在未就绪时调用,也会在就绪后自动执行,无需手动监听事件。
81
+ - 所有对外 API(如 `postMessage`、`getEnv` 等)内置自动等待机制:即使在未就绪时调用,也会在就绪后自动执行,无需手动监听事件。
83
82
  - 仍可使用 `qsh.ready()` 等待准备完成;如需“控制初始化时机”,可手动调用 `qsh.init()`。该方法是幂等的,多次调用仅首次生效。
84
83
 
85
84
  > 注:当检测到运行于微信内且为小程序 web-view 场景时,SDK 将自动按需注入 `jweixin-1.6.2.js`(若页面已引入则不会重复注入)。若你需要自定义版本或自行控制加载时机,可在页面提前引入 jweixin,SDK 将跳过自动注入。
@@ -88,7 +87,7 @@ await qsh.ready();
88
87
 
89
88
  ```javascript
90
89
  // 直接调用,无需等待(内部会自动等待就绪)
91
- qsh.navigateTo({ url: '/pages/detail/detail?id=1' });
90
+ qsh.postMessage({ data: {} });
92
91
 
93
92
  // 如需在 UI 上显示“就绪状态”,可以使用 ready()
94
93
  qsh.ready().then(() => {
@@ -96,35 +95,6 @@ qsh.ready().then(() => {
96
95
  });
97
96
  ```
98
97
 
99
- ### 导航功能
100
-
101
- ```javascript
102
- // 跳转到新页面
103
- qsh.navigateTo({
104
- url: '/pages/detail/detail?id=1'
105
- });
106
-
107
- // 返回上一页
108
- qsh.navigateBack({
109
- delta: 1
110
- });
111
-
112
- // 切换 Tab
113
- qsh.switchTab({
114
- url: '/pages/home/home'
115
- });
116
-
117
- // 重启应用
118
- qsh.reLaunch({
119
- url: '/pages/index/index'
120
- });
121
-
122
- // 重定向
123
- qsh.redirectTo({
124
- url: '/pages/login/login'
125
- });
126
- ```
127
-
128
98
  ### 消息通信
129
99
 
130
100
  ```javascript
@@ -151,25 +121,16 @@ qsh.getEnv(function(result) {
151
121
  // 获取当前环境信息
152
122
  const env = qsh.environment;
153
123
 
154
- console.log('环境类型:', env.type); // 'weixin' | 'webview' | 'offline'
124
+ console.log('环境类型:', env.type); // 'weixin' | 'offline' | 'uvue' | 'webview'
155
125
  console.log('是否微信小程序:', env.isWeixinMiniProgram);
156
- console.log('是否在 App 基座中:', env.isUniApp);
126
+ console.log('是否App:', env.isUniApp);
127
+ console.log('是否鸿蒙:', env.isUvue);
157
128
  ```
158
129
 
159
130
  <!-- 加密能力(SM2/SM3/SM4)已在 v2.1.0 起移除,如需相关能力请在业务侧引入专用加密库。 -->
160
131
 
161
132
  ## API 文档
162
133
 
163
- ### 导航 API
164
-
165
- | 方法 | 说明 | 参数 |
166
- |------|------|------|
167
- | `navigateTo` | 保留当前页面,跳转到应用内的某个页面 | `{ url: string }` |
168
- | `navigateBack` | 关闭当前页面,返回上一页面或多级页面 | `{ delta?: number }` |
169
- | `switchTab` | 跳转到 tabBar 页面 | `{ url: string }` |
170
- | `reLaunch` | 关闭所有页面,打开到应用内的某个页面 | `{ url: string }` |
171
- | `redirectTo` | 关闭当前页面,跳转到应用内的某个页面 | `{ url: string }` |
172
-
173
134
  ### 消息 API
174
135
 
175
136
  | 方法 | 说明 | 参数 |
@@ -349,7 +310,6 @@ src/
349
310
  │ ├── image.js # 图片 API
350
311
  │ ├── scan.js # 扫码 API
351
312
  │ ├── location.js # 位置 API
352
- │ ├── navigation.js # 导航 API
353
313
  │ └── message.js # 消息 API
354
314
  ├── index.js # 主入口
355
315
  └── index.d.ts # 类型定义
@@ -372,30 +332,29 @@ references/ # 开发参考(如原版 uni.webview.1.5.6.js)
372
332
 
373
333
  ### 小程序(web-view)
374
334
 
375
- - [x] 扫码 ✅
376
- - [x] 获取位置 ✅
377
- - [x] 查看位置 ✅
378
- - [x] 照片选择
379
- - [ ] 相机
380
- - [ ] 打开地图选择位置
381
- - [ ] 人脸核身
335
+ - [] 扫码 ✅
336
+ - [] 获取位置 ✅
337
+ - [] 查看位置 ✅
338
+ - [] 微信分享
339
+ - [] 照片选择 ✅
340
+ - [] 打开地图选择位置
341
+ - [] 人脸核身
382
342
 
383
343
  ### APP(UniApp/Plus/NVUE/UVUE)
384
344
 
385
- - [x] 扫码 ✅
386
- - [x] 获取位置 ✅
387
- - [x] 查看位置 ✅
388
- - [x] 照片选择 ✅
389
- - [x] 持续定位 ✅
390
- - [ ] 相机
391
- - [ ] 蓝牙
392
- - [ ] WiFi
393
- - [ ] 微信分享
394
- - [x] 照片选择 ✅
395
- - [ ] 文件选择
396
- - [ ] 打开地图选择位置
397
- - [ ] 人脸核身
398
- - [ ] 打印服务
345
+ - [] 扫码 ✅
346
+ - [] 获取位置 ✅
347
+ - [] 查看位置 ✅
348
+ - [] 照片选择 ✅
349
+ - [] 持续定位 ✅
350
+ - [x] 相机
351
+ - [x] 蓝牙
352
+ - [] 微信分享 ✅
353
+ - [] 照片选择 ✅
354
+ - [x] 文件选择
355
+ - [] 打开地图选择位置 ✅
356
+ - [] 人脸核身 ✅
357
+ - [] 打印服务 ✅
399
358
 
400
359
  ### 扫码功能
401
360
 
@@ -602,8 +561,9 @@ qsh.createBLEConnection({
602
561
  ```javascript
603
562
  // 打开地图选择位置(APP)
604
563
  qsh.chooseLocation({
605
- latitude: 39.908823, // 初始纬度
606
- longitude: 116.397470, // 初始经度
564
+ // 初始经纬度 不传默认取当前定位
565
+ latitude: 39.908823,
566
+ longitude: 116.397470,
607
567
  success: (res) => {
608
568
  console.log(res.location);
609
569
  console.log(res.formatted_address);
@@ -639,6 +599,7 @@ qsh.printPdf({
639
599
  ```javascript
640
600
  qsh.filePreview({
641
601
  url: 'https://example.com/files/demo.pdf', // 文件地址
602
+ fileType: 'pdf', // 文件类型
642
603
  showMenu: true, // 是否显示右上角菜单,默认 false
643
604
  success: (res) => console.log('文件预览请求成功', res),
644
605
  fail: (err) => console.error('文件预览失败:', err)
@@ -647,11 +608,12 @@ qsh.filePreview({
647
608
  // Promise 用法
648
609
  await qsh.filePreviewAsync({
649
610
  url: 'https://example.com/files/demo.pdf',
611
+ fileType: 'pdf',
650
612
  showMenu: false
651
613
  });
652
614
  ```
653
615
 
654
- > 仅支持以下文件格式:`doc`、`xls`、`ppt`、`pdf`、`docx`、`xlsx`、`pptx`。
616
+ > `fileType` 仅支持以下取值:`doc`、`xls`、`ppt`、`pdf`、`docx`、`xlsx`、`pptx`。
655
617
  > 微信小程序 `web-view` 下,SDK 会通过 `wx.miniProgram.postMessage` 把预览请求投递给宿主,再调用 `wx.miniProgram.navigateBack` 返回基座;APP 端通过 `callApiInWebView` 调用基座能力。
656
618
 
657
619
  ### 跳转其他微信小程序
@@ -660,8 +622,7 @@ await qsh.filePreviewAsync({
660
622
  qsh.navigateToMiniProgram({
661
623
  appid: '',
662
624
  path: '',
663
- // release/trial/develop
664
- env: 'release',
625
+ env: 'release', // release/trial/develop
665
626
  success: (res) => console.log('跳转成功', res),
666
627
  fail: (err) => console.error('跳转失败:', err),
667
628
  });
@@ -736,8 +697,6 @@ onMounted(async () => {
736
697
  qsh.ready().catch((err) => {
737
698
  console.error('qsh ready failed', err)
738
699
  })
739
-
740
- qsh.navigateTo({ url: '/pages/demo/index' });
741
700
  });
742
701
  </script>
743
702
  ```
package/dist/index.d.ts CHANGED
@@ -54,9 +54,13 @@ declare namespace UniWebView {
54
54
  [key: string]: any;
55
55
  }
56
56
 
57
+ type FilePreviewType = "doc" | "xls" | "ppt" | "pdf" | "docx" | "xlsx" | "pptx";
58
+
57
59
  interface FilePreviewOptions {
58
60
  /** file url */
59
61
  url: string;
62
+ /** file type */
63
+ fileType: FilePreviewType;
60
64
  /** whether to show the top-right menu */
61
65
  showMenu?: boolean;
62
66
  /** success callback */