dlt-for-react 2.0.16 → 2.1.1
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 +8 -4
- package/lib/components/NHSelector/ListSort/index.js +411 -0
- package/lib/components/NHSelector/index.js +636 -0
- package/lib/components/NHSelector/resultview/index.js +408 -0
- package/lib/components/NHSelector/selectormodal/index.js +303 -0
- package/lib/components/NHSelector/table/index.js +784 -0
- package/lib/components/NHSelector/tree/index.js +554 -0
- package/lib/index.js +214 -208
- package/lib/layouts/Login/login.js +186 -179
- package/lib/utils/NHCore.js +67 -67
- package/lib/utils/common.js +192 -123
- package/lib/utils/equalsObj.js +18 -26
- package/package.json +1 -1
- package/lib/utils/createUuid.js +0 -40
- package/lib/utils/getLoginUser.js +0 -10
- package/lib/utils/getSize.js +0 -27
|
@@ -1,74 +1,74 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.getRedirect = exports.setRedirect = exports.tryAllConfigInfo = exports.tryLoginUserInfo = exports.getExpiresIn = exports.getDifferDate = exports.refreshToken = exports.userLogout = exports.userLogin = undefined;
|
|
6
|
+
exports.getCodeParams = exports.getRedirect = exports.setRedirect = exports.tryAllConfigInfo = exports.tryLoginUserInfo = exports.getExpiresIn = exports.getDifferDate = exports.refreshToken = exports.userLogout = exports.userLogin = undefined;
|
|
7
7
|
|
|
8
|
-
var _typeof2 = require(
|
|
8
|
+
var _typeof2 = require('babel-runtime/helpers/typeof');
|
|
9
9
|
|
|
10
10
|
var _typeof3 = _interopRequireDefault(_typeof2);
|
|
11
11
|
|
|
12
|
-
var _defineProperty2 = require(
|
|
12
|
+
var _defineProperty2 = require('babel-runtime/helpers/defineProperty');
|
|
13
13
|
|
|
14
14
|
var _defineProperty3 = _interopRequireDefault(_defineProperty2);
|
|
15
15
|
|
|
16
|
-
var _extends3 = require(
|
|
16
|
+
var _extends3 = require('babel-runtime/helpers/extends');
|
|
17
17
|
|
|
18
18
|
var _extends4 = _interopRequireDefault(_extends3);
|
|
19
19
|
|
|
20
|
-
var _modal = require(
|
|
20
|
+
var _modal = require('antd/lib/modal');
|
|
21
21
|
|
|
22
22
|
var _modal2 = _interopRequireDefault(_modal);
|
|
23
23
|
|
|
24
|
-
var _message2 = require(
|
|
24
|
+
var _message2 = require('antd/lib/message');
|
|
25
25
|
|
|
26
26
|
var _message3 = _interopRequireDefault(_message2);
|
|
27
27
|
|
|
28
|
-
var _stringify = require(
|
|
28
|
+
var _stringify = require('babel-runtime/core-js/json/stringify');
|
|
29
29
|
|
|
30
30
|
var _stringify2 = _interopRequireDefault(_stringify);
|
|
31
31
|
|
|
32
|
-
require(
|
|
32
|
+
require('antd/lib/modal/style');
|
|
33
33
|
|
|
34
|
-
require(
|
|
34
|
+
require('antd/lib/message/style');
|
|
35
35
|
|
|
36
|
-
require(
|
|
36
|
+
require('isomorphic-fetch');
|
|
37
37
|
|
|
38
|
-
var _createHashHistory = require(
|
|
38
|
+
var _createHashHistory = require('history/createHashHistory');
|
|
39
39
|
|
|
40
40
|
var _createHashHistory2 = _interopRequireDefault(_createHashHistory);
|
|
41
41
|
|
|
42
|
-
var _index = require(
|
|
42
|
+
var _index = require('../../index');
|
|
43
43
|
|
|
44
|
-
var _moment = require(
|
|
44
|
+
var _moment = require('moment');
|
|
45
45
|
|
|
46
46
|
var _moment2 = _interopRequireDefault(_moment);
|
|
47
47
|
|
|
48
48
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
49
49
|
|
|
50
|
-
var querystring = require(
|
|
50
|
+
var querystring = require('querystring'); //将POST请求参数转换请求字符串
|
|
51
51
|
var hashHistory = (0, _createHashHistory2.default)();
|
|
52
52
|
|
|
53
53
|
var userLogin = exports.userLogin = function userLogin(allMenu, params, func) {
|
|
54
54
|
var username = params.username;
|
|
55
55
|
|
|
56
|
-
fetch(
|
|
57
|
-
method:
|
|
58
|
-
credentials:
|
|
56
|
+
fetch('api/shiro/cache/' + username + '/delete', {
|
|
57
|
+
method: 'POST',
|
|
58
|
+
credentials: 'include',
|
|
59
59
|
headers: {
|
|
60
|
-
|
|
61
|
-
|
|
60
|
+
'Content-Type': 'application/x-www-form-urlencoded',
|
|
61
|
+
'X-Requested-With': 'XMLHttpRequest'
|
|
62
62
|
}
|
|
63
63
|
}).then(function () {
|
|
64
|
-
fetch(
|
|
65
|
-
method:
|
|
66
|
-
credentials:
|
|
64
|
+
fetch('login', {
|
|
65
|
+
method: 'POST',
|
|
66
|
+
credentials: 'include',
|
|
67
67
|
headers: {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
logAppId:
|
|
71
|
-
gatewayAppId:
|
|
68
|
+
'Content-Type': 'application/x-www-form-urlencoded',
|
|
69
|
+
'X-Requested-With': 'XMLHttpRequest',
|
|
70
|
+
logAppId: 'ly-hq',
|
|
71
|
+
gatewayAppId: 'ly-hq',
|
|
72
72
|
logServiceId: window.logServiceId
|
|
73
73
|
},
|
|
74
74
|
body: querystring.stringify(params)
|
|
@@ -78,19 +78,19 @@ var userLogin = exports.userLogin = function userLogin(allMenu, params, func) {
|
|
|
78
78
|
//登录成功
|
|
79
79
|
if (res.meta && res.meta.statusCode === 200) {
|
|
80
80
|
//新网关
|
|
81
|
-
if (window.gateway_version ===
|
|
82
|
-
var isIacpV3 = window.auth_version ===
|
|
83
|
-
var authRoute =
|
|
81
|
+
if (window.gateway_version === '2') {
|
|
82
|
+
var isIacpV3 = window.auth_version === '3';
|
|
83
|
+
var authRoute = 'api/authc'; //2.0权限平台的网关路由
|
|
84
84
|
if (isIacpV3) {
|
|
85
|
-
authRoute =
|
|
85
|
+
authRoute = 'api/mssp-user';
|
|
86
86
|
}
|
|
87
|
-
fetch(authRoute +
|
|
88
|
-
method:
|
|
89
|
-
credentials:
|
|
87
|
+
fetch(authRoute + '/users/current/authority', {
|
|
88
|
+
method: 'GET',
|
|
89
|
+
credentials: 'include',
|
|
90
90
|
headers: {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
gatewayTest: process.env.NODE_ENV ===
|
|
91
|
+
'Content-Type': 'application/x-www-form-urlencoded',
|
|
92
|
+
'X-Requested-With': 'XMLHttpRequest',
|
|
93
|
+
gatewayTest: process.env.NODE_ENV === 'development' ? 'true' : 'false'
|
|
94
94
|
}
|
|
95
95
|
}).then(function (response2) {
|
|
96
96
|
return response2.json();
|
|
@@ -98,17 +98,17 @@ var userLogin = exports.userLogin = function userLogin(allMenu, params, func) {
|
|
|
98
98
|
if (res2.meta && res2.meta.success) {
|
|
99
99
|
var authorization = {};
|
|
100
100
|
res2.data.forEach(function (element) {
|
|
101
|
-
authorization[element.authorityId] =
|
|
101
|
+
authorization[element.authorityId] = '';
|
|
102
102
|
});
|
|
103
103
|
res.data.menus = handleMenus(allMenu, authorization);
|
|
104
104
|
res.data.authorization = authorization;
|
|
105
|
-
sessionStorage.setItem(
|
|
106
|
-
sessionStorage.setItem(
|
|
105
|
+
sessionStorage.setItem('userLogin', (0, _stringify2.default)(res.data));
|
|
106
|
+
sessionStorage.setItem('access_token', res.data.accessToken);
|
|
107
107
|
//刷新token,后续用来刷新token
|
|
108
|
-
sessionStorage.setItem(
|
|
108
|
+
sessionStorage.setItem('refresh_token', res.data.refreshToken);
|
|
109
109
|
//记录用户最后一次操作时间
|
|
110
|
-
var userLastOperationTime = (0, _moment2.default)().format(
|
|
111
|
-
sessionStorage.setItem(
|
|
110
|
+
var userLastOperationTime = (0, _moment2.default)().format('YYYY-MM-DD HH:mm:ss');
|
|
111
|
+
sessionStorage.setItem('user_last_operation_time', userLastOperationTime);
|
|
112
112
|
//跳转到第一个菜单
|
|
113
113
|
var nextUrl = res.data.menus[0].url;
|
|
114
114
|
if (res.data.menus[0].children && res.data.menus[0].children.length > 0 && !res.data.menus[0].children[0].children) {
|
|
@@ -126,15 +126,15 @@ var userLogin = exports.userLogin = function userLogin(allMenu, params, func) {
|
|
|
126
126
|
});
|
|
127
127
|
tryAllConfigInfo(function () {});
|
|
128
128
|
} else {
|
|
129
|
-
_message3.default.error(
|
|
129
|
+
_message3.default.error('查询权限信息失败');
|
|
130
130
|
}
|
|
131
131
|
});
|
|
132
132
|
} else {
|
|
133
133
|
tryAllConfigInfo(function () {
|
|
134
134
|
var authorization = res.data.authorization || {};
|
|
135
135
|
res.data.menus = handleMenus(allMenu, authorization);
|
|
136
|
-
sessionStorage.setItem(
|
|
137
|
-
sessionStorage.setItem(
|
|
136
|
+
sessionStorage.setItem('userLogin', (0, _stringify2.default)(res.data));
|
|
137
|
+
sessionStorage.setItem('access_token', res.data.tokenId);
|
|
138
138
|
//跳转到第一个菜单
|
|
139
139
|
var nextUrl = res.data.menus[0].url;
|
|
140
140
|
if (res.data.menus[0].children && res.data.menus[0].children.length > 0 && !res.data.menus[0].children[0].children) {
|
|
@@ -156,12 +156,12 @@ var userLogin = exports.userLogin = function userLogin(allMenu, params, func) {
|
|
|
156
156
|
if (func) {
|
|
157
157
|
func();
|
|
158
158
|
}
|
|
159
|
-
_message3.default.error(
|
|
159
|
+
_message3.default.error('错误代码:302,用户登录状态失效或未登录。请刷新页面,重新登录!');
|
|
160
160
|
} else if (res.meta && res.meta.statusCode === 401) {
|
|
161
161
|
if (func) {
|
|
162
162
|
func();
|
|
163
163
|
}
|
|
164
|
-
_message3.default.error(
|
|
164
|
+
_message3.default.error('错误代码:401,用户没有访问权限。请授权后,重新登录!');
|
|
165
165
|
} else if (res.meta && res.meta.statusCode === 500) {
|
|
166
166
|
if (func) {
|
|
167
167
|
func();
|
|
@@ -180,8 +180,8 @@ var userLogin = exports.userLogin = function userLogin(allMenu, params, func) {
|
|
|
180
180
|
}
|
|
181
181
|
// 网络请求失败返回执行该回调函数,得到错误信息
|
|
182
182
|
_modal2.default.error({
|
|
183
|
-
title:
|
|
184
|
-
content:
|
|
183
|
+
title: '错误提示',
|
|
184
|
+
content: '网络请求异常,请联系管理员'
|
|
185
185
|
});
|
|
186
186
|
return error;
|
|
187
187
|
});
|
|
@@ -189,39 +189,39 @@ var userLogin = exports.userLogin = function userLogin(allMenu, params, func) {
|
|
|
189
189
|
};
|
|
190
190
|
|
|
191
191
|
var userLogout = exports.userLogout = function userLogout() {
|
|
192
|
-
setRedirect(
|
|
193
|
-
fetch(
|
|
194
|
-
method:
|
|
195
|
-
credentials:
|
|
192
|
+
setRedirect('add');
|
|
193
|
+
fetch('logout', {
|
|
194
|
+
method: 'GET',
|
|
195
|
+
credentials: 'include',
|
|
196
196
|
headers: {
|
|
197
|
-
|
|
198
|
-
|
|
197
|
+
'Content-Type': 'application/x-www-form-urlencoded',
|
|
198
|
+
'X-Requested-With': 'XMLHttpRequest'
|
|
199
199
|
}
|
|
200
200
|
}).then(function (response) {
|
|
201
201
|
return response.json();
|
|
202
202
|
}).then(function (res) {
|
|
203
203
|
if (res.meta && res.meta.statusCode === 200) {
|
|
204
|
-
sessionStorage.removeItem(
|
|
205
|
-
sessionStorage.removeItem(
|
|
206
|
-
sessionStorage.removeItem(
|
|
207
|
-
sessionStorage.removeItem(
|
|
208
|
-
sessionStorage.removeItem(
|
|
204
|
+
sessionStorage.removeItem('userLogin');
|
|
205
|
+
sessionStorage.removeItem('access_token');
|
|
206
|
+
sessionStorage.removeItem('refresh_token');
|
|
207
|
+
sessionStorage.removeItem('xtParams');
|
|
208
|
+
sessionStorage.removeItem('user_last_operation_time');
|
|
209
209
|
// 清除bpm cookie,避免切换用户时无法更新
|
|
210
|
-
fetch(
|
|
211
|
-
if (window.casStatus && window.casLogoutUrl && window.casLogoutUrl !=
|
|
210
|
+
fetch('bpm/rule?wf_num=R_S005_B003').catch(function (err) {});
|
|
211
|
+
if (window.casStatus && window.casLogoutUrl && window.casLogoutUrl != '') {
|
|
212
212
|
window.location = window.casLogoutUrl;
|
|
213
213
|
} else {
|
|
214
214
|
hashHistory.push({
|
|
215
|
-
pathname:
|
|
215
|
+
pathname: '/login'
|
|
216
216
|
});
|
|
217
217
|
}
|
|
218
218
|
} else {
|
|
219
|
-
_message3.default.error(
|
|
219
|
+
_message3.default.error('退出登陆失败,请稍后再试一次!');
|
|
220
220
|
}
|
|
221
221
|
return res;
|
|
222
222
|
}).catch(function (error) {
|
|
223
223
|
// 网络请求失败返回执行该回调函数,得到错误信息
|
|
224
|
-
_modal2.default.error({ title:
|
|
224
|
+
_modal2.default.error({ title: '错误提示', content: '网络请求异常,请联系管理员' });
|
|
225
225
|
return error;
|
|
226
226
|
});
|
|
227
227
|
};
|
|
@@ -232,19 +232,19 @@ var userLogout = exports.userLogout = function userLogout() {
|
|
|
232
232
|
* @param callback 回调方法
|
|
233
233
|
*/
|
|
234
234
|
var refreshToken = exports.refreshToken = function refreshToken(_refreshToken, callback) {
|
|
235
|
-
fetch(
|
|
236
|
-
method:
|
|
237
|
-
credentials:
|
|
235
|
+
fetch('api/refreshToken?refreshToken=' + _refreshToken, {
|
|
236
|
+
method: 'GET',
|
|
237
|
+
credentials: 'include',
|
|
238
238
|
headers: {
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
appId:
|
|
239
|
+
'Content-Type': 'application/x-www-form-urlencoded',
|
|
240
|
+
'X-Requested-With': 'XMLHttpRequest',
|
|
241
|
+
appId: 'ly-hq'
|
|
242
242
|
}
|
|
243
243
|
}).then(function (response) {
|
|
244
244
|
return response.json();
|
|
245
245
|
}).then(function (res) {
|
|
246
246
|
if (res.meta && res.meta.statusCode === 200) {
|
|
247
|
-
if (callback && typeof callback ===
|
|
247
|
+
if (callback && typeof callback === 'function') {
|
|
248
248
|
callback(res.data);
|
|
249
249
|
}
|
|
250
250
|
} else {
|
|
@@ -279,7 +279,7 @@ var getExpiresIn = exports.getExpiresIn = function getExpiresIn() {
|
|
|
279
279
|
var expiresIn = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1800;
|
|
280
280
|
|
|
281
281
|
//用户最后一次操作时间
|
|
282
|
-
var userLastOperationTime = sessionStorage.getItem(
|
|
282
|
+
var userLastOperationTime = sessionStorage.getItem('user_last_operation_time');
|
|
283
283
|
if (!userLastOperationTime) return true;
|
|
284
284
|
var nowDate = new Date();
|
|
285
285
|
var differDate = getDifferDate(userLastOperationTime, nowDate);
|
|
@@ -293,46 +293,46 @@ var getExpiresIn = exports.getExpiresIn = function getExpiresIn() {
|
|
|
293
293
|
var tryLoginUserInfo = exports.tryLoginUserInfo = function tryLoginUserInfo(allMenu, fullPageUrl, func, Authorization, notConf) {
|
|
294
294
|
//第一步,清空缓存
|
|
295
295
|
////console.info("tryLoginUserInfo执行1");
|
|
296
|
-
if (window.gateway_version ===
|
|
296
|
+
if (window.gateway_version === '2') {
|
|
297
297
|
//新网关
|
|
298
298
|
} else {
|
|
299
|
-
sessionStorage.removeItem(
|
|
300
|
-
sessionStorage.removeItem(
|
|
299
|
+
sessionStorage.removeItem('userLogin');
|
|
300
|
+
sessionStorage.removeItem('access_token');
|
|
301
301
|
}
|
|
302
|
-
sessionStorage.removeItem(
|
|
303
|
-
sessionStorage.setItem(
|
|
304
|
-
sessionStorage.removeItem(
|
|
305
|
-
fetch(
|
|
306
|
-
method: window.gateway_version ===
|
|
307
|
-
credentials:
|
|
302
|
+
sessionStorage.removeItem('fullPageUrl');
|
|
303
|
+
sessionStorage.setItem('fullPageUrl', (0, _stringify2.default)(fullPageUrl ? fullPageUrl : []));
|
|
304
|
+
sessionStorage.removeItem('statusCode'); // 根据tryLoginUserInfo接口返回的状态码判断是403、404还是500页面
|
|
305
|
+
fetch('tryLoginUserInfo', {
|
|
306
|
+
method: window.gateway_version === '2' ? 'GET' : 'POST',
|
|
307
|
+
credentials: 'include',
|
|
308
308
|
headers: {
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
Authorization: Authorization ||
|
|
312
|
-
logAppId:
|
|
313
|
-
gatewayAppId:
|
|
309
|
+
'Content-Type': 'application/x-www-form-urlencoded',
|
|
310
|
+
'X-Requested-With': 'XMLHttpRequest',
|
|
311
|
+
Authorization: Authorization || '',
|
|
312
|
+
logAppId: 'ly-hq',
|
|
313
|
+
gatewayAppId: 'ly-hq',
|
|
314
314
|
logServiceId: window.logServiceId
|
|
315
315
|
},
|
|
316
|
-
redirect:
|
|
316
|
+
redirect: 'manual'
|
|
317
317
|
}).then(function (response) {
|
|
318
318
|
return response.json();
|
|
319
319
|
}).then(function (res) {
|
|
320
320
|
//console.info("tryLoginUserInfo执行5");
|
|
321
|
-
if (window.gateway_version ===
|
|
321
|
+
if (window.gateway_version === '2') {
|
|
322
322
|
if (res.meta && res.meta.statusCode === 200) {
|
|
323
323
|
if (res.data) {
|
|
324
|
-
var authRoute =
|
|
325
|
-
var isIacpV3 = window.auth_version ===
|
|
324
|
+
var authRoute = 'api/authc'; //2.0权限平台的网关路由
|
|
325
|
+
var isIacpV3 = window.auth_version === '3';
|
|
326
326
|
if (isIacpV3) {
|
|
327
|
-
authRoute =
|
|
327
|
+
authRoute = 'api/mssp-user';
|
|
328
328
|
}
|
|
329
|
-
fetch(authRoute +
|
|
330
|
-
method:
|
|
331
|
-
credentials:
|
|
329
|
+
fetch(authRoute + '/users/current/authority', {
|
|
330
|
+
method: 'GET',
|
|
331
|
+
credentials: 'include',
|
|
332
332
|
headers: {
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
gatewayTest: process.env.NODE_ENV ===
|
|
333
|
+
'Content-Type': 'application/x-www-form-urlencoded',
|
|
334
|
+
'X-Requested-With': 'XMLHttpRequest',
|
|
335
|
+
gatewayTest: process.env.NODE_ENV === 'development' ? 'true' : 'false'
|
|
336
336
|
}
|
|
337
337
|
}).then(function (response2) {
|
|
338
338
|
return response2.json();
|
|
@@ -340,19 +340,19 @@ var tryLoginUserInfo = exports.tryLoginUserInfo = function tryLoginUserInfo(allM
|
|
|
340
340
|
if (res2.meta && res2.meta.success) {
|
|
341
341
|
var authorization = {};
|
|
342
342
|
res2.data.forEach(function (element) {
|
|
343
|
-
authorization[element.authorityId] =
|
|
343
|
+
authorization[element.authorityId] = '';
|
|
344
344
|
});
|
|
345
345
|
res.data.menus = handleMenus(allMenu, authorization);
|
|
346
346
|
res.data.authorization = authorization;
|
|
347
|
-
sessionStorage.setItem(
|
|
348
|
-
sessionStorage.setItem(
|
|
347
|
+
sessionStorage.setItem('userLogin', (0, _stringify2.default)(res.data));
|
|
348
|
+
sessionStorage.setItem('access_token', res.data.accessToken);
|
|
349
349
|
//刷新token,后续用来刷新token
|
|
350
|
-
sessionStorage.setItem(
|
|
350
|
+
sessionStorage.setItem('refresh_token', res.data.refreshToken);
|
|
351
351
|
//记录用户最后一次操作时间
|
|
352
|
-
var userLastOperationTime = (0, _moment2.default)().format(
|
|
353
|
-
sessionStorage.setItem(
|
|
352
|
+
var userLastOperationTime = (0, _moment2.default)().format('YYYY-MM-DD HH:mm:ss');
|
|
353
|
+
sessionStorage.setItem('user_last_operation_time', userLastOperationTime);
|
|
354
354
|
} else {
|
|
355
|
-
_message3.default.error(
|
|
355
|
+
_message3.default.error('查询权限信息失败');
|
|
356
356
|
}
|
|
357
357
|
sso(func, allMenu);
|
|
358
358
|
return res;
|
|
@@ -360,7 +360,7 @@ var tryLoginUserInfo = exports.tryLoginUserInfo = function tryLoginUserInfo(allM
|
|
|
360
360
|
}
|
|
361
361
|
} else {
|
|
362
362
|
sso(func, allMenu);
|
|
363
|
-
sessionStorage.setItem(
|
|
363
|
+
sessionStorage.setItem('statusCode', res.meta.statusCode);
|
|
364
364
|
return res;
|
|
365
365
|
}
|
|
366
366
|
} else {
|
|
@@ -370,11 +370,11 @@ var tryLoginUserInfo = exports.tryLoginUserInfo = function tryLoginUserInfo(allM
|
|
|
370
370
|
if (res.data) {
|
|
371
371
|
//console.info("tryLoginUserInfo执行2");
|
|
372
372
|
res.data.menus = handleMenus(allMenu, res.data.authorization || {});
|
|
373
|
-
sessionStorage.setItem(
|
|
374
|
-
sessionStorage.setItem(
|
|
373
|
+
sessionStorage.setItem('userLogin', (0, _stringify2.default)(res.data));
|
|
374
|
+
sessionStorage.setItem('access_token', Authorization ? Authorization : res.data.tokenId);
|
|
375
375
|
}
|
|
376
376
|
} else {
|
|
377
|
-
sessionStorage.setItem(
|
|
377
|
+
sessionStorage.setItem('statusCode', res.meta.statusCode);
|
|
378
378
|
}
|
|
379
379
|
//console.info("tryLoginUserInfo执行4");
|
|
380
380
|
sso(func, undefined, notConf);
|
|
@@ -394,28 +394,28 @@ var tryLoginUserInfo = exports.tryLoginUserInfo = function tryLoginUserInfo(allM
|
|
|
394
394
|
*/
|
|
395
395
|
var tryAllConfigInfo = exports.tryAllConfigInfo = function tryAllConfigInfo(func) {
|
|
396
396
|
//第一步,清空缓存
|
|
397
|
-
sessionStorage.removeItem(
|
|
397
|
+
sessionStorage.removeItem('nhParams');
|
|
398
398
|
//console.info("tryAllConfigInfo执行1");
|
|
399
|
-
var tokenId = sessionStorage.getItem(
|
|
399
|
+
var tokenId = sessionStorage.getItem('access_token');
|
|
400
400
|
|
|
401
|
-
fetch(window.baseUrl +
|
|
402
|
-
method:
|
|
403
|
-
credentials:
|
|
401
|
+
fetch(window.baseUrl + '/proData/queryAllConfig', {
|
|
402
|
+
method: 'GET',
|
|
403
|
+
credentials: 'include',
|
|
404
404
|
headers: {
|
|
405
|
-
|
|
406
|
-
|
|
405
|
+
'Content-Type': 'application/x-www-form-urlencoded',
|
|
406
|
+
'X-Requested-With': 'XMLHttpRequest',
|
|
407
407
|
Authorization: tokenId || undefined
|
|
408
408
|
}
|
|
409
409
|
}).then(function (response) {
|
|
410
410
|
if (response && response.status === 302) {
|
|
411
|
-
if (window.gateway_version ===
|
|
411
|
+
if (window.gateway_version === '2') {
|
|
412
412
|
//新网关
|
|
413
413
|
//网关超时
|
|
414
|
-
var _userLogin = sessionStorage.getItem(
|
|
415
|
-
var token = sessionStorage.getItem(
|
|
416
|
-
var userLastOperationTime = sessionStorage.getItem(
|
|
414
|
+
var _userLogin = sessionStorage.getItem('userLogin') ? JSON.parse(sessionStorage.getItem('userLogin')) : {};
|
|
415
|
+
var token = sessionStorage.getItem('refresh_token');
|
|
416
|
+
var userLastOperationTime = sessionStorage.getItem('user_last_operation_time');
|
|
417
417
|
var expiresIn = _userLogin.expiresIn || 1800;
|
|
418
|
-
var userLastOperationTimeStr = userLastOperationTime.replace(
|
|
418
|
+
var userLastOperationTimeStr = userLastOperationTime.replace('/-/g', '/');
|
|
419
419
|
//用户最后一次操作时间
|
|
420
420
|
var userLastOperationTimeDate = new Date(userLastOperationTimeStr);
|
|
421
421
|
//当前时间
|
|
@@ -428,11 +428,11 @@ var tryAllConfigInfo = exports.tryAllConfigInfo = function tryAllConfigInfo(func
|
|
|
428
428
|
} else {
|
|
429
429
|
//在token超时阈值范围内用户有操作,则重新生成accessToken
|
|
430
430
|
refreshToken(token, function (newAccessToken) {
|
|
431
|
-
sessionStorage.removeItem(
|
|
432
|
-
sessionStorage.setItem(
|
|
431
|
+
sessionStorage.removeItem('access_token');
|
|
432
|
+
sessionStorage.setItem('access_token', newAccessToken);
|
|
433
433
|
//记录用户最后一次操作时间
|
|
434
|
-
var userLastOperationTime = (0, _moment2.default)().format(
|
|
435
|
-
sessionStorage.setItem(
|
|
434
|
+
var userLastOperationTime = (0, _moment2.default)().format('YYYY-MM-DD HH:mm:ss');
|
|
435
|
+
sessionStorage.setItem('user_last_operation_time', userLastOperationTime);
|
|
436
436
|
if (func) {
|
|
437
437
|
func();
|
|
438
438
|
}
|
|
@@ -443,7 +443,7 @@ var tryAllConfigInfo = exports.tryAllConfigInfo = function tryAllConfigInfo(func
|
|
|
443
443
|
return response.json();
|
|
444
444
|
}).then(function (res) {
|
|
445
445
|
if (res && res.code === 200) {
|
|
446
|
-
sessionStorage.setItem(
|
|
446
|
+
sessionStorage.setItem('nhParams', (0, _stringify2.default)(res.data));
|
|
447
447
|
if (func) {
|
|
448
448
|
func();
|
|
449
449
|
}
|
|
@@ -452,7 +452,7 @@ var tryAllConfigInfo = exports.tryAllConfigInfo = function tryAllConfigInfo(func
|
|
|
452
452
|
if (func) {
|
|
453
453
|
func();
|
|
454
454
|
}
|
|
455
|
-
_message3.default.error(
|
|
455
|
+
_message3.default.error('您没有权限访问该系统');
|
|
456
456
|
}
|
|
457
457
|
return res;
|
|
458
458
|
}).catch(function (error) {
|
|
@@ -466,7 +466,7 @@ var tryAllConfigInfo = exports.tryAllConfigInfo = function tryAllConfigInfo(func
|
|
|
466
466
|
//单点登录验证
|
|
467
467
|
var sso = function sso(func, allMenu, notConf) {
|
|
468
468
|
//console.info("sso执行1");
|
|
469
|
-
var userLogin = sessionStorage.getItem(
|
|
469
|
+
var userLogin = sessionStorage.getItem('userLogin');
|
|
470
470
|
|
|
471
471
|
if (userLogin) {
|
|
472
472
|
//如果已经登录,此时需要获取配置信息
|
|
@@ -479,39 +479,39 @@ var sso = function sso(func, allMenu, notConf) {
|
|
|
479
479
|
} else {
|
|
480
480
|
//是否启用单点登录
|
|
481
481
|
if (window.casStatus) {
|
|
482
|
-
var urlencode = require(
|
|
482
|
+
var urlencode = require('urlencode');
|
|
483
483
|
//跳转至单点登录验证页面
|
|
484
484
|
|
|
485
|
-
var hasTicket = window.location.hash.indexOf(
|
|
486
|
-
var isGatewayV2 = window.gateway_version ===
|
|
487
|
-
var isIacpV3 = window.auth_version ===
|
|
485
|
+
var hasTicket = window.location.hash.indexOf('ticket') != -1;
|
|
486
|
+
var isGatewayV2 = window.gateway_version === '2';
|
|
487
|
+
var isIacpV3 = window.auth_version === '3';
|
|
488
488
|
if (isGatewayV2 && !hasTicket) {
|
|
489
489
|
//新网关
|
|
490
|
-
var service = encodeURIComponent(window.location.origin + window.location.pathname +
|
|
490
|
+
var service = encodeURIComponent(window.location.origin + window.location.pathname + '#/index');
|
|
491
491
|
var casPreHashUrl = window.location.hash.substr(1); // 缓存单点前的hash路由
|
|
492
|
-
sessionStorage.setItem(
|
|
493
|
-
window.location.href = window.casLoginUrl +
|
|
492
|
+
sessionStorage.setItem('casPreHashUrl', casPreHashUrl); // 缓存单点前的hash路由
|
|
493
|
+
window.location.href = window.casLoginUrl + '?service=' + service;
|
|
494
494
|
} else if (isGatewayV2 && hasTicket) {
|
|
495
|
-
var ticket = getHashParam(
|
|
496
|
-
var originServiceUrl = window.location.origin + window.location.pathname +
|
|
495
|
+
var ticket = getHashParam('ticket');
|
|
496
|
+
var originServiceUrl = window.location.origin + window.location.pathname + '#/index';
|
|
497
497
|
var _service = encodeURIComponent(originServiceUrl);
|
|
498
|
-
(0, _index.NHFetch)(
|
|
498
|
+
(0, _index.NHFetch)('cas/login', 'GET', {
|
|
499
499
|
ticket: ticket,
|
|
500
500
|
serviceUrl: _service
|
|
501
501
|
}).then(function (res) {
|
|
502
502
|
// 登录成功,缓存数据跳转到首页
|
|
503
503
|
if (res.meta && res.meta.statusCode === 200) {
|
|
504
|
-
var authRoute =
|
|
504
|
+
var authRoute = 'api/authc'; //2.0权限平台的网关路由
|
|
505
505
|
if (isIacpV3) {
|
|
506
|
-
authRoute =
|
|
506
|
+
authRoute = 'api/mssp-user';
|
|
507
507
|
}
|
|
508
|
-
fetch(authRoute +
|
|
509
|
-
method:
|
|
510
|
-
credentials:
|
|
508
|
+
fetch(authRoute + '/users/current/authority', {
|
|
509
|
+
method: 'GET',
|
|
510
|
+
credentials: 'include',
|
|
511
511
|
headers: {
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
gatewayTest: process.env.NODE_ENV ===
|
|
512
|
+
'Content-Type': 'application/x-www-form-urlencoded',
|
|
513
|
+
'X-Requested-With': 'XMLHttpRequest',
|
|
514
|
+
gatewayTest: process.env.NODE_ENV === 'development' ? 'true' : 'false'
|
|
515
515
|
}
|
|
516
516
|
}).then(function (response2) {
|
|
517
517
|
return response2.json();
|
|
@@ -519,18 +519,18 @@ var sso = function sso(func, allMenu, notConf) {
|
|
|
519
519
|
if (res2.meta && res2.meta.success) {
|
|
520
520
|
var authorization = {};
|
|
521
521
|
res2.data.forEach(function (element) {
|
|
522
|
-
authorization[element.authorityId] =
|
|
522
|
+
authorization[element.authorityId] = '';
|
|
523
523
|
});
|
|
524
524
|
res.data.menus = handleMenus(allMenu, authorization);
|
|
525
525
|
res.data.authorization = authorization;
|
|
526
|
-
sessionStorage.setItem(
|
|
527
|
-
sessionStorage.setItem(
|
|
526
|
+
sessionStorage.setItem('userLogin', (0, _stringify2.default)(res.data));
|
|
527
|
+
sessionStorage.setItem('access_token', res.data.accessToken);
|
|
528
528
|
//刷新token,后续用来刷新token
|
|
529
|
-
sessionStorage.setItem(
|
|
529
|
+
sessionStorage.setItem('refresh_token', res.data.refreshToken);
|
|
530
530
|
//记录用户最后一次操作时间
|
|
531
|
-
var userLastOperationTime = (0, _moment2.default)().format(
|
|
532
|
-
sessionStorage.setItem(
|
|
533
|
-
var _casPreHashUrl = sessionStorage.getItem(
|
|
531
|
+
var userLastOperationTime = (0, _moment2.default)().format('YYYY-MM-DD HH:mm:ss');
|
|
532
|
+
sessionStorage.setItem('user_last_operation_time', userLastOperationTime);
|
|
533
|
+
var _casPreHashUrl = sessionStorage.getItem('casPreHashUrl');
|
|
534
534
|
tryAllConfigInfo(function () {
|
|
535
535
|
//先查询配置信息
|
|
536
536
|
if (_casPreHashUrl) {
|
|
@@ -538,7 +538,7 @@ var sso = function sso(func, allMenu, notConf) {
|
|
|
538
538
|
hashHistory.push({
|
|
539
539
|
pathname: _casPreHashUrl
|
|
540
540
|
});
|
|
541
|
-
sessionStorage.removeItem(
|
|
541
|
+
sessionStorage.removeItem('casPreHashUrl');
|
|
542
542
|
} else {
|
|
543
543
|
var nextUrl = res.data.menus[0].url;
|
|
544
544
|
if (res.data.menus[0].children && res.data.menus[0].children.length > 0 && !res.data.menus[0].children[0].children) {
|
|
@@ -560,16 +560,16 @@ var sso = function sso(func, allMenu, notConf) {
|
|
|
560
560
|
}
|
|
561
561
|
});
|
|
562
562
|
} else {
|
|
563
|
-
_message3.default.error(
|
|
563
|
+
_message3.default.error('查询权限信息失败');
|
|
564
564
|
}
|
|
565
565
|
});
|
|
566
566
|
} else {
|
|
567
567
|
// 登录失败,退出认证登录
|
|
568
|
-
window.location.href = window.casLogoutUrl +
|
|
568
|
+
window.location.href = window.casLogoutUrl + '?service=' + _service;
|
|
569
569
|
}
|
|
570
570
|
});
|
|
571
571
|
} else {
|
|
572
|
-
window.location = window.location.origin + window.location.pathname +
|
|
572
|
+
window.location = window.location.origin + window.location.pathname + 'auth?service=' + urlencode(window.location.origin + window.location.pathname);
|
|
573
573
|
}
|
|
574
574
|
} else {
|
|
575
575
|
func && func();
|
|
@@ -581,25 +581,25 @@ var handleMenus = function handleMenus(allMenu, auths) {
|
|
|
581
581
|
//过滤掉没有权限的菜单
|
|
582
582
|
var leftMenu = filterAuthMenus(deepCopy(allMenu), auths);
|
|
583
583
|
//过滤掉没有子项的菜单
|
|
584
|
-
leftMenu =
|
|
584
|
+
leftMenu = filterChildrenMenus(leftMenu);
|
|
585
585
|
//一个菜单都没有,说明该用户没有访问这个服务的权限
|
|
586
586
|
if (leftMenu.length <= 0) {
|
|
587
587
|
leftMenu.push({
|
|
588
|
-
name:
|
|
589
|
-
key:
|
|
590
|
-
url:
|
|
591
|
-
icon:
|
|
588
|
+
name: '首页',
|
|
589
|
+
key: '403',
|
|
590
|
+
url: '/403',
|
|
591
|
+
icon: 'home'
|
|
592
592
|
});
|
|
593
593
|
}
|
|
594
594
|
return leftMenu;
|
|
595
595
|
};
|
|
596
596
|
|
|
597
|
-
var
|
|
597
|
+
var filterChildrenMenus = function filterChildrenMenus(menus) {
|
|
598
598
|
var fitlerMenus = [];
|
|
599
599
|
menus.map(function (item, index) {
|
|
600
600
|
if (item.children) {
|
|
601
601
|
//存在子菜单,只需要处理子菜单即可
|
|
602
|
-
item.children =
|
|
602
|
+
item.children = filterChildrenMenus(item.children);
|
|
603
603
|
if (item.children.length > 0) {
|
|
604
604
|
fitlerMenus.push(item);
|
|
605
605
|
}
|
|
@@ -640,34 +640,34 @@ var filterAuthMenus = function filterAuthMenus(menus, auths) {
|
|
|
640
640
|
* @return {*}
|
|
641
641
|
*/
|
|
642
642
|
var setRedirect = exports.setRedirect = function setRedirect() {
|
|
643
|
-
var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] :
|
|
643
|
+
var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'add';
|
|
644
644
|
var value = arguments[1];
|
|
645
645
|
|
|
646
646
|
var userId = (0, _index.getLoginUser)().userId;
|
|
647
647
|
var projectName = window.location.host + window.location.pathname; // 区分同源项目
|
|
648
|
-
projectName = userId ? encodeURIComponent(userId +
|
|
649
|
-
var oldData = _index.session.get(
|
|
650
|
-
var currentUrl = value || location.hash.split(
|
|
648
|
+
projectName = userId ? encodeURIComponent(userId + '-' + projectName) : encodeURIComponent(projectName); // 区分同项目不同用户
|
|
649
|
+
var oldData = _index.session.get('routerAfterLogin', {});
|
|
650
|
+
var currentUrl = value || location.hash.split('#')[1];
|
|
651
651
|
var routerAfterLogin = (0, _extends4.default)({}, oldData);
|
|
652
|
-
if (action ===
|
|
652
|
+
if (action === 'add') {
|
|
653
653
|
routerAfterLogin = (0, _extends4.default)({}, routerAfterLogin, (0, _defineProperty3.default)({}, projectName, encodeURIComponent(currentUrl)));
|
|
654
|
-
} else if (action ===
|
|
654
|
+
} else if (action === 'remove') {
|
|
655
655
|
delete routerAfterLogin[projectName];
|
|
656
656
|
}
|
|
657
|
-
_index.session.set(
|
|
657
|
+
_index.session.set('routerAfterLogin', routerAfterLogin);
|
|
658
658
|
};
|
|
659
659
|
// 获取重定向缓存地址
|
|
660
660
|
var getRedirect = exports.getRedirect = function getRedirect(key) {
|
|
661
661
|
var userId = (0, _index.getLoginUser)().userId;
|
|
662
662
|
var projectName = window.location.host + window.location.pathname;
|
|
663
|
-
var name = userId ? encodeURIComponent(userId +
|
|
664
|
-
var routerAfterLogin = _index.session.get(
|
|
663
|
+
var name = userId ? encodeURIComponent(userId + '-' + projectName) : encodeURIComponent(projectName);
|
|
664
|
+
var routerAfterLogin = _index.session.get('routerAfterLogin', {});
|
|
665
665
|
var url = key ? routerAfterLogin[key] : routerAfterLogin[name] || routerAfterLogin[encodeURIComponent(projectName)];
|
|
666
666
|
return url ? decodeURIComponent(url) : url;
|
|
667
667
|
};
|
|
668
668
|
|
|
669
669
|
var deepCopy = function deepCopy(obj) {
|
|
670
|
-
if ((typeof obj ===
|
|
670
|
+
if ((typeof obj === 'undefined' ? 'undefined' : (0, _typeof3.default)(obj)) !== 'object') {
|
|
671
671
|
return obj;
|
|
672
672
|
}
|
|
673
673
|
|
|
@@ -687,17 +687,24 @@ var deepCopy = function deepCopy(obj) {
|
|
|
687
687
|
};
|
|
688
688
|
|
|
689
689
|
var isArrayFn = function isArrayFn(value) {
|
|
690
|
-
if (typeof value ===
|
|
690
|
+
if (typeof value === 'function') {
|
|
691
691
|
return Array.isArray(value);
|
|
692
692
|
} else {
|
|
693
|
-
return Object.prototype.toString.call(value) ===
|
|
693
|
+
return Object.prototype.toString.call(value) === '[object Array]';
|
|
694
694
|
}
|
|
695
695
|
};
|
|
696
696
|
|
|
697
697
|
// 获取url参数
|
|
698
698
|
var getHashParam = function getHashParam(name) {
|
|
699
|
-
var reg = new RegExp(
|
|
700
|
-
queryString = window.location.hash.split(
|
|
699
|
+
var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)'),
|
|
700
|
+
queryString = window.location.hash.split('?')[1] || '',
|
|
701
701
|
result = queryString.match(reg);
|
|
702
702
|
return result ? decodeURIComponent(result[2]) : null;
|
|
703
|
+
};
|
|
704
|
+
|
|
705
|
+
// 获取企业微信、公众号重定向地址的参数值
|
|
706
|
+
var getCodeParams = exports.getCodeParams = function getCodeParams() {
|
|
707
|
+
var urlParams = window.location.href.split('?')[1]; //code=yhxxWB0aL79AR7Bn9Umvg9if3tquBOwuoryC11zTOCA&state=qyh#/
|
|
708
|
+
urlParams = urlParams.split('#/')[0]; //code=yhxxWB0aL79AR7Bn9Umvg9if3tquBOwuoryC11zTOCA&state=qyh
|
|
709
|
+
return parse(urlParams);
|
|
703
710
|
};
|