apifm-admin 26.6.13 → 26.6.14
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 +24 -1
- package/dist/index.cjs +11 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +11 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -24,6 +24,28 @@ const res = await apifmAdmin.loginAdminMobile({
|
|
|
24
24
|
})
|
|
25
25
|
```
|
|
26
26
|
|
|
27
|
+
## 动态获取 x-token
|
|
28
|
+
|
|
29
|
+
如果每个项目保存 token 的位置不同,不需要重写请求适配器,只注入获取 token 的方法即可:
|
|
30
|
+
|
|
31
|
+
```js
|
|
32
|
+
import apifmAdmin from 'apifm-admin'
|
|
33
|
+
|
|
34
|
+
apifmAdmin.setTokenGetter(() => {
|
|
35
|
+
return uni.getStorageSync('tokenData')?.token || ''
|
|
36
|
+
})
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
也可以通过 `setConfig` 一起配置:
|
|
40
|
+
|
|
41
|
+
```js
|
|
42
|
+
apifmAdmin.setConfig({
|
|
43
|
+
tokenGetter: () => uni.getStorageSync('tokenData')?.token || ''
|
|
44
|
+
})
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
SDK 会在每次请求前调用 `tokenGetter`,并自动写入 `X-Token` 和 `x-token` 请求头。
|
|
48
|
+
|
|
27
49
|
## 跨端请求适配
|
|
28
50
|
|
|
29
51
|
默认优先使用:
|
|
@@ -32,7 +54,7 @@ const res = await apifmAdmin.loginAdminMobile({
|
|
|
32
54
|
2. `wx.request`
|
|
33
55
|
3. `fetch`
|
|
34
56
|
|
|
35
|
-
|
|
57
|
+
只有在需要完全接管请求行为时,才需要手动注入请求适配器:
|
|
36
58
|
|
|
37
59
|
```js
|
|
38
60
|
import apifmAdmin from 'apifm-admin'
|
|
@@ -66,6 +88,7 @@ apifmAdmin.setConfig({
|
|
|
66
88
|
|
|
67
89
|
```js
|
|
68
90
|
apifmAdmin.setToken('xtoken')
|
|
91
|
+
apifmAdmin.setTokenGetter(() => uni.getStorageSync('tokenData')?.token || '')
|
|
69
92
|
apifmAdmin.setHeader('tenant-id', '1001')
|
|
70
93
|
apifmAdmin.setDomain('common', 'https://common.apifm.com')
|
|
71
94
|
```
|
package/dist/index.cjs
CHANGED
|
@@ -38321,6 +38321,7 @@ const DEFAULT_DOMAINS = {
|
|
|
38321
38321
|
|
|
38322
38322
|
const state = {
|
|
38323
38323
|
token: '',
|
|
38324
|
+
tokenGetter: null,
|
|
38324
38325
|
headers: {},
|
|
38325
38326
|
domains: { ...DEFAULT_DOMAINS },
|
|
38326
38327
|
requestAdapter: null
|
|
@@ -38361,7 +38362,8 @@ function mergeHeaders(headers) {
|
|
|
38361
38362
|
...state.headers,
|
|
38362
38363
|
...headers
|
|
38363
38364
|
}
|
|
38364
|
-
const
|
|
38365
|
+
const dynamicToken = typeof state.tokenGetter === 'function' ? state.tokenGetter() : ''
|
|
38366
|
+
const token = headers?.['X-Token'] || headers?.['x-token'] || dynamicToken || state.token
|
|
38365
38367
|
if (token) {
|
|
38366
38368
|
merged['X-Token'] = token
|
|
38367
38369
|
merged['x-token'] = token
|
|
@@ -38466,6 +38468,7 @@ const sdk = {
|
|
|
38466
38468
|
getConfig() {
|
|
38467
38469
|
return {
|
|
38468
38470
|
token: state.token,
|
|
38471
|
+
tokenGetter: state.tokenGetter,
|
|
38469
38472
|
headers: { ...state.headers },
|
|
38470
38473
|
domains: { ...state.domains }
|
|
38471
38474
|
}
|
|
@@ -38474,6 +38477,9 @@ const sdk = {
|
|
|
38474
38477
|
if (config.token !== undefined) {
|
|
38475
38478
|
state.token = config.token || ''
|
|
38476
38479
|
}
|
|
38480
|
+
if (config.tokenGetter !== undefined) {
|
|
38481
|
+
state.tokenGetter = typeof config.tokenGetter === 'function' ? config.tokenGetter : null
|
|
38482
|
+
}
|
|
38477
38483
|
if (config.headers) {
|
|
38478
38484
|
state.headers = { ...state.headers, ...config.headers }
|
|
38479
38485
|
}
|
|
@@ -38489,6 +38495,10 @@ const sdk = {
|
|
|
38489
38495
|
state.token = token || ''
|
|
38490
38496
|
return sdk
|
|
38491
38497
|
},
|
|
38498
|
+
setTokenGetter(tokenGetter) {
|
|
38499
|
+
state.tokenGetter = typeof tokenGetter === 'function' ? tokenGetter : null
|
|
38500
|
+
return sdk
|
|
38501
|
+
},
|
|
38492
38502
|
setHeader(name, value) {
|
|
38493
38503
|
if (isNil(value)) {
|
|
38494
38504
|
delete state.headers[name]
|
package/dist/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export interface RequestOptions {
|
|
|
4
4
|
|
|
5
5
|
export interface SDKConfig {
|
|
6
6
|
token?: string;
|
|
7
|
+
tokenGetter?: () => string;
|
|
7
8
|
headers?: Record<string, string>;
|
|
8
9
|
domains?: Record<string, string>;
|
|
9
10
|
requestAdapter?: (options: RequestAdapterOptions) => Promise<any>;
|
|
@@ -13255,9 +13256,10 @@ export interface YuyueJoinSuccessPayload {
|
|
|
13255
13256
|
}
|
|
13256
13257
|
|
|
13257
13258
|
declare const sdk: {
|
|
13258
|
-
getConfig(): { token: string; headers: Record<string, string>; domains: Record<string, string> };
|
|
13259
|
+
getConfig(): { token: string; tokenGetter: (() => string) | null; headers: Record<string, string>; domains: Record<string, string> };
|
|
13259
13260
|
setConfig(config?: SDKConfig): typeof sdk;
|
|
13260
13261
|
setToken(token: string): typeof sdk;
|
|
13262
|
+
setTokenGetter(tokenGetter?: () => string): typeof sdk;
|
|
13261
13263
|
setHeader(name: string, value?: string): typeof sdk;
|
|
13262
13264
|
setHeaders(headers?: Record<string, string>): typeof sdk;
|
|
13263
13265
|
setDomain(domainKey: string, domainValue: string): typeof sdk;
|
package/dist/index.js
CHANGED
|
@@ -38321,6 +38321,7 @@ const DEFAULT_DOMAINS = {
|
|
|
38321
38321
|
|
|
38322
38322
|
const state = {
|
|
38323
38323
|
token: '',
|
|
38324
|
+
tokenGetter: null,
|
|
38324
38325
|
headers: {},
|
|
38325
38326
|
domains: { ...DEFAULT_DOMAINS },
|
|
38326
38327
|
requestAdapter: null
|
|
@@ -38361,7 +38362,8 @@ function mergeHeaders(headers) {
|
|
|
38361
38362
|
...state.headers,
|
|
38362
38363
|
...headers
|
|
38363
38364
|
}
|
|
38364
|
-
const
|
|
38365
|
+
const dynamicToken = typeof state.tokenGetter === 'function' ? state.tokenGetter() : ''
|
|
38366
|
+
const token = headers?.['X-Token'] || headers?.['x-token'] || dynamicToken || state.token
|
|
38365
38367
|
if (token) {
|
|
38366
38368
|
merged['X-Token'] = token
|
|
38367
38369
|
merged['x-token'] = token
|
|
@@ -38466,6 +38468,7 @@ const sdk = {
|
|
|
38466
38468
|
getConfig() {
|
|
38467
38469
|
return {
|
|
38468
38470
|
token: state.token,
|
|
38471
|
+
tokenGetter: state.tokenGetter,
|
|
38469
38472
|
headers: { ...state.headers },
|
|
38470
38473
|
domains: { ...state.domains }
|
|
38471
38474
|
}
|
|
@@ -38474,6 +38477,9 @@ const sdk = {
|
|
|
38474
38477
|
if (config.token !== undefined) {
|
|
38475
38478
|
state.token = config.token || ''
|
|
38476
38479
|
}
|
|
38480
|
+
if (config.tokenGetter !== undefined) {
|
|
38481
|
+
state.tokenGetter = typeof config.tokenGetter === 'function' ? config.tokenGetter : null
|
|
38482
|
+
}
|
|
38477
38483
|
if (config.headers) {
|
|
38478
38484
|
state.headers = { ...state.headers, ...config.headers }
|
|
38479
38485
|
}
|
|
@@ -38489,6 +38495,10 @@ const sdk = {
|
|
|
38489
38495
|
state.token = token || ''
|
|
38490
38496
|
return sdk
|
|
38491
38497
|
},
|
|
38498
|
+
setTokenGetter(tokenGetter) {
|
|
38499
|
+
state.tokenGetter = typeof tokenGetter === 'function' ? tokenGetter : null
|
|
38500
|
+
return sdk
|
|
38501
|
+
},
|
|
38492
38502
|
setHeader(name, value) {
|
|
38493
38503
|
if (isNil(value)) {
|
|
38494
38504
|
delete state.headers[name]
|