@kbapp/market-partner-sdk 0.0.1 → 0.0.3
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 +337 -199
- package/dist/index.es.js +123 -115
- package/dist/index.umd.js +1 -1
- package/dist/lib/auth-token.d.ts +36 -22
- 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,98 @@ 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
277
|
```
|
|
278
278
|
|
|
279
|
+
### getAuthTokenWithSilent
|
|
280
|
+
|
|
281
|
+
> 静默获取认证令牌,当用户未登录时不会唤起登录界面
|
|
282
|
+
> @version 开吧 APP:80801 开始支持,低版本需开发者做兼容处理
|
|
283
|
+
|
|
284
|
+
#### 请求参数
|
|
285
|
+
|
|
286
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
287
|
+
| --------- | ----------------------------- | ---- | ------------ |
|
|
288
|
+
| `success` | `(token: AuthResult) => void` | 否 | 成功回调 |
|
|
289
|
+
| `fail` | `(error: BridgeCode) => void` | 否 | 失败回调 |
|
|
290
|
+
|
|
291
|
+
#### 返回值
|
|
292
|
+
|
|
293
|
+
```js
|
|
294
|
+
Promise<AuthResult>
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
#### 示例代码
|
|
298
|
+
|
|
299
|
+
```js
|
|
300
|
+
import { getAuthTokenWithSilent } from '@kbapp/market-partner-sdk'
|
|
301
|
+
|
|
302
|
+
// 回调形式
|
|
303
|
+
getAuthTokenWithSilent({
|
|
304
|
+
success(authResult: AuthResult) {
|
|
305
|
+
if (authResult.code === 0) {
|
|
306
|
+
console.log('已登录,token:', authResult.token)
|
|
307
|
+
} else {
|
|
308
|
+
console.log('用户未登录')
|
|
309
|
+
}
|
|
310
|
+
},
|
|
311
|
+
})
|
|
279
312
|
|
|
313
|
+
// Promise 形式
|
|
314
|
+
const authResult = await getAuthTokenWithSilent()
|
|
315
|
+
if (authResult.code === 0) {
|
|
316
|
+
console.log('已登录,token:', authResult.token)
|
|
317
|
+
} else {
|
|
318
|
+
console.log('用户未登录')
|
|
319
|
+
}
|
|
320
|
+
```
|
|
280
321
|
|
|
281
322
|
### runAction
|
|
282
323
|
|
|
283
324
|
> 执行统一跳转页面标准
|
|
284
|
-
> @version 开吧APP:80801开始支持,低版本需开发者做兼容处理
|
|
325
|
+
> @version 开吧 APP:80801 开始支持,低版本需开发者做兼容处理
|
|
285
326
|
|
|
286
327
|
#### 请求参数
|
|
287
328
|
|
|
288
|
-
| 参数
|
|
289
|
-
|
|
|
290
|
-
| `action`
|
|
291
|
-
| `actionParams` | `Record<string, any>`
|
|
292
|
-
| `success`
|
|
293
|
-
| `fail`
|
|
329
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
330
|
+
| -------------- | ----------------------------- | ---- | -------- |
|
|
331
|
+
| `action` | `string` | 是 | 动作名称 |
|
|
332
|
+
| `actionParams` | `Record<string, any>` | 否 | 动作参数 |
|
|
333
|
+
| `success` | `() => void` | 否 | 成功回调 |
|
|
334
|
+
| `fail` | `(error: BridgeCode) => void` | 否 | 失败回调 |
|
|
294
335
|
|
|
295
336
|
#### 返回值
|
|
296
337
|
|
|
@@ -301,41 +342,40 @@ Promise<void>
|
|
|
301
342
|
#### 示例代码
|
|
302
343
|
|
|
303
344
|
```js
|
|
304
|
-
import { runAction } from '@kbapp/market-partner-sdk'
|
|
345
|
+
import { runAction } from '@kbapp/market-partner-sdk'
|
|
305
346
|
|
|
306
347
|
runAction({
|
|
307
348
|
action: 'pageWeb',
|
|
308
349
|
actionParams: {
|
|
309
350
|
url: 'https://www.baidu.com',
|
|
310
|
-
}
|
|
351
|
+
},
|
|
311
352
|
})
|
|
312
353
|
```
|
|
313
354
|
|
|
314
355
|
### defineAppShareModel
|
|
315
356
|
|
|
316
|
-
> 定义app点击转发时候的分享卡片内容
|
|
317
|
-
> @version 开吧APP:80801开始支持,低版本需开发者做兼容处理
|
|
357
|
+
> 定义 app 点击转发时候的分享卡片内容
|
|
358
|
+
> @version 开吧 APP:80801 开始支持,低版本需开发者做兼容处理
|
|
318
359
|
|
|
319
|
-
#### 请求参数 方式1
|
|
360
|
+
#### 请求参数 方式 1
|
|
320
361
|
|
|
321
|
-
| 参数
|
|
322
|
-
|
|
|
323
|
-
| `title`
|
|
324
|
-
| `content`
|
|
325
|
-
| `imageUrl` | `string`
|
|
326
|
-
| `url`
|
|
327
|
-
| `...`
|
|
328
|
-
| `success`
|
|
329
|
-
| `fail`
|
|
362
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
363
|
+
| ---------- | ----------------------------- | ---- | ---------------------------- |
|
|
364
|
+
| `title` | `string` | 否 | 分享标题 |
|
|
365
|
+
| `content` | `string` | 否 | 分享内容 |
|
|
366
|
+
| `imageUrl` | `string` | 否 | 分享图片 URL |
|
|
367
|
+
| `url` | `string` | 否 | 分享链接 URL |
|
|
368
|
+
| `...` | `unknow` | 否 | 其他参数详情见 AppShareModel |
|
|
369
|
+
| `success` | `() => void` | 否 | 成功回调 |
|
|
370
|
+
| `fail` | `(error: BridgeCode) => void` | 否 | 失败回调 |
|
|
330
371
|
|
|
331
|
-
#### 请求参数 方式2
|
|
332
|
-
|
|
333
|
-
| 参数 | 类型 | 必填 | 说明 |
|
|
334
|
-
| --- | --- | --- | --- |
|
|
335
|
-
| `onShareApp` | `() => AppShareModel` | 否 | 点击分享时触发的函数,返回分享模型(方式2) |
|
|
336
|
-
| `success` | `() => void` | 否 | 成功回调 |
|
|
337
|
-
| `fail` | `(error: BridgeCode) => void` | 否 | 失败回调 |
|
|
372
|
+
#### 请求参数 方式 2
|
|
338
373
|
|
|
374
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
375
|
+
| ------------ | ----------------------------- | ---- | -------------------------------------------- |
|
|
376
|
+
| `onShareApp` | `() => AppShareModel` | 否 | 点击分享时触发的函数,返回分享模型(方式 2) |
|
|
377
|
+
| `success` | `() => void` | 否 | 成功回调 |
|
|
378
|
+
| `fail` | `(error: BridgeCode) => void` | 否 | 失败回调 |
|
|
339
379
|
|
|
340
380
|
#### 返回值
|
|
341
381
|
|
|
@@ -346,7 +386,7 @@ Promise<void>
|
|
|
346
386
|
#### 示例代码
|
|
347
387
|
|
|
348
388
|
```js
|
|
349
|
-
import { defineAppShareModel } from '@kbapp/market-partner-sdk'
|
|
389
|
+
import { defineAppShareModel } from '@kbapp/market-partner-sdk'
|
|
350
390
|
|
|
351
391
|
// 方式1:直接提供分享模型
|
|
352
392
|
defineAppShareModel({
|
|
@@ -359,7 +399,7 @@ defineAppShareModel({
|
|
|
359
399
|
},
|
|
360
400
|
fail(error) {
|
|
361
401
|
console.log('设置失败', error)
|
|
362
|
-
}
|
|
402
|
+
},
|
|
363
403
|
})
|
|
364
404
|
|
|
365
405
|
// 方式2:提供分享模型函数(点击分享时动态生成分享内容)
|
|
@@ -370,7 +410,7 @@ defineAppShareModel({
|
|
|
370
410
|
title: '动态生成的分享标题',
|
|
371
411
|
content: '动态生成的分享内容',
|
|
372
412
|
imageUrl: 'https://static.kaiba315.com.cn/kaiba-logo.png',
|
|
373
|
-
url: 'http://www.kaiba315.com.cn/?t=' + Date.now()
|
|
413
|
+
url: 'http://www.kaiba315.com.cn/?t=' + Date.now(),
|
|
374
414
|
}
|
|
375
415
|
},
|
|
376
416
|
success() {
|
|
@@ -378,7 +418,7 @@ defineAppShareModel({
|
|
|
378
418
|
},
|
|
379
419
|
fail(error) {
|
|
380
420
|
console.log('设置失败', error)
|
|
381
|
-
}
|
|
421
|
+
},
|
|
382
422
|
})
|
|
383
423
|
|
|
384
424
|
// Promise 形式
|
|
@@ -386,20 +426,20 @@ await defineAppShareModel({
|
|
|
386
426
|
title: '分享标题',
|
|
387
427
|
content: '分享内容',
|
|
388
428
|
imageUrl: 'https://static.kaiba315.com.cn/kaiba-logo.png',
|
|
389
|
-
url: 'http://www.kaiba315.com.cn/'
|
|
429
|
+
url: 'http://www.kaiba315.com.cn/',
|
|
390
430
|
})
|
|
391
431
|
```
|
|
392
432
|
|
|
393
433
|
### openAppSharePanel
|
|
394
434
|
|
|
395
435
|
> 主动唤起分享面板
|
|
396
|
-
> @version 开吧APP:80801开始支持,低版本需开发者做兼容处理
|
|
436
|
+
> @version 开吧 APP:80801 开始支持,低版本需开发者做兼容处理
|
|
397
437
|
|
|
398
438
|
#### 请求参数
|
|
399
439
|
|
|
400
|
-
| 参数
|
|
401
|
-
|
|
|
402
|
-
| `params` | `AppShareModel & CallbackOptions<void>` | 是
|
|
440
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
441
|
+
| -------- | --------------------------------------- | ---- | ------------------------ |
|
|
442
|
+
| `params` | `AppShareModel & CallbackOptions<void>` | 是 | 分享模型与回调选项的组合 |
|
|
403
443
|
|
|
404
444
|
#### 返回值
|
|
405
445
|
|
|
@@ -410,7 +450,7 @@ Promise<void>
|
|
|
410
450
|
#### 示例代码
|
|
411
451
|
|
|
412
452
|
```js
|
|
413
|
-
import { openAppSharePanel } from '@kbapp/market-partner-sdk'
|
|
453
|
+
import { openAppSharePanel } from '@kbapp/market-partner-sdk'
|
|
414
454
|
|
|
415
455
|
openAppSharePanel({
|
|
416
456
|
title: '开吧分享',
|
|
@@ -422,19 +462,19 @@ openAppSharePanel({
|
|
|
422
462
|
},
|
|
423
463
|
fail(error) {
|
|
424
464
|
console.log('打开分享面板失败', error)
|
|
425
|
-
}
|
|
465
|
+
},
|
|
426
466
|
})
|
|
427
467
|
```
|
|
428
468
|
|
|
429
469
|
### onAppSharePanelShow
|
|
430
470
|
|
|
431
471
|
> 监听分享面板打开时触发(主动和被动)
|
|
432
|
-
> @version 开吧APP:80801开始支持,低版本需开发者做兼容处理
|
|
472
|
+
> @version 开吧 APP:80801 开始支持,低版本需开发者做兼容处理
|
|
433
473
|
|
|
434
474
|
#### 请求参数
|
|
435
475
|
|
|
436
|
-
| 参数
|
|
437
|
-
|
|
|
476
|
+
| 参数 | 类型 | 说明 |
|
|
477
|
+
| ---------- | ------------------------------------ | -------------------- |
|
|
438
478
|
| `callback` | `EventListenerOrEventListenerObject` | 分享面板打开时的回调 |
|
|
439
479
|
|
|
440
480
|
#### 返回值
|
|
@@ -447,7 +487,7 @@ openAppSharePanel({
|
|
|
447
487
|
#### 示例代码
|
|
448
488
|
|
|
449
489
|
```js
|
|
450
|
-
import { onAppSharePanelShow } from '@kbapp/market-partner-sdk'
|
|
490
|
+
import { onAppSharePanelShow } from '@kbapp/market-partner-sdk'
|
|
451
491
|
|
|
452
492
|
const stopHandle = onAppSharePanelShow(() => {
|
|
453
493
|
console.log('分享面板打开')
|
|
@@ -459,15 +499,15 @@ const stopHandle = onAppSharePanelShow(() => {
|
|
|
459
499
|
### shareImage
|
|
460
500
|
|
|
461
501
|
> 分享图片
|
|
462
|
-
> @version 开吧APP:80801开始支持,低版本需开发者做兼容处理
|
|
502
|
+
> @version 开吧 APP:80801 开始支持,低版本需开发者做兼容处理
|
|
463
503
|
|
|
464
504
|
#### 请求参数
|
|
465
505
|
|
|
466
|
-
| 参数
|
|
467
|
-
|
|
|
468
|
-
| `imageUrl` | `string`
|
|
469
|
-
| `success`
|
|
470
|
-
| `fail`
|
|
506
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
507
|
+
| ---------- | ----------------------------- | ---- | ---------------------------------------- |
|
|
508
|
+
| `imageUrl` | `string` | 是 | 图片 URL(仅支持网络地址,jpg/png 格式) |
|
|
509
|
+
| `success` | `() => void` | 否 | 成功回调 |
|
|
510
|
+
| `fail` | `(error: BridgeCode) => void` | 否 | 失败回调 |
|
|
471
511
|
|
|
472
512
|
#### 返回值
|
|
473
513
|
|
|
@@ -478,24 +518,24 @@ Promise<void>
|
|
|
478
518
|
#### 示例代码
|
|
479
519
|
|
|
480
520
|
```js
|
|
481
|
-
import { shareImage } from '@kbapp/market-partner-sdk'
|
|
521
|
+
import { shareImage } from '@kbapp/market-partner-sdk'
|
|
482
522
|
|
|
483
523
|
shareImage({
|
|
484
|
-
imageUrl: 'https://static.kaiba315.com.cn/kaiba-logo.png'
|
|
524
|
+
imageUrl: 'https://static.kaiba315.com.cn/kaiba-logo.png',
|
|
485
525
|
})
|
|
486
526
|
```
|
|
487
527
|
|
|
488
528
|
### getAppBaseInfo
|
|
489
529
|
|
|
490
530
|
> 获取开吧 App 基础信息
|
|
491
|
-
> @version 开吧APP:80801开始支持,低版本需开发者做兼容处理
|
|
531
|
+
> @version 开吧 APP:80801 开始支持,低版本需开发者做兼容处理
|
|
492
532
|
|
|
493
533
|
#### 请求参数
|
|
494
534
|
|
|
495
|
-
| 参数
|
|
496
|
-
|
|
|
535
|
+
| 参数 | 类型 | 说明 |
|
|
536
|
+
| --------- | ----------------------------------- | -------- |
|
|
497
537
|
| `success` | `(deviceInfo: AppBaseInfo) => void` | 成功回调 |
|
|
498
|
-
| `fail`
|
|
538
|
+
| `fail` | `(error: BridgeCode) => void` | 失败回调 |
|
|
499
539
|
|
|
500
540
|
#### 返回值
|
|
501
541
|
|
|
@@ -506,7 +546,7 @@ Promise<AppBaseInfo>
|
|
|
506
546
|
#### 示例代码
|
|
507
547
|
|
|
508
548
|
```js
|
|
509
|
-
import { getAppBaseInfo, AppBaseInfo } from '@kbapp/market-partner-sdk'
|
|
549
|
+
import { getAppBaseInfo, AppBaseInfo } from '@kbapp/market-partner-sdk'
|
|
510
550
|
|
|
511
551
|
// 回调形式
|
|
512
552
|
getAppBaseInfo({
|
|
@@ -527,17 +567,17 @@ getAppBaseInfo().then((deviceInfo: AppBaseInfo) => {
|
|
|
527
567
|
### reportGetui
|
|
528
568
|
|
|
529
569
|
> 上报数据埋点到个推
|
|
530
|
-
> @version 开吧APP:80801开始支持,低版本需开发者做兼容处理
|
|
570
|
+
> @version 开吧 APP:80801 开始支持,低版本需开发者做兼容处理
|
|
531
571
|
|
|
532
572
|
#### 请求参数
|
|
533
573
|
|
|
534
|
-
| 参数
|
|
535
|
-
|
|
|
536
|
-
| `eventName`
|
|
537
|
-
| `eventParams` | `{ [key: string]: any }`
|
|
538
|
-
| `eventType`
|
|
539
|
-
| `success`
|
|
540
|
-
| `fail`
|
|
574
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
575
|
+
| ------------- | ----------------------------- | ---- | ---------------- |
|
|
576
|
+
| `eventName` | `string` | 是 | 事件名 |
|
|
577
|
+
| `eventParams` | `{ [key: string]: any }` | 否 | 上报参数 |
|
|
578
|
+
| `eventType` | `'Begin' \| 'End'` | 否 | 开始结束类型传递 |
|
|
579
|
+
| `success` | `() => void` | 否 | 成功回调 |
|
|
580
|
+
| `fail` | `(error: BridgeCode) => void` | 否 | 失败回调 |
|
|
541
581
|
|
|
542
582
|
#### 返回值
|
|
543
583
|
|
|
@@ -548,7 +588,7 @@ Promise<void>
|
|
|
548
588
|
#### 示例代码
|
|
549
589
|
|
|
550
590
|
```js
|
|
551
|
-
import { reportGetui } from '@kbapp/market-partner-sdk'
|
|
591
|
+
import { reportGetui } from '@kbapp/market-partner-sdk'
|
|
552
592
|
|
|
553
593
|
reportGetui({
|
|
554
594
|
eventName: 'event_name',
|
|
@@ -563,76 +603,174 @@ reportGetui({
|
|
|
563
603
|
|
|
564
604
|
## 数据模型
|
|
565
605
|
|
|
566
|
-
###
|
|
606
|
+
### AuthResult
|
|
567
607
|
|
|
568
|
-
>
|
|
608
|
+
> 认证结果数据模型
|
|
569
609
|
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
| `expireTime` | `number` | 过期时间戳(毫秒) |
|
|
575
|
-
|
|
576
|
-
### AuthMode
|
|
577
|
-
|
|
578
|
-
> 认证模式枚举
|
|
610
|
+
```js
|
|
611
|
+
class AuthResult {
|
|
612
|
+
/** 状态码 0 成功, 1: 未登录, 2: 取消登录, 3: 获取token失败 */
|
|
613
|
+
code!: 0 | 1 | 2 | 3
|
|
579
614
|
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
615
|
+
/** 登录凭证, 当 code === 0 的时候返回 */
|
|
616
|
+
token!: string
|
|
617
|
+
}
|
|
618
|
+
```
|
|
584
619
|
|
|
585
620
|
### AppBaseInfo
|
|
586
621
|
|
|
587
622
|
> App 基础信息数据模型
|
|
588
623
|
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
624
|
+
```js
|
|
625
|
+
class AppBaseInfo {
|
|
626
|
+
/** 例如iOS */
|
|
627
|
+
do!: string
|
|
628
|
+
|
|
629
|
+
/** 例如iPhone11,2 */
|
|
630
|
+
db!: string
|
|
631
|
+
|
|
632
|
+
/** 例如15.5 */
|
|
633
|
+
dv!: string
|
|
634
|
+
|
|
635
|
+
/** 版本号.例如69011 */
|
|
636
|
+
vcode!: number
|
|
637
|
+
|
|
638
|
+
/** 版本号.例如6.90.11 */
|
|
639
|
+
v!: string
|
|
640
|
+
|
|
641
|
+
/** 未知 */
|
|
642
|
+
source!: number
|
|
643
|
+
|
|
644
|
+
/** 电台id */
|
|
645
|
+
siteId!: number
|
|
646
|
+
|
|
647
|
+
/** 用户id.当登录时返回 */
|
|
648
|
+
userId?: number
|
|
649
|
+
|
|
650
|
+
/** 未知 */
|
|
651
|
+
cid!: string
|
|
652
|
+
}
|
|
653
|
+
```
|
|
600
654
|
|
|
601
655
|
### AppShareModel
|
|
602
656
|
|
|
603
657
|
> 应用分享模型
|
|
604
658
|
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
659
|
+
```js
|
|
660
|
+
class AppShareModel {
|
|
661
|
+
/**
|
|
662
|
+
* 标题
|
|
663
|
+
*/
|
|
664
|
+
title!: string
|
|
665
|
+
|
|
666
|
+
/**
|
|
667
|
+
* 文字内容
|
|
668
|
+
*/
|
|
669
|
+
content?: string
|
|
670
|
+
|
|
671
|
+
/**
|
|
672
|
+
* 图片
|
|
673
|
+
*/
|
|
674
|
+
imageUrl!: string
|
|
675
|
+
|
|
676
|
+
/**
|
|
677
|
+
* 分享链接
|
|
678
|
+
*/
|
|
679
|
+
url!: string
|
|
680
|
+
|
|
681
|
+
/**
|
|
682
|
+
* 分享功能是否开启. 默认为 true.
|
|
683
|
+
* 当分享功能关闭时, 其他分享相关字段均无效.
|
|
684
|
+
*/
|
|
685
|
+
enabled?: boolean
|
|
686
|
+
|
|
687
|
+
// -------------------------------------------------------
|
|
688
|
+
|
|
689
|
+
/**
|
|
690
|
+
* 海报分享标题.
|
|
691
|
+
* 客户端: 海报分享必须. 若不存在则取 {@link #title}, 若也不存在, 则海报分享功能关闭.
|
|
692
|
+
* H5: 非必填. 通过桥接给到客户端时, 建议可以只填充 {@link #title}.
|
|
693
|
+
* 后端: 非必填.
|
|
694
|
+
*/
|
|
695
|
+
posterTitle?: string
|
|
696
|
+
|
|
697
|
+
/**
|
|
698
|
+
* 海报分享内容.
|
|
699
|
+
* 客户端: 非必须. 若不存在则取 {@link #content}, 若也不存在, 则海报只有标题内容.
|
|
700
|
+
* H5: 非必填. 通过桥接给到客户端时, 建议可以只填充 {@link #content}.
|
|
701
|
+
* 后端: 非必填.
|
|
702
|
+
*/
|
|
703
|
+
posterContent?: string
|
|
704
|
+
|
|
705
|
+
/**
|
|
706
|
+
* 海报分享封面图.
|
|
707
|
+
* 客户端: 海报分享非必须. 若不存在则取 {@link #imageUrl}, 若也不存在, 则海报无封面.
|
|
708
|
+
* H5: 非必填. 通过桥接给到客户端时, 建议可以只填充 {@link #imageUrl}.
|
|
709
|
+
* 后端: 非必填.
|
|
710
|
+
*/
|
|
711
|
+
posterUrl?: string
|
|
712
|
+
|
|
713
|
+
/**
|
|
714
|
+
* 海报分享的展示时间.
|
|
715
|
+
* 客户端: 海报分享非必须. 若不存在则海报不展示时间.
|
|
716
|
+
* H5: 非必填. 通过桥接给到客户端时, 建议忽略该字段.
|
|
717
|
+
* 后端: 非必填.
|
|
718
|
+
*/
|
|
719
|
+
posterTime?: string
|
|
720
|
+
|
|
721
|
+
/** 海报分享展示时间格式. */
|
|
722
|
+
posterTimeFormat?: string
|
|
723
|
+
|
|
724
|
+
/**
|
|
725
|
+
* 海报分享功能是否开启. 默认为 false.
|
|
726
|
+
* 当海报分享功能关闭时, 其他海报分享相关字段均无效.
|
|
727
|
+
*/
|
|
728
|
+
posterEnabled?: boolean
|
|
729
|
+
|
|
730
|
+
// -------------------------------------------------------
|
|
731
|
+
|
|
732
|
+
/**
|
|
733
|
+
* 分享小程序设置: 小程序原始ID.
|
|
734
|
+
* 获取方法: 登录小程序管理后台-设置-基本设置-帐号信息.
|
|
735
|
+
*
|
|
736
|
+
* 当此字段非空时, 客户端会显示 '分享至小程序' 功能. 详见微信小程序分享文档:
|
|
737
|
+
* https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html
|
|
738
|
+
*/
|
|
739
|
+
wxMiniUserName?: string
|
|
740
|
+
|
|
741
|
+
/**
|
|
742
|
+
* 分享小程序设置: 小程序页面路径.
|
|
743
|
+
*/
|
|
744
|
+
wxMiniPath?: string
|
|
745
|
+
|
|
746
|
+
/**
|
|
747
|
+
* 分享小程序设置: 额外信息.
|
|
748
|
+
* 通常开发者希望分享出去的小程序被二次打开时可以获取到更多信息, 例如群的标识.
|
|
749
|
+
*/
|
|
750
|
+
wxMiniShareTicket?: boolean
|
|
751
|
+
|
|
752
|
+
/**
|
|
753
|
+
* 分享小程序设置: 小程序的类型.
|
|
754
|
+
* 0为正式版, 1为测试版, 2为体验版.
|
|
755
|
+
*/
|
|
756
|
+
wxMiniType?: number
|
|
757
|
+
}
|
|
758
|
+
```
|
|
622
759
|
|
|
623
760
|
### BridgeCode
|
|
624
761
|
|
|
625
762
|
> 错误码枚举
|
|
626
763
|
|
|
627
|
-
| 常量
|
|
628
|
-
|
|
|
629
|
-
| `BridgeCode.UNKNOWN`
|
|
630
|
-
| `BridgeCode.UNSUPPORTED_VERSION`
|
|
631
|
-
| `BridgeCode.TIMEOUT`
|
|
764
|
+
| 常量 | 值 | 说明 |
|
|
765
|
+
| ----------------------------------- | ----------------------------------------------------- | ------------------- |
|
|
766
|
+
| `BridgeCode.UNKNOWN` | `{ errorCode: 1000, errorMsg: '未知错误' }` | 未知错误 |
|
|
767
|
+
| `BridgeCode.UNSUPPORTED_VERSION` | `{ errorCode: 1001, errorMsg: '当前开吧版本不支持' }` | 当前开吧版本不支持 |
|
|
768
|
+
| `BridgeCode.TIMEOUT` | `{ errorCode: 1002, errorMsg: '执行超时' }` | 执行超时 |
|
|
769
|
+
| `BridgeCode.UNSUPPORTED_BRIDGE_ENV` | `{ errorCode: 1003, errorMsg: '请在开吧app内执行' }` | 请在开吧 app 内执行 |
|
|
632
770
|
|
|
633
771
|
### IS_KB_APP_ENV
|
|
634
772
|
|
|
635
|
-
> 环境检测常量,用于检测当前是否在开吧App内运行
|
|
773
|
+
> 环境检测常量,用于检测当前是否在开吧 App 内运行
|
|
636
774
|
|
|
637
775
|
#### 类型
|
|
638
776
|
|
|
@@ -642,20 +780,20 @@ export const IS_KB_APP_ENV: boolean
|
|
|
642
780
|
|
|
643
781
|
#### 说明
|
|
644
782
|
|
|
645
|
-
该常量通过检测 User-Agent 中是否包含开吧App的特征字符串来判断当前环境是否在开吧App内运行。
|
|
783
|
+
该常量通过检测 User-Agent 中是否包含开吧 App 的特征字符串来判断当前环境是否在开吧 App 内运行。
|
|
646
784
|
|
|
647
785
|
#### 示例代码
|
|
648
786
|
|
|
649
787
|
```js
|
|
650
|
-
import { IS_KB_APP_ENV } from '@kbapp/market-partner-sdk'
|
|
788
|
+
import { IS_KB_APP_ENV } from '@kbapp/market-partner-sdk'
|
|
651
789
|
|
|
652
790
|
if (IS_KB_APP_ENV) {
|
|
653
|
-
console.log('当前在开吧App内运行,可以使用SDK功能')
|
|
791
|
+
console.log('当前在开吧App内运行,可以使用SDK功能')
|
|
654
792
|
} else {
|
|
655
|
-
console.log('当前不在开吧App内运行,可能需要降级处理')
|
|
793
|
+
console.log('当前不在开吧App内运行,可能需要降级处理')
|
|
656
794
|
}
|
|
657
795
|
```
|
|
658
796
|
|
|
659
797
|
## 常见问题
|
|
660
798
|
|
|
661
|
-
1. 桥接触发无反应:请检查当前是否处于开吧 App 内,以及当前网页是否在白名单内
|
|
799
|
+
1. 桥接触发无反应:请检查当前是否处于开吧 App 内,以及当前网页是否在白名单内
|