@lambo-design-mobile/lambo-js-bridge 1.0.0-beta.25 → 1.0.0-beta.26

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/CHANGELOG.md CHANGED
@@ -1,4 +1,11 @@
1
1
  # Changelog
2
+ ## [1.0.0-beta.26](http://git.inspur.com/ecbh/lambo-design/lambo-design/-/compare/@lambo-design-mobile/lambo-js-bridge@1.0.0-beta.25...@lambo-design-mobile/lambo-js-bridge@1.0.0-beta.26) (2025-03-19)
3
+
4
+
5
+ ### ✨ Features | 新功能
6
+
7
+ * **@lambo-design-mobile/js-bridge:** 新增生物认证接口 ([cfb8f94](http://git.inspur.com/ecbh/lambo-design/lambo-design/-/commit/cfb8f9453f3ec769463b1cacc8fa9ab5b32e808f))
8
+
2
9
  ## [1.0.0-beta.25](http://git.inspur.com/ecbh/lambo-design/lambo-design/-/compare/@lambo-design-mobile/lambo-js-bridge@1.0.0-beta.24...@lambo-design-mobile/lambo-js-bridge@1.0.0-beta.25) (2025-03-10)
3
10
 
4
11
 
package/README.md CHANGED
@@ -450,3 +450,52 @@ async downloadFile() {
450
450
  | 属性 | 类型 | 默认值 | 必填 | 支持平台 | 说明 |
451
451
  |-----------|--|----------|-----|----------|---------|
452
452
  | filePath | string | | 是 | Yuntu | 录音文件的路径 |
453
+
454
+ ### 生物认证
455
+
456
+ 提供本地生物特征认证能力,支持指纹/面容识别验证,支持查询设备可用生物特征类型。
457
+
458
+ ``` javascript
459
+ async localAuth() {
460
+ try {
461
+ const result = await this.$lamboJsBridge.localAuthPlugin()
462
+ this.localAuthResult = JSON.stringify(result, null, 2)
463
+ this.availableBiometrics = '' // 清空另一个结果
464
+ } catch (error) {
465
+ this.localAuthResult = `认证失败: ${error.message}`
466
+ }
467
+ },
468
+ async getAvailableBiometrics() {
469
+ try {
470
+ const result = await this.$lamboJsBridge.getAvailableBiometrics()
471
+ this.availableBiometrics = JSON.stringify(result, null, 2)
472
+ this.localAuthResult = '' // 清空另一个结果
473
+ } catch (error) {
474
+ this.availableBiometrics = `获取失败: ${error.message}`
475
+ }
476
+ },
477
+ ```
478
+
479
+ ### 参数说明
480
+
481
+ `localAuthPlugin`: 无需参数<br>
482
+ `getAvailableBiometrics`: 无需参数
483
+
484
+ ### 返回说明
485
+
486
+ `localAuthPlugin: Promise<Object>`
487
+
488
+ | 属性 | 类型 | 默认值 | 必填 | 支持平台 | 说明 |
489
+ |--------|--|----------|-----|----------|------|
490
+ | msg | string | | 是 | Yuntu | 返回信息 |
491
+ | authId | string | | 是 | Yuntu | 设备ID |
492
+
493
+ <br>
494
+
495
+ `getAvailableBiometrics: Promise<Object>`
496
+
497
+ | 属性 | 类型 | 默认值 | 必填 | 支持平台 | 说明 |
498
+ |--------|--------|----------|-----|----------|---------|
499
+ | msg | string | | 是 | Yuntu | 返回信息 |
500
+ | authId | array | | 是 | Yuntu | 支持的生物识别 |
501
+ | authId | string | | 是 | Yuntu | 设备ID |
package/demo/index.vue CHANGED
@@ -59,9 +59,28 @@
59
59
  <van-button @click="downloadFile">下载文件</van-button>
60
60
  <p v-if="downloadLink">文件已下载,路径:{{ downloadLink }}</p>
61
61
  </demo-block>
62
+ <demo-block title="生物认证">
63
+ <div class="auth-buttons">
64
+ <van-button @click="localAuth" class="auth-button">生物认证</van-button>
65
+ <van-button
66
+ @click="getAvailableBiometrics"
67
+ class="auth-button"
68
+ style="margin-left: 12px"
69
+ >
70
+ 获取生物特征
71
+ </van-button>
72
+ </div>
62
73
 
74
+ <div v-if="localAuthResult" class="result-box">
75
+ <p class="result-title">认证结果:</p>
76
+ <pre><code>{{ localAuthResult }}</code></pre>
77
+ </div>
63
78
 
64
-
79
+ <div v-if="availableBiometrics" class="result-box">
80
+ <p class="result-title">支持的特征:</p>
81
+ <pre><code>{{ availableBiometrics }}</code></pre>
82
+ </div>
83
+ </demo-block>
65
84
  </demo-section>
66
85
  </template>
67
86
 
@@ -97,6 +116,8 @@ export default {
97
116
  audioData: null,
98
117
  recordingStatus: "not started", // 用于记录当前录音状态
99
118
  downloadLink : null,
119
+ localAuthResult: '', // 生物认证结果
120
+ availableBiometrics: '' // 支持的生物特征
100
121
  };
101
122
  },
102
123
  computed: {
@@ -326,6 +347,24 @@ export default {
326
347
  console.error('Error initializing key:', error);
327
348
  }
328
349
  },
350
+ async localAuth() {
351
+ try {
352
+ const result = await this.$lamboJsBridge.localAuthPlugin()
353
+ this.localAuthResult = JSON.stringify(result, null, 2)
354
+ this.availableBiometrics = '' // 清空另一个结果
355
+ } catch (error) {
356
+ this.localAuthResult = `认证失败: ${error.message}`
357
+ }
358
+ },
359
+ async getAvailableBiometrics() {
360
+ try {
361
+ const result = await this.$lamboJsBridge.getAvailableBiometrics()
362
+ this.availableBiometrics = JSON.stringify(result, null, 2)
363
+ this.localAuthResult = '' // 清空另一个结果
364
+ } catch (error) {
365
+ this.availableBiometrics = `获取失败: ${error.message}`
366
+ }
367
+ },
329
368
  },
330
369
  mounted() {
331
370
  window.updateAudioDisplay = this.updateAudioDisplay;
@@ -379,4 +418,23 @@ code {
379
418
  max-width: 100%;
380
419
  border-radius: 4px;
381
420
  }
421
+ .auth-buttons {
422
+ margin-bottom: 16px;
423
+ }
424
+
425
+ .auth-button {
426
+ min-width: 120px;
427
+ }
428
+
429
+ .result-box {
430
+ margin-top: 12px;
431
+ border-top: 1px solid #eee;
432
+ padding-top: 12px;
433
+ }
434
+
435
+ .result-title {
436
+ color: #666;
437
+ font-size: 12px;
438
+ margin-bottom: 8px;
439
+ }
382
440
  </style>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lambo-design-mobile/lambo-js-bridge",
3
- "version": "1.0.0-beta.25",
3
+ "version": "1.0.0-beta.26",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "author": "lambo",