@nocobase/sdk 2.0.0-alpha.61 → 2.0.0-alpha.63

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.
@@ -29,6 +29,7 @@ interface ExtendedOptions {
29
29
  storageClass?: any;
30
30
  storagePrefix?: string;
31
31
  appName?: string;
32
+ shareToken?: boolean;
32
33
  }
33
34
  export type APIClientOptions = AxiosInstance | (AxiosRequestConfig & ExtendedOptions);
34
35
  export declare class APIClient {
@@ -38,6 +39,7 @@ export declare class APIClient {
38
39
  storage: BaseStorage;
39
40
  storagePrefix: string;
40
41
  baseStoragePrefix: string;
42
+ shareToken: boolean;
41
43
  toErrMessages(error: any): any;
42
44
  getHeaders(): {};
43
45
  constructor(options?: APIClientOptions);
package/lib/APIClient.js CHANGED
@@ -51,6 +51,7 @@ const _APIClient = class _APIClient {
51
51
  storage;
52
52
  storagePrefix = "NOCOBASE_";
53
53
  baseStoragePrefix = "NOCOBASE_";
54
+ shareToken = false;
54
55
  toErrMessages(error) {
55
56
  var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;
56
57
  if (typeof document !== "undefined" && typeof ((_a = error == null ? void 0 : error.response) == null ? void 0 : _a.data) === "string") {
@@ -93,7 +94,16 @@ const _APIClient = class _APIClient {
93
94
  if (typeof options === "function") {
94
95
  this.axios = options;
95
96
  } else {
96
- const { appName, authClass, storageType, storageClass, storagePrefix = "NOCOBASE_", ...others } = options || {};
97
+ const {
98
+ appName,
99
+ authClass,
100
+ storageType,
101
+ storageClass,
102
+ storagePrefix = "NOCOBASE_",
103
+ shareToken = false,
104
+ ...others
105
+ } = options || {};
106
+ this.shareToken = shareToken;
97
107
  this.baseStoragePrefix = storagePrefix;
98
108
  this.storagePrefix = appName ? `${storagePrefix}${appName.toUpperCase()}_` : storagePrefix;
99
109
  this.axios = import_axios.default.create(others);
@@ -112,10 +122,10 @@ const _APIClient = class _APIClient {
112
122
  }
113
123
  createStorage(storageType) {
114
124
  if (storageType === "localStorage" && typeof localStorage !== "undefined") {
115
- return new import_Storage.LocalStorage(this.storagePrefix, this.baseStoragePrefix);
125
+ return new import_Storage.LocalStorage(this.storagePrefix, this.baseStoragePrefix, this.shareToken);
116
126
  }
117
127
  if (storageType === "sessionStorage" && typeof sessionStorage !== "undefined") {
118
- return new import_Storage.SessionStorage(this.storagePrefix, this.baseStoragePrefix);
128
+ return new import_Storage.SessionStorage(this.storagePrefix, this.baseStoragePrefix, this.shareToken);
119
129
  }
120
130
  return new import_Storage.MemoryStorage();
121
131
  }
@@ -124,15 +134,7 @@ const _APIClient = class _APIClient {
124
134
  this.storage = new storage(this);
125
135
  return;
126
136
  }
127
- if (storageType === "localStorage" && typeof localStorage !== "undefined") {
128
- this.storage = new import_Storage.LocalStorage(this.storagePrefix, this.baseStoragePrefix);
129
- return;
130
- }
131
- if (storageType === "sessionStorage" && typeof sessionStorage !== "undefined") {
132
- this.storage = new import_Storage.SessionStorage(this.storagePrefix, this.baseStoragePrefix);
133
- return;
134
- }
135
- this.storage = new import_Storage.MemoryStorage();
137
+ this.storage = this.createStorage(storageType);
136
138
  }
137
139
  interceptors() {
138
140
  this.axios.interceptors.request.use((config) => {
package/lib/Storage.d.ts CHANGED
@@ -24,8 +24,9 @@ export declare class MemoryStorage extends BaseStorage {
24
24
  export declare class LocalStorage extends BaseStorage {
25
25
  storagePrefix: string;
26
26
  baseStoragePrefix: string;
27
+ shareToken: boolean;
27
28
  items: Storage;
28
- constructor(storagePrefix: string, baseStoragePrefix?: string);
29
+ constructor(storagePrefix: string, baseStoragePrefix?: string, shareToken?: boolean);
29
30
  clear(): void;
30
31
  getItem(key: string): string;
31
32
  setItem(key: string, value: string): void;
@@ -34,5 +35,6 @@ export declare class LocalStorage extends BaseStorage {
34
35
  export declare class SessionStorage extends LocalStorage {
35
36
  storagePrefix: string;
36
37
  baseStoragePrefix: string;
37
- constructor(storagePrefix: string, baseStoragePrefix?: string);
38
+ shareToken: boolean;
39
+ constructor(storagePrefix: string, baseStoragePrefix?: string, shareToken?: boolean);
38
40
  }
package/lib/Storage.js CHANGED
@@ -59,10 +59,11 @@ const _MemoryStorage = class _MemoryStorage extends BaseStorage {
59
59
  __name(_MemoryStorage, "MemoryStorage");
60
60
  let MemoryStorage = _MemoryStorage;
61
61
  const _LocalStorage = class _LocalStorage extends BaseStorage {
62
- constructor(storagePrefix, baseStoragePrefix = "") {
62
+ constructor(storagePrefix, baseStoragePrefix = "", shareToken = false) {
63
63
  super();
64
64
  this.storagePrefix = storagePrefix;
65
65
  this.baseStoragePrefix = baseStoragePrefix;
66
+ this.shareToken = shareToken;
66
67
  this.items = window.localStorage;
67
68
  }
68
69
  items;
@@ -70,27 +71,32 @@ const _LocalStorage = class _LocalStorage extends BaseStorage {
70
71
  return this.items.clear();
71
72
  }
72
73
  getItem(key) {
73
- const value = this.items.getItem(this.toUpperCase(this.storagePrefix, key));
74
- if (key === "token" && this.baseStoragePrefix) {
75
- return value || this.items.getItem(this.toUpperCase(this.baseStoragePrefix, key));
74
+ if (this.shareToken && key === "token" && this.baseStoragePrefix) {
75
+ return this.items.getItem(this.toUpperCase(this.baseStoragePrefix, key));
76
76
  }
77
- return value;
77
+ return this.items.getItem(this.toUpperCase(this.storagePrefix, key));
78
78
  }
79
79
  setItem(key, value) {
80
- console.log("setItem", this.toUpperCase(this.storagePrefix, key), value);
80
+ if (this.shareToken && key === "token" && this.baseStoragePrefix) {
81
+ return this.items.setItem(this.toUpperCase(this.baseStoragePrefix, key), value);
82
+ }
81
83
  return this.items.setItem(this.toUpperCase(this.storagePrefix, key), value);
82
84
  }
83
85
  removeItem(key) {
86
+ if (this.shareToken && key === "token" && this.baseStoragePrefix) {
87
+ return this.items.removeItem(this.toUpperCase(this.baseStoragePrefix, key));
88
+ }
84
89
  return this.items.removeItem(this.toUpperCase(this.storagePrefix, key));
85
90
  }
86
91
  };
87
92
  __name(_LocalStorage, "LocalStorage");
88
93
  let LocalStorage = _LocalStorage;
89
94
  const _SessionStorage = class _SessionStorage extends LocalStorage {
90
- constructor(storagePrefix, baseStoragePrefix = "") {
91
- super(storagePrefix, baseStoragePrefix);
95
+ constructor(storagePrefix, baseStoragePrefix = "", shareToken = false) {
96
+ super(storagePrefix, baseStoragePrefix, shareToken);
92
97
  this.storagePrefix = storagePrefix;
93
98
  this.baseStoragePrefix = baseStoragePrefix;
99
+ this.shareToken = shareToken;
94
100
  this.items = window.sessionStorage;
95
101
  }
96
102
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nocobase/sdk",
3
- "version": "2.0.0-alpha.61",
3
+ "version": "2.0.0-alpha.63",
4
4
  "license": "AGPL-3.0",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -11,5 +11,5 @@
11
11
  "devDependencies": {
12
12
  "axios-mock-adapter": "^1.20.0"
13
13
  },
14
- "gitHead": "f48b11fd3842abbbbc7bbeb751943d80bc5134bb"
14
+ "gitHead": "0d5e9eb45e4d0f3ba70d7561a0d296d12a4d8bf8"
15
15
  }