@kbapp/js-bridge 1.0.14-alpha.0 → 1.0.15-alpha.0

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.
@@ -0,0 +1,38 @@
1
+ # checkForNewVersion
2
+
3
+ > 检测是否有新版本
4
+
5
+ ### checkForNewVersion
6
+
7
+ > 检测是否有新版本可用, iOS 无论是否有最新版本都直接跳转到应用商店, 安卓如果有新版,则弹窗提示,没有的话 toast 提示无新版本
8
+
9
+ #### 请求参数
10
+
11
+ | 参数 | 类型 | 必填 | 说明 |
12
+ | ---------- | ----------------------------- | ---- | -------- |
13
+ | `success` | `() => void` | 否 | 成功回调 |
14
+ | `fail` | `(error: BridgeCode) => void` | 否 | 失败回调 |
15
+ | `complete` | `() => void` | 否 | 完成回调 |
16
+
17
+ #### 返回值
18
+
19
+ ```js
20
+ Promise<void>
21
+ ```
22
+
23
+ #### 示例代码
24
+
25
+ ```js
26
+ import { checkForNewVersion } from '@kbapp/js-bridge'
27
+
28
+ checkForNewVersion({
29
+ success() {
30
+ console.log('检查成功')
31
+ },
32
+ fail(error) {
33
+ console.log('检查失败', error)
34
+ },
35
+ })
36
+ ```
37
+
38
+ > 支持 Promise 风格调用
@@ -0,0 +1,38 @@
1
+ # closeWebView
2
+
3
+ > 关闭当前 webview
4
+
5
+ ### closeWebView
6
+
7
+ > 关闭当前 webview
8
+
9
+ #### 请求参数
10
+
11
+ | 参数 | 类型 | 必填 | 说明 |
12
+ | ---------- | ----------------------------- | ---- | -------- |
13
+ | `success` | `() => void` | 否 | 成功回调 |
14
+ | `fail` | `(error: BridgeCode) => void` | 否 | 失败回调 |
15
+ | `complete` | `() => void` | 否 | 完成回调 |
16
+
17
+ #### 返回值
18
+
19
+ ```js
20
+ Promise<void>
21
+ ```
22
+
23
+ #### 示例代码
24
+
25
+ ```js
26
+ import { closeWebView } from '@kbapp/js-bridge'
27
+
28
+ closeWebView({
29
+ success() {
30
+ console.log('关闭成功')
31
+ },
32
+ fail(error) {
33
+ console.log('关闭失败', error)
34
+ },
35
+ })
36
+ ```
37
+
38
+ > 支持 Promise 风格调用
@@ -0,0 +1,75 @@
1
+ # defineAppShareModel
2
+
3
+ > 定义页面分享内容
4
+
5
+ ### defineAppShareModel
6
+
7
+ > 定义 app 点击转发时候的分享卡片内容
8
+
9
+ #### 请求参数 方式 1
10
+
11
+ | 参数 | 类型 | 必填 | 说明 |
12
+ | ---------- | ----------------------------- | ---- | ------------ |
13
+ | `title` | `string` | 是 | 分享标题 |
14
+ | `content` | `string` | 否 | 分享内容 |
15
+ | `imageUrl` | `string` | 是 | 分享图片 URL |
16
+ | `url` | `string` | 是 | 分享链接 URL |
17
+ | `success` | `() => void` | 否 | 成功回调 |
18
+ | `fail` | `(error: BridgeCode) => void` | 否 | 失败回调 |
19
+ | `complete` | `() => void` | 否 | 完成回调 |
20
+
21
+ #### 请求参数 方式 2
22
+
23
+ | 参数 | 类型 | 必填 | 说明 |
24
+ | ------------ | ----------------------------- | ---- | -------------------------------------------- |
25
+ | `onShareApp` | `() => AppShareModel` | 是 | 点击分享时触发的函数,返回分享模型(方式 2) |
26
+ | `success` | `() => void` | 否 | 成功回调 |
27
+ | `fail` | `(error: BridgeCode) => void` | 否 | 失败回调 |
28
+ | `complete` | `() => void` | 否 | 完成回调 |
29
+
30
+ #### 返回值
31
+
32
+ ```js
33
+ Promise<void>
34
+ ```
35
+
36
+ #### 示例代码
37
+
38
+ ```js
39
+ import { defineAppShareModel } from '@kbapp/js-bridge'
40
+
41
+ // 方式1:直接提供分享模型
42
+ defineAppShareModel({
43
+ title: '分享标题',
44
+ content: '分享内容',
45
+ imageUrl: 'https://static.kaiba315.com.cn/kaiba-logo.png',
46
+ url: 'http://www.kaiba315.com.cn/',
47
+ success() {
48
+ console.log('设置成功')
49
+ },
50
+ fail(error) {
51
+ console.log('设置失败', error)
52
+ },
53
+ })
54
+
55
+ // 方式2:提供分享模型函数(点击分享时动态生成分享内容)
56
+ defineAppShareModel({
57
+ onShareApp() {
58
+ // 点击页面右上角或分享按钮时触发该回调,动态生成分享内容
59
+ return {
60
+ title: '动态生成的分享标题',
61
+ content: '动态生成的分享内容',
62
+ imageUrl: 'https://static.kaiba315.com.cn/kaiba-logo.png',
63
+ url: 'http://www.kaiba315.com.cn/?t=' + Date.now(),
64
+ }
65
+ },
66
+ success() {
67
+ console.log('设置成功')
68
+ },
69
+ fail(error) {
70
+ console.log('设置失败', error)
71
+ },
72
+ })
73
+ ```
74
+
75
+ > 支持 Promise 风格调用
@@ -0,0 +1,42 @@
1
+ # defineAppSharePanelState
2
+
3
+ > 定义分享面板控件布局
4
+
5
+ ### defineAppSharePanelState
6
+
7
+ > 定义页面是否显示右上角分享菜单, 定义分享面板显示的相关状态
8
+
9
+ #### 请求参数
10
+
11
+ | 参数 | 类型 | 必填 | 说明 |
12
+ | ------------ | ----------------------------- | ---- | --------------------------------------------------------------------------------------------- |
13
+ | `showMenu` | `boolean` | 是 | 是否显示右上角 ... 菜单 |
14
+ | `panelStyle` | `0 1 2` | 否 | 显示分享面板布局, 0:正常显示. 1:只显示复制链接,浏览器打开相关. 2:只显示分享微信、QQ等. 默认 0 |
15
+ | `success` | `() => void` | 否 | 成功回调 |
16
+ | `fail` | `(error: BridgeCode) => void` | 否 | 失败回调 |
17
+ | `complete` | `() => void` | 否 | 完成回调 |
18
+
19
+ #### 返回值
20
+
21
+ ```js
22
+ Promise<void>
23
+ ```
24
+
25
+ #### 示例代码
26
+
27
+ ```js
28
+ import { defineAppSharePanelState } from '@kbapp/js-bridge'
29
+
30
+ defineAppSharePanelState({
31
+ showMenu: true,
32
+ panelStyle: 0,
33
+ success() {
34
+ console.log('设置成功')
35
+ },
36
+ fail(error) {
37
+ console.log('设置失败', error)
38
+ },
39
+ })
40
+ ```
41
+
42
+ > 支持 Promise 风格调用
@@ -0,0 +1,44 @@
1
+ # defineBridgeCallback
2
+
3
+ > 定义桥接调用的回调函数
4
+
5
+ ### defineBridgeCallback
6
+
7
+ > 注册供 Native 调用的桥接回调函数
8
+
9
+ #### 请求参数
10
+
11
+ | 参数 | 类型 | 必填 | 说明 |
12
+ | ---------- | ------------------------------------- | ---- | ------------ |
13
+ | `name` | `string` | 是 | 任务名称 |
14
+ | `handler` | `(...params: any[]) => any` | 是 | 回调函数 |
15
+ | `success` | `() => void` | 否 | 注册成功回调 |
16
+ | `fail` | `(error: BridgeCode) => void` | 否 | 注册失败回调 |
17
+ | `complete` | `() => void` | 否 | 完成回调 |
18
+
19
+ #### 返回值
20
+
21
+ ```js
22
+ Promise<void>
23
+ ```
24
+
25
+ #### 示例代码
26
+
27
+ ```js
28
+ import { defineBridgeCallback } from '@kbapp/js-bridge'
29
+
30
+ defineBridgeCallback({
31
+ name: 'CommonShare',
32
+ handler(data, callback) {
33
+ callback({ type: 12, data: { title: '分享标题' } })
34
+ },
35
+ success() {
36
+ console.log('注册成功')
37
+ },
38
+ fail(error) {
39
+ console.log('注册失败', error)
40
+ },
41
+ })
42
+ ```
43
+
44
+ > 支持 Promise 风格调用
@@ -0,0 +1,47 @@
1
+ # definePermissionUsage
2
+
3
+ > 定义隐私权限协议文案
4
+
5
+ ### definePermissionUsage
6
+
7
+ > 定义相关隐私政策文案,用于网页授权相关权限时提示用户
8
+
9
+ #### 请求参数
10
+
11
+ | 参数 | 类型 | 必填 | 说明 |
12
+ | ------------------------ | ----------------------------- | ---- | -------------- |
13
+ | `microphone` | `object` | 否 | 麦克风权限说明 |
14
+ | `microphone.description` | `string` | 是 | 麦克风权限描述 |
15
+ | `camera` | `object` | 否 | 相机权限说明 |
16
+ | `camera.description` | `string` | 是 | 相机权限描述 |
17
+ | `location` | `object` | 否 | 位置权限说明 |
18
+ | `location.description` | `string` | 是 | 位置权限描述 |
19
+ | `success` | `() => void` | 否 | 成功回调 |
20
+ | `fail` | `(error: BridgeCode) => void` | 否 | 失败回调 |
21
+ | `complete` | `() => void` | 否 | 完成回调 |
22
+
23
+ #### 返回值
24
+
25
+ ```js
26
+ Promise<void>
27
+ ```
28
+
29
+ #### 示例代码
30
+
31
+ ```js
32
+ import { definePermissionUsage } from '@kbapp/js-bridge'
33
+
34
+ definePermissionUsage({
35
+ microphone: { description: '用于发帖上传音频' },
36
+ location: { description: '获取你选择的位置信息,用于线下导航服务' },
37
+ camera: { description: '收集你选中的照片或视频信息,用于发表评论、分享视频' },
38
+ success() {
39
+ console.log('设置成功')
40
+ },
41
+ fail(error) {
42
+ console.log('设置失败', error)
43
+ },
44
+ })
45
+ ```
46
+
47
+ > 支持 Promise 风格调用
@@ -0,0 +1,44 @@
1
+ # generateKBSign
2
+
3
+ > 生成 kbsign
4
+
5
+ ### generateKBSign
6
+
7
+ > 生成 kbsign
8
+
9
+ #### 请求参数
10
+
11
+ | 参数 | 类型 | 必填 | 说明 |
12
+ | ------------ | ----------------------------- | ---- | ---------------------- |
13
+ | `kbSignTime` | `number` | 是 | 签名时间戳 |
14
+ | `kbSignType` | `number` | 是 | 签名类型 |
15
+ | `...` | `any` | 否 | 其他需要签名的参数 |
16
+ | `success` | `(res: string) => void` | 否 | 成功回调,返回签名结果 |
17
+ | `fail` | `(error: BridgeCode) => void` | 否 | 失败回调 |
18
+ | `complete` | `() => void` | 否 | 完成回调 |
19
+
20
+ #### 返回值
21
+
22
+ ```js
23
+ Promise<string>
24
+ ```
25
+
26
+ #### 示例代码
27
+
28
+ ```js
29
+ import { generateKBSign } from '@kbapp/js-bridge'
30
+
31
+ generateKBSign({
32
+ kbSignTime: Date.now(),
33
+ kbSignType: 1,
34
+ // 其他参数...
35
+ success(kbSign) {
36
+ console.log('签名结果', kbSign)
37
+ },
38
+ fail(error) {
39
+ console.log('签名失败', error)
40
+ },
41
+ })
42
+ ```
43
+
44
+ > 支持 Promise 风格调用
@@ -0,0 +1,39 @@
1
+ # getAppBaseInfo
2
+
3
+ > 获取设备信息
4
+
5
+ ### getAppBaseInfo
6
+
7
+ > 获取设备信息
8
+
9
+ #### 请求参数
10
+
11
+ | 参数 | 类型 | 必填 | 说明 |
12
+ | ---------- | ----------------------------- | ---- | -------- |
13
+ | `success` | `(res: AppBaseInfo) => void` | 否 | 成功回调 |
14
+ | `fail` | `(error: BridgeCode) => void` | 否 | 失败回调 |
15
+ | `complete` | `() => void` | 否 | 完成回调 |
16
+
17
+ #### 返回值
18
+
19
+ ```js
20
+ Promise<AppBaseInfo>
21
+ ```
22
+
23
+ #### 示例代码
24
+
25
+ ```js
26
+ import { getAppBaseInfo } from '@kbapp/js-bridge'
27
+
28
+ getAppBaseInfo({
29
+ success(deviceInfo) {
30
+ console.log('设备信息', deviceInfo)
31
+ console.log('版本号', deviceInfo.vcode)
32
+ },
33
+ fail(error) {
34
+ console.log('获取设备信息失败', error)
35
+ },
36
+ })
37
+ ```
38
+
39
+ > 支持 Promise 风格调用
@@ -0,0 +1,42 @@
1
+ # getAppLoginInfo
2
+
3
+ > 获取 app 登录信息
4
+
5
+ ### getAppLoginInfo
6
+
7
+ > 获取 app 登录信息.如果未登录返回 null
8
+
9
+ #### 请求参数
10
+
11
+ | 参数 | 类型 | 必填 | 说明 |
12
+ | ---------- | ------------------------------------ | ---- | -------- |
13
+ | `success` | `(res: AppLoginInfo | null) => void` | 否 | 成功回调 |
14
+ | `fail` | `(error: BridgeCode) => void` | 否 | 失败回调 |
15
+ | `complete` | `() => void` | 否 | 完成回调 |
16
+
17
+ #### 返回值
18
+
19
+ ```js
20
+ Promise<AppLoginInfo | null>
21
+ ```
22
+
23
+ #### 示例代码
24
+
25
+ ```js
26
+ import { getAppLoginInfo } from '@kbapp/js-bridge'
27
+
28
+ getAppLoginInfo({
29
+ success(loginInfo) {
30
+ if (loginInfo) {
31
+ console.log('已登录', loginInfo)
32
+ } else {
33
+ console.log('未登录')
34
+ }
35
+ },
36
+ fail(error) {
37
+ console.log('获取登录信息失败', error)
38
+ },
39
+ })
40
+ ```
41
+
42
+ > 支持 Promise 风格调用
@@ -0,0 +1,40 @@
1
+ # getAppSubscribeNotifyStatus
2
+
3
+ > 获取APP订阅通知状态
4
+
5
+ ### getAppSubscribeNotifyStatus
6
+
7
+ > 获取 APP 订阅通知状态
8
+
9
+ #### 请求参数
10
+
11
+ | 参数 | 类型 | 必填 | 说明 |
12
+ | ---------- | ----------------------------- | ---- | -------- |
13
+ | `success` | `(res: { enabled: 0 | 1 }) => void` | 否 | 成功回调 |
14
+ | `fail` | `(error: BridgeCode) => void` | 否 | 失败回调 |
15
+ | `complete` | `() => void` | 否 | 完成回调 |
16
+
17
+ #### 返回值
18
+
19
+ ```js
20
+ Promise<{ enabled: 0 | 1 }>
21
+ ```
22
+
23
+ `enabled` 含义:`1` 开启,`0` 关闭。
24
+
25
+ #### 示例代码
26
+
27
+ ```js
28
+ import { getAppSubscribeNotifyStatus } from '@kbapp/js-bridge'
29
+
30
+ getAppSubscribeNotifyStatus({
31
+ success(res) {
32
+ console.log('订阅通知状态', res.enabled)
33
+ },
34
+ fail(error) {
35
+ console.log('获取状态失败', error)
36
+ },
37
+ })
38
+ ```
39
+
40
+ > 支持 Promise 风格调用
@@ -0,0 +1,40 @@
1
+ # isAppVersionSupport
2
+
3
+ > 判断当前版本号是否支持
4
+
5
+ ### isAppVersionSupport
6
+
7
+ > 判断当前版本号是否支持
8
+
9
+ #### 请求参数
10
+
11
+ | 参数 | 类型 | 必填 | 说明 |
12
+ | ------------ | ----------------------------- | ---- | ---------------------- |
13
+ | `minVersion` | `number` | 是 | 最低支持版本号 |
14
+ | `success` | `(res: boolean) => void` | 否 | 成功回调,返回是否支持 |
15
+ | `fail` | `(error: BridgeCode) => void` | 否 | 失败回调 |
16
+ | `complete` | `() => void` | 否 | 完成回调 |
17
+
18
+ #### 返回值
19
+
20
+ ```js
21
+ Promise<boolean>
22
+ ```
23
+
24
+ #### 示例代码
25
+
26
+ ```js
27
+ import { isAppVersionSupport } from '@kbapp/js-bridge'
28
+
29
+ isAppVersionSupport({
30
+ minVersion: 80711,
31
+ success(result) {
32
+ console.log('是否能使用', result)
33
+ },
34
+ fail(error) {
35
+ console.log('检查版本支持失败', error)
36
+ },
37
+ })
38
+ ```
39
+
40
+ > 支持 Promise 风格调用
@@ -0,0 +1,32 @@
1
+ # onAppSharePanelShow
2
+
3
+ > 监听分享面板打开事件
4
+
5
+ ### onAppSharePanelShow
6
+
7
+ > 监听分享面板打开时触发(主动和被动)
8
+
9
+ #### 请求参数
10
+
11
+ | 参数 | 类型 | 说明 |
12
+ | ---------- | ----------- | -------------------- |
13
+ | `callback` | `()=> void` | 分享面板打开时的回调 |
14
+
15
+ #### 返回值
16
+
17
+ ```js
18
+ // 返回函数,调用该函数取消监听
19
+ () => void
20
+ ```
21
+
22
+ #### 示例代码
23
+
24
+ ```js
25
+ import { onAppSharePanelShow } from '@kbapp/js-bridge'
26
+
27
+ const stopHandle = onAppSharePanelShow(() => {
28
+ console.log('分享面板打开')
29
+ })
30
+
31
+ // stopHandle() 停止监听
32
+ ```
@@ -0,0 +1,32 @@
1
+ # onLoopCheckAppLogin
2
+
3
+ > 启动轮询检查 APP 登录状态
4
+
5
+ ### onLoopCheckAppLogin
6
+
7
+ > 启动轮询检查 APP 登录状态,查询到已登录后立即触发回调并自动回收回调函数(支持主动取消监听)
8
+
9
+ #### 请求参数
10
+
11
+ | 参数 | 类型 | 说明 |
12
+ | ---------- | ----------------------------------- | ------------ |
13
+ | `callback` | `(loginInfo: AppLoginInfo) => void` | 登录成功回调 |
14
+
15
+ #### 返回值
16
+
17
+ ```js
18
+ // 返回函数,调用该函数,停止监听
19
+ () => void
20
+ ```
21
+
22
+ #### 示例代码
23
+
24
+ ```js
25
+ import { onLoopCheckAppLogin } from '@kbapp/js-bridge'
26
+
27
+ const handle = onLoopCheckAppLogin((loginInfo) => {
28
+ console.log('登录成功', loginInfo)
29
+ })
30
+
31
+ // handle() 停止监听
32
+ ```
@@ -0,0 +1,46 @@
1
+ # openAppSharePanel
2
+
3
+ > 主动唤起分享面板
4
+
5
+ ### openAppSharePanel
6
+
7
+ > 主动唤起分享面板
8
+
9
+ #### 请求参数
10
+
11
+ | 参数 | 类型 | 必填 | 说明 |
12
+ | ---------- | ----------------------------- | ---- | ------------ |
13
+ | `title` | `string` | 是 | 分享标题 |
14
+ | `content` | `string` | 否 | 分享内容 |
15
+ | `imageUrl` | `string` | 是 | 分享图片 URL |
16
+ | `url` | `string` | 是 | 分享链接 URL |
17
+ | `success` | `() => void` | 否 | 成功回调 |
18
+ | `fail` | `(error: BridgeCode) => void` | 否 | 失败回调 |
19
+ | `complete` | `() => void` | 否 | 完成回调 |
20
+
21
+ #### 返回值
22
+
23
+ ```js
24
+ Promise<void>
25
+ ```
26
+
27
+ #### 示例代码
28
+
29
+ ```js
30
+ import { openAppSharePanel } from '@kbapp/js-bridge'
31
+
32
+ openAppSharePanel({
33
+ title: '开吧分享',
34
+ content: '开吧,开汽车上新生活!',
35
+ url: 'http://www.kaiba315.com.cn/',
36
+ imageUrl: 'https://static.kaiba315.com.cn/kaiba-logo.png',
37
+ success() {
38
+ console.log('打开分享面板成功')
39
+ },
40
+ fail(error) {
41
+ console.log('打开分享面板失败', error)
42
+ },
43
+ })
44
+ ```
45
+
46
+ > 支持 Promise 风格调用
@@ -0,0 +1,38 @@
1
+ # openAppSubscribeNotifySettings
2
+
3
+ > 前往/打开 app订阅管理页面
4
+
5
+ ### openAppSubscribeNotifySettings
6
+
7
+ > 前往/打开 APP 订阅管理页面
8
+
9
+ #### 请求参数
10
+
11
+ | 参数 | 类型 | 必填 | 说明 |
12
+ | ---------- | ----------------------------- | ---- | -------- |
13
+ | `success` | `() => void` | 否 | 成功回调 |
14
+ | `fail` | `(error: BridgeCode) => void` | 否 | 失败回调 |
15
+ | `complete` | `() => void` | 否 | 完成回调 |
16
+
17
+ #### 返回值
18
+
19
+ ```js
20
+ Promise<void>
21
+ ```
22
+
23
+ #### 示例代码
24
+
25
+ ```js
26
+ import { openAppSubscribeNotifySettings } from '@kbapp/js-bridge'
27
+
28
+ openAppSubscribeNotifySettings({
29
+ success() {
30
+ console.log('打开订阅管理页面成功')
31
+ },
32
+ fail(error) {
33
+ console.log('打开订阅管理页面失败', error)
34
+ },
35
+ })
36
+ ```
37
+
38
+ > 支持 Promise 风格调用
@@ -0,0 +1,91 @@
1
+ # openPostEditor
2
+
3
+ > 唤起发帖器
4
+
5
+ ### openPostEditor
6
+
7
+ > 唤起发帖器
8
+
9
+ #### 请求参数
10
+
11
+ | 参数 | 类型 | 必填 | 说明 |
12
+ | ----------------------------- | --------------------------------- | ---- | ---------------------------- |
13
+ | `postRule.hint` | `string` | 否 | 文本输入框提示文案 |
14
+ | `postRule.initialText` | `string` | 否 | 初始化文本内容 |
15
+ | `postRule.audio` | `boolean` | 否 | 是否显示音频按钮,默认 true |
16
+ | `postRule.image` | `boolean` | 否 | 是否显示图片按钮,默认 true |
17
+ | `postRule.video` | `boolean` | 否 | 是否显示视频按钮,默认 true |
18
+ | `postRule.address` | `boolean` | 否 | 是否显示定位按钮,默认 true |
19
+ | `postRule.asset_video` | `boolean` | 否 | 是否显示媒资视频,默认 false |
20
+ | `postRule.audio_must` | `boolean` | 否 | 音频是否必传 |
21
+ | `postRule.image_must` | `boolean` | 否 | 图片是否必传 |
22
+ | `postRule.max_image_count` | `number` | 否 | 图片最大张数,默认 9 |
23
+ | `postRule.min_image_count` | `number` | 否 | 图片最小张数,默认 0 |
24
+ | `postRule.video_must` | `boolean` | 否 | 视频是否必传 |
25
+ | `postRule.text_must` | `boolean` | 否 | 文本内容是否必传 |
26
+ | `postRule.content_max_length` | `number` | 否 | 文本最大长度,默认 1000 |
27
+ | `postRule.content_min_length` | `number` | 否 | 文本最小长度,默认 0 |
28
+ | `success` | `(res: PostEditorResult) => void` | 否 | 成功回调 |
29
+ | `fail` | `(error: BridgeCode) => void` | 否 | 失败回调 |
30
+ | `complete` | `() => void` | 否 | 完成回调 |
31
+
32
+ #### 返回值
33
+
34
+ ```js
35
+ Promise<{
36
+ content: string
37
+ street?: string
38
+ audio?: unknown
39
+ video?: unknown
40
+ images?: { url: string; width: number; height: number }[]
41
+ }>
42
+ ```
43
+
44
+ #### 示例代码
45
+
46
+ 推荐使用 `generatePostEditorParamsByThreadPostRule` 构造参数
47
+
48
+ ```js
49
+ import { generatePostEditorParamsByThreadPostRule, openPostEditor, KbRequirement } from '@kbapp/js-bridge'
50
+
51
+ openPostEditor({
52
+ postRule: generatePostEditorParamsByThreadPostRule({
53
+ textMin: 0,
54
+ textMax: 1000,
55
+ /** 帖子中, 图片的最大张数 */
56
+ imageMax: 9,
57
+
58
+ /** 帖子中, 图片的最小张数 */
59
+ imageMin: 0,
60
+
61
+ /** 音频限制 */
62
+ audioRqr: KbRequirement.FREE,
63
+
64
+ /** 视频限制 */
65
+ videoRqr: KbRequirement.FREE,
66
+
67
+ /** 媒资限制 */
68
+ mediaRqr: KbRequirement.FORBID,
69
+
70
+ /** 位置-逆地理信息限制 */
71
+ streetRqr: KbRequirement.FREE
72
+ }),
73
+ })
74
+
75
+ openPostEditor({
76
+ postRule: {
77
+ hint: '请输入内容',
78
+ initialText: '默认内容',
79
+ image: true,
80
+ max_image_count: 9,
81
+ },
82
+ success(result) {
83
+ console.log('发帖内容', result)
84
+ },
85
+ fail(error) {
86
+ console.log('打开发帖器失败', error)
87
+ },
88
+ })
89
+ ```
90
+
91
+ > 支持 Promise 风格调用
@@ -0,0 +1,43 @@
1
+ # reportDAEvent
2
+
3
+ > 上报数据埋点
4
+
5
+ ### reportDAEvent
6
+
7
+ > 上报数据埋点
8
+
9
+ #### 请求参数
10
+
11
+ | 参数 | 类型 | 必填 | 说明 |
12
+ | ------------- | ----------------------------- | ---- | ---------------- |
13
+ | `eventName` | `string` | 是 | 事件名 |
14
+ | `eventParams` | `object` | 否 | 上报参数 |
15
+ | `eventType` | `string` | 否 | 开始结束类型传递 |
16
+ | `success` | `() => void` | 否 | 成功回调 |
17
+ | `fail` | `(error: BridgeCode) => void` | 否 | 失败回调 |
18
+ | `complete` | `() => void` | 否 | 完成回调 |
19
+
20
+ #### 返回值
21
+
22
+ ```js
23
+ Promise<void>
24
+ ```
25
+
26
+ #### 示例代码
27
+
28
+ ```js
29
+ import { reportDAEvent } from '@kbapp/js-bridge'
30
+
31
+ reportDAEvent({
32
+ eventName: 'page_view',
33
+ eventParams: { page: 'home' },
34
+ success() {
35
+ console.log('上报数据成功')
36
+ },
37
+ fail(error) {
38
+ console.log('上报数据失败', error)
39
+ },
40
+ })
41
+ ```
42
+
43
+ > 支持 Promise 风格调用
@@ -0,0 +1,44 @@
1
+ # runAction
2
+
3
+ > 执行 action
4
+
5
+ ### runAction
6
+
7
+ > app 执行 Action
8
+
9
+ #### 请求参数
10
+
11
+ | 参数 | 类型 | 必填 | 说明 |
12
+ | -------------- | ----------------------------- | ---- | ------------ |
13
+ | `action` | `string` | 是 | action |
14
+ | `actionParams` | `object` | 否 | actionParams |
15
+ | `success` | `() => void` | 否 | 成功回调 |
16
+ | `fail` | `(error: BridgeCode) => void` | 否 | 失败回调 |
17
+ | `complete` | `() => void` | 否 | 完成回调 |
18
+
19
+ #### 返回值
20
+
21
+ ```js
22
+ Promise<void>
23
+ ```
24
+
25
+ #### 示例代码
26
+
27
+ ```js
28
+ import { runAction } from '@kbapp/js-bridge'
29
+
30
+ runAction({
31
+ action: 'pageWeb',
32
+ actionParams: {
33
+ url: 'https://www.baidu.com',
34
+ },
35
+ success() {
36
+ console.log('执行成功')
37
+ },
38
+ fail(error) {
39
+ console.log('执行失败', error)
40
+ },
41
+ })
42
+ ```
43
+
44
+ > 支持 Promise 风格调用
@@ -0,0 +1,46 @@
1
+ # runBridgeApiResponse
2
+
3
+ > 执行桥接(等待响应)
4
+
5
+ ### runBridgeApiResponse
6
+
7
+ > 执行 app 桥接方法(等待响应)
8
+
9
+ #### 请求参数
10
+
11
+ | 参数 | 类型 | 必填 | 说明 |
12
+ | ---------- | ------------------------------------- | ---- | ------------------------ |
13
+ | `name` | `string` | 是 | 任务名称 |
14
+ | `params` | `{ type: number; data?: any }` | 是 | 任务参数 |
15
+ | `timeout` | `number` | 否 | 超时时间(毫秒) |
16
+ | `success` | `(result: Result) => void` | 否 | 执行成功回调 |
17
+ | `fail` | `(error: BridgeCode) => void` | 否 | 执行失败回调 |
18
+ | `complete` | `() => void` | 否 | 完成回调(成功/失败均触发) |
19
+
20
+ #### 返回值
21
+
22
+ ```js
23
+ Promise<Result>
24
+ ```
25
+
26
+ #### 示例代码
27
+
28
+ ```js
29
+ import { runBridgeApiResponse } from '@kbapp/js-bridge'
30
+
31
+ runBridgeApiResponse({
32
+ name: 'OpenActRequest',
33
+ params: {
34
+ type: 60001,
35
+ data: {},
36
+ },
37
+ success(result) {
38
+ console.log('成功', result)
39
+ },
40
+ fail(error) {
41
+ console.log('失败', error)
42
+ },
43
+ })
44
+ ```
45
+
46
+ > 支持 Promise 风格调用
@@ -0,0 +1,34 @@
1
+ # runBridgeApi
2
+
3
+ > 执行桥接(无返回值)
4
+
5
+ ### runBridgeApi
6
+
7
+ > 执行 app 桥接方法(无响应)
8
+
9
+ #### 请求参数
10
+
11
+ | 参数 | 类型 | 必填 | 说明 |
12
+ | -------- | ---------------------------- | ---- | ---------------- |
13
+ | `name` | `string` | 是 | 任务名称 |
14
+ | `params` | `{ type: number; data?: any }` | 是 | 桥接参数 |
15
+
16
+ #### 返回值
17
+
18
+ ```js
19
+ void
20
+ ```
21
+
22
+ #### 示例代码
23
+
24
+ ```js
25
+ import { runBridgeApi } from '@kbapp/js-bridge'
26
+
27
+ runBridgeApi({
28
+ name: 'OpenActRequest',
29
+ params: {
30
+ type: 60001,
31
+ data: {},
32
+ },
33
+ })
34
+ ```
@@ -0,0 +1,46 @@
1
+ # saveImageToLocal
2
+
3
+ > 保存图片到本地
4
+
5
+ ### saveImageToLocal
6
+
7
+ > 保存图片到本地
8
+
9
+ #### 请求参数
10
+
11
+ | 参数 | 类型 | 必填 | 说明 |
12
+ | ---------- | ----------------------------- | ---- | ------------ |
13
+ | `imageUrl` | `string` | 是 | 图片网络地址 |
14
+ | `success` | `() => void` | 否 | 成功回调 |
15
+ | `fail` | `(error: BridgeCode) => void` | 否 | 失败回调 |
16
+ | `complete` | `() => void` | 否 | 完成回调 |
17
+
18
+ #### 返回值
19
+
20
+ ```js
21
+ Promise<void>
22
+ ```
23
+
24
+ #### 异常返回值
25
+
26
+ ```js
27
+ Promise<{ errCode: BridgeCode }>
28
+ ```
29
+
30
+ #### 示例代码
31
+
32
+ ```js
33
+ import { saveImageToLocal, BridgeCode } from '@kbapp/js-bridge'
34
+
35
+ saveImageToLocal({
36
+ imageUrl: 'https://static.kaiba315.com.cn/kaiba-logo.png',
37
+ success() {
38
+ console.log('保存图片成功')
39
+ },
40
+ fail(error) {
41
+ console.log('保存图片失败', error)
42
+ },
43
+ })
44
+ ```
45
+
46
+ > 支持 Promise 风格调用
@@ -0,0 +1,46 @@
1
+ # saveVideoToLocal
2
+
3
+ > 保存视频到本地
4
+
5
+ ### saveVideoToLocal
6
+
7
+ > 保存视频到本地
8
+
9
+ #### 请求参数
10
+
11
+ | 参数 | 类型 | 必填 | 说明 |
12
+ | ---------- | ----------------------------- | ---- | ------------ |
13
+ | `videoUrl` | `string` | 是 | 视频网络地址 |
14
+ | `success` | `() => void` | 否 | 成功回调 |
15
+ | `fail` | `(error: BridgeCode) => void` | 否 | 失败回调 |
16
+ | `complete` | `() => void` | 否 | 完成回调 |
17
+
18
+ #### 返回值
19
+
20
+ ```js
21
+ Promise<void>
22
+ ```
23
+
24
+ #### 异常返回值
25
+
26
+ ```js
27
+ Promise<{ errCode: BridgeCode }>
28
+ ```
29
+
30
+ #### 示例代码
31
+
32
+ ```js
33
+ import { saveVideoToLocal } from '@kbapp/js-bridge'
34
+
35
+ saveVideoToLocal({
36
+ videoUrl: 'https://example.com/video.mp4',
37
+ success() {
38
+ console.log('保存视频成功')
39
+ },
40
+ fail(error) {
41
+ console.log('保存视频失败', error)
42
+ },
43
+ })
44
+ ```
45
+
46
+ > 支持 Promise 风格调用
@@ -0,0 +1,38 @@
1
+ # scanQRCode
2
+
3
+ > 扫描二维码
4
+
5
+ ### scanQRCode
6
+
7
+ > 扫描二维码
8
+
9
+ #### 请求参数
10
+
11
+ | 参数 | 类型 | 必填 | 说明 |
12
+ | ---------- | ----------------------------- | ---- | ---------------------- |
13
+ | `success` | `(res: string) => void` | 否 | 成功回调,返回扫描结果 |
14
+ | `fail` | `(error: BridgeCode) => void` | 否 | 失败回调 |
15
+ | `complete` | `() => void` | 否 | 完成回调 |
16
+
17
+ #### 返回值
18
+
19
+ ```js
20
+ Promise<string>
21
+ ```
22
+
23
+ #### 示例代码
24
+
25
+ ```js
26
+ import { scanQRCode } from '@kbapp/js-bridge'
27
+
28
+ scanQRCode({
29
+ success(result) {
30
+ console.log('扫描结果', result)
31
+ },
32
+ fail(error) {
33
+ console.log('扫描失败', error)
34
+ },
35
+ })
36
+ ```
37
+
38
+ > 支持 Promise 风格调用
@@ -0,0 +1,52 @@
1
+ # setScreenOrientation
2
+
3
+ > 设置屏幕方向
4
+
5
+ ### setScreenOrientation
6
+
7
+ > 设置屏幕方向
8
+
9
+ #### 请求参数
10
+
11
+ | 参数 | 类型 | 必填 | 说明 |
12
+ | ------------- | ----------------------------- | ---- | ---------------------- |
13
+ | `orientation` | `number` | 是 | 屏幕方向 0:竖屏 1:横屏 |
14
+ | `success` | `() => void` | 否 | 成功回调 |
15
+ | `fail` | `(error: BridgeCode) => void` | 否 | 失败回调 |
16
+ | `complete` | `() => void` | 否 | 完成回调 |
17
+
18
+ #### 返回值
19
+
20
+ ```js
21
+ Promise<void>
22
+ ```
23
+
24
+ #### 示例代码
25
+
26
+ ```js
27
+ import { setScreenOrientation } from '@kbapp/js-bridge'
28
+
29
+ // 设置为横屏
30
+ setScreenOrientation({
31
+ orientation: 1,
32
+ success() {
33
+ console.log('设置横屏成功')
34
+ },
35
+ fail(error) {
36
+ console.log('设置横屏失败', error)
37
+ },
38
+ })
39
+
40
+ // 设置为竖屏
41
+ setScreenOrientation({
42
+ orientation: 0,
43
+ success() {
44
+ console.log('设置竖屏成功')
45
+ },
46
+ fail(error) {
47
+ console.log('设置竖屏失败', error)
48
+ },
49
+ })
50
+ ```
51
+
52
+ > 支持 Promise 风格调用
@@ -0,0 +1,46 @@
1
+ # setWebViewTitle
2
+
3
+ > 设置网页标题
4
+
5
+ ### setWebViewTitle
6
+
7
+ > 设置网页标题(建议通过 document.title 设置)
8
+
9
+ #### 请求参数
10
+
11
+ | 参数 | 类型 | 必填 | 说明 |
12
+ | ---------- | ----------------------------- | ---- | ---------------- |
13
+ | `title` | `string` | 是 | webview 标题文案 |
14
+ | `success` | `() => void` | 否 | 成功回调 |
15
+ | `fail` | `(error: BridgeCode) => void` | 否 | 失败回调 |
16
+ | `complete` | `() => void` | 否 | 完成回调 |
17
+
18
+ #### 返回值
19
+
20
+ ```js
21
+ Promise<void>
22
+ ```
23
+
24
+ #### 异常返回值
25
+
26
+ ```js
27
+ Promise<{ errCode: BridgeCode }>
28
+ ```
29
+
30
+ #### 示例代码
31
+
32
+ ```js
33
+ import { setWebViewTitle } from '@kbapp/js-bridge'
34
+
35
+ setWebViewTitle({
36
+ title: '页面标题',
37
+ success() {
38
+ console.log('设置标题成功')
39
+ },
40
+ fail(error) {
41
+ console.log('设置标题失败', error)
42
+ },
43
+ })
44
+ ```
45
+
46
+ > 支持 Promise 风格调用
@@ -0,0 +1,46 @@
1
+ # shareImage
2
+
3
+ > 分享海报
4
+
5
+ ### shareImage
6
+
7
+ > 分享海报
8
+
9
+ #### 请求参数
10
+
11
+ | 参数 | 类型 | 必填 | 说明 |
12
+ | ---------- | ----------------------------- | ---- | ------------------------------------- |
13
+ | `imageUrl` | `string` | 是 | 分享的图片链接,仅支持网络地址,png/jpg |
14
+ | `success` | `() => void` | 否 | 成功回调 |
15
+ | `fail` | `(error: BridgeCode) => void` | 否 | 失败回调 |
16
+ | `complete` | `() => void` | 否 | 完成回调 |
17
+
18
+ #### 返回值
19
+
20
+ ```js
21
+ Promise<void>
22
+ ```
23
+
24
+ #### 异常返回值
25
+
26
+ ```js
27
+ Promise<{ errCode: BridgeCode }>
28
+ ```
29
+
30
+ #### 示例代码
31
+
32
+ ```js
33
+ import { shareImage } from '@kbapp/js-bridge'
34
+
35
+ shareImage({
36
+ imageUrl: 'https://example.com/poster.png',
37
+ success() {
38
+ console.log('分享海报成功')
39
+ },
40
+ fail(error) {
41
+ console.log('分享海报失败', error)
42
+ },
43
+ })
44
+ ```
45
+
46
+ > 支持 Promise 风格调用
@@ -0,0 +1,45 @@
1
+ # triggerAppLogin
2
+
3
+ > 触发 app 登录
4
+
5
+ ### triggerAppLogin
6
+
7
+ > 触发 app 登录
8
+
9
+ #### 请求参数
10
+
11
+ | 参数 | 类型 | 必填 | 说明 |
12
+ | ---------- | ----------------------------- | ---- | -------- |
13
+ | `success` | `() => void` | 否 | 成功回调 |
14
+ | `fail` | `(error: BridgeCode) => void` | 否 | 失败回调 |
15
+ | `complete` | `() => void` | 否 | 完成回调 |
16
+
17
+ #### 返回值
18
+
19
+ ```js
20
+ Promise<void>
21
+ ```
22
+
23
+ #### 示例代码
24
+
25
+ ```js
26
+ import { triggerAppLogin, onLoopCheckAppLogin } from '@kbapp/js-bridge'
27
+
28
+ // 监听登录成功
29
+ const handle = onLoopCheckAppLogin((loginInfo) => {
30
+ console.log('登录成功', loginInfo)
31
+ handle() // 停止监听
32
+ })
33
+
34
+ // 触发登录
35
+ triggerAppLogin({
36
+ success() {
37
+ console.log('触发登录成功')
38
+ },
39
+ fail(error) {
40
+ console.log('触发登录失败', error)
41
+ },
42
+ })
43
+ ```
44
+
45
+ > 支持 Promise 风格调用
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "1.0.14-alpha.0",
6
+ "version": "1.0.15-alpha.0",
7
7
  "description": "开吧客户端桥接",
8
8
  "author": "along",
9
9
  "main": "./dist/umd/index.js",
@@ -28,7 +28,8 @@
28
28
  "dist",
29
29
  "package.json",
30
30
  "README.md",
31
- "examples"
31
+ "examples",
32
+ "docs"
32
33
  ],
33
34
  "devDependencies": {
34
35
  "@vitest/ui": "^4.1.2",