@kbapp/market-partner-sdk 0.0.1 → 0.0.2
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 +336 -199
- package/dist/index.es.js +104 -96
- package/dist/index.umd.js +1 -1
- package/dist/lib/auth-token.d.ts +35 -21
- package/examples/index.html +5 -9
- package/package.json +1 -1
- package/server.js +0 -103
package/README.MD
CHANGED
|
@@ -65,41 +65,41 @@ const onTapRunAction = async () => {
|
|
|
65
65
|
|
|
66
66
|
### 总览
|
|
67
67
|
|
|
68
|
-
| 方法
|
|
69
|
-
|
|
|
70
|
-
| `registerNativeApiHandler` | 注册提供给Native端调用的API
|
|
71
|
-
| `invokeNativeApi`
|
|
72
|
-
| `runAction`
|
|
73
|
-
| `defineAppShareModel`
|
|
74
|
-
| `openAppSharePanel`
|
|
75
|
-
| `reportGetui`
|
|
76
|
-
| `getAppBaseInfo`
|
|
77
|
-
| `shareImage`
|
|
78
|
-
| `onAppSharePanelShow`
|
|
79
|
-
| `isAppVersionSupport`
|
|
80
|
-
| `getAuthToken`
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
|
84
|
-
|
|
|
85
|
-
| `
|
|
86
|
-
| `
|
|
87
|
-
| `
|
|
88
|
-
| `
|
|
68
|
+
| 方法 | 说明 |
|
|
69
|
+
| -------------------------- | --------------------------------- |
|
|
70
|
+
| `registerNativeApiHandler` | 注册提供给 Native 端调用的 API |
|
|
71
|
+
| `invokeNativeApi` | 触发 App 桥接 |
|
|
72
|
+
| `runAction` | 执行统一跳转页面标准 |
|
|
73
|
+
| `defineAppShareModel` | 定义页面分享内容 |
|
|
74
|
+
| `openAppSharePanel` | 主动唤起分享面板 |
|
|
75
|
+
| `reportGetui` | 上报数据埋点到个推 |
|
|
76
|
+
| `getAppBaseInfo` | 获取开吧 App 基础信息 |
|
|
77
|
+
| `shareImage` | 分享图片 |
|
|
78
|
+
| `onAppSharePanelShow` | 监听分享面板打开事件 |
|
|
79
|
+
| `isAppVersionSupport` | 检查当前 App 版本是否支持某个 API |
|
|
80
|
+
| `getAuthToken` | 获取认证令牌 |
|
|
81
|
+
| `getAuthTokenWithSilent` | 静默获取认证令牌 |
|
|
82
|
+
|
|
83
|
+
| 类/枚举 | 说明 |
|
|
84
|
+
| --------------- | -------------------- |
|
|
85
|
+
| `BridgeCode` | 错误码枚举 |
|
|
86
|
+
| `AppBaseInfo` | App 基础信息数据模型 |
|
|
87
|
+
| `AppShareModel` | 应用分享模型 |
|
|
88
|
+
| `AuthResult` | 认证结果数据模型 |
|
|
89
89
|
|
|
90
90
|
### registerNativeApiHandler
|
|
91
91
|
|
|
92
|
-
> 注册提供给Native端调用的API
|
|
92
|
+
> 注册提供给 Native 端调用的 API
|
|
93
93
|
|
|
94
94
|
#### 请求参数
|
|
95
95
|
|
|
96
|
-
| 参数
|
|
97
|
-
|
|
|
98
|
-
| `name`
|
|
99
|
-
| `handler`
|
|
100
|
-
| `success`
|
|
101
|
-
| `fail`
|
|
102
|
-
| `complete` | `() => void`
|
|
96
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
97
|
+
| ---------- | ----------------------------- | ---- | -------------------------------- |
|
|
98
|
+
| `name` | `string` | 是 | 任务名称 |
|
|
99
|
+
| `handler` | `(...params: any[]) => any` | 是 | 回调函数,当 Native 端调用时触发 |
|
|
100
|
+
| `success` | `() => void` | 否 | 注册函数成功回调 |
|
|
101
|
+
| `fail` | `(error: BridgeCode) => void` | 否 | 注册函数失败回调 |
|
|
102
|
+
| `complete` | `() => void` | 否 | 无论成功失败都会执行的回调 |
|
|
103
103
|
|
|
104
104
|
#### 返回值
|
|
105
105
|
|
|
@@ -110,44 +110,44 @@ Promise<void>
|
|
|
110
110
|
#### 示例代码
|
|
111
111
|
|
|
112
112
|
```js
|
|
113
|
-
import { registerNativeApiHandler } from '@kbapp/market-partner-sdk'
|
|
113
|
+
import { registerNativeApiHandler } from '@kbapp/market-partner-sdk'
|
|
114
114
|
|
|
115
115
|
// 回调形式
|
|
116
116
|
registerNativeApiHandler({
|
|
117
117
|
name: 'CommonShare',
|
|
118
118
|
handler(data) {
|
|
119
|
-
console.log('Native端调用了CommonShare', data)
|
|
119
|
+
console.log('Native端调用了CommonShare', data)
|
|
120
120
|
},
|
|
121
121
|
success() {
|
|
122
|
-
console.log('注册成功')
|
|
122
|
+
console.log('注册成功')
|
|
123
123
|
},
|
|
124
124
|
fail(error) {
|
|
125
|
-
console.error('注册失败', error)
|
|
126
|
-
}
|
|
125
|
+
console.error('注册失败', error)
|
|
126
|
+
},
|
|
127
127
|
})
|
|
128
128
|
|
|
129
129
|
// Promise形式
|
|
130
130
|
await registerNativeApiHandler({
|
|
131
131
|
name: 'CommonShare',
|
|
132
132
|
handler(data) {
|
|
133
|
-
console.log('Native端调用了CommonShare', data)
|
|
134
|
-
}
|
|
135
|
-
})
|
|
133
|
+
console.log('Native端调用了CommonShare', data)
|
|
134
|
+
},
|
|
135
|
+
})
|
|
136
136
|
```
|
|
137
137
|
|
|
138
138
|
### invokeNativeApi
|
|
139
139
|
|
|
140
|
-
> 触发App桥接
|
|
140
|
+
> 触发 App 桥接
|
|
141
141
|
|
|
142
142
|
#### 请求参数
|
|
143
143
|
|
|
144
|
-
| 参数
|
|
145
|
-
|
|
|
146
|
-
| `name`
|
|
147
|
-
| `params`
|
|
148
|
-
| `timeout` | `number`
|
|
149
|
-
| `success` | `(result: Result) => void`
|
|
150
|
-
| `fail`
|
|
144
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
145
|
+
| --------- | ------------------------------ | ---- | -------------------- |
|
|
146
|
+
| `name` | `string` | 是 | 任务名称 |
|
|
147
|
+
| `params` | `{ type: number; data?: any }` | 是 | 任务参数 |
|
|
148
|
+
| `timeout` | `number` | 否 | 设置超时时间(毫秒) |
|
|
149
|
+
| `success` | `(result: Result) => void` | 否 | 执行成功回调 |
|
|
150
|
+
| `fail` | `(error: BridgeCode) => void` | 否 | 执行失败回调 |
|
|
151
151
|
|
|
152
152
|
#### 返回值
|
|
153
153
|
|
|
@@ -158,7 +158,7 @@ Promise<Result>
|
|
|
158
158
|
#### 示例代码
|
|
159
159
|
|
|
160
160
|
```js
|
|
161
|
-
import { invokeNativeApi, BridgeCode } from '@kbapp/market-partner-sdk'
|
|
161
|
+
import { invokeNativeApi, BridgeCode } from '@kbapp/market-partner-sdk'
|
|
162
162
|
|
|
163
163
|
invokeNativeApi({
|
|
164
164
|
name: 'OpenActRequest',
|
|
@@ -166,21 +166,21 @@ invokeNativeApi({
|
|
|
166
166
|
type: 60500,
|
|
167
167
|
data: {
|
|
168
168
|
title: '分享标题',
|
|
169
|
-
content: '分享内容'
|
|
170
|
-
}
|
|
169
|
+
content: '分享内容',
|
|
170
|
+
},
|
|
171
171
|
},
|
|
172
172
|
timeout: 5000,
|
|
173
173
|
success(result) {
|
|
174
|
-
console.log('调用成功', result)
|
|
174
|
+
console.log('调用成功', result)
|
|
175
175
|
},
|
|
176
176
|
fail(error) {
|
|
177
177
|
if (error.errorCode === BridgeCode.TIMEOUT.errorCode) {
|
|
178
|
-
console.error('调用超时')
|
|
178
|
+
console.error('调用超时')
|
|
179
179
|
} else {
|
|
180
|
-
console.error('调用失败', error)
|
|
180
|
+
console.error('调用失败', error)
|
|
181
181
|
}
|
|
182
|
-
}
|
|
183
|
-
})
|
|
182
|
+
},
|
|
183
|
+
})
|
|
184
184
|
|
|
185
185
|
invokeNativeApi({
|
|
186
186
|
name: 'OpenActRequest',
|
|
@@ -188,28 +188,30 @@ invokeNativeApi({
|
|
|
188
188
|
type: 60500,
|
|
189
189
|
data: {
|
|
190
190
|
title: '分享标题',
|
|
191
|
-
content: '分享内容'
|
|
192
|
-
}
|
|
191
|
+
content: '分享内容',
|
|
192
|
+
},
|
|
193
193
|
},
|
|
194
194
|
timeout: 5000,
|
|
195
|
-
}).then(() => {
|
|
196
|
-
console.log('调用成功');
|
|
197
|
-
}).catch((error) => {
|
|
198
|
-
console.error('调用失败', error);
|
|
199
195
|
})
|
|
196
|
+
.then(() => {
|
|
197
|
+
console.log('调用成功')
|
|
198
|
+
})
|
|
199
|
+
.catch((error) => {
|
|
200
|
+
console.error('调用失败', error)
|
|
201
|
+
})
|
|
200
202
|
```
|
|
201
203
|
|
|
202
204
|
### isAppVersionSupport
|
|
203
205
|
|
|
204
|
-
> 是否能用某个api(根据版本号来判断)
|
|
206
|
+
> 是否能用某个 api(根据版本号来判断)
|
|
205
207
|
|
|
206
208
|
#### 请求参数
|
|
207
209
|
|
|
208
|
-
| 参数
|
|
209
|
-
|
|
|
210
|
-
| `minVersion` | `number`
|
|
211
|
-
| `success`
|
|
212
|
-
| `fail`
|
|
210
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
211
|
+
| ------------ | ----------------------------- | ---- | -------------- |
|
|
212
|
+
| `minVersion` | `number` | 是 | 最低支持版本号 |
|
|
213
|
+
| `success` | `(result: boolean) => void` | 否 | 成功回调 |
|
|
214
|
+
| `fail` | `(error: BridgeCode) => void` | 否 | 失败回调 |
|
|
213
215
|
|
|
214
216
|
#### 返回值
|
|
215
217
|
|
|
@@ -220,14 +222,14 @@ Promise<boolean>
|
|
|
220
222
|
#### 示例代码
|
|
221
223
|
|
|
222
224
|
```js
|
|
223
|
-
import { isAppVersionSupport } from '@kbapp/market-partner-sdk'
|
|
225
|
+
import { isAppVersionSupport } from '@kbapp/market-partner-sdk'
|
|
224
226
|
|
|
225
227
|
// 回调形式
|
|
226
228
|
isAppVersionSupport({
|
|
227
229
|
minVersion: 80711,
|
|
228
230
|
success(result: boolean) {
|
|
229
231
|
console.log('是否能使用', result)
|
|
230
|
-
}
|
|
232
|
+
},
|
|
231
233
|
})
|
|
232
234
|
|
|
233
235
|
// Promise 形式
|
|
@@ -238,59 +240,97 @@ console.log('是否能使用', canUse)
|
|
|
238
240
|
### getAuthToken
|
|
239
241
|
|
|
240
242
|
> 获取认证令牌
|
|
241
|
-
> @version 开吧APP:80801开始支持,低版本需开发者做兼容处理
|
|
243
|
+
> @version 开吧 APP:80801 开始支持,低版本需开发者做兼容处理
|
|
242
244
|
|
|
243
245
|
#### 请求参数
|
|
244
246
|
|
|
245
|
-
| 参数
|
|
246
|
-
|
|
|
247
|
-
| `
|
|
248
|
-
| `
|
|
249
|
-
| `fail` | `(error: BridgeCode) => void` | 否 | 失败回调 |
|
|
247
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
248
|
+
| --------- | ----------------------------- | ---- | ------------ |
|
|
249
|
+
| `success` | `(token: AuthResult) => void` | 否 | 成功回调 |
|
|
250
|
+
| `fail` | `(error: BridgeCode) => void` | 否 | 失败回调 |
|
|
250
251
|
|
|
251
252
|
#### 返回值
|
|
252
253
|
|
|
253
254
|
```js
|
|
254
|
-
Promise<
|
|
255
|
+
Promise<AuthResult>
|
|
255
256
|
```
|
|
256
257
|
|
|
257
258
|
#### 示例代码
|
|
258
259
|
|
|
259
260
|
```js
|
|
260
|
-
import { getAuthToken
|
|
261
|
+
import { getAuthToken } from '@kbapp/market-partner-sdk'
|
|
261
262
|
|
|
262
263
|
// 回调形式
|
|
263
264
|
getAuthToken({
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
if (authToken.code === 0) {
|
|
265
|
+
success(authResult: AuthResult) {
|
|
266
|
+
if (authResult.code === 0) {
|
|
267
267
|
console.log('登录成功')
|
|
268
268
|
}
|
|
269
269
|
},
|
|
270
270
|
})
|
|
271
271
|
|
|
272
272
|
// Promise 形式
|
|
273
|
-
const
|
|
274
|
-
if (
|
|
273
|
+
const authResult = await getAuthToken()
|
|
274
|
+
if (authResult.code === 0) {
|
|
275
275
|
console.log('登录成功')
|
|
276
276
|
}
|
|
277
|
+
|
|
278
|
+
### getAuthTokenWithSilent
|
|
279
|
+
|
|
280
|
+
> 静默获取认证令牌,当用户未登录时不会唤起登录界面
|
|
281
|
+
> @version 开吧 APP:80801 开始支持,低版本需开发者做兼容处理
|
|
282
|
+
|
|
283
|
+
#### 请求参数
|
|
284
|
+
|
|
285
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
286
|
+
| --------- | ----------------------------- | ---- | ------------ |
|
|
287
|
+
| `success` | `(token: AuthResult) => void` | 否 | 成功回调 |
|
|
288
|
+
| `fail` | `(error: BridgeCode) => void` | 否 | 失败回调 |
|
|
289
|
+
|
|
290
|
+
#### 返回值
|
|
291
|
+
|
|
292
|
+
```js
|
|
293
|
+
Promise<AuthResult>
|
|
277
294
|
```
|
|
278
295
|
|
|
296
|
+
#### 示例代码
|
|
279
297
|
|
|
298
|
+
```js
|
|
299
|
+
import { getAuthTokenWithSilent } from '@kbapp/market-partner-sdk'
|
|
300
|
+
|
|
301
|
+
// 回调形式
|
|
302
|
+
getAuthTokenWithSilent({
|
|
303
|
+
success(authResult: AuthResult) {
|
|
304
|
+
if (authResult.code === 0) {
|
|
305
|
+
console.log('已登录,token:', authResult.token)
|
|
306
|
+
} else {
|
|
307
|
+
console.log('用户未登录')
|
|
308
|
+
}
|
|
309
|
+
},
|
|
310
|
+
})
|
|
311
|
+
|
|
312
|
+
// Promise 形式
|
|
313
|
+
const authResult = await getAuthTokenWithSilent()
|
|
314
|
+
if (authResult.code === 0) {
|
|
315
|
+
console.log('已登录,token:', authResult.token)
|
|
316
|
+
} else {
|
|
317
|
+
console.log('用户未登录')
|
|
318
|
+
}
|
|
319
|
+
```
|
|
280
320
|
|
|
281
321
|
### runAction
|
|
282
322
|
|
|
283
323
|
> 执行统一跳转页面标准
|
|
284
|
-
> @version 开吧APP:80801开始支持,低版本需开发者做兼容处理
|
|
324
|
+
> @version 开吧 APP:80801 开始支持,低版本需开发者做兼容处理
|
|
285
325
|
|
|
286
326
|
#### 请求参数
|
|
287
327
|
|
|
288
|
-
| 参数
|
|
289
|
-
|
|
|
290
|
-
| `action`
|
|
291
|
-
| `actionParams` | `Record<string, any>`
|
|
292
|
-
| `success`
|
|
293
|
-
| `fail`
|
|
328
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
329
|
+
| -------------- | ----------------------------- | ---- | -------- |
|
|
330
|
+
| `action` | `string` | 是 | 动作名称 |
|
|
331
|
+
| `actionParams` | `Record<string, any>` | 否 | 动作参数 |
|
|
332
|
+
| `success` | `() => void` | 否 | 成功回调 |
|
|
333
|
+
| `fail` | `(error: BridgeCode) => void` | 否 | 失败回调 |
|
|
294
334
|
|
|
295
335
|
#### 返回值
|
|
296
336
|
|
|
@@ -301,41 +341,40 @@ Promise<void>
|
|
|
301
341
|
#### 示例代码
|
|
302
342
|
|
|
303
343
|
```js
|
|
304
|
-
import { runAction } from '@kbapp/market-partner-sdk'
|
|
344
|
+
import { runAction } from '@kbapp/market-partner-sdk'
|
|
305
345
|
|
|
306
346
|
runAction({
|
|
307
347
|
action: 'pageWeb',
|
|
308
348
|
actionParams: {
|
|
309
349
|
url: 'https://www.baidu.com',
|
|
310
|
-
}
|
|
350
|
+
},
|
|
311
351
|
})
|
|
312
352
|
```
|
|
313
353
|
|
|
314
354
|
### defineAppShareModel
|
|
315
355
|
|
|
316
|
-
> 定义app点击转发时候的分享卡片内容
|
|
317
|
-
> @version 开吧APP:80801开始支持,低版本需开发者做兼容处理
|
|
318
|
-
|
|
319
|
-
#### 请求参数 方式1
|
|
356
|
+
> 定义 app 点击转发时候的分享卡片内容
|
|
357
|
+
> @version 开吧 APP:80801 开始支持,低版本需开发者做兼容处理
|
|
320
358
|
|
|
321
|
-
|
|
322
|
-
| --- | --- | --- | --- |
|
|
323
|
-
| `title` | `string` | 否 | 分享标题 |
|
|
324
|
-
| `content` | `string` | 否 | 分享内容 |
|
|
325
|
-
| `imageUrl` | `string` | 否 | 分享图片URL |
|
|
326
|
-
| `url` | `string` | 否 | 分享链接URL |
|
|
327
|
-
| `...` | `unknow` | 否 | 其他参数详情见AppShareModel |
|
|
328
|
-
| `success` | `() => void` | 否 | 成功回调 |
|
|
329
|
-
| `fail` | `(error: BridgeCode) => void` | 否 | 失败回调 |
|
|
359
|
+
#### 请求参数 方式 1
|
|
330
360
|
|
|
331
|
-
|
|
361
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
362
|
+
| ---------- | ----------------------------- | ---- | ---------------------------- |
|
|
363
|
+
| `title` | `string` | 否 | 分享标题 |
|
|
364
|
+
| `content` | `string` | 否 | 分享内容 |
|
|
365
|
+
| `imageUrl` | `string` | 否 | 分享图片 URL |
|
|
366
|
+
| `url` | `string` | 否 | 分享链接 URL |
|
|
367
|
+
| `...` | `unknow` | 否 | 其他参数详情见 AppShareModel |
|
|
368
|
+
| `success` | `() => void` | 否 | 成功回调 |
|
|
369
|
+
| `fail` | `(error: BridgeCode) => void` | 否 | 失败回调 |
|
|
332
370
|
|
|
333
|
-
|
|
334
|
-
| --- | --- | --- | --- |
|
|
335
|
-
| `onShareApp` | `() => AppShareModel` | 否 | 点击分享时触发的函数,返回分享模型(方式2) |
|
|
336
|
-
| `success` | `() => void` | 否 | 成功回调 |
|
|
337
|
-
| `fail` | `(error: BridgeCode) => void` | 否 | 失败回调 |
|
|
371
|
+
#### 请求参数 方式 2
|
|
338
372
|
|
|
373
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
374
|
+
| ------------ | ----------------------------- | ---- | -------------------------------------------- |
|
|
375
|
+
| `onShareApp` | `() => AppShareModel` | 否 | 点击分享时触发的函数,返回分享模型(方式 2) |
|
|
376
|
+
| `success` | `() => void` | 否 | 成功回调 |
|
|
377
|
+
| `fail` | `(error: BridgeCode) => void` | 否 | 失败回调 |
|
|
339
378
|
|
|
340
379
|
#### 返回值
|
|
341
380
|
|
|
@@ -346,7 +385,7 @@ Promise<void>
|
|
|
346
385
|
#### 示例代码
|
|
347
386
|
|
|
348
387
|
```js
|
|
349
|
-
import { defineAppShareModel } from '@kbapp/market-partner-sdk'
|
|
388
|
+
import { defineAppShareModel } from '@kbapp/market-partner-sdk'
|
|
350
389
|
|
|
351
390
|
// 方式1:直接提供分享模型
|
|
352
391
|
defineAppShareModel({
|
|
@@ -359,7 +398,7 @@ defineAppShareModel({
|
|
|
359
398
|
},
|
|
360
399
|
fail(error) {
|
|
361
400
|
console.log('设置失败', error)
|
|
362
|
-
}
|
|
401
|
+
},
|
|
363
402
|
})
|
|
364
403
|
|
|
365
404
|
// 方式2:提供分享模型函数(点击分享时动态生成分享内容)
|
|
@@ -370,7 +409,7 @@ defineAppShareModel({
|
|
|
370
409
|
title: '动态生成的分享标题',
|
|
371
410
|
content: '动态生成的分享内容',
|
|
372
411
|
imageUrl: 'https://static.kaiba315.com.cn/kaiba-logo.png',
|
|
373
|
-
url: 'http://www.kaiba315.com.cn/?t=' + Date.now()
|
|
412
|
+
url: 'http://www.kaiba315.com.cn/?t=' + Date.now(),
|
|
374
413
|
}
|
|
375
414
|
},
|
|
376
415
|
success() {
|
|
@@ -378,7 +417,7 @@ defineAppShareModel({
|
|
|
378
417
|
},
|
|
379
418
|
fail(error) {
|
|
380
419
|
console.log('设置失败', error)
|
|
381
|
-
}
|
|
420
|
+
},
|
|
382
421
|
})
|
|
383
422
|
|
|
384
423
|
// Promise 形式
|
|
@@ -386,20 +425,20 @@ await defineAppShareModel({
|
|
|
386
425
|
title: '分享标题',
|
|
387
426
|
content: '分享内容',
|
|
388
427
|
imageUrl: 'https://static.kaiba315.com.cn/kaiba-logo.png',
|
|
389
|
-
url: 'http://www.kaiba315.com.cn/'
|
|
428
|
+
url: 'http://www.kaiba315.com.cn/',
|
|
390
429
|
})
|
|
391
430
|
```
|
|
392
431
|
|
|
393
432
|
### openAppSharePanel
|
|
394
433
|
|
|
395
434
|
> 主动唤起分享面板
|
|
396
|
-
> @version 开吧APP:80801开始支持,低版本需开发者做兼容处理
|
|
435
|
+
> @version 开吧 APP:80801 开始支持,低版本需开发者做兼容处理
|
|
397
436
|
|
|
398
437
|
#### 请求参数
|
|
399
438
|
|
|
400
|
-
| 参数
|
|
401
|
-
|
|
|
402
|
-
| `params` | `AppShareModel & CallbackOptions<void>` | 是
|
|
439
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
440
|
+
| -------- | --------------------------------------- | ---- | ------------------------ |
|
|
441
|
+
| `params` | `AppShareModel & CallbackOptions<void>` | 是 | 分享模型与回调选项的组合 |
|
|
403
442
|
|
|
404
443
|
#### 返回值
|
|
405
444
|
|
|
@@ -410,7 +449,7 @@ Promise<void>
|
|
|
410
449
|
#### 示例代码
|
|
411
450
|
|
|
412
451
|
```js
|
|
413
|
-
import { openAppSharePanel } from '@kbapp/market-partner-sdk'
|
|
452
|
+
import { openAppSharePanel } from '@kbapp/market-partner-sdk'
|
|
414
453
|
|
|
415
454
|
openAppSharePanel({
|
|
416
455
|
title: '开吧分享',
|
|
@@ -422,19 +461,19 @@ openAppSharePanel({
|
|
|
422
461
|
},
|
|
423
462
|
fail(error) {
|
|
424
463
|
console.log('打开分享面板失败', error)
|
|
425
|
-
}
|
|
464
|
+
},
|
|
426
465
|
})
|
|
427
466
|
```
|
|
428
467
|
|
|
429
468
|
### onAppSharePanelShow
|
|
430
469
|
|
|
431
470
|
> 监听分享面板打开时触发(主动和被动)
|
|
432
|
-
> @version 开吧APP:80801开始支持,低版本需开发者做兼容处理
|
|
471
|
+
> @version 开吧 APP:80801 开始支持,低版本需开发者做兼容处理
|
|
433
472
|
|
|
434
473
|
#### 请求参数
|
|
435
474
|
|
|
436
|
-
| 参数
|
|
437
|
-
|
|
|
475
|
+
| 参数 | 类型 | 说明 |
|
|
476
|
+
| ---------- | ------------------------------------ | -------------------- |
|
|
438
477
|
| `callback` | `EventListenerOrEventListenerObject` | 分享面板打开时的回调 |
|
|
439
478
|
|
|
440
479
|
#### 返回值
|
|
@@ -447,7 +486,7 @@ openAppSharePanel({
|
|
|
447
486
|
#### 示例代码
|
|
448
487
|
|
|
449
488
|
```js
|
|
450
|
-
import { onAppSharePanelShow } from '@kbapp/market-partner-sdk'
|
|
489
|
+
import { onAppSharePanelShow } from '@kbapp/market-partner-sdk'
|
|
451
490
|
|
|
452
491
|
const stopHandle = onAppSharePanelShow(() => {
|
|
453
492
|
console.log('分享面板打开')
|
|
@@ -459,15 +498,15 @@ const stopHandle = onAppSharePanelShow(() => {
|
|
|
459
498
|
### shareImage
|
|
460
499
|
|
|
461
500
|
> 分享图片
|
|
462
|
-
> @version 开吧APP:80801开始支持,低版本需开发者做兼容处理
|
|
501
|
+
> @version 开吧 APP:80801 开始支持,低版本需开发者做兼容处理
|
|
463
502
|
|
|
464
503
|
#### 请求参数
|
|
465
504
|
|
|
466
|
-
| 参数
|
|
467
|
-
|
|
|
468
|
-
| `imageUrl` | `string`
|
|
469
|
-
| `success`
|
|
470
|
-
| `fail`
|
|
505
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
506
|
+
| ---------- | ----------------------------- | ---- | ---------------------------------------- |
|
|
507
|
+
| `imageUrl` | `string` | 是 | 图片 URL(仅支持网络地址,jpg/png 格式) |
|
|
508
|
+
| `success` | `() => void` | 否 | 成功回调 |
|
|
509
|
+
| `fail` | `(error: BridgeCode) => void` | 否 | 失败回调 |
|
|
471
510
|
|
|
472
511
|
#### 返回值
|
|
473
512
|
|
|
@@ -478,24 +517,24 @@ Promise<void>
|
|
|
478
517
|
#### 示例代码
|
|
479
518
|
|
|
480
519
|
```js
|
|
481
|
-
import { shareImage } from '@kbapp/market-partner-sdk'
|
|
520
|
+
import { shareImage } from '@kbapp/market-partner-sdk'
|
|
482
521
|
|
|
483
522
|
shareImage({
|
|
484
|
-
imageUrl: 'https://static.kaiba315.com.cn/kaiba-logo.png'
|
|
523
|
+
imageUrl: 'https://static.kaiba315.com.cn/kaiba-logo.png',
|
|
485
524
|
})
|
|
486
525
|
```
|
|
487
526
|
|
|
488
527
|
### getAppBaseInfo
|
|
489
528
|
|
|
490
529
|
> 获取开吧 App 基础信息
|
|
491
|
-
> @version 开吧APP:80801开始支持,低版本需开发者做兼容处理
|
|
530
|
+
> @version 开吧 APP:80801 开始支持,低版本需开发者做兼容处理
|
|
492
531
|
|
|
493
532
|
#### 请求参数
|
|
494
533
|
|
|
495
|
-
| 参数
|
|
496
|
-
|
|
|
534
|
+
| 参数 | 类型 | 说明 |
|
|
535
|
+
| --------- | ----------------------------------- | -------- |
|
|
497
536
|
| `success` | `(deviceInfo: AppBaseInfo) => void` | 成功回调 |
|
|
498
|
-
| `fail`
|
|
537
|
+
| `fail` | `(error: BridgeCode) => void` | 失败回调 |
|
|
499
538
|
|
|
500
539
|
#### 返回值
|
|
501
540
|
|
|
@@ -506,7 +545,7 @@ Promise<AppBaseInfo>
|
|
|
506
545
|
#### 示例代码
|
|
507
546
|
|
|
508
547
|
```js
|
|
509
|
-
import { getAppBaseInfo, AppBaseInfo } from '@kbapp/market-partner-sdk'
|
|
548
|
+
import { getAppBaseInfo, AppBaseInfo } from '@kbapp/market-partner-sdk'
|
|
510
549
|
|
|
511
550
|
// 回调形式
|
|
512
551
|
getAppBaseInfo({
|
|
@@ -527,17 +566,17 @@ getAppBaseInfo().then((deviceInfo: AppBaseInfo) => {
|
|
|
527
566
|
### reportGetui
|
|
528
567
|
|
|
529
568
|
> 上报数据埋点到个推
|
|
530
|
-
> @version 开吧APP:80801开始支持,低版本需开发者做兼容处理
|
|
569
|
+
> @version 开吧 APP:80801 开始支持,低版本需开发者做兼容处理
|
|
531
570
|
|
|
532
571
|
#### 请求参数
|
|
533
572
|
|
|
534
|
-
| 参数
|
|
535
|
-
|
|
|
536
|
-
| `eventName`
|
|
537
|
-
| `eventParams` | `{ [key: string]: any }`
|
|
538
|
-
| `eventType`
|
|
539
|
-
| `success`
|
|
540
|
-
| `fail`
|
|
573
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
574
|
+
| ------------- | ----------------------------- | ---- | ---------------- |
|
|
575
|
+
| `eventName` | `string` | 是 | 事件名 |
|
|
576
|
+
| `eventParams` | `{ [key: string]: any }` | 否 | 上报参数 |
|
|
577
|
+
| `eventType` | `'Begin' \| 'End'` | 否 | 开始结束类型传递 |
|
|
578
|
+
| `success` | `() => void` | 否 | 成功回调 |
|
|
579
|
+
| `fail` | `(error: BridgeCode) => void` | 否 | 失败回调 |
|
|
541
580
|
|
|
542
581
|
#### 返回值
|
|
543
582
|
|
|
@@ -548,7 +587,7 @@ Promise<void>
|
|
|
548
587
|
#### 示例代码
|
|
549
588
|
|
|
550
589
|
```js
|
|
551
|
-
import { reportGetui } from '@kbapp/market-partner-sdk'
|
|
590
|
+
import { reportGetui } from '@kbapp/market-partner-sdk'
|
|
552
591
|
|
|
553
592
|
reportGetui({
|
|
554
593
|
eventName: 'event_name',
|
|
@@ -563,76 +602,174 @@ reportGetui({
|
|
|
563
602
|
|
|
564
603
|
## 数据模型
|
|
565
604
|
|
|
566
|
-
###
|
|
567
|
-
|
|
568
|
-
> 认证令牌数据模型
|
|
605
|
+
### AuthResult
|
|
569
606
|
|
|
570
|
-
|
|
571
|
-
| --- | --- | --- |
|
|
572
|
-
| `token` | `string` | 认证令牌 |
|
|
573
|
-
| `userId` | `number` | 用户ID |
|
|
574
|
-
| `expireTime` | `number` | 过期时间戳(毫秒) |
|
|
607
|
+
> 认证结果数据模型
|
|
575
608
|
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
609
|
+
```js
|
|
610
|
+
class AuthResult {
|
|
611
|
+
/** 状态码 0 成功, 1: 未登录, 2: 取消登录, 3: 获取token失败 */
|
|
612
|
+
code!: 0 | 1 | 2 | 3
|
|
579
613
|
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
614
|
+
/** 登录凭证, 当 code === 0 的时候返回 */
|
|
615
|
+
token!: string
|
|
616
|
+
}
|
|
617
|
+
```
|
|
584
618
|
|
|
585
619
|
### AppBaseInfo
|
|
586
620
|
|
|
587
621
|
> App 基础信息数据模型
|
|
588
622
|
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
623
|
+
```js
|
|
624
|
+
class AppBaseInfo {
|
|
625
|
+
/** 例如iOS */
|
|
626
|
+
do!: string
|
|
627
|
+
|
|
628
|
+
/** 例如iPhone11,2 */
|
|
629
|
+
db!: string
|
|
630
|
+
|
|
631
|
+
/** 例如15.5 */
|
|
632
|
+
dv!: string
|
|
633
|
+
|
|
634
|
+
/** 版本号.例如69011 */
|
|
635
|
+
vcode!: number
|
|
636
|
+
|
|
637
|
+
/** 版本号.例如6.90.11 */
|
|
638
|
+
v!: string
|
|
639
|
+
|
|
640
|
+
/** 未知 */
|
|
641
|
+
source!: number
|
|
642
|
+
|
|
643
|
+
/** 电台id */
|
|
644
|
+
siteId!: number
|
|
645
|
+
|
|
646
|
+
/** 用户id.当登录时返回 */
|
|
647
|
+
userId?: number
|
|
648
|
+
|
|
649
|
+
/** 未知 */
|
|
650
|
+
cid!: string
|
|
651
|
+
}
|
|
652
|
+
```
|
|
600
653
|
|
|
601
654
|
### AppShareModel
|
|
602
655
|
|
|
603
656
|
> 应用分享模型
|
|
604
657
|
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
658
|
+
```js
|
|
659
|
+
class AppShareModel {
|
|
660
|
+
/**
|
|
661
|
+
* 标题
|
|
662
|
+
*/
|
|
663
|
+
title!: string
|
|
664
|
+
|
|
665
|
+
/**
|
|
666
|
+
* 文字内容
|
|
667
|
+
*/
|
|
668
|
+
content?: string
|
|
669
|
+
|
|
670
|
+
/**
|
|
671
|
+
* 图片
|
|
672
|
+
*/
|
|
673
|
+
imageUrl!: string
|
|
674
|
+
|
|
675
|
+
/**
|
|
676
|
+
* 分享链接
|
|
677
|
+
*/
|
|
678
|
+
url!: string
|
|
679
|
+
|
|
680
|
+
/**
|
|
681
|
+
* 分享功能是否开启. 默认为 true.
|
|
682
|
+
* 当分享功能关闭时, 其他分享相关字段均无效.
|
|
683
|
+
*/
|
|
684
|
+
enabled?: boolean
|
|
685
|
+
|
|
686
|
+
// -------------------------------------------------------
|
|
687
|
+
|
|
688
|
+
/**
|
|
689
|
+
* 海报分享标题.
|
|
690
|
+
* 客户端: 海报分享必须. 若不存在则取 {@link #title}, 若也不存在, 则海报分享功能关闭.
|
|
691
|
+
* H5: 非必填. 通过桥接给到客户端时, 建议可以只填充 {@link #title}.
|
|
692
|
+
* 后端: 非必填.
|
|
693
|
+
*/
|
|
694
|
+
posterTitle?: string
|
|
695
|
+
|
|
696
|
+
/**
|
|
697
|
+
* 海报分享内容.
|
|
698
|
+
* 客户端: 非必须. 若不存在则取 {@link #content}, 若也不存在, 则海报只有标题内容.
|
|
699
|
+
* H5: 非必填. 通过桥接给到客户端时, 建议可以只填充 {@link #content}.
|
|
700
|
+
* 后端: 非必填.
|
|
701
|
+
*/
|
|
702
|
+
posterContent?: string
|
|
703
|
+
|
|
704
|
+
/**
|
|
705
|
+
* 海报分享封面图.
|
|
706
|
+
* 客户端: 海报分享非必须. 若不存在则取 {@link #imageUrl}, 若也不存在, 则海报无封面.
|
|
707
|
+
* H5: 非必填. 通过桥接给到客户端时, 建议可以只填充 {@link #imageUrl}.
|
|
708
|
+
* 后端: 非必填.
|
|
709
|
+
*/
|
|
710
|
+
posterUrl?: string
|
|
711
|
+
|
|
712
|
+
/**
|
|
713
|
+
* 海报分享的展示时间.
|
|
714
|
+
* 客户端: 海报分享非必须. 若不存在则海报不展示时间.
|
|
715
|
+
* H5: 非必填. 通过桥接给到客户端时, 建议忽略该字段.
|
|
716
|
+
* 后端: 非必填.
|
|
717
|
+
*/
|
|
718
|
+
posterTime?: string
|
|
719
|
+
|
|
720
|
+
/** 海报分享展示时间格式. */
|
|
721
|
+
posterTimeFormat?: string
|
|
722
|
+
|
|
723
|
+
/**
|
|
724
|
+
* 海报分享功能是否开启. 默认为 false.
|
|
725
|
+
* 当海报分享功能关闭时, 其他海报分享相关字段均无效.
|
|
726
|
+
*/
|
|
727
|
+
posterEnabled?: boolean
|
|
728
|
+
|
|
729
|
+
// -------------------------------------------------------
|
|
730
|
+
|
|
731
|
+
/**
|
|
732
|
+
* 分享小程序设置: 小程序原始ID.
|
|
733
|
+
* 获取方法: 登录小程序管理后台-设置-基本设置-帐号信息.
|
|
734
|
+
*
|
|
735
|
+
* 当此字段非空时, 客户端会显示 '分享至小程序' 功能. 详见微信小程序分享文档:
|
|
736
|
+
* https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html
|
|
737
|
+
*/
|
|
738
|
+
wxMiniUserName?: string
|
|
739
|
+
|
|
740
|
+
/**
|
|
741
|
+
* 分享小程序设置: 小程序页面路径.
|
|
742
|
+
*/
|
|
743
|
+
wxMiniPath?: string
|
|
744
|
+
|
|
745
|
+
/**
|
|
746
|
+
* 分享小程序设置: 额外信息.
|
|
747
|
+
* 通常开发者希望分享出去的小程序被二次打开时可以获取到更多信息, 例如群的标识.
|
|
748
|
+
*/
|
|
749
|
+
wxMiniShareTicket?: boolean
|
|
750
|
+
|
|
751
|
+
/**
|
|
752
|
+
* 分享小程序设置: 小程序的类型.
|
|
753
|
+
* 0为正式版, 1为测试版, 2为体验版.
|
|
754
|
+
*/
|
|
755
|
+
wxMiniType?: number
|
|
756
|
+
}
|
|
757
|
+
```
|
|
622
758
|
|
|
623
759
|
### BridgeCode
|
|
624
760
|
|
|
625
761
|
> 错误码枚举
|
|
626
762
|
|
|
627
|
-
| 常量
|
|
628
|
-
|
|
|
629
|
-
| `BridgeCode.UNKNOWN`
|
|
630
|
-
| `BridgeCode.UNSUPPORTED_VERSION`
|
|
631
|
-
| `BridgeCode.TIMEOUT`
|
|
763
|
+
| 常量 | 值 | 说明 |
|
|
764
|
+
| ----------------------------------- | ----------------------------------------------------- | ------------------- |
|
|
765
|
+
| `BridgeCode.UNKNOWN` | `{ errorCode: 1000, errorMsg: '未知错误' }` | 未知错误 |
|
|
766
|
+
| `BridgeCode.UNSUPPORTED_VERSION` | `{ errorCode: 1001, errorMsg: '当前开吧版本不支持' }` | 当前开吧版本不支持 |
|
|
767
|
+
| `BridgeCode.TIMEOUT` | `{ errorCode: 1002, errorMsg: '执行超时' }` | 执行超时 |
|
|
768
|
+
| `BridgeCode.UNSUPPORTED_BRIDGE_ENV` | `{ errorCode: 1003, errorMsg: '请在开吧app内执行' }` | 请在开吧 app 内执行 |
|
|
632
769
|
|
|
633
770
|
### IS_KB_APP_ENV
|
|
634
771
|
|
|
635
|
-
> 环境检测常量,用于检测当前是否在开吧App内运行
|
|
772
|
+
> 环境检测常量,用于检测当前是否在开吧 App 内运行
|
|
636
773
|
|
|
637
774
|
#### 类型
|
|
638
775
|
|
|
@@ -642,20 +779,20 @@ export const IS_KB_APP_ENV: boolean
|
|
|
642
779
|
|
|
643
780
|
#### 说明
|
|
644
781
|
|
|
645
|
-
该常量通过检测 User-Agent 中是否包含开吧App的特征字符串来判断当前环境是否在开吧App内运行。
|
|
782
|
+
该常量通过检测 User-Agent 中是否包含开吧 App 的特征字符串来判断当前环境是否在开吧 App 内运行。
|
|
646
783
|
|
|
647
784
|
#### 示例代码
|
|
648
785
|
|
|
649
786
|
```js
|
|
650
|
-
import { IS_KB_APP_ENV } from '@kbapp/market-partner-sdk'
|
|
787
|
+
import { IS_KB_APP_ENV } from '@kbapp/market-partner-sdk'
|
|
651
788
|
|
|
652
789
|
if (IS_KB_APP_ENV) {
|
|
653
|
-
console.log('当前在开吧App内运行,可以使用SDK功能')
|
|
790
|
+
console.log('当前在开吧App内运行,可以使用SDK功能')
|
|
654
791
|
} else {
|
|
655
|
-
console.log('当前不在开吧App内运行,可能需要降级处理')
|
|
792
|
+
console.log('当前不在开吧App内运行,可能需要降级处理')
|
|
656
793
|
}
|
|
657
794
|
```
|
|
658
795
|
|
|
659
796
|
## 常见问题
|
|
660
797
|
|
|
661
|
-
1. 桥接触发无反应:请检查当前是否处于开吧 App 内,以及当前网页是否在白名单内
|
|
798
|
+
1. 桥接触发无反应:请检查当前是否处于开吧 App 内,以及当前网页是否在白名单内
|