@yeeyoon/library 2.9.8 → 3.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.
@@ -22,16 +22,7 @@ const ProductListMenu = (props) => {
|
|
22
22
|
let _link = document.createElement('a');
|
23
23
|
let link = document.body.appendChild(_link);
|
24
24
|
link.setAttribute('target', '_blank');
|
25
|
-
if (item.
|
26
|
-
link.setAttribute(
|
27
|
-
'href',
|
28
|
-
`${getCollabRedirectUrl()}?token=${ls.get(
|
29
|
-
'X-Auth-Token'
|
30
|
-
)}&tenantId=${tenantId}`
|
31
|
-
);
|
32
|
-
link.click();
|
33
|
-
return;
|
34
|
-
} else if (item.platforms.length > 1) {
|
25
|
+
if (item.platforms.length > 1) {
|
35
26
|
setPlatModal(true);
|
36
27
|
setPlatforms(item.platforms);
|
37
28
|
} else if (item.platforms.length == 1) {
|
@@ -60,6 +60,7 @@ const Header = (props) => {
|
|
60
60
|
avatar,
|
61
61
|
userName,
|
62
62
|
slot = <></>,
|
63
|
+
handleException,
|
63
64
|
} = props;
|
64
65
|
const [platforms, setPlatforms] = useState([]);
|
65
66
|
const [userInfo, setUserInfo] = useState(null);
|
@@ -151,6 +152,11 @@ const Header = (props) => {
|
|
151
152
|
const { success, data } = resp;
|
152
153
|
if (success) {
|
153
154
|
const { platforms, tenants, id, name } = data;
|
155
|
+
if (!platforms.length || !tenants.length) {
|
156
|
+
handleException && handleException();
|
157
|
+
return;
|
158
|
+
}
|
159
|
+
|
154
160
|
ls.set('X-Auth-Username', name);
|
155
161
|
ls.set('X-Auth-Userid', id);
|
156
162
|
// if (platforms.filter((item) => item.id === CY_PLATFORM_ID).length) {
|
@@ -177,6 +183,9 @@ const Header = (props) => {
|
|
177
183
|
allProduct = data;
|
178
184
|
leftProduct = _xorBy(allProduct, currentProduct, 'id');
|
179
185
|
}
|
186
|
+
if (!data.filter((item) => item.code === 200000728).length) {
|
187
|
+
handleException && handleException();
|
188
|
+
}
|
180
189
|
};
|
181
190
|
|
182
191
|
const doLogout = async (userId) => {
|
@@ -339,6 +348,7 @@ Header.propTypes = {
|
|
339
348
|
avatar: PropTypes.string,
|
340
349
|
userName: PropTypes.string,
|
341
350
|
slot: PropTypes.node,
|
351
|
+
handleException: PropTypes.func,
|
342
352
|
};
|
343
353
|
|
344
354
|
export default Header;
|
package/lib/utils/request.js
CHANGED
@@ -4,6 +4,8 @@ import qs from 'qs';
|
|
4
4
|
import ls from 'local-storage';
|
5
5
|
import { notification } from 'antd';
|
6
6
|
|
7
|
+
import { HOST_IAM } from '../config/env';
|
8
|
+
|
7
9
|
const TOKEN_KEY = 'X-Auth-Token';
|
8
10
|
const ID_KEY = 'X-Auth-Id';
|
9
11
|
const REST_KEY = 'Login-Rest-Info';
|
@@ -40,6 +42,11 @@ rest && ls.set(REST_KEY, JSON.stringify(rest));
|
|
40
42
|
// };
|
41
43
|
/** 异常处理程序 */
|
42
44
|
|
45
|
+
const backToIam = () => {
|
46
|
+
const { origin, pathname } = window.location;
|
47
|
+
window.location.href = `${HOST_IAM}?redirect=${origin}${pathname}`;
|
48
|
+
};
|
49
|
+
|
43
50
|
const errorHandler = (error) => {
|
44
51
|
const { response } = error;
|
45
52
|
|
@@ -89,6 +96,9 @@ request.interceptors.response.use(async (response) => {
|
|
89
96
|
m === 'token不一致'
|
90
97
|
) {
|
91
98
|
window.top.postMessage('tcTokenExpired', '*'); // 通知宿主窗口
|
99
|
+
setTimeout(() => {
|
100
|
+
backToIam();
|
101
|
+
}, 1000);
|
92
102
|
}
|
93
103
|
return resp;
|
94
104
|
} else if (success && (!code || code === 200)) {
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@yeeyoon/library",
|
3
|
-
"version": "
|
3
|
+
"version": "3.0.3",
|
4
4
|
"description": "宜云前端组件库和通用服务",
|
5
5
|
"main": "index.js",
|
6
6
|
"repository": {
|
@@ -22,7 +22,7 @@
|
|
22
22
|
"dependencies": {
|
23
23
|
"@ant-design/pro-layout": "^6.26.0",
|
24
24
|
"@ant-design/pro-list": "^1.12.0",
|
25
|
-
"antd": "^4.
|
25
|
+
"antd": "^4.10.0",
|
26
26
|
"dva": "^2.6.0-beta.6",
|
27
27
|
"local-storage": "^2.0.0",
|
28
28
|
"lodash": "^4.17.21",
|
package/src/pages/index.js
CHANGED
@@ -1,27 +1,7 @@
|
|
1
|
-
import React
|
2
|
-
import { notification } from 'antd';
|
1
|
+
import React from 'react';
|
3
2
|
import Header from '../../lib/components/Header/';
|
4
|
-
import TenantSelector from '../../lib/components/TenantSelector/';
|
5
|
-
import CustomDefaultFooter from '../../lib/components/DefaultFooter/';
|
6
|
-
import PageLoading from '../../lib/components/PageLoading/';
|
7
|
-
// import ModifyPassword from '../../lib/components/ModifyPassword/';
|
8
3
|
|
9
4
|
// eslint-disable-next-line react/display-name
|
10
5
|
export default function () {
|
11
|
-
|
12
|
-
notification.config({ maxCount: 1 });
|
13
|
-
notification.error({ message: '测试信息' });
|
14
|
-
}, []);
|
15
|
-
return (
|
16
|
-
<>
|
17
|
-
<Header productName="profile" slot={<div>nasa</div>} />
|
18
|
-
{/* <TenantSelector
|
19
|
-
tenantId="14bfb5d71d1011eca9820c42a1f6bf88"
|
20
|
-
tenantIdChangeCb={(id) => console.log(id)}
|
21
|
-
/> */}
|
22
|
-
{/* <CustomDefaultFooter /> */}
|
23
|
-
{/* <PageLoading /> */}
|
24
|
-
{/* {<ModifyPassword />} */}
|
25
|
-
</>
|
26
|
-
);
|
6
|
+
return <Header productName="bpm" slot={<div>nasa</div>} />;
|
27
7
|
}
|