Commit f0de3604 by zhangleyuan

feat:解决合并代码后的冲突

parents 964245b4 2058baf0
/* /*
* @Author: your name * @Author: your name
* @Date: 2021-07-02 17:15:50 * @Date: 2021-07-02 17:15:50
* @LastEditTime: 2021-07-02 17:23:47 * @LastEditTime: 2021-07-04 18:10:34
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: In User Settings Edit * @Description: In User Settings Edit
* @FilePath: /xiaomai-cloud-class-web/src/core/downLoad.js * @FilePath: /xiaomai-cloud-class-web/src/core/downLoad.js
*/ */
(function (root, factory) { window.download = function download(data, strFileName, strMimeType) {
if (typeof define === 'function' && define.amd) { var self = window, // this script is only for browsers anyway...
// AMD. Register as an anonymous module. defaultMime = 'application/octet-stream', // this default mime also triggers iframe downloads
define([], factory); mimeType = strMimeType || defaultMime,
} else if (typeof exports === 'object') { payload = data,
// Node. Does not work with strict CommonJS, but url = !strFileName && !strMimeType && payload,
// only CommonJS-like environments that support module.exports, anchor = document.createElement('a'),
// like Node. toString = function (a) {
module.exports = factory(); return String(a);
} else { },
// Browser globals (root is window) myBlob = self.Blob || self.MozBlob || self.WebKitBlob || toString,
root.download = factory(); fileName = strFileName || 'download',
} blob,
})(this, function () { reader;
return function download(data, strFileName, strMimeType) { myBlob = myBlob.call ? myBlob.bind(self) : Blob;
var self = window, // this script is only for browsers anyway...
defaultMime = 'application/octet-stream', // this default mime also triggers iframe downloads
mimeType = strMimeType || defaultMime,
payload = data,
url = !strFileName && !strMimeType && payload,
anchor = document.createElement('a'),
toString = function (a) {
return String(a);
},
myBlob = self.Blob || self.MozBlob || self.WebKitBlob || toString,
fileName = strFileName || 'download',
blob,
reader;
myBlob = myBlob.call ? myBlob.bind(self) : Blob;
if (String(this) === 'true') { if (String(this) === 'true') {
//reverse arguments, allowing download.bind(true, "text/xml", "export.xml") to act as a callback //reverse arguments, allowing download.bind(true, "text/xml", "export.xml") to act as a callback
payload = [payload, mimeType]; payload = [payload, mimeType];
mimeType = payload[0]; mimeType = payload[0];
payload = payload[1]; payload = payload[1];
} }
if (url && url.length < 2048) { if (url && url.length < 2048) {
// if no filename and no mime, assume a url was passed as the only argument // if no filename and no mime, assume a url was passed as the only argument
fileName = url.split('/').pop().split('?')[0]; fileName = url.split('/').pop().split('?')[0];
anchor.href = url; // assign href prop to temp anchor anchor.href = url; // assign href prop to temp anchor
if (anchor.href.indexOf(url) !== -1) { if (anchor.href.indexOf(url) !== -1) {
// if the browser determines that it's a potentially valid url path: // if the browser determines that it's a potentially valid url path:
var ajax = new XMLHttpRequest(); var ajax = new XMLHttpRequest();
ajax.open('GET', url, true); ajax.open('GET', url, true);
ajax.responseType = 'blob'; ajax.responseType = 'blob';
ajax.onload = function (e) { ajax.onload = function (e) {
download(e.target.response, fileName, defaultMime); download(e.target.response, fileName, defaultMime);
}; };
setTimeout(function () { setTimeout(function () {
ajax.send(); ajax.send();
}, 0); // allows setting custom ajax headers using the return: }, 0); // allows setting custom ajax headers using the return:
return ajax; return ajax;
} // end if valid url? } // end if valid url?
} // end if url? } // end if url?
//go ahead and download dataURLs right away //go ahead and download dataURLs right away
if (/^data\:[\w+\-]+\/[\w+\-]+[,;]/.test(payload)) { if (/^data\:[\w+\-]+\/[\w+\-]+[,;]/.test(payload)) {
if (payload.length > 1024 * 1024 * 1.999 && myBlob !== toString) { if (payload.length > 1024 * 1024 * 1.999 && myBlob !== toString) {
payload = dataUrlToBlob(payload); payload = dataUrlToBlob(payload);
mimeType = payload.type || defaultMime; mimeType = payload.type || defaultMime;
} else { } else {
return navigator.msSaveBlob // IE10 can't do a[download], only Blobs: return navigator.msSaveBlob // IE10 can't do a[download], only Blobs:
? navigator.msSaveBlob(dataUrlToBlob(payload), fileName) ? navigator.msSaveBlob(dataUrlToBlob(payload), fileName)
: saver(payload); // everyone else can save dataURLs un-processed : saver(payload); // everyone else can save dataURLs un-processed
} }
} //end if dataURL passed? } //end if dataURL passed?
blob = payload instanceof myBlob ? payload : new myBlob([payload], { type: mimeType }); blob = payload instanceof myBlob ? payload : new myBlob([payload], { type: mimeType });
function dataUrlToBlob(strUrl) { function dataUrlToBlob(strUrl) {
var parts = strUrl.split(/[:;,]/), var parts = strUrl.split(/[:;,]/),
type = parts[1], type = parts[1],
decoder = parts[2] == 'base64' ? atob : decodeURIComponent, decoder = parts[2] == 'base64' ? atob : decodeURIComponent,
binData = decoder(parts.pop()), binData = decoder(parts.pop()),
mx = binData.length, mx = binData.length,
i = 0, i = 0,
uiArr = new Uint8Array(mx); uiArr = new Uint8Array(mx);
for (i; i < mx; ++i) uiArr[i] = binData.charCodeAt(i); for (i; i < mx; ++i) uiArr[i] = binData.charCodeAt(i);
return new myBlob([uiArr], { type: type }); return new myBlob([uiArr], { type: type });
} }
function saver(url, winMode) { function saver(url, winMode) {
if ('download' in anchor) { if ('download' in anchor) {
//html5 A[download] //html5 A[download]
anchor.href = url; anchor.href = url;
anchor.setAttribute('download', fileName); anchor.setAttribute('download', fileName);
anchor.className = 'download-js-link'; anchor.className = 'download-js-link';
anchor.innerHTML = 'downloading...'; anchor.innerHTML = 'downloading...';
anchor.style.display = 'none'; anchor.style.display = 'none';
document.body.appendChild(anchor); document.body.appendChild(anchor);
setTimeout(function () {
anchor.click();
document.body.removeChild(anchor);
if (winMode === true) {
setTimeout(function () { setTimeout(function () {
anchor.click(); self.URL.revokeObjectURL(anchor.href);
document.body.removeChild(anchor); }, 250);
if (winMode === true) {
setTimeout(function () {
self.URL.revokeObjectURL(anchor.href);
}, 250);
}
}, 66);
return true;
} }
}, 66);
return true;
}
// handle non-a[download] safari as best we can: // handle non-a[download] safari as best we can:
if (/(Version)\/(\d+)\.(\d+)(?:\.(\d+))?.*Safari\//.test(navigator.userAgent)) { if (/(Version)\/(\d+)\.(\d+)(?:\.(\d+))?.*Safari\//.test(navigator.userAgent)) {
url = url.replace(/^data:([\w\/\-\+]+)/, defaultMime); url = url.replace(/^data:([\w\/\-\+]+)/, defaultMime);
if (!window.open(url)) { if (!window.open(url)) {
// popup blocked, offer direct download: // popup blocked, offer direct download:
if (confirm('Displaying New Document\n\nUse Save As... to download, then click back to return to this page.')) { if (window.confirm('Displaying New Document\n\nUse Save As... to download, then click back to return to this page.')) {
location.href = url; window.location.href = url;
}
}
return true;
} }
}
return true;
}
//do iframe dataURL download (old ch+FF): //do iframe dataURL download (old ch+FF):
var f = document.createElement('iframe'); var f = document.createElement('iframe');
document.body.appendChild(f); document.body.appendChild(f);
if (!winMode) {
// force a mime that will download:
url = 'data:' + url.replace(/^data:([\w\/\-\+]+)/, defaultMime);
}
f.src = url;
setTimeout(function () {
document.body.removeChild(f);
}, 333);
} //end saver
if (navigator.msSaveBlob) { if (!winMode) {
// IE10+ : (has Blob, but not a[download] or URL) // force a mime that will download:
return navigator.msSaveBlob(blob, fileName); url = 'data:' + url.replace(/^data:([\w\/\-\+]+)/, defaultMime);
} }
f.src = url;
setTimeout(function () {
document.body.removeChild(f);
}, 333);
} //end saver
if (self.URL) { if (navigator.msSaveBlob) {
// simple fast and modern way using Blob and URL: // IE10+ : (has Blob, but not a[download] or URL)
saver(self.URL.createObjectURL(blob), true); return navigator.msSaveBlob(blob, fileName);
} else { }
// handle non-Blob()+non-URL browsers:
if (typeof blob === 'string' || blob.constructor === toString) {
try {
return saver('data:' + mimeType + ';base64,' + self.btoa(blob));
} catch (y) {
return saver('data:' + mimeType + ',' + encodeURIComponent(blob));
}
}
// Blob but not URL support: if (self.URL) {
reader = new FileReader(); // simple fast and modern way using Blob and URL:
reader.onload = function (e) { saver(self.URL.createObjectURL(blob), true);
saver(this.result); } else {
}; // handle non-Blob()+non-URL browsers:
reader.readAsDataURL(blob); if (typeof blob === 'string' || blob.constructor === toString) {
try {
return saver('data:' + mimeType + ';base64,' + self.btoa(blob));
} catch (y) {
return saver('data:' + mimeType + ',' + encodeURIComponent(blob));
} }
return true; }
}; /* end download() */
}); // Blob but not URL support:
\ No newline at end of file reader = new FileReader();
reader.onload = function (e) {
saver(this.result);
};
reader.readAsDataURL(blob);
}
return true;
}; /* end download() */
\ No newline at end of file
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Author: 吴文洁 * @Author: 吴文洁
* @Date: 2020-08-24 12:20:57 * @Date: 2020-08-24 12:20:57
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @LastEditTime: 2021-07-04 09:55:24 * @LastEditTime: 2021-07-04 18:19:52
* @Description: * @Description:
* @Copyright: 杭州杰竞科技有限公司 版权所有 * @Copyright: 杭州杰竞科技有限公司 版权所有
--> -->
...@@ -64,165 +64,165 @@ ...@@ -64,165 +64,165 @@
To create a production bundle, use `npm run build` or `yarn build`. To create a production bundle, use `npm run build` or `yarn build`.
--> -->
<script> <script>
(function (root, factory) { // (function (root, factory) {
if (typeof define === 'function' && define.amd) { // if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module. // // AMD. Register as an anonymous module.
define([], factory); // define([], factory);
} else if (typeof exports === 'object') { // } else if (typeof exports === 'object') {
// Node. Does not work with strict CommonJS, but // // Node. Does not work with strict CommonJS, but
// only CommonJS-like environments that support module.exports, // // only CommonJS-like environments that support module.exports,
// like Node. // // like Node.
module.exports = factory(); // module.exports = factory();
} else { // } else {
// Browser globals (root is window) // // Browser globals (root is window)
root.download = factory(); // root.download = factory();
} // }
})(this, function () { // })(this, function () {
return function download(data, strFileName, strMimeType) { // return function download(data, strFileName, strMimeType) {
var self = window, // this script is only for browsers anyway... // var self = window, // this script is only for browsers anyway...
defaultMime = 'application/octet-stream', // this default mime also triggers iframe downloads // defaultMime = 'application/octet-stream', // this default mime also triggers iframe downloads
mimeType = strMimeType || defaultMime, // mimeType = strMimeType || defaultMime,
payload = data, // payload = data,
url = !strFileName && !strMimeType && payload, // url = !strFileName && !strMimeType && payload,
anchor = document.createElement('a'), // anchor = document.createElement('a'),
toString = function (a) { // toString = function (a) {
return String(a); // return String(a);
}, // },
myBlob = self.Blob || self.MozBlob || self.WebKitBlob || toString, // myBlob = self.Blob || self.MozBlob || self.WebKitBlob || toString,
fileName = strFileName || 'download', // fileName = strFileName || 'download',
blob, // blob,
reader; // reader;
myBlob = myBlob.call ? myBlob.bind(self) : Blob; // myBlob = myBlob.call ? myBlob.bind(self) : Blob;
if (String(this) === 'true') { // if (String(this) === 'true') {
//reverse arguments, allowing download.bind(true, "text/xml", "export.xml") to act as a callback // //reverse arguments, allowing download.bind(true, "text/xml", "export.xml") to act as a callback
payload = [payload, mimeType]; // payload = [payload, mimeType];
mimeType = payload[0]; // mimeType = payload[0];
payload = payload[1]; // payload = payload[1];
} // }
if (url && url.length < 2048) { // if (url && url.length < 2048) {
// if no filename and no mime, assume a url was passed as the only argument // // if no filename and no mime, assume a url was passed as the only argument
fileName = url.split('/').pop().split('?')[0]; // fileName = url.split('/').pop().split('?')[0];
anchor.href = url; // assign href prop to temp anchor // anchor.href = url; // assign href prop to temp anchor
if (anchor.href.indexOf(url) !== -1) { // if (anchor.href.indexOf(url) !== -1) {
// if the browser determines that it's a potentially valid url path: // // if the browser determines that it's a potentially valid url path:
var ajax = new XMLHttpRequest(); // var ajax = new XMLHttpRequest();
ajax.open('GET', url, true); // ajax.open('GET', url, true);
ajax.responseType = 'blob'; // ajax.responseType = 'blob';
ajax.onload = function (e) { // ajax.onload = function (e) {
download(e.target.response, fileName, defaultMime); // download(e.target.response, fileName, defaultMime);
}; // };
setTimeout(function () { // setTimeout(function () {
ajax.send(); // ajax.send();
}, 0); // allows setting custom ajax headers using the return: // }, 0); // allows setting custom ajax headers using the return:
return ajax; // return ajax;
} // end if valid url? // } // end if valid url?
} // end if url? // } // end if url?
//go ahead and download dataURLs right away // //go ahead and download dataURLs right away
if (/^data\:[\w+\-]+\/[\w+\-]+[,;]/.test(payload)) { // if (/^data\:[\w+\-]+\/[\w+\-]+[,;]/.test(payload)) {
if (payload.length > 1024 * 1024 * 1.999 && myBlob !== toString) { // if (payload.length > 1024 * 1024 * 1.999 && myBlob !== toString) {
payload = dataUrlToBlob(payload); // payload = dataUrlToBlob(payload);
mimeType = payload.type || defaultMime; // mimeType = payload.type || defaultMime;
} else { // } else {
return navigator.msSaveBlob // IE10 can't do a[download], only Blobs: // return navigator.msSaveBlob // IE10 can't do a[download], only Blobs:
? navigator.msSaveBlob(dataUrlToBlob(payload), fileName) // ? navigator.msSaveBlob(dataUrlToBlob(payload), fileName)
: saver(payload); // everyone else can save dataURLs un-processed // : saver(payload); // everyone else can save dataURLs un-processed
} // }
} //end if dataURL passed? // } //end if dataURL passed?
blob = payload instanceof myBlob ? payload : new myBlob([payload], { type: mimeType }); // blob = payload instanceof myBlob ? payload : new myBlob([payload], { type: mimeType });
function dataUrlToBlob(strUrl) { // function dataUrlToBlob(strUrl) {
var parts = strUrl.split(/[:;,]/), // var parts = strUrl.split(/[:;,]/),
type = parts[1], // type = parts[1],
decoder = parts[2] == 'base64' ? atob : decodeURIComponent, // decoder = parts[2] == 'base64' ? atob : decodeURIComponent,
binData = decoder(parts.pop()), // binData = decoder(parts.pop()),
mx = binData.length, // mx = binData.length,
i = 0, // i = 0,
uiArr = new Uint8Array(mx); // uiArr = new Uint8Array(mx);
for (i; i < mx; ++i) uiArr[i] = binData.charCodeAt(i); // for (i; i < mx; ++i) uiArr[i] = binData.charCodeAt(i);
return new myBlob([uiArr], { type: type }); // return new myBlob([uiArr], { type: type });
} // }
function saver(url, winMode) { // function saver(url, winMode) {
if ('download' in anchor) { // if ('download' in anchor) {
//html5 A[download] // //html5 A[download]
anchor.href = url; // anchor.href = url;
anchor.setAttribute('download', fileName); // anchor.setAttribute('download', fileName);
anchor.className = 'download-js-link'; // anchor.className = 'download-js-link';
anchor.innerHTML = 'downloading...'; // anchor.innerHTML = 'downloading...';
anchor.style.display = 'none'; // anchor.style.display = 'none';
document.body.appendChild(anchor); // document.body.appendChild(anchor);
setTimeout(function () { // setTimeout(function () {
anchor.click(); // anchor.click();
document.body.removeChild(anchor); // document.body.removeChild(anchor);
if (winMode === true) { // if (winMode === true) {
setTimeout(function () { // setTimeout(function () {
self.URL.revokeObjectURL(anchor.href); // self.URL.revokeObjectURL(anchor.href);
}, 250); // }, 250);
} // }
}, 66); // }, 66);
return true; // return true;
} // }
// handle non-a[download] safari as best we can: // // handle non-a[download] safari as best we can:
if (/(Version)\/(\d+)\.(\d+)(?:\.(\d+))?.*Safari\//.test(navigator.userAgent)) { // if (/(Version)\/(\d+)\.(\d+)(?:\.(\d+))?.*Safari\//.test(navigator.userAgent)) {
url = url.replace(/^data:([\w\/\-\+]+)/, defaultMime); // url = url.replace(/^data:([\w\/\-\+]+)/, defaultMime);
if (!window.open(url)) { // if (!window.open(url)) {
// popup blocked, offer direct download: // // popup blocked, offer direct download:
if (confirm('Displaying New Document\n\nUse Save As... to download, then click back to return to this page.')) { // if (confirm('Displaying New Document\n\nUse Save As... to download, then click back to return to this page.')) {
location.href = url; // location.href = url;
} // }
} // }
return true; // return true;
} // }
//do iframe dataURL download (old ch+FF): // //do iframe dataURL download (old ch+FF):
var f = document.createElement('iframe'); // var f = document.createElement('iframe');
document.body.appendChild(f); // document.body.appendChild(f);
if (!winMode) { // if (!winMode) {
// force a mime that will download: // // force a mime that will download:
url = 'data:' + url.replace(/^data:([\w\/\-\+]+)/, defaultMime); // url = 'data:' + url.replace(/^data:([\w\/\-\+]+)/, defaultMime);
} // }
f.src = url; // f.src = url;
setTimeout(function () { // setTimeout(function () {
document.body.removeChild(f); // document.body.removeChild(f);
}, 333); // }, 333);
} //end saver // } //end saver
if (navigator.msSaveBlob) { // if (navigator.msSaveBlob) {
// IE10+ : (has Blob, but not a[download] or URL) // // IE10+ : (has Blob, but not a[download] or URL)
return navigator.msSaveBlob(blob, fileName); // return navigator.msSaveBlob(blob, fileName);
} // }
if (self.URL) { // if (self.URL) {
// simple fast and modern way using Blob and URL: // // simple fast and modern way using Blob and URL:
saver(self.URL.createObjectURL(blob), true); // saver(self.URL.createObjectURL(blob), true);
} else { // } else {
// handle non-Blob()+non-URL browsers: // // handle non-Blob()+non-URL browsers:
if (typeof blob === 'string' || blob.constructor === toString) { // if (typeof blob === 'string' || blob.constructor === toString) {
try { // try {
return saver('data:' + mimeType + ';base64,' + self.btoa(blob)); // return saver('data:' + mimeType + ';base64,' + self.btoa(blob));
} catch (y) { // } catch (y) {
return saver('data:' + mimeType + ',' + encodeURIComponent(blob)); // return saver('data:' + mimeType + ',' + encodeURIComponent(blob));
} // }
} // }
// Blob but not URL support: // // Blob but not URL support:
reader = new FileReader(); // reader = new FileReader();
reader.onload = function (e) { // reader.onload = function (e) {
saver(this.result); // saver(this.result);
}; // };
reader.readAsDataURL(blob); // reader.readAsDataURL(blob);
} // }
return true; // return true;
}; /* end download() */ // }; /* end download() */
}); // });
</script> </script>
</body> </body>
</html> </html>
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Author: 吴文洁 * @Author: 吴文洁
* @Date: 2020-04-27 20:35:34 * @Date: 2020-04-27 20:35:34
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @LastEditTime: 2021-07-04 09:55:15 * @LastEditTime: 2021-07-04 16:59:14
* @Description: * @Description:
*/ */
...@@ -17,8 +17,8 @@ import { RootRouter } from './routes/index'; ...@@ -17,8 +17,8 @@ import { RootRouter } from './routes/index';
import 'antd/dist/antd.less'; import 'antd/dist/antd.less';
import 'video-react/dist/video-react.css'; import 'video-react/dist/video-react.css';
import '@/common/less/index.less'; import '@/common/less/index.less';
import '@/core/downloads';
import '@/core/function'; import '@/core/function';
// import '@/core/downloads';
import '@/core/xmTD'; import '@/core/xmTD';
import User from '@/common/js/user'; import User from '@/common/js/user';
import Service from "@/common/js/service"; import Service from "@/common/js/service";
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment