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
package/lib/utils/NHCore.js
CHANGED
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.download = exports.getBase64 = exports.createScript = exports.compatibleAnimationFrame = exports.setCookie = exports.getCookie = exports.validateCode = exports.sizeConvert = exports.getScale = exports.getOffset = exports.computeFontSize = exports.browserJudge = exports.getLoginUser = exports.hasAuthList = exports.hasAuth = exports.getStyle = exports.createUuid = exports.getSuitHeight = exports.getSize = undefined;
|
|
7
7
|
|
|
8
|
-
var _promise = require(
|
|
8
|
+
var _promise = require('babel-runtime/core-js/promise');
|
|
9
9
|
|
|
10
10
|
var _promise2 = _interopRequireDefault(_promise);
|
|
11
11
|
|
|
12
|
-
var _regenerator = require(
|
|
12
|
+
var _regenerator = require('babel-runtime/regenerator');
|
|
13
13
|
|
|
14
14
|
var _regenerator2 = _interopRequireDefault(_regenerator);
|
|
15
15
|
|
|
16
|
-
var _stringify = require(
|
|
16
|
+
var _stringify = require('babel-runtime/core-js/json/stringify');
|
|
17
17
|
|
|
18
18
|
var _stringify2 = _interopRequireDefault(_stringify);
|
|
19
19
|
|
|
20
|
-
var _asyncToGenerator2 = require(
|
|
20
|
+
var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');
|
|
21
21
|
|
|
22
22
|
var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
|
|
23
23
|
|
|
24
24
|
exports.loadScript = loadScript;
|
|
25
25
|
exports.animationFramePolyfill = animationFramePolyfill;
|
|
26
26
|
|
|
27
|
-
var _common = require(
|
|
27
|
+
var _common = require('./common');
|
|
28
28
|
|
|
29
29
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
30
30
|
|
|
31
31
|
// 获取窗口信息
|
|
32
32
|
var getSize = exports.getSize = function getSize() {
|
|
33
|
-
var setting = sessionStorage.getItem(
|
|
33
|
+
var setting = sessionStorage.getItem('setting');
|
|
34
34
|
var breadcrumbHeight = 0; //面包屑高度
|
|
35
35
|
if (setting) {
|
|
36
36
|
// 存在布局配置
|
|
37
37
|
var _JSON$parse = JSON.parse(setting),
|
|
38
38
|
layout = _JSON$parse.layout;
|
|
39
39
|
|
|
40
|
-
breadcrumbHeight = layout ===
|
|
40
|
+
breadcrumbHeight = layout === 'mixmenu' ? 40 : 0; //若是混合布局 contentH高度需要减去面包屑高度
|
|
41
41
|
}
|
|
42
42
|
var windowW = void 0,
|
|
43
43
|
windowH = void 0,
|
|
@@ -72,13 +72,13 @@ function SuitHeight(node) {
|
|
|
72
72
|
var childrenObj = parentObj.childNodes;
|
|
73
73
|
var elseChildrenHeight = 0;
|
|
74
74
|
for (var i = 0; i < childrenObj.length; i++) {
|
|
75
|
-
if (childrenObj[i].nodeName ===
|
|
75
|
+
if (childrenObj[i].nodeName === '#text' && !/\s/.test(childrenObj.nodeValue)) {
|
|
76
76
|
continue;
|
|
77
77
|
}
|
|
78
|
-
if (childrenObj[i] !== node && childrenObj[i].tagName !==
|
|
78
|
+
if (childrenObj[i] !== node && childrenObj[i].tagName !== 'SCRIPT' && childrenObj[i].tagName !== 'STYLE' && childrenObj[i].style.display !== 'none' && childrenObj[i].style.position !== 'absolute') {
|
|
79
79
|
//吧script的高度也排除掉
|
|
80
|
-
var marginTop = getDomStyle(childrenObj[i],
|
|
81
|
-
var marginBottom = getDomStyle(childrenObj[i],
|
|
80
|
+
var marginTop = getDomStyle(childrenObj[i], 'marginTop') ? parseInt(getDomStyle(childrenObj[i], 'marginTop'), 10) : 0;
|
|
81
|
+
var marginBottom = getDomStyle(childrenObj[i], 'marginBottom') ? parseInt(getDomStyle(childrenObj[i], 'marginBottom'), 10) : 0;
|
|
82
82
|
if (childrenObj[i].offsetHeight && childrenObj[i].offsetHeight > 0) {
|
|
83
83
|
//获得所有非本元素的其他父类子元素的margin的值
|
|
84
84
|
elseChildrenHeight += childrenObj[i].offsetHeight + marginTop + marginBottom;
|
|
@@ -95,7 +95,7 @@ var createUuid = exports.createUuid = function createUuid() {
|
|
|
95
95
|
var len = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 32;
|
|
96
96
|
var radix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 16;
|
|
97
97
|
|
|
98
|
-
var chars =
|
|
98
|
+
var chars = '0123456789abcdefghijklmnopqrstuvwxyz'.split('');
|
|
99
99
|
var uuid = [],
|
|
100
100
|
i;
|
|
101
101
|
radix = radix || chars.length;
|
|
@@ -110,8 +110,8 @@ var createUuid = exports.createUuid = function createUuid() {
|
|
|
110
110
|
var r;
|
|
111
111
|
|
|
112
112
|
// rfc4122 requires these characters
|
|
113
|
-
uuid[8] = uuid[13] = uuid[18] = uuid[23] =
|
|
114
|
-
uuid[14] =
|
|
113
|
+
uuid[8] = uuid[13] = uuid[18] = uuid[23] = '-';
|
|
114
|
+
uuid[14] = '4';
|
|
115
115
|
|
|
116
116
|
// Fill in random data. At i==19 set the high bits of clock sequence as
|
|
117
117
|
// per rfc4122, sec. 4.1.5
|
|
@@ -123,7 +123,7 @@ var createUuid = exports.createUuid = function createUuid() {
|
|
|
123
123
|
}
|
|
124
124
|
}
|
|
125
125
|
|
|
126
|
-
return uuid.join(
|
|
126
|
+
return uuid.join('');
|
|
127
127
|
};
|
|
128
128
|
|
|
129
129
|
var getStyle = exports.getStyle = function getStyle(element, attr) {
|
|
@@ -131,11 +131,11 @@ var getStyle = exports.getStyle = function getStyle(element, attr) {
|
|
|
131
131
|
};
|
|
132
132
|
|
|
133
133
|
function getDomStyle(curEle, attr) {
|
|
134
|
-
if (
|
|
134
|
+
if ('getComputedStyle' in window) {
|
|
135
135
|
return window.getComputedStyle(curEle, null)[attr];
|
|
136
136
|
} else {
|
|
137
|
-
if (attr ===
|
|
138
|
-
var val = curEle.currentStyle[
|
|
137
|
+
if (attr === 'opacity') {
|
|
138
|
+
var val = curEle.currentStyle['filter'];
|
|
139
139
|
var reg = /^alpha\(opacity=(\d+(?:\.\d+)?)\)$/i;
|
|
140
140
|
return reg.test(val) ? reg.exec(val)[1] / 100 : 1;
|
|
141
141
|
} else {
|
|
@@ -146,14 +146,14 @@ function getDomStyle(curEle, attr) {
|
|
|
146
146
|
|
|
147
147
|
//判断该用户是否存在该权限
|
|
148
148
|
var hasAuth = exports.hasAuth = function hasAuth(auth) {
|
|
149
|
-
var initState = sessionStorage.getItem(
|
|
149
|
+
var initState = sessionStorage.getItem('userLogin') ? JSON.parse(sessionStorage.getItem('userLogin')) : {};
|
|
150
150
|
var auths = initState.authorization ? initState.authorization : {};
|
|
151
151
|
return auths[auth] !== undefined;
|
|
152
152
|
};
|
|
153
153
|
|
|
154
154
|
//判断该用户是否存在该权限
|
|
155
155
|
var hasAuthList = exports.hasAuthList = function hasAuthList(authList) {
|
|
156
|
-
var initState = sessionStorage.getItem(
|
|
156
|
+
var initState = sessionStorage.getItem('userLogin') ? JSON.parse(sessionStorage.getItem('userLogin')) : {};
|
|
157
157
|
var auths = initState.authorization ? initState.authorization : {};
|
|
158
158
|
var res = authList && authList.length && authList.find(function (auth) {
|
|
159
159
|
return auths[auth] !== undefined;
|
|
@@ -163,7 +163,7 @@ var hasAuthList = exports.hasAuthList = function hasAuthList(authList) {
|
|
|
163
163
|
|
|
164
164
|
//获取登陆用户信息
|
|
165
165
|
var getLoginUser = exports.getLoginUser = function getLoginUser() {
|
|
166
|
-
var loginUser = sessionStorage.getItem(
|
|
166
|
+
var loginUser = sessionStorage.getItem('userLogin') ? JSON.parse(sessionStorage.getItem('userLogin')) : { authorization: {}, menus: [] };
|
|
167
167
|
return loginUser;
|
|
168
168
|
};
|
|
169
169
|
|
|
@@ -171,13 +171,13 @@ var getLoginUser = exports.getLoginUser = function getLoginUser() {
|
|
|
171
171
|
* 判断浏览器是否是IE内核,如果是IE内核就不让访问
|
|
172
172
|
*/
|
|
173
173
|
function isIE() {
|
|
174
|
-
if (!!window.ActiveXObject ||
|
|
174
|
+
if (!!window.ActiveXObject || 'ActiveXObject' in window) return true;else return false;
|
|
175
175
|
}
|
|
176
176
|
var browserJudge = exports.browserJudge = function browserJudge(func) {
|
|
177
177
|
if (isIE()) {
|
|
178
178
|
var str = "<font size='5'>你的浏览器版本过低,无法完整的体验本系统的所有功能!</font>";
|
|
179
179
|
var str2 = "推荐使用:<a href='https://www.baidu.com/s?ie=UTF-8&wd=%E8%B0%B7%E6%AD%8C%E6%B5%8F%E8%A7%88%E5%99%A8' target='_blank' style='color:#cc0;font-size:15px;font-weight:600;'>谷歌</a>," + "<a href='https://www.baidu.com/s?ie=UTF-8&wd=%E7%81%AB%E7%8B%90%E6%B5%8F%E8%A7%88%E5%99%A8' target='_blank' style='color:#cc0;font-size:15px;font-weight:600;'>火狐</a>," + "<a href='https://www.baidu.com/s?ie=UTF-8&wd=%E7%8C%8E%E8%B1%B9%E6%B5%8F%E8%A7%88%E5%99%A8' target='_blank' style='color:#cc0;font-size:15px;font-weight:600;'>猎豹</a>," + "<a href='https://www.baidu.com/s?ie=UTF-8&wd=360%E6%B5%8F%E8%A7%88%E5%99%A8%0A' target='_blank' style='color:#cc0;font-size:15px;font-weight:600;'>360浏览器</a>等双核急速模式";
|
|
180
|
-
document.getElementById(
|
|
180
|
+
document.getElementById('root').innerHTML = "<table style='width:100%;height:100%;background-color:#fff;z-index:99999;position:absolute;'><tr><td align='center'>" + "<div style='text-align:center; width:800px;border:1px solid #0099CC;background-color:#99CCFF;top:0;left:0;z-index:1234;border-radius:5px;padding:2px;'>" + "<div align='left' style='padding:2px;padding: 8px;font-size: 15px;font-weight:700;border-radius: 5px 5px 0px 0px;color:#fff;'>Web项目体验性研究提示:</div>" + "<div style='background-color:#fff;height:300px;border-radius:0px 0px 5px 5px;border:1px solid #0099CC'><h2 style='padding-top:80px;margin:0'><strong>" + str + '<br/></strong></h2><p>' + str2 + "</p><h2 style='margin:0'><strong>如果你的使用的是双核浏览器,请切换到极速模式访问<br/></strong></h2></div></div></td></tr></table>";
|
|
181
181
|
} else {
|
|
182
182
|
func && func();
|
|
183
183
|
}
|
|
@@ -192,9 +192,9 @@ var browserJudge = exports.browserJudge = function browserJudge(func) {
|
|
|
192
192
|
*/
|
|
193
193
|
|
|
194
194
|
var computeFontSize = exports.computeFontSize = function computeFontSize(ele, size, family) {
|
|
195
|
-
var spanDom = document.createElement(
|
|
195
|
+
var spanDom = document.createElement('span');
|
|
196
196
|
spanDom.style.fontSize = size;
|
|
197
|
-
spanDom.style.opacity =
|
|
197
|
+
spanDom.style.opacity = '0';
|
|
198
198
|
spanDom.style.fontFamily = family;
|
|
199
199
|
spanDom.innerHTML = ele;
|
|
200
200
|
document.body.append(spanDom);
|
|
@@ -215,7 +215,7 @@ var getOffset = exports.getOffset = function getOffset(ele) {
|
|
|
215
215
|
var left = ele.offsetLeft;
|
|
216
216
|
while (ele.offsetParent) {
|
|
217
217
|
ele = ele.offsetParent;
|
|
218
|
-
if (window.navigator.userAgent.indexOf(
|
|
218
|
+
if (window.navigator.userAgent.indexOf('MSTE 8') > -1) {
|
|
219
219
|
top += ele.offsetTop;
|
|
220
220
|
left += ele.offsetLeft;
|
|
221
221
|
} else {
|
|
@@ -238,7 +238,7 @@ var getScale = exports.getScale = function getScale() {
|
|
|
238
238
|
|
|
239
239
|
var htmlElement = document.documentElement;
|
|
240
240
|
var fontSize = window.getComputedStyle(htmlElement).fontSize;
|
|
241
|
-
var scale = (0, _common.countNumber)(parseFloat(fontSize), size,
|
|
241
|
+
var scale = (0, _common.countNumber)(parseFloat(fontSize), size, 'divide');
|
|
242
242
|
return scale;
|
|
243
243
|
};
|
|
244
244
|
|
|
@@ -248,7 +248,7 @@ var getScale = exports.getScale = function getScale() {
|
|
|
248
248
|
*/
|
|
249
249
|
var sizeConvert = exports.sizeConvert = function sizeConvert(number, fontSize) {
|
|
250
250
|
var scale = getScale(fontSize);
|
|
251
|
-
var value = (0, _common.countNumber)(number, scale,
|
|
251
|
+
var value = (0, _common.countNumber)(number, scale, 'multiply');
|
|
252
252
|
return value;
|
|
253
253
|
};
|
|
254
254
|
|
|
@@ -268,7 +268,7 @@ var validateCode = exports.validateCode = function () {
|
|
|
268
268
|
switch (_context.prev = _context.next) {
|
|
269
269
|
case 0:
|
|
270
270
|
_context.prev = 0;
|
|
271
|
-
specialCharPattern = sessionStorage.getItem(
|
|
271
|
+
specialCharPattern = sessionStorage.getItem('specialCharPattern') ? JSON.parse(sessionStorage.getItem('specialCharPattern')) : {};
|
|
272
272
|
// 第一次为调用接口,之后有缓存则使用缓存
|
|
273
273
|
|
|
274
274
|
if (specialCharPattern.apiUsed) {
|
|
@@ -276,10 +276,10 @@ var validateCode = exports.validateCode = function () {
|
|
|
276
276
|
break;
|
|
277
277
|
}
|
|
278
278
|
|
|
279
|
-
baseUrl = window.xtglUrl ||
|
|
279
|
+
baseUrl = window.xtglUrl || 'api/hq-xtgl';
|
|
280
280
|
_context.next = 6;
|
|
281
|
-
return NHFetch(baseUrl +
|
|
282
|
-
csbz:
|
|
281
|
+
return NHFetch(baseUrl + '/outer/getCsszByCsbz', 'GET', {
|
|
282
|
+
csbz: 'XTGL_TSZF'
|
|
283
283
|
});
|
|
284
284
|
|
|
285
285
|
case 6:
|
|
@@ -290,7 +290,7 @@ var validateCode = exports.validateCode = function () {
|
|
|
290
290
|
|
|
291
291
|
specialCharPattern.pattern = data.pattern;
|
|
292
292
|
specialCharPattern.open = data.open;
|
|
293
|
-
sessionStorage.setItem(
|
|
293
|
+
sessionStorage.setItem('specialCharPattern', (0, _stringify2.default)({
|
|
294
294
|
pattern: data.pattern,
|
|
295
295
|
open: data.open,
|
|
296
296
|
apiUsed: true
|
|
@@ -309,7 +309,7 @@ var validateCode = exports.validateCode = function () {
|
|
|
309
309
|
reg = new RegExp(text);
|
|
310
310
|
|
|
311
311
|
if (reg.test(value)) {
|
|
312
|
-
callback(
|
|
312
|
+
callback('您的输入中存在特殊字符' + reg.exec(value)[0]);
|
|
313
313
|
} else {
|
|
314
314
|
callback();
|
|
315
315
|
}
|
|
@@ -318,13 +318,13 @@ var validateCode = exports.validateCode = function () {
|
|
|
318
318
|
|
|
319
319
|
case 13:
|
|
320
320
|
_context.prev = 13;
|
|
321
|
-
_context.t0 = _context[
|
|
321
|
+
_context.t0 = _context['catch'](0);
|
|
322
322
|
|
|
323
|
-
console.log(
|
|
323
|
+
console.log('配置的正则表达式有误,请联系管理员!');
|
|
324
324
|
callback();
|
|
325
325
|
|
|
326
326
|
case 17:
|
|
327
|
-
case
|
|
327
|
+
case 'end':
|
|
328
328
|
return _context.stop();
|
|
329
329
|
}
|
|
330
330
|
}
|
|
@@ -338,15 +338,15 @@ var validateCode = exports.validateCode = function () {
|
|
|
338
338
|
|
|
339
339
|
/** 获取cookie */
|
|
340
340
|
var getCookie = exports.getCookie = function getCookie(key) {
|
|
341
|
-
var name = key +
|
|
342
|
-
var ca = document.cookie.split(
|
|
341
|
+
var name = key + '=';
|
|
342
|
+
var ca = document.cookie.split(';');
|
|
343
343
|
for (var i = 0; i < ca.length; i++) {
|
|
344
344
|
var c = ca[i].trim();
|
|
345
345
|
if (c.indexOf(name) === 0) {
|
|
346
346
|
return c.substring(name.length, c.length);
|
|
347
347
|
}
|
|
348
348
|
}
|
|
349
|
-
return
|
|
349
|
+
return '';
|
|
350
350
|
};
|
|
351
351
|
|
|
352
352
|
/** 设置cookie */
|
|
@@ -355,14 +355,14 @@ var setCookie = exports.setCookie = function setCookie(key, value) {
|
|
|
355
355
|
|
|
356
356
|
var d = new Date();
|
|
357
357
|
d.setTime(d.getTime() + day * 24 * 60 * 60 * 1000);
|
|
358
|
-
var expires =
|
|
359
|
-
document.cookie = key +
|
|
358
|
+
var expires = 'expires=' + d.toGMTString();
|
|
359
|
+
document.cookie = key + '=' + value + '; ' + expires;
|
|
360
360
|
};
|
|
361
361
|
|
|
362
362
|
function loadScript(src) {
|
|
363
363
|
return new _promise2.default(function (resolve, reject) {
|
|
364
|
-
var script = document.createElement(
|
|
365
|
-
script.type =
|
|
364
|
+
var script = document.createElement('script');
|
|
365
|
+
script.type = 'text/javascript';
|
|
366
366
|
script.src = src;
|
|
367
367
|
script.onload = resolve;
|
|
368
368
|
script.onerror = reject;
|
|
@@ -377,10 +377,10 @@ function loadScript(src) {
|
|
|
377
377
|
*/
|
|
378
378
|
function animationFramePolyfill() {
|
|
379
379
|
var lastTime = 0;
|
|
380
|
-
var vendors = [
|
|
380
|
+
var vendors = ['ms', 'moz', 'webkit', 'o'];
|
|
381
381
|
for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {
|
|
382
|
-
window.requestAnimationFrame = window[vendors[x] +
|
|
383
|
-
window.cancelAnimationFrame = window[vendors[x] +
|
|
382
|
+
window.requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame'];
|
|
383
|
+
window.cancelAnimationFrame = window[vendors[x] + 'CancelAnimationFrame'] || window[vendors[x] + 'CancelRequestAnimationFrame'];
|
|
384
384
|
}
|
|
385
385
|
|
|
386
386
|
if (!window.requestAnimationFrame) {
|
|
@@ -405,10 +405,10 @@ function animationFramePolyfill() {
|
|
|
405
405
|
// 兼容requestAnimationFrame
|
|
406
406
|
var compatibleAnimationFrame = exports.compatibleAnimationFrame = function compatibleAnimationFrame() {
|
|
407
407
|
var lastTime = 0;
|
|
408
|
-
var vendors = [
|
|
408
|
+
var vendors = ['webkit', 'moz'];
|
|
409
409
|
for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {
|
|
410
|
-
window.requestAnimationFrame = window[vendors[x] +
|
|
411
|
-
window.cancelAnimationFrame = window[vendors[x] +
|
|
410
|
+
window.requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame'];
|
|
411
|
+
window.cancelAnimationFrame = window[vendors[x] + 'CancelAnimationFrame'] || window[vendors[x] + 'CancelRequestAnimationFrame'];
|
|
412
412
|
}
|
|
413
413
|
|
|
414
414
|
if (!window.requestAnimationFrame) window.requestAnimationFrame = function (callback, element) {
|
|
@@ -432,13 +432,13 @@ var compatibleAnimationFrame = exports.compatibleAnimationFrame = function compa
|
|
|
432
432
|
* @returns
|
|
433
433
|
*/
|
|
434
434
|
var createScript = exports.createScript = function createScript() {
|
|
435
|
-
var url = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] :
|
|
435
|
+
var url = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
436
436
|
|
|
437
|
-
var scriptTags = window.document.querySelectorAll(
|
|
437
|
+
var scriptTags = window.document.querySelectorAll('script');
|
|
438
438
|
var len = scriptTags.length;
|
|
439
439
|
var i = 0;
|
|
440
440
|
// 截取字符串,去掉可能url是相对路径的
|
|
441
|
-
url = url.indexOf(
|
|
441
|
+
url = url.indexOf('.') === 0 ? url.substr(1) : url;
|
|
442
442
|
var _url = location.origin + url;
|
|
443
443
|
return new _promise2.default(function (resolve, reject) {
|
|
444
444
|
var isHas = false;
|
|
@@ -451,8 +451,8 @@ var createScript = exports.createScript = function createScript() {
|
|
|
451
451
|
}
|
|
452
452
|
}
|
|
453
453
|
if (!isHas) {
|
|
454
|
-
var node = document.createElement(
|
|
455
|
-
node.type =
|
|
454
|
+
var node = document.createElement('script');
|
|
455
|
+
node.type = 'text/javascript';
|
|
456
456
|
node.src = url;
|
|
457
457
|
node.onload = resolve;
|
|
458
458
|
document.body.appendChild(node);
|
|
@@ -482,12 +482,12 @@ var getBase64 = exports.getBase64 = function getBase64(file) {
|
|
|
482
482
|
var download = exports.download = function download(res) {
|
|
483
483
|
var blob = new Blob([res.data]);
|
|
484
484
|
// 提取文件名
|
|
485
|
-
var contentDisposition =
|
|
486
|
-
if (res.headers[
|
|
487
|
-
contentDisposition = res.headers[
|
|
485
|
+
var contentDisposition = '';
|
|
486
|
+
if (res.headers['content-disposition']) {
|
|
487
|
+
contentDisposition = res.headers['content-disposition'];
|
|
488
488
|
}
|
|
489
|
-
if (res.headers[
|
|
490
|
-
contentDisposition = res.headers[
|
|
489
|
+
if (res.headers['Content-disposition']) {
|
|
490
|
+
contentDisposition = res.headers['Content-disposition'];
|
|
491
491
|
}
|
|
492
492
|
var err = contentDisposition.match(/err=(.*)/);
|
|
493
493
|
if (err && err[1]) {
|
|
@@ -499,20 +499,20 @@ var download = exports.download = function download(res) {
|
|
|
499
499
|
return false;
|
|
500
500
|
}
|
|
501
501
|
var fileName = fileNameArr[1];
|
|
502
|
-
if (typeof window.navigator.msSaveBlob !==
|
|
502
|
+
if (typeof window.navigator.msSaveBlob !== 'undefined') {
|
|
503
503
|
// 兼容IE,window.navigator.msSaveBlob:以本地方式保存文件
|
|
504
504
|
window.navigator.msSaveBlob(blob, decodeURI(fileName));
|
|
505
505
|
} else {
|
|
506
506
|
// 创建新的URL并指向File对象或者Blob对象的地址
|
|
507
507
|
var blobURL = window.URL.createObjectURL(blob);
|
|
508
508
|
// 创建a标签,用于跳转至下载链接
|
|
509
|
-
var tempLink = document.createElement(
|
|
510
|
-
tempLink.style.display =
|
|
509
|
+
var tempLink = document.createElement('a');
|
|
510
|
+
tempLink.style.display = 'none';
|
|
511
511
|
tempLink.href = blobURL;
|
|
512
|
-
tempLink.setAttribute(
|
|
512
|
+
tempLink.setAttribute('download', decodeURI(fileName));
|
|
513
513
|
// 兼容:某些浏览器不支持HTML5的download属性
|
|
514
|
-
if (typeof tempLink.download ===
|
|
515
|
-
tempLink.setAttribute(
|
|
514
|
+
if (typeof tempLink.download === 'undefined') {
|
|
515
|
+
tempLink.setAttribute('target', '_blank');
|
|
516
516
|
}
|
|
517
517
|
// 挂载a标签
|
|
518
518
|
document.body.appendChild(tempLink);
|