apifm-admin 26.6.13 → 26.6.15
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 +25 -2
- package/dist/index.cjs +18 -2
- package/dist/index.d.ts +3 -1
- package/dist/index.js +18 -2
- 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` 请求头。
|
|
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'
|
|
@@ -57,7 +79,7 @@ apifmAdmin.setRequestAdapter(async (requestOptions) => {
|
|
|
57
79
|
apifmAdmin.setConfig({
|
|
58
80
|
token: 'xtoken',
|
|
59
81
|
headers: {
|
|
60
|
-
'
|
|
82
|
+
'X-Token': 'xtoken'
|
|
61
83
|
}
|
|
62
84
|
})
|
|
63
85
|
```
|
|
@@ -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,10 +38362,17 @@ function mergeHeaders(headers) {
|
|
|
38361
38362
|
...state.headers,
|
|
38362
38363
|
...headers
|
|
38363
38364
|
}
|
|
38364
|
-
const
|
|
38365
|
+
const headerToken =
|
|
38366
|
+
headers?.['X-Token'] ||
|
|
38367
|
+
headers?.['x-token'] ||
|
|
38368
|
+
state.headers?.['X-Token'] ||
|
|
38369
|
+
state.headers?.['x-token']
|
|
38370
|
+
const dynamicToken = typeof state.tokenGetter === 'function' ? state.tokenGetter() : ''
|
|
38371
|
+
const token = headerToken || dynamicToken || state.token
|
|
38372
|
+
delete merged['X-Token']
|
|
38373
|
+
delete merged['x-token']
|
|
38365
38374
|
if (token) {
|
|
38366
38375
|
merged['X-Token'] = token
|
|
38367
|
-
merged['x-token'] = token
|
|
38368
38376
|
}
|
|
38369
38377
|
return merged
|
|
38370
38378
|
}
|
|
@@ -38466,6 +38474,7 @@ const sdk = {
|
|
|
38466
38474
|
getConfig() {
|
|
38467
38475
|
return {
|
|
38468
38476
|
token: state.token,
|
|
38477
|
+
tokenGetter: state.tokenGetter,
|
|
38469
38478
|
headers: { ...state.headers },
|
|
38470
38479
|
domains: { ...state.domains }
|
|
38471
38480
|
}
|
|
@@ -38474,6 +38483,9 @@ const sdk = {
|
|
|
38474
38483
|
if (config.token !== undefined) {
|
|
38475
38484
|
state.token = config.token || ''
|
|
38476
38485
|
}
|
|
38486
|
+
if (config.tokenGetter !== undefined) {
|
|
38487
|
+
state.tokenGetter = typeof config.tokenGetter === 'function' ? config.tokenGetter : null
|
|
38488
|
+
}
|
|
38477
38489
|
if (config.headers) {
|
|
38478
38490
|
state.headers = { ...state.headers, ...config.headers }
|
|
38479
38491
|
}
|
|
@@ -38489,6 +38501,10 @@ const sdk = {
|
|
|
38489
38501
|
state.token = token || ''
|
|
38490
38502
|
return sdk
|
|
38491
38503
|
},
|
|
38504
|
+
setTokenGetter(tokenGetter) {
|
|
38505
|
+
state.tokenGetter = typeof tokenGetter === 'function' ? tokenGetter : null
|
|
38506
|
+
return sdk
|
|
38507
|
+
},
|
|
38492
38508
|
setHeader(name, value) {
|
|
38493
38509
|
if (isNil(value)) {
|
|
38494
38510
|
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,10 +38362,17 @@ function mergeHeaders(headers) {
|
|
|
38361
38362
|
...state.headers,
|
|
38362
38363
|
...headers
|
|
38363
38364
|
}
|
|
38364
|
-
const
|
|
38365
|
+
const headerToken =
|
|
38366
|
+
headers?.['X-Token'] ||
|
|
38367
|
+
headers?.['x-token'] ||
|
|
38368
|
+
state.headers?.['X-Token'] ||
|
|
38369
|
+
state.headers?.['x-token']
|
|
38370
|
+
const dynamicToken = typeof state.tokenGetter === 'function' ? state.tokenGetter() : ''
|
|
38371
|
+
const token = headerToken || dynamicToken || state.token
|
|
38372
|
+
delete merged['X-Token']
|
|
38373
|
+
delete merged['x-token']
|
|
38365
38374
|
if (token) {
|
|
38366
38375
|
merged['X-Token'] = token
|
|
38367
|
-
merged['x-token'] = token
|
|
38368
38376
|
}
|
|
38369
38377
|
return merged
|
|
38370
38378
|
}
|
|
@@ -38466,6 +38474,7 @@ const sdk = {
|
|
|
38466
38474
|
getConfig() {
|
|
38467
38475
|
return {
|
|
38468
38476
|
token: state.token,
|
|
38477
|
+
tokenGetter: state.tokenGetter,
|
|
38469
38478
|
headers: { ...state.headers },
|
|
38470
38479
|
domains: { ...state.domains }
|
|
38471
38480
|
}
|
|
@@ -38474,6 +38483,9 @@ const sdk = {
|
|
|
38474
38483
|
if (config.token !== undefined) {
|
|
38475
38484
|
state.token = config.token || ''
|
|
38476
38485
|
}
|
|
38486
|
+
if (config.tokenGetter !== undefined) {
|
|
38487
|
+
state.tokenGetter = typeof config.tokenGetter === 'function' ? config.tokenGetter : null
|
|
38488
|
+
}
|
|
38477
38489
|
if (config.headers) {
|
|
38478
38490
|
state.headers = { ...state.headers, ...config.headers }
|
|
38479
38491
|
}
|
|
@@ -38489,6 +38501,10 @@ const sdk = {
|
|
|
38489
38501
|
state.token = token || ''
|
|
38490
38502
|
return sdk
|
|
38491
38503
|
},
|
|
38504
|
+
setTokenGetter(tokenGetter) {
|
|
38505
|
+
state.tokenGetter = typeof tokenGetter === 'function' ? tokenGetter : null
|
|
38506
|
+
return sdk
|
|
38507
|
+
},
|
|
38492
38508
|
setHeader(name, value) {
|
|
38493
38509
|
if (isNil(value)) {
|
|
38494
38510
|
delete state.headers[name]
|