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

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,18 @@
1
1
  # Changelog
2
+ ## [1.0.0-beta.27](http://git.inspur.com/ecbh/lambo-design/lambo-design/-/compare/@lambo-design-mobile/lambo-js-bridge@1.0.0-beta.26...@lambo-design-mobile/lambo-js-bridge@1.0.0-beta.27) (2025-03-25)
3
+
4
+
5
+ ### ✨ Features | 新功能
6
+
7
+ * **@lambo-design-mobile/js-bridge:** 生物识别接口新增入参 ([b276936](http://git.inspur.com/ecbh/lambo-design/lambo-design/-/commit/b276936a9a6b80c6e96cb00ae3e08fc8ad466795))
8
+
9
+ ## [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)
10
+
11
+
12
+ ### ✨ Features | 新功能
13
+
14
+ * **@lambo-design-mobile/js-bridge:** 新增生物认证接口 ([cfb8f94](http://git.inspur.com/ecbh/lambo-design/lambo-design/-/commit/cfb8f9453f3ec769463b1cacc8fa9ab5b32e808f))
15
+
2
16
  ## [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
17
 
4
18
 
package/README.md CHANGED
@@ -450,3 +450,74 @@ 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 options = {
462
+ localizedReason: 'A1',
463
+ biometricHint: 'A2',
464
+ cancelButton: 'A3',
465
+ signInTitle: 'A4'
466
+ }
467
+ const result = await this.$lamboJsBridge.localAuthPlugin(options)
468
+ this.localAuthResult = JSON.stringify(result, null, 2)
469
+ console.log('localAuthResult:', result);
470
+ this.availableBiometrics = '' // 清空另一个结果
471
+ } catch (error) {
472
+ // 结构化错误处理
473
+ const errorMessage = error.msg || error.message || '未知错误';
474
+ const authId = error.authId || '未知设备';
475
+
476
+ this.localAuthResult = `认证失败:${errorMessage},authId:${authId}`;
477
+ console.error('完整错误信息:', error);
478
+ }
479
+ },
480
+ async getAvailableBiometrics() {
481
+ try {
482
+ const result = await this.$lamboJsBridge.getAvailableBiometrics()
483
+ this.availableBiometrics = JSON.stringify(result, null, 2)
484
+ this.localAuthResult = '' // 清空另一个结果
485
+ } catch (error) {
486
+ this.availableBiometrics = `获取失败: ${error.message}`
487
+ }
488
+ },
489
+ ```
490
+
491
+ ### 参数说明
492
+
493
+ `localAuthPlugin params`: Object
494
+
495
+ | 属性 | 类型 | 默认值 | 必填 | 支持平台 | 说明 |
496
+ |-----------|--------|-------|-----|----------|---------------------|
497
+ | localizedReason | string | 认证 | 否 | Yuntu | 自定义生物识别验证弹窗居中正文文字 |
498
+ | biometricHint | string | 扫描指纹进行身份验证 | 否 | Yuntu | 自定义生物识别验证弹窗副标题文字 |
499
+ | cancelButton | string | 取消 | 否 | Yuntu | 自定义生物识别验证弹窗取消位置按钮文字 |
500
+ | signInTitle | string | 指纹验证 | 否 | Yuntu | 自定义生物识别验证弹窗标题 |
501
+
502
+ <br>
503
+
504
+ `getAvailableBiometrics`: 无需参数
505
+
506
+ ### 返回说明
507
+
508
+ `localAuthPlugin: Promise<Object>`
509
+
510
+ | 属性 | 类型 | 默认值 | 必填 | 支持平台 | 说明 |
511
+ |--------|--|----------|-----|----------|------|
512
+ | msg | string | | 是 | Yuntu | 返回信息 |
513
+ | authId | string | | 是 | Yuntu | 设备ID |
514
+
515
+ <br>
516
+
517
+ `getAvailableBiometrics: Promise<Object>`
518
+
519
+ | 属性 | 类型 | 默认值 | 必填 | 支持平台 | 说明 |
520
+ |---------------------|--------|----------|-----|----------|---------|
521
+ | msg | string | | 是 | Yuntu | 返回信息 |
522
+ | availableBiometrics | array | | 是 | Yuntu | 支持的生物识别 |
523
+ | 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,37 @@ export default {
326
347
  console.error('Error initializing key:', error);
327
348
  }
328
349
  },
350
+ async localAuth() {
351
+ try {
352
+ const options = {
353
+ localizedReason: 'A1',
354
+ biometricHint: 'A2',
355
+ cancelButton: 'A3',
356
+ signInTitle: 'A4'
357
+ }
358
+ const result = await this.$lamboJsBridge.localAuthPlugin(options)
359
+ this.localAuthResult = JSON.stringify(result, null, 2)
360
+ console.log('localAuthResult:', result);
361
+ this.availableBiometrics = '' // 清空另一个结果
362
+ } catch (error) {
363
+ // 结构化错误处理
364
+ const errorMessage = error.msg || error.message || '未知错误';
365
+ const authId = error.authId || '未知设备';
366
+
367
+ this.localAuthResult = `认证失败:${errorMessage},authId:${authId}`;
368
+ console.error('完整错误信息:', error);
369
+ }
370
+ },
371
+ async getAvailableBiometrics() {
372
+ try {
373
+
374
+ const result = await this.$lamboJsBridge.getAvailableBiometrics()
375
+ this.availableBiometrics = JSON.stringify(result, null, 2)
376
+ this.localAuthResult = '' // 清空另一个结果
377
+ } catch (error) {
378
+ this.availableBiometrics = `获取失败: ${error.message}`
379
+ }
380
+ },
329
381
  },
330
382
  mounted() {
331
383
  window.updateAudioDisplay = this.updateAudioDisplay;
@@ -379,4 +431,23 @@ code {
379
431
  max-width: 100%;
380
432
  border-radius: 4px;
381
433
  }
434
+ .auth-buttons {
435
+ margin-bottom: 16px;
436
+ }
437
+
438
+ .auth-button {
439
+ min-width: 120px;
440
+ }
441
+
442
+ .result-box {
443
+ margin-top: 12px;
444
+ border-top: 1px solid #eee;
445
+ padding-top: 12px;
446
+ }
447
+
448
+ .result-title {
449
+ color: #666;
450
+ font-size: 12px;
451
+ margin-bottom: 8px;
452
+ }
382
453
  </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.27",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "author": "lambo",