@hd-front-end/jsbridge-sdk 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/README.md ADDED
@@ -0,0 +1,143 @@
1
+ # JSBridge SDK
2
+
3
+ > 生产级 JSBridge SDK - 通过原生 log 能力实现监控和日志上报
4
+
5
+ ## ✨ 核心特性
6
+
7
+ - 🎯 **职责单一** - 只封装原生 API,不包含适配层
8
+ - 📱 **双平台支持** - 兼容 Android 和 iOS
9
+ - 📊 **统一日志管理** - 监控和业务日志都通过原生 log 上报
10
+ - 📝 **提供 log API** - 子应用可以上传业务日志
11
+ - 🔍 **Debug 模式** - 支持开启调试模式和调用追踪
12
+ - 💪 **类型安全** - 完整的 TypeScript 类型定义
13
+ - ⚡ **高性能** - 毫秒级初始化,内置竞态处理机制
14
+ - 📦 **体积小** - 20KB(gzip: 7KB)
15
+
16
+ ## 🎯 两个目的
17
+
18
+ 1. ✅ **监控 SDK 稳定性** - SDK 自动记录性能和错误,通过原生 log 上报
19
+ 2. ✅ **提供子应用日志能力** - 子应用调用 `JSBridge.log.*` 上传业务日志
20
+
21
+ ## 🚀 快速开始
22
+
23
+ ### 安装
24
+
25
+ ```bash
26
+ npm install @hd-front-end/jsbridge-sdk
27
+ ```
28
+
29
+ ### 基础使用
30
+
31
+ ```typescript
32
+ import { init, JSBridge } from '@hd/jsbridge-sdk'
33
+
34
+ // 初始化
35
+ await init({
36
+ monitor: {
37
+ enabled: true,
38
+ autoReport: true, // 通过 log 自动上报
39
+ logTag: 'JSBridge-Monitor'
40
+ }
41
+ })
42
+
43
+ // 使用 bridge API
44
+ // SDK 会自动处理初始化等待,无需手动 check
45
+ const result = await JSBridge.scan()
46
+
47
+ // 上传业务日志
48
+ await JSBridge.log.info('用户点击了购买按钮', 'UserBehavior')
49
+ await JSBridge.log.error('支付失败', 'Payment')
50
+ ```
51
+
52
+ ### 调试模式
53
+
54
+ SDK 不再内置 vConsole,以减少包体积和避免依赖冲突。如果需要 vConsole,请在业务项目中自行安装。
55
+
56
+ ```typescript
57
+ // 业务代码中
58
+ import VConsole from 'vconsole'
59
+
60
+ if (process.env.NODE_ENV === 'development') {
61
+ new VConsole()
62
+
63
+ // 开启 SDK 调试模式
64
+ init({
65
+ debug: {
66
+ enabled: true, // 开启后会在控制台输出详细的调用日志
67
+ logLevel: 'debug'
68
+ }
69
+ })
70
+ }
71
+ ```
72
+
73
+ ## 📚 文档
74
+
75
+ ### 快速入口
76
+
77
+ - **[docs/README.md](./docs/README.md)** - 📖 文档索引(从这里开始)
78
+ - **[docs/05-迁移指南.md](./docs/05-迁移指南.md)** - 🔄 Vue2/Vue3 集成指南
79
+ - **[docs/生产级-架构设计-v2.md](./docs/生产级-架构设计-v2.md)** - 🏗️ 完整架构
80
+ - **[docs/设计理念说明.md](./docs/设计理念说明.md)** - 💡 设计理念(⭐ 必读)
81
+
82
+ ### 详细文档
83
+
84
+ - [平台兼容性说明.md](./docs/平台兼容性说明.md) - Android/iOS 兼容
85
+ - [监控指南.md](./docs/监控指南.md) - 监控使用指南
86
+ - [更新日志.md](./docs/更新日志.md) - 版本演进历史
87
+ - [关键问题解答.md](./docs/关键问题解答.md) - 核心问题解答
88
+
89
+ ### 工作总结
90
+
91
+ - [最终工作报告-v2.md](./最终工作报告-v2.md) - 完整工作总结
92
+ - [阶段3-总结.md](./阶段3-总结.md) - 集成测试与性能攻坚总结
93
+
94
+ ## 🏗️ 架构设计
95
+
96
+ ```
97
+ ┌─────────────────────────────────────┐
98
+ │ 子应用 │
99
+ │ - 调用 JSBridge.log.info(...) │
100
+ │ - 上传业务日志 │
101
+ └─────────────────────────────────────┘
102
+
103
+ ┌─────────────────────────────────────┐
104
+ │ @hd/jsbridge-sdk │
105
+ │ ├── 核心通信(Android/iOS) │
106
+ │ ├── API 层(device/media/log...) │
107
+ │ ├── 监控层(通过 log 上报) │
108
+ │ └── Debug 层(调用追踪) │
109
+ └─────────────────────────────────────┘
110
+
111
+ ┌─────────────────────────────────────┐
112
+ │ 原生 WebView │
113
+ │ ├── log handler │
114
+ │ ├── LogUtil 写入日志文件 │
115
+ │ └── 统一上传到服务器 │
116
+ └─────────────────────────────────────┘
117
+ ```
118
+
119
+ ## 💻 核心 API
120
+
121
+ ### Bridge API
122
+
123
+ ```typescript
124
+ // 扫码
125
+ const result = await JSBridge.scan()
126
+
127
+ // 拨打电话
128
+ await JSBridge.makePhoneCall({ phoneNumber: '10086' })
129
+
130
+ // 震动
131
+ await JSBridge.vibrate()
132
+
133
+ // 获取设备信息
134
+ const info = await JSBridge.getDeviceInfo()
135
+ ```
136
+
137
+ ### Log API
138
+
139
+ ```typescript
140
+ // 记录日志
141
+ await JSBridge.log.info('操作成功', 'Business')
142
+ await JSBridge.log.error('接口异常', 'Network', { status: 500 })
143
+ ```