@abtnode/ux 1.17.5 → 1.17.6-beta-20251216-223535-283b9ffe
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/lib/contexts/util.js +21 -5
- package/lib/locales/zh-tw.js +1 -1
- package/lib/locales/zh.js +1 -1
- package/lib/notifications/notification.js +1 -1
- package/package.json +30 -30
package/lib/contexts/util.js
CHANGED
|
@@ -11,6 +11,9 @@ const OPERATION_ROLES = {
|
|
|
11
11
|
default: 'admin,owner'
|
|
12
12
|
};
|
|
13
13
|
|
|
14
|
+
// 全局验证锁,用于防止并发请求时弹出多个验证对话框
|
|
15
|
+
let verifyPromise = null;
|
|
16
|
+
|
|
14
17
|
/**
|
|
15
18
|
* 判断是否需要角色检查
|
|
16
19
|
* @param {boolean} inService - 是否为service端请求
|
|
@@ -155,7 +158,15 @@ export function createProxyClient({
|
|
|
155
158
|
needVerifyAccess
|
|
156
159
|
});
|
|
157
160
|
if (needVerifyAccess) {
|
|
158
|
-
|
|
161
|
+
// 如果已有验证正在进行,等待其完成后直接执行请求
|
|
162
|
+
if (verifyPromise) {
|
|
163
|
+
return verifyPromise.then(
|
|
164
|
+
// eslint-disable-next-line prefer-spread
|
|
165
|
+
() => target[prop].apply(target, args), err => Promise.reject(err));
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
// 创建新的验证 Promise 并存储
|
|
169
|
+
verifyPromise = new Promise((resolve, reject) => {
|
|
159
170
|
connectApi.open({
|
|
160
171
|
locale,
|
|
161
172
|
action: 'verify-elevated',
|
|
@@ -173,16 +184,16 @@ export function createProxyClient({
|
|
|
173
184
|
success: t('login.verify.success')
|
|
174
185
|
},
|
|
175
186
|
onSuccess: (result, decrypt = x => x) => {
|
|
187
|
+
// sessionToken 是全局状态,只需设置一次
|
|
176
188
|
if (result.sessionToken) {
|
|
177
189
|
setSessionToken(decrypt(result.sessionToken));
|
|
178
190
|
setRefreshToken(decrypt(result.refreshToken));
|
|
179
191
|
}
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
resolve(target[prop].apply(target, args));
|
|
183
|
-
}, 50);
|
|
192
|
+
verifyPromise = null; // 清除锁
|
|
193
|
+
resolve();
|
|
184
194
|
},
|
|
185
195
|
onClose: () => {
|
|
196
|
+
verifyPromise = null; // 清除锁
|
|
186
197
|
reject(new Error(t('login.verify.abort')));
|
|
187
198
|
connectApi.close();
|
|
188
199
|
},
|
|
@@ -199,6 +210,11 @@ export function createProxyClient({
|
|
|
199
210
|
})
|
|
200
211
|
});
|
|
201
212
|
});
|
|
213
|
+
|
|
214
|
+
// 验证完成后执行当前请求
|
|
215
|
+
return verifyPromise.then(
|
|
216
|
+
// eslint-disable-next-line prefer-spread
|
|
217
|
+
() => target[prop].apply(target, args), err => Promise.reject(err));
|
|
202
218
|
}
|
|
203
219
|
}
|
|
204
220
|
|
package/lib/locales/zh-tw.js
CHANGED
package/lib/locales/zh.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abtnode/ux",
|
|
3
|
-
"version": "1.17.
|
|
3
|
+
"version": "1.17.6-beta-20251216-223535-283b9ffe",
|
|
4
4
|
"description": "UX components shared across abtnode packages",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -23,33 +23,33 @@
|
|
|
23
23
|
"author": "linchen <linchen1987@foxmail.com> (http://github.com/linchen1987)",
|
|
24
24
|
"license": "Apache-2.0",
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@abtnode/auth": "1.17.
|
|
27
|
-
"@abtnode/constant": "1.17.
|
|
28
|
-
"@abtnode/docker-utils": "1.17.
|
|
29
|
-
"@abtnode/util": "1.17.
|
|
26
|
+
"@abtnode/auth": "1.17.6-beta-20251216-223535-283b9ffe",
|
|
27
|
+
"@abtnode/constant": "1.17.6-beta-20251216-223535-283b9ffe",
|
|
28
|
+
"@abtnode/docker-utils": "1.17.6-beta-20251216-223535-283b9ffe",
|
|
29
|
+
"@abtnode/util": "1.17.6-beta-20251216-223535-283b9ffe",
|
|
30
30
|
"@ahooksjs/use-url-state": "^3.5.1",
|
|
31
|
-
"@arcblock/did": "^1.27.
|
|
32
|
-
"@arcblock/did-connect-react": "^3.2.
|
|
33
|
-
"@arcblock/did-ext": "^1.27.
|
|
31
|
+
"@arcblock/did": "^1.27.15",
|
|
32
|
+
"@arcblock/did-connect-react": "^3.2.14",
|
|
33
|
+
"@arcblock/did-ext": "^1.27.15",
|
|
34
34
|
"@arcblock/did-motif": "^1.1.14",
|
|
35
|
-
"@arcblock/icons": "^3.2.
|
|
36
|
-
"@arcblock/nft-display": "^3.2.
|
|
37
|
-
"@arcblock/react-hooks": "^3.2.
|
|
38
|
-
"@arcblock/terminal": "^3.2.
|
|
39
|
-
"@arcblock/ux": "^3.2.
|
|
40
|
-
"@arcblock/validator": "^1.27.
|
|
41
|
-
"@blocklet/aigne-hub": "^0.6.
|
|
42
|
-
"@blocklet/constant": "1.17.
|
|
43
|
-
"@blocklet/did-domain-react": "^0.6.
|
|
44
|
-
"@blocklet/did-space-react": "^1.2.
|
|
45
|
-
"@blocklet/error": "^0.3.
|
|
46
|
-
"@blocklet/js-sdk": "1.17.
|
|
47
|
-
"@blocklet/launcher-layout": "^3.2.
|
|
48
|
-
"@blocklet/list": "^0.18.
|
|
49
|
-
"@blocklet/meta": "1.17.
|
|
50
|
-
"@blocklet/theme": "^3.2.
|
|
51
|
-
"@blocklet/ui-react": "^3.2.
|
|
52
|
-
"@blocklet/uploader": "^0.3.
|
|
35
|
+
"@arcblock/icons": "^3.2.14",
|
|
36
|
+
"@arcblock/nft-display": "^3.2.14",
|
|
37
|
+
"@arcblock/react-hooks": "^3.2.14",
|
|
38
|
+
"@arcblock/terminal": "^3.2.14",
|
|
39
|
+
"@arcblock/ux": "^3.2.14",
|
|
40
|
+
"@arcblock/validator": "^1.27.15",
|
|
41
|
+
"@blocklet/aigne-hub": "^0.6.27",
|
|
42
|
+
"@blocklet/constant": "1.17.6-beta-20251216-223535-283b9ffe",
|
|
43
|
+
"@blocklet/did-domain-react": "^0.6.13",
|
|
44
|
+
"@blocklet/did-space-react": "^1.2.10",
|
|
45
|
+
"@blocklet/error": "^0.3.5",
|
|
46
|
+
"@blocklet/js-sdk": "1.17.6-beta-20251216-223535-283b9ffe",
|
|
47
|
+
"@blocklet/launcher-layout": "^3.2.14",
|
|
48
|
+
"@blocklet/list": "^0.18.9",
|
|
49
|
+
"@blocklet/meta": "1.17.6-beta-20251216-223535-283b9ffe",
|
|
50
|
+
"@blocklet/theme": "^3.2.14",
|
|
51
|
+
"@blocklet/ui-react": "^3.2.14",
|
|
52
|
+
"@blocklet/uploader": "^0.3.15",
|
|
53
53
|
"@emotion/react": "^11.14.0",
|
|
54
54
|
"@emotion/styled": "^11.14.1",
|
|
55
55
|
"@iconify-icons/material-symbols": "^1.2.58",
|
|
@@ -61,9 +61,9 @@
|
|
|
61
61
|
"@mui/material": "^7.2.0",
|
|
62
62
|
"@mui/x-date-pickers": "^8.9.0",
|
|
63
63
|
"@mui/x-tree-view": "^8.9.0",
|
|
64
|
-
"@ocap/client": "^1.27.
|
|
65
|
-
"@ocap/mcrypto": "^1.27.
|
|
66
|
-
"@ocap/util": "^1.27.
|
|
64
|
+
"@ocap/client": "^1.27.15",
|
|
65
|
+
"@ocap/mcrypto": "^1.27.15",
|
|
66
|
+
"@ocap/util": "^1.27.15",
|
|
67
67
|
"@uiw/react-markdown-preview": "^5.1.1",
|
|
68
68
|
"ahooks": "^3.7.8",
|
|
69
69
|
"axios": "^1.7.9",
|
|
@@ -127,5 +127,5 @@
|
|
|
127
127
|
"babel-plugin-inline-react-svg": "^2.0.2",
|
|
128
128
|
"glob": "^10.4.1"
|
|
129
129
|
},
|
|
130
|
-
"gitHead": "
|
|
130
|
+
"gitHead": "00f2aa2d19ce17e3e15b8ab7a200830f633e9030"
|
|
131
131
|
}
|