You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
957 lines
52 KiB
957 lines
52 KiB
(self["webpackChunk"] = self["webpackChunk"] || []).push([[9300],{
|
|
|
|
/***/ 4435:
|
|
/*!*********************************************!*\
|
|
!*** ./src/components/UploadFile/index.tsx ***!
|
|
\*********************************************/
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
/* harmony export */ cT: function() { return /* binding */ uploadFile; },
|
|
/* harmony export */ pe: function() { return /* binding */ decrypt; }
|
|
/* harmony export */ });
|
|
/* unused harmony exports reNameFile, UploadFile */
|
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 59301);
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! antd */ 73598);
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! antd */ 8591);
|
|
/* harmony import */ var _utils_fetch__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/utils/fetch */ 64841);
|
|
/* harmony import */ var crypto_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! crypto-js */ 28209);
|
|
/* harmony import */ var crypto_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(crypto_js__WEBPACK_IMPORTED_MODULE_2__);
|
|
/* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! uuid */ 1012);
|
|
/* harmony import */ var umi__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! umi */ 23852);
|
|
/* harmony import */ var ali_oss__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ali-oss */ 47257);
|
|
/* harmony import */ var ali_oss__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(ali_oss__WEBPACK_IMPORTED_MODULE_5__);
|
|
var __defProp = Object.defineProperty;
|
|
var __defProps = Object.defineProperties;
|
|
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
var __spreadValues = (a, b) => {
|
|
for (var prop in b || (b = {}))
|
|
if (__hasOwnProp.call(b, prop))
|
|
__defNormalProp(a, prop, b[prop]);
|
|
if (__getOwnPropSymbols)
|
|
for (var prop of __getOwnPropSymbols(b)) {
|
|
if (__propIsEnum.call(b, prop))
|
|
__defNormalProp(a, prop, b[prop]);
|
|
}
|
|
return a;
|
|
};
|
|
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
var __objRest = (source, exclude) => {
|
|
var target = {};
|
|
for (var prop in source)
|
|
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
target[prop] = source[prop];
|
|
if (source != null && __getOwnPropSymbols)
|
|
for (var prop of __getOwnPropSymbols(source)) {
|
|
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
target[prop] = source[prop];
|
|
}
|
|
return target;
|
|
};
|
|
var __async = (__this, __arguments, generator) => {
|
|
return new Promise((resolve, reject) => {
|
|
var fulfilled = (value) => {
|
|
try {
|
|
step(generator.next(value));
|
|
} catch (e) {
|
|
reject(e);
|
|
}
|
|
};
|
|
var rejected = (value) => {
|
|
try {
|
|
step(generator.throw(value));
|
|
} catch (e) {
|
|
reject(e);
|
|
}
|
|
};
|
|
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
step((generator = generator.apply(__this, __arguments)).next());
|
|
});
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const { Dragger } = antd__WEBPACK_IMPORTED_MODULE_4__["default"];
|
|
|
|
const decrypt = (word) => {
|
|
const ENC_KEY = "bf3c199c2470cb477d907b1e0917c17b";
|
|
const IV = "5183666c72eec9e4";
|
|
var key = crypto_js__WEBPACK_IMPORTED_MODULE_2___default().enc.Utf8.parse(ENC_KEY);
|
|
let iv = crypto_js__WEBPACK_IMPORTED_MODULE_2___default().enc.Utf8.parse(IV);
|
|
var decrypt2 = crypto_js__WEBPACK_IMPORTED_MODULE_2___default().AES.decrypt(word, key, {
|
|
iv,
|
|
mode: (crypto_js__WEBPACK_IMPORTED_MODULE_2___default().mode).CBC
|
|
// padding: CryptoJS.pad.ZeroPadding
|
|
});
|
|
return decrypt2.toString((crypto_js__WEBPACK_IMPORTED_MODULE_2___default().enc).Utf8);
|
|
};
|
|
let tempCheckpoint;
|
|
const reNameFile = (_0) => __async(void 0, [_0], function* ({ identifier, oldFilename, newFilename }) {
|
|
var _a, _b, _c, _d, _e, _f;
|
|
const res = yield Fetch("/api/buckets/get_upload_token_for_big_files.json", { method: "get" });
|
|
res.data = JSON.parse(decrypt(res.data));
|
|
const client = new OSS({
|
|
endpoint: (_a = res == null ? void 0 : res.data) == null ? void 0 : _a.end_point,
|
|
region: (_b = res == null ? void 0 : res.data) == null ? void 0 : _b.region,
|
|
accessKeyId: (_c = res == null ? void 0 : res.data) == null ? void 0 : _c.access_key_id,
|
|
accessKeySecret: (_d = res == null ? void 0 : res.data) == null ? void 0 : _d.access_key_secret,
|
|
bucket: (_e = res == null ? void 0 : res.data) == null ? void 0 : _e.bucket,
|
|
stsToken: (_f = res == null ? void 0 : res.data) == null ? void 0 : _f.security_token
|
|
});
|
|
return new Promise((resolve, reject) => {
|
|
console.log(11111, `${identifier}/${oldFilename}`, `${identifier}/${newFilename}`, res.data);
|
|
client.copy(`/${identifier}/${oldFilename}`, `/${identifier}/${newFilename}`).then((r) => {
|
|
console.log("\u62F7\u8D1D\u6210\u529F", r);
|
|
}).catch((e) => {
|
|
console.log(e);
|
|
});
|
|
});
|
|
});
|
|
const uploadFile = (file, obj, config) => __async(void 0, null, function* () {
|
|
var _a, _b, _c, _d, _e, _f;
|
|
obj.file_name = file.name;
|
|
const res = yield (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .ZP)("/api/buckets/get_upload_token.json", { method: "get" });
|
|
console.log("decrypt(res.data):", decrypt(res.data));
|
|
res.data = JSON.parse(decrypt(res.data));
|
|
const namearrs = file.name.split(".");
|
|
namearrs.pop();
|
|
const name = obj.realFileName ? namearrs.join("") : (0,uuid__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z)();
|
|
const client = new (ali_oss__WEBPACK_IMPORTED_MODULE_5___default())({
|
|
endpoint: (_a = res == null ? void 0 : res.data) == null ? void 0 : _a.end_point,
|
|
region: (_b = res == null ? void 0 : res.data) == null ? void 0 : _b.region,
|
|
accessKeyId: (_c = res == null ? void 0 : res.data) == null ? void 0 : _c.access_key_id,
|
|
accessKeySecret: (_d = res == null ? void 0 : res.data) == null ? void 0 : _d.access_key_secret,
|
|
bucket: (_e = res == null ? void 0 : res.data) == null ? void 0 : _e.bucket,
|
|
stsToken: (_f = res == null ? void 0 : res.data) == null ? void 0 : _f.security_token
|
|
});
|
|
return new Promise((resolve, reject) => {
|
|
var _a2;
|
|
client.multipartUpload(`${name}`, new Blob([file], { type: file.type }), __spreadProps(__spreadValues({
|
|
timeout: 200 * 1e3,
|
|
partSize: 102400
|
|
}, config), {
|
|
callback: {
|
|
url: (_a2 = res == null ? void 0 : res.data) == null ? void 0 : _a2.callback_url,
|
|
host: res == null ? void 0 : res.data.bucket_host,
|
|
body: "bucket=${bucket}&object=${object}&etag=${etag}&size=${size}&mimeType=${mimeType}&my_var=${x:my_var}&" + (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_1__/* .parseParams */ .rz)(obj)
|
|
// body: 'bucket=${bucket}&object=${object}&etag=${etag}&size=${size}&mimeType=${mimeType}&my_var=${x:my_var}&login=' + obj.login + '&container_id=' + obj.container_id + '&container_type='+obj.container_type,
|
|
}
|
|
})).then(function(result) {
|
|
var _a3;
|
|
file.response = (_a3 = result.data) == null ? void 0 : _a3.data;
|
|
resolve(result == null ? void 0 : result.data);
|
|
}).catch(function(err) {
|
|
reject(err);
|
|
console.log("err:", err);
|
|
});
|
|
});
|
|
});
|
|
const UploadFile = (_a) => {
|
|
var _b = _a, { user, cancelUpload } = _b, props = __objRest(_b, ["user", "cancelUpload"]);
|
|
const [fileList, setFileList] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]);
|
|
let [client, setClient] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)();
|
|
const _props = {
|
|
onRemove: (e) => {
|
|
setFileList([...fileList.filter((item) => item.name !== e.name)]);
|
|
props.onChange(fileList.filter((item) => item.name !== e.name));
|
|
},
|
|
disabled: props.disabled,
|
|
multiple: true,
|
|
fileList: fileList == null ? void 0 : fileList.map((item) => item.file),
|
|
customRequest: () => {
|
|
},
|
|
beforeUpload: (file) => __async(void 0, null, function* () {
|
|
let fileSize = props.maxSize || 1024 * 1024 * 1024 * 1;
|
|
if (!!fileList.filter((item) => item.name === file.name).length) {
|
|
antd__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .ZP.info(`${file.name}\u5DF2\u5B58\u5728\uFF0C\u8BF7\u91CD\u65B0\u9009\u62E9`);
|
|
return;
|
|
}
|
|
if ((file == null ? void 0 : file.size) > fileSize) {
|
|
antd__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .ZP.info(`\u6587\u4EF6\u8D85\u8FC7${fileSize / 1024 / 1024 / 1024}GB\uFF0C\u4E0D\u7B26\u5408\u4E0A\u4F20\u8981\u6C42`);
|
|
return false;
|
|
}
|
|
fileList.push({ name: file.name, file });
|
|
setFileList([...fileList]);
|
|
props.onChange(fileList);
|
|
return false;
|
|
})
|
|
};
|
|
const _uploadFiles = (file, obj) => __async(void 0, null, function* () {
|
|
var _a2, _b2, _c, _d, _e, _f;
|
|
obj.file_name = file.name;
|
|
const name = file.name;
|
|
const res = yield (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .ZP)("/api/buckets/get_upload_token_for_big_files.json", { method: "get" });
|
|
res.data = JSON.parse(decrypt(res.data));
|
|
if ((res == null ? void 0 : res.status) !== 0) {
|
|
fileList[fileList.findIndex((item) => item.name === name)]["status"] = "error";
|
|
fileList[fileList.findIndex((item) => item.name === name)]["file"]["status"] = "error";
|
|
props.onChange(fileList);
|
|
antd__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .ZP.warning("\u4E0A\u4F20\u5931\u8D25\uFF0C\u8BF7\u91CD\u65B0\u5C1D\u8BD5");
|
|
return;
|
|
}
|
|
client = new (ali_oss__WEBPACK_IMPORTED_MODULE_5___default())({
|
|
endpoint: (_a2 = res == null ? void 0 : res.data) == null ? void 0 : _a2.end_point,
|
|
region: (_b2 = res == null ? void 0 : res.data) == null ? void 0 : _b2.region,
|
|
accessKeyId: (_c = res == null ? void 0 : res.data) == null ? void 0 : _c.access_key_id,
|
|
accessKeySecret: (_d = res == null ? void 0 : res.data) == null ? void 0 : _d.access_key_secret,
|
|
bucket: (_e = res == null ? void 0 : res.data) == null ? void 0 : _e.bucket,
|
|
stsToken: (_f = res == null ? void 0 : res.data) == null ? void 0 : _f.security_token
|
|
});
|
|
console.log(file, "file");
|
|
setClient(client);
|
|
const namearrs = file.name.split(".");
|
|
namearrs.pop();
|
|
const filename = obj.realFileName ? namearrs.join(".") : (0,uuid__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z)();
|
|
return new Promise((resolve, reject) => {
|
|
var _a3;
|
|
try {
|
|
client.multipartUpload(`${props.identifier}/${filename}${name.indexOf(".") > -1 ? "." + name.split(".").pop() : ""}`, new Blob([file.file], { type: file.file.type }), {
|
|
timeout: 3600 * 1e3,
|
|
partSize: 1002400,
|
|
progress: (p, checkpoint, res2) => {
|
|
try {
|
|
console.log("\u8FDB\u5EA6", p, checkpoint, res2);
|
|
const index = fileList.findIndex((item) => item.name === name);
|
|
fileList[index]["file"]["percent"] = p * 100;
|
|
fileList[index].tempCheckpoint = checkpoint;
|
|
setFileList([...fileList]);
|
|
} catch (e) {
|
|
}
|
|
},
|
|
checkpoint: fileList[fileList.findIndex((item) => item.name === name)].tempCheckpoint,
|
|
callback: {
|
|
customValue: {
|
|
id: name + ""
|
|
},
|
|
url: (_a3 = res == null ? void 0 : res.data) == null ? void 0 : _a3.callback_url,
|
|
host: res == null ? void 0 : res.data.bucket_host,
|
|
body: "bucket=${bucket}&object=${object}&etag=${etag}&size=${size}&mimeType=${mimeType}&my_var=${x:my_var}&" + (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_1__/* .parseParams */ .rz)(obj)
|
|
}
|
|
}).then(function(result) {
|
|
var _a4, _b3, _c2;
|
|
const index = fileList.findIndex((item) => item.name === name);
|
|
let status = "done";
|
|
if (((_a4 = result.data) == null ? void 0 : _a4.status) === 0) {
|
|
file.response = (_b3 = result.data) == null ? void 0 : _b3.data;
|
|
const index2 = fileList.findIndex((item) => item.name === name);
|
|
fileList[index2]["status"] = "done";
|
|
fileList[index2]["file"]["status"] = "done";
|
|
} else {
|
|
antd__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .ZP.warning((_c2 = result.data) == null ? void 0 : _c2.message);
|
|
status = "error";
|
|
}
|
|
fileList[index]["status"] = status;
|
|
fileList[index]["file"]["status"] = status;
|
|
props.onChange(fileList);
|
|
resolve(result == null ? void 0 : result.data);
|
|
}).catch(function(err) {
|
|
fileList[fileList.findIndex((item) => item.name === name)]["status"] = "error";
|
|
fileList[fileList.findIndex((item) => item.name === name)]["file"]["status"] = "error";
|
|
antd__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .ZP.warning("\u4E0A\u4F20\u5931\u8D25\uFF0C\u8BF7\u91CD\u65B0\u5C1D\u8BD5");
|
|
setFileList([...fileList]);
|
|
props.onChange(fileList);
|
|
reject(err);
|
|
console.log("err:", err);
|
|
});
|
|
} catch (e) {
|
|
}
|
|
});
|
|
});
|
|
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
|
|
if (fileList.every((item) => item === "done" || item === "error")) {
|
|
props.onComplete(fileList);
|
|
}
|
|
}, [fileList]);
|
|
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
|
|
if (cancelUpload) {
|
|
client == null ? void 0 : client.cancel();
|
|
}
|
|
}, [cancelUpload]);
|
|
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
|
|
if (props.uploading)
|
|
fileList.map((item) => __async(void 0, null, function* () {
|
|
var _a2;
|
|
if ((!item.status || item.status === "error") && !cancelUpload) {
|
|
item.status = "uploading";
|
|
item.file.status = "uploading";
|
|
const res = yield _uploadFiles(item, {
|
|
login: (_a2 = user == null ? void 0 : user.userInfo) == null ? void 0 : _a2.login,
|
|
container_type: props.container_type,
|
|
container_id: props.container_id,
|
|
description: props.description,
|
|
realFileName: props.realFileName
|
|
});
|
|
}
|
|
}));
|
|
}, [props.uploading]);
|
|
return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(
|
|
Dragger,
|
|
__spreadProps(__spreadValues({}, _props), {
|
|
height: props.height,
|
|
className: props.className
|
|
}),
|
|
/* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("p", { className: "ant-upload-hint" }, props.text || "\u62D6\u62FD\u6587\u4EF6\u6216\u8005\u70B9\u51FB\u4E0A\u4F20")
|
|
);
|
|
};
|
|
/* harmony default export */ __webpack_exports__.ZP = ((0,umi__WEBPACK_IMPORTED_MODULE_3__.connect)(
|
|
({
|
|
loading,
|
|
globalSetting,
|
|
user
|
|
}) => ({
|
|
globalSetting,
|
|
loading: loading.models.competitions,
|
|
user
|
|
})
|
|
)(UploadFile));
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ 94466:
|
|
/*!**************************************************************************************************!*\
|
|
!*** ./src/pages/Shixuns/Edit/body/Level/Challenges/components/UploadFile/index.tsx + 2 modules ***!
|
|
\**************************************************************************************************/
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
// EXPORTS
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
Y2: function() { return /* binding */ UploadTable; },
|
|
ZP: function() { return /* binding */ components_UploadFile; }
|
|
});
|
|
|
|
// UNUSED EXPORTS: dealList
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
|
|
var _react_17_0_2_react = __webpack_require__(59301);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/upload/index.js + 24 modules
|
|
var upload = __webpack_require__(73598);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/message/index.js + 4 modules
|
|
var message = __webpack_require__(8591);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/modal/index.js + 16 modules
|
|
var modal = __webpack_require__(43418);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/row/index.js
|
|
var row = __webpack_require__(95237);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/radio/index.js + 5 modules
|
|
var es_radio = __webpack_require__(5112);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/button/index.js
|
|
var es_button = __webpack_require__(3113);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/checkbox/index.js + 3 modules
|
|
var es_checkbox = __webpack_require__(24905);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/tooltip/index.js + 3 modules
|
|
var tooltip = __webpack_require__(6848);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/input/index.js + 5 modules
|
|
var input = __webpack_require__(20008);
|
|
;// CONCATENATED MODULE: ./src/pages/Shixuns/Edit/body/Level/Challenges/components/UploadFile/index.less?modules
|
|
// extracted by mini-css-extract-plugin
|
|
/* harmony default export */ var UploadFilemodules = ({"wrap":"wrap___MkYbQ","colorBlue":"colorBlue___onjbP","repeatedName":"repeatedName___nbqnE","text":"text___xvutp","greyText":"greyText___dihvZ","noData":"noData___LxOJA","dragger":"dragger___y7F4A","uploadText":"uploadText___Et3KS","btnS":"btnS___k1e6j","testCaseRadio":"testCaseRadio___q1wXT","head":"head___s4Eix","operation":"operation___JCAVh","listWrapper":"listWrapper___xW3b4","list":"list___dCbd6","del":"del___abNho","info":"info___J1Wmf"});
|
|
;// CONCATENATED MODULE: ./src/pages/Shixuns/Edit/body/Level/Challenges/components/UploadFile/upload.png
|
|
var upload_namespaceObject = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAATEAAADICAYAAACAj9YNAAAAAXNSR0IArs4c6QAAD59JREFUeF7tnet527gShsFUZFeQpJN1GkncyG46iVJBVFG4D6mLKYmSMLgQM4NXf855NrgMvm/8egBC9BD4oIBhBV7++fPlHP6n8PH/p/84Dp8XS7v8txB2N8sext/h7+G/73++3v67YZ08hz54Xhxr86fAy7c/P+ZVHQB1DaYaCz7AbBzfgVsNefPHBGL5GjJCRQUW0PpecRrp0DugJpWsXnsgVk9bRk5QQCm0nq1khhpb0Gcy1fl3IFZHV0YVKDCfa03nWeOgqdoSrODc9Lz1BGgp8qX1AWJputGrgAJz1bXd2VaBiEVDUJ2J5EpvDMTStaNnogJHeFmvuiSrB2gStYRtgZhQMJqnKWD0rCttsfd7AbPSioYQgFgFURnyQwHnW8ZUq4FZqnIr/YBYQTEZ6lKBDreNshQYxvf9v6+He298khUAYsnS0fGeAsBLmBvj+JWnmULNFs2BWLp29LxSYL4qMczXJLa4Se9Nf7aYiY4CsUTh6MbWsUoOsMUUywrExJLRYakAW8cq+UBVJpAViAnEoinV16Y5QFUWJTcQi5KJRtcKUIFtlBOA7KnQQOypRDS42D5yeN8iIdhePlAdiLVISaNzUn01No6rGKsGALHGeWllegCmxCm2lzdGADEluak5DACmzB1AdmEIEFOWn9rCAWDaHDnGA8jOxgAxpTmqIayXt/0vbt9rcOJODIBsFgaIKc7RlqFRgbVUXzA3IANignTppikAM2Z15yCjEjOWr7XDBWC1Fa40fscgA2KVcsrisADMomuLmDsFGRAznrelwj++Rmc6yOdjWYEOL8QCMcsJWyh2AFZISCXD7P976ernuqvFKskxVWEAMFV2lAmms20lECuTNmZH4S6YWeseB94RyICY0xyOWRYH+TEqGW7TCciAmOEczQmdbWSOenb69nA+BsTs5GPRSNlGFpVT72AdVGNATG/6VYuMbWQ1aXUO7BxkQExn2lWN6uVtP1adgMHVKeB5WwnE1KVb3YDYRtbVV+3ojqsxIKY268oHxmF+eU0tjei1GgNilrIwM1a2kZkCWu/utBoDYtYTMzJ+tpGRQnlv5hBkQMx70h7XRxXWidHPl7nb//fy9XkzOy2AmB2vkiPlSkWydD47OqvGgJjPNL1YFVVYByZLlgjEJGrRtrUCPJFs7YDS+R2BjEpMSY7NsDl+9j9fd6XC4kC/lJLOxgFizgzdYDnzudTpMw6fj//3DK4HIRyANoy/w9+wkwCOKmwDYy1P4QRkVGIVk/AMrnH4XniaXQzUqMIKq+5tOCDmzdH89cyVz6fwJRwqrZgqK3/SEFaBRhVWQlr/Y3i4xU8lVihPlVxj2IVxfJ+2nFRhhYz1PoyDagyIZSapEnhdr2I6R9uqEsxUkO5NFQBiTeVvOrlSeDXVhMltKmB9S0klJsw74CUUjOb6FTBejQExQYoBMIFYNLWkgOnvUwKxyFTjoDxSKJqZVMDylhKIPUk5riqY/JkkaKkChreUQOyB2WwfpT8JtDerABAza93dwAGYP09Z0WMFrG4pqcRWfGULyY97jwoAMSeuAzAnRrIMuQJGt5RUYldW8xRSnvv0cKIAELNvJACz7yEryFLA5H0xKrGj5xzkZyU/nZ0oYPFcDIiFEDgHc/ITyDKyFQBi2RK2GYBtZBvdmVWhAuP4VfL2YA0r6L4SYxupIQ2JQY0CBg/3gdjbflSTQASCAq0VAGKtHZDNTxUm04vWHSgAxOyYzGG+Ha+IdFMFzF2z6HY7yWH+pj8YTGZHASBmwSuqMAsuEWMjBYBYI+FF0wIxkVw07kwBa3fFutxOspXs7KeS5YoUAGIiudo0fuFaRRvhmdWEAkBMuU1sJZUbRHjNFQBizS14HABbSeUGEV5zBYBYcwueQowb+so9Iry2CgCxtvo/nJ2tpGJzCE2NAkBMjRW3gQAxxeYQmhoFgJgaK1Yg9u3PjzAO3xWHSGgo0FoBLru2duDR/HzhW7M7xKZEASCmxIjVMHgyqdkdYlOiABBTYgQQ02wEsWlWAIhpdodKTLM7xKZCAd4npsKGu0HwdSPd/hCdAgV4x35bE+YrFNPnUzj87/IzDp9DWPnvbUNmdhTQpQAQ286P+Unj9DnAafrcgmu7cJgJBVwoYO2O2CS6mVfxXEELYLn4kWERShXYhXF8t/Kn21RDbAEuLqgqzXbCcq+AeqCpgxjgcv9DwQLtKqASaGogxm16u5lN5B0qoOgqRnOIAa8OfwBYshcFVFRmzSAGvLzkMetAgdAUZptD7Agv7myR+SjgT4EmMNsUYlRf/rKWFaHAigKbwmwTiAEvEh0FOlRgo8P/6hADYB0mL0tGgZMCG4CsGsSOr4KeLqlyu56URoG+Fai6vawCMaqvvjOW1aPAqgKVqrLiEANgJDAKoMBdBSqArCjEABjJiwIoEKFA0bfHFoMYAIuwjiYogAInBYqBrAjEeO0zmYkCKJCgQBGQZUMMgCVYRxcUQIFiFVkWxNhCkokogALZCmQe9idDDIBlW8cAKIACJwUyQJYEMQBG7qEAChRXIBFkYogdb+L/Kr4ABkQBFECBBJDJIfa2H1EaBVAABaopIASZCGI8iaxmGwOjAAosFJD86bhoiHEORo6hAApspoCgGouCGOdgm1nHRCiAAsInlnEQe9tPB/m8Uof0kiswjO/hb9jNHYeBVzPJFey6R8y28inE2EZ2nUM5i1/9Sgn5lCNph30jtpUPIcY2ssOkKbTkR79BAVkhkXsZ5gnIHkOMbWQvaVJ2neP4df/z9bCFvPMBZGUl9z7ao1+KdyFGFeY9LSqtLwJgp5m5slPJA4/DPqjG7kOMKsxjKtRdU8T5xXUAL1yeruuJo9HvVWOrEKMKc+T8VktJANgUGrm2lUEO5rmTY+sQowpz4PiGS0gE2Hlb+c+fL2EY+D7uhpaZnCoWYvxmNGlvu6AzAXYG2bc/P8I43yPjgwL3FVjJt5tKjMNWMkigQJHXCwMygeK9N42EGG+p6D1R4tZfFGCALE50WoVwfcB/UYmxlSRFohUQXKWIHvPYkDtkUsU6a39VjV1CjAP9zrIhcbkVAXauyMjFRHP66Lasxq4hxlayjxxIX+UGAANk6fZ003ORh2eIsZXsxv70hRZ6EikJgMuwErU6arvIxQ+IUb53lAEJS20AsClKfrkmeNVHl/ODpSXE2Er2Yb58lY0AxhNLuVU99Tidi80Q47ddT9aL11rlKoU0Cp5YShXroP3xlysQ68DrjCWqABgVWYaDnrteQIzzMM9Wp65NFcAAWaqNrvvNOXqoxICYa6eTFrfhVQppfGwtpYr5bT+di50gxqG+X5/lK1MMsHNFxi9eua8eewzj+8ChvkdnM9bU+EmkJHJ2EBK1nLYFYk6NTV2WIYDNxyC8hyzVaT/9ZojxHic/huasxBjAzttKQJbjuv2+M8Q4W7BvZO4KjAKMJ5a5xrvovwNiLnzMWoTKqxTSFbGjkCrmpj0Qc2Nl2kJcAIyKLM18L72oxLw4mbIOA1cppMuiIpMqZr/9BDHuiNn3Ub4ChwCjIpOngYceQMyDi9I1OAbYGWQ8sJJmhdn2QMysdYmBG38SKVk1uwyJWnbbAjG73skj7whgkzhchpWniMUeQMyiaykxdwaw87aSy7Ap2WKqD08nTdmVHKyrqxRSFXhiKVXMVnsgZsuvlGi7BhhPLFNSxlYfIGbLL2m0AGyhGBWZNH1stAdiNnxKi7KDqxRSYQCZVDH97XmLhX6P0iIEYHd146UHaSmltNcOiCl1JissAPZUPkD2VCIrDXa82dWKVbFxdnqVIlaeZTsuw6aopqzP9D6xKSTMVGZMajgATKQcl2FFculsPI7nv3bEl8B1WiSJiieRErWObTnoTxBNU5cFxH6FEL5oio1YhApwDiYU7KM5IEuWrnnHjz/Zxnv2m5uRGQBVWIaAQCxDvLZdF388l++XtbWiwOzTb6QCw3Q5BBAzavvxDPic+BzuGzXyFDbbyWQDuW6RLF3bjsecX0KMc7G2luTPDsjEGlKFiSVT0+G0+/iAGOdiaszJDGSX1X8c3/c/X/PGyAogrvMMn+kzDp/jeqy24mFWhniNu57PgT8gxrlYY09UTa/6QQHVk6pcaRPMYtdxcRjM2UAbP1TOqvTiLBdUVWbL5kEtH2RdQowt5eZmqJ0QiKm1hsDCxU7h5rE8TylJkaMCKreUVGLkZ7h6gHULMaoxsuSgABAjE1QqcH0nEoiptElFUEBMhQ0EcaXATV6u3vJmS0niUImRAyoVWLkLuQ4xtpQq/ds4KCqxjQVnuqcKrObk3e/bUY09FdR7AyDm3WFr67vzjZT7EKMas2Zx6XiBWGlFGS9Hgbv5+PDNB1RjOZqb7wvEzFvoaAEPvhf8GGJUY46yQLwUICaWjA5VFHhy8frpO6j4nloVWywMCsQsuOQ/xqd5+BRik0ZsK/1nysoKnyZPC1W4sd9C9YZzRrxeKg5ibCsbuthsaiDWTHomPioQlYNREJurMUDWW2ZFJdDWolCJba14u/liX7keDTG2le3MbDQzEGskPNNOL7scv8a+nFMGMaqxnvILiPXktqa1Cl8DJYIY20pNTlePBYhVl5gJSjxQEkMMkHWTeECsG6v1LDT2HGwZcRLEjudj/HUkPd7XiASI1VCVMe8rIDgHKwIxQOY+G4GYe4sVLTARYNMKkiuxGWL8hSRFWVA8FCBWXFIGXFVAeJB/PUYWxACZ66QEYq7tVbK4TIBlV2InGajIlCRE2TCAWFk9Ge2mhBrf9/++Hv4IcsYnuxK7Atn3EAJ/VTnDEEVdgZgiM9yFUqACO2lSDGJnmL3teWrpI+OAmA8f9a0i4xB/bTHFITafkwEyfYkjjwiIyTWjx2MFdmEc32O/ThQrZhWIzSDjK0qxHmhtB8S0OmMxroLbx5ujtZp6HA/8OSerKXK9sYFYPW37GrkiwCYhq1ViS5fYXprMWSBm0jZVQVfZPm5aiV2A7HAxlqpMVY49DAaI2fFKX6SVq6/lgjepxC5gxlmZvoRbjwiIWXFKU5wbwuu07M0hNh/6U5VpSrt7sQAxCy5pirEBwDY7E7unMzDTlIE3sQAx1fYoCq4RvJpWYtfyAzNFCfkRChBTaYuioBrDSxXETsEAM0UJGgIQU2WHkmCG8X2KpMR3HkutqMmZWEzwAC1GpaptgFhVeU0NvgvD+FsTuJbqqYXYMkiA1iThgVgT2dVMqhpc5iB2A7T5kcR852z68NaMOnkPxOroqnXUGVrhb9iV/m5j7QWbqMSeiTBXatPnU/gSxuHzSntA90zE238HYnLNWvTYXU26lusfbSZQnT4GgbUm8P/6C+VmwqlgeQAAAABJRU5ErkJggg==";
|
|
// EXTERNAL MODULE: ./node_modules/_ali-oss@6.18.1@ali-oss/dist/aliyun-oss-sdk.js
|
|
var aliyun_oss_sdk = __webpack_require__(47257);
|
|
var aliyun_oss_sdk_default = /*#__PURE__*/__webpack_require__.n(aliyun_oss_sdk);
|
|
// EXTERNAL MODULE: ./src/components/UploadFile/index.tsx
|
|
var UploadFile = __webpack_require__(4435);
|
|
// EXTERNAL MODULE: ./src/utils/fetch.ts
|
|
var utils_fetch = __webpack_require__(64841);
|
|
// EXTERNAL MODULE: ./node_modules/_uuid@8.3.0@uuid/dist/esm-browser/v4.js + 4 modules
|
|
var v4 = __webpack_require__(1012);
|
|
// EXTERNAL MODULE: ./src/utils/util.tsx
|
|
var util = __webpack_require__(75798);
|
|
// EXTERNAL MODULE: ./src/components/PreviewAll/index.tsx + 1 modules
|
|
var PreviewAll = __webpack_require__(95391);
|
|
;// CONCATENATED MODULE: ./src/pages/Shixuns/Edit/body/Level/Challenges/components/UploadFile/index.tsx
|
|
var __defProp = Object.defineProperty;
|
|
var __defProps = Object.defineProperties;
|
|
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
var __spreadValues = (a, b) => {
|
|
for (var prop in b || (b = {}))
|
|
if (__hasOwnProp.call(b, prop))
|
|
__defNormalProp(a, prop, b[prop]);
|
|
if (__getOwnPropSymbols)
|
|
for (var prop of __getOwnPropSymbols(b)) {
|
|
if (__propIsEnum.call(b, prop))
|
|
__defNormalProp(a, prop, b[prop]);
|
|
}
|
|
return a;
|
|
};
|
|
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
var __async = (__this, __arguments, generator) => {
|
|
return new Promise((resolve, reject) => {
|
|
var fulfilled = (value) => {
|
|
try {
|
|
step(generator.next(value));
|
|
} catch (e) {
|
|
reject(e);
|
|
}
|
|
};
|
|
var rejected = (value) => {
|
|
try {
|
|
step(generator.throw(value));
|
|
} catch (e) {
|
|
reject(e);
|
|
}
|
|
};
|
|
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
step((generator = generator.apply(__this, __arguments)).next());
|
|
});
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const { Dragger } = upload["default"];
|
|
const dealList = (item) => {
|
|
const str = (s) => {
|
|
if (!s) {
|
|
return s;
|
|
}
|
|
return s.substring(0, s.lastIndexOf("."));
|
|
};
|
|
var list = [...item], flag = 0, data = [];
|
|
for (var i = 0; i < list.length; i++) {
|
|
var az = "";
|
|
for (var j = 0; j < data.length; j++) {
|
|
if (str(data[j][0].name) == str(list[i].name)) {
|
|
flag = 1;
|
|
az = j;
|
|
break;
|
|
}
|
|
}
|
|
if (flag == 1) {
|
|
data[az].push(list[i]);
|
|
flag = 0;
|
|
} else if (flag == 0) {
|
|
let wdy = new Array();
|
|
wdy.push(list[i]);
|
|
data.push(wdy);
|
|
}
|
|
}
|
|
const items = data.map((e) => {
|
|
e.forEach((info) => {
|
|
let arr = info.name.split(".");
|
|
info.name = `${arr[0]}.${arr[1].toLowerCase()}`;
|
|
});
|
|
if (e[0].name.includes(".in")) {
|
|
if (e.length === 2) {
|
|
return e;
|
|
} else {
|
|
return [e[0], {}];
|
|
}
|
|
}
|
|
if (e[0].name.includes(".out")) {
|
|
if (e.length === 2) {
|
|
return e.reverse();
|
|
} else {
|
|
return [{}, e[0]];
|
|
}
|
|
}
|
|
});
|
|
return items;
|
|
};
|
|
const UploadFile_UploadFile = ({
|
|
onClose,
|
|
onOK,
|
|
visible,
|
|
wrapClassName,
|
|
rootIdentifier,
|
|
multiple = false,
|
|
defaultMultipleValue = true
|
|
}) => {
|
|
const [fileList, setFileList] = (0,_react_17_0_2_react.useState)([]);
|
|
const [OSSData, setOSSData] = (0,_react_17_0_2_react.useState)({});
|
|
const [btnLoading, setBtnLoading] = (0,_react_17_0_2_react.useState)(false);
|
|
const [radioValue, setRadioValue] = (0,_react_17_0_2_react.useState)(true);
|
|
const savedFileList = (0,_react_17_0_2_react.useRef)([]);
|
|
const uploadIndex = (0,_react_17_0_2_react.useRef)(0);
|
|
const handleCancel = () => {
|
|
onClose();
|
|
};
|
|
(0,_react_17_0_2_react.useEffect)(() => {
|
|
init();
|
|
}, []);
|
|
(0,_react_17_0_2_react.useEffect)(() => {
|
|
if (visible) {
|
|
savedFileList.current = [];
|
|
uploadIndex.current = 0;
|
|
setFileList([]);
|
|
setRadioValue(defaultMultipleValue);
|
|
}
|
|
}, [visible]);
|
|
const init = () => __async(void 0, null, function* () {
|
|
try {
|
|
const OSSData2 = yield (0,utils_fetch/* default */.ZP)("/api/buckets/get_upload_token_for_big_files", { method: "get" });
|
|
const data = JSON.parse((0,UploadFile/* decrypt */.pe)(OSSData2.data));
|
|
setOSSData(data);
|
|
} catch (error) {
|
|
}
|
|
});
|
|
const str = (s) => {
|
|
if (!s) {
|
|
return s;
|
|
}
|
|
return s.substring(0, s.lastIndexOf("."));
|
|
};
|
|
const handleRemove = (item) => {
|
|
var _a, _b;
|
|
const name = str((_a = item[0]) == null ? void 0 : _a.name) || str((_b = item[1]) == null ? void 0 : _b.name);
|
|
const files = fileList.filter((v) => str(v.name) !== name);
|
|
savedFileList.current = [...files];
|
|
setFileList([...files]);
|
|
};
|
|
const _uploadFiles = (file) => {
|
|
if (!radioValue) {
|
|
const formData = new FormData();
|
|
formData.append("file", file.file);
|
|
const Target = (0,utils_fetch/* default */.ZP)(
|
|
`/api/attachments/get_file_content.json`,
|
|
{
|
|
method: "post",
|
|
body: formData
|
|
},
|
|
true
|
|
);
|
|
Target.then((result) => {
|
|
if (result.status === 0) {
|
|
uploadIndex.current = uploadIndex.current + 1;
|
|
const files = savedFileList.current.map((v) => {
|
|
var _a;
|
|
if (v.name === file.name) {
|
|
const obj2 = __spreadValues({}, v);
|
|
if ((_a = file == null ? void 0 : file.name) == null ? void 0 : _a.includes(".in")) {
|
|
obj2.input = result == null ? void 0 : result.content;
|
|
} else {
|
|
obj2.output = result == null ? void 0 : result.content;
|
|
}
|
|
return obj2;
|
|
}
|
|
return v;
|
|
});
|
|
savedFileList.current = [...files];
|
|
setFileList([...files]);
|
|
if (uploadIndex.current > 0 && uploadIndex.current === fileList.length) {
|
|
setBtnLoading(false);
|
|
let array = dealList(files);
|
|
array = array.filter((e) => {
|
|
var _a, _b;
|
|
return !!(((_a = e[0]) == null ? void 0 : _a.name) && ((_b = e[1]) == null ? void 0 : _b.name));
|
|
});
|
|
array = array.map((e) => __spreadProps(__spreadValues(__spreadValues({}, e[0]), e[1]), { is_file: false }));
|
|
onOK(array);
|
|
onClose();
|
|
}
|
|
} else {
|
|
setBtnLoading(false);
|
|
onClose();
|
|
}
|
|
});
|
|
return;
|
|
}
|
|
const client = new (aliyun_oss_sdk_default())({
|
|
endpoint: OSSData.end_point,
|
|
region: OSSData.region,
|
|
accessKeyId: OSSData.access_key_id,
|
|
accessKeySecret: OSSData.access_key_secret,
|
|
bucket: OSSData.bucket,
|
|
stsToken: OSSData.security_token
|
|
});
|
|
const name = file.name;
|
|
const obj = { container_type: "TestSet", file_name: name };
|
|
const filename = (0,v4/* default */.Z)();
|
|
let url = `testsets/${rootIdentifier}/${filename}${name.indexOf(".") > -1 ? "." + name.split(".").pop() : ""}`;
|
|
if (rootIdentifier === null) {
|
|
url = `testsets/${filename}${name.indexOf(".") > -1 ? "." + name.split(".").pop() : ""}`;
|
|
}
|
|
client.multipartUpload(url, new Blob([file.file], { type: file.file.type }), {
|
|
timeout: 3600 * 1e3,
|
|
partSize: 1002400,
|
|
callback: {
|
|
customValue: {
|
|
id: name + ""
|
|
},
|
|
url: OSSData == null ? void 0 : OSSData.callback_url,
|
|
host: OSSData == null ? void 0 : OSSData.bucket_host,
|
|
body: "bucket=${bucket}&object=${object}&etag=${etag}&size=${size}&mimeType=${mimeType}&my_var=${x:my_var}&" + (0,utils_fetch/* parseParams */.rz)(obj)
|
|
}
|
|
}).then(function(result) {
|
|
if (result.data.status === 0) {
|
|
uploadIndex.current = uploadIndex.current + 1;
|
|
const files = savedFileList.current.map((v) => {
|
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q;
|
|
if (v.name === ((_b = (_a = result.data) == null ? void 0 : _a.data) == null ? void 0 : _b.file_name)) {
|
|
const obj2 = __spreadValues({}, v);
|
|
if ((_e = (_d = (_c = result.data) == null ? void 0 : _c.data) == null ? void 0 : _d.file_name) == null ? void 0 : _e.includes(".in")) {
|
|
obj2.in_object_key = (_g = (_f = result.data) == null ? void 0 : _f.data) == null ? void 0 : _g.object;
|
|
obj2.in_object_size = (_i = (_h = result.data) == null ? void 0 : _h.data) == null ? void 0 : _i.size;
|
|
obj2.input = (_k = (_j = result.data) == null ? void 0 : _j.data) == null ? void 0 : _k.file_name;
|
|
obj2.in_file = file;
|
|
} else {
|
|
obj2.out_object_key = (_m = (_l = result.data) == null ? void 0 : _l.data) == null ? void 0 : _m.object;
|
|
obj2.out_object_size = (_o = (_n = result.data) == null ? void 0 : _n.data) == null ? void 0 : _o.size;
|
|
obj2.output = (_q = (_p = result.data) == null ? void 0 : _p.data) == null ? void 0 : _q.file_name;
|
|
obj2.out_file = file;
|
|
}
|
|
return obj2;
|
|
}
|
|
return v;
|
|
});
|
|
savedFileList.current = [...files];
|
|
setFileList([...files]);
|
|
if (uploadIndex.current > 0 && uploadIndex.current === fileList.length) {
|
|
setBtnLoading(false);
|
|
let array = dealList(files);
|
|
array = array.filter((e) => {
|
|
var _a, _b;
|
|
return !!(((_a = e[0]) == null ? void 0 : _a.name) && ((_b = e[1]) == null ? void 0 : _b.name));
|
|
});
|
|
array = array.map((e) => __spreadProps(__spreadValues(__spreadValues({}, e[0]), e[1]), { is_file: true }));
|
|
onOK(array);
|
|
onClose();
|
|
}
|
|
}
|
|
});
|
|
};
|
|
const checkErrorFile = (files) => {
|
|
return new Promise((resolve, reject) => {
|
|
let k = 0;
|
|
let error = [];
|
|
for (let i = 0; i < files.length; i++) {
|
|
files[i].file.slice(0, 1).arrayBuffer().then(() => {
|
|
k++;
|
|
if (k === files.length) {
|
|
if (error.length) {
|
|
message/* default */.ZP.warning(`${error.join("\uFF0C")}\u6587\u4EF6\u5DF2\u635F\u574F\u6216\u5DF2\u88AB\u4FEE\u6539\uFF0C\u8BF7\u5220\u9664\u540E\u91CD\u65B0\u4E0A\u4F20\uFF01`);
|
|
reject();
|
|
} else {
|
|
resolve(files);
|
|
}
|
|
}
|
|
}).catch((e) => {
|
|
console.log("\u9519\u8BEF\u4FE1\u606F\uFF1A", e);
|
|
k++;
|
|
error.push(files[i].name);
|
|
if (k === files.length) {
|
|
if (error.length) {
|
|
message/* default */.ZP.warning(`${error.join("\uFF0C")}\u6587\u4EF6\u5DF2\u635F\u574F\u6216\u5DF2\u88AB\u4FEE\u6539\uFF0C\u8BF7\u5220\u9664\u540E\u91CD\u65B0\u4E0A\u4F20\uFF01`);
|
|
reject();
|
|
} else {
|
|
resolve(files);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
});
|
|
};
|
|
const handleOk = () => __async(void 0, null, function* () {
|
|
if (fileList.length === 0) {
|
|
message/* default */.ZP.warning("\u8BF7\u9009\u62E9\u4E0A\u4F20\u6587\u4EF6");
|
|
return;
|
|
}
|
|
yield checkErrorFile(fileList);
|
|
setBtnLoading(true);
|
|
const s = dealList(fileList);
|
|
if (s.some((e) => {
|
|
var _a, _b;
|
|
return !(((_a = e[0]) == null ? void 0 : _a.name) && ((_b = e[1]) == null ? void 0 : _b.name));
|
|
})) {
|
|
modal["default"].confirm({
|
|
centered: true,
|
|
okText: "\u786E\u5B9A",
|
|
cancelText: "\u53D6\u6D88",
|
|
title: "\u63D0\u793A",
|
|
content: "\u4E0A\u4F20\u7684\u6D4B\u8BD5\u7528\u4F8B\u4E2D\u5B58\u5728\u672A\u914D\u5BF9\u7684\u6587\u4EF6\uFF0C\u8BF7\u786E\u8BA4\u662F\u5426\u4EC5\u4FDD\u5B58\u5DF2\u914D\u5BF9\u7684\u6D4B\u8BD5\u7528\u4F8B\uFF1F",
|
|
onOk: () => __async(void 0, null, function* () {
|
|
fileList.map((item) => __async(void 0, null, function* () {
|
|
_uploadFiles(item);
|
|
}));
|
|
}),
|
|
onCancel: () => {
|
|
setBtnLoading(false);
|
|
}
|
|
});
|
|
return;
|
|
}
|
|
fileList.map((item) => __async(void 0, null, function* () {
|
|
_uploadFiles(item);
|
|
}));
|
|
});
|
|
const props = {
|
|
name: "file",
|
|
fileList,
|
|
multiple: true,
|
|
accept: ".in, .out",
|
|
showUploadList: false,
|
|
// action: `/api/attachments.json`,
|
|
// onChange: handleChangeFile,
|
|
// onRemove,
|
|
beforeUpload: (info) => {
|
|
if (fileList == null ? void 0 : fileList.some((e) => e.name === info.name)) {
|
|
message/* default */.ZP.info(`${info.name}\u6587\u4EF6\u5DF2\u5B58\u5728`);
|
|
return false;
|
|
}
|
|
if (info.size / 1024 / 1024 > 100) {
|
|
message/* default */.ZP.info("\u6587\u4EF6\u8D85\u8FC7100M\uFF0C\u4E0D\u7B26\u5408\u4E0A\u4F20\u8981\u6C42");
|
|
return false;
|
|
}
|
|
if (!/\.(in|out|IN|OUT)$/.test(info.name)) {
|
|
message/* default */.ZP.warning("\u8F93\u5165\u6587\u4EF6\u53EA\u80FD\u4E0A\u4F20.in\u548C.out\u7C7B\u578B\u7684\u6587\u672C\u6587\u4EF6");
|
|
return false;
|
|
}
|
|
const param = { name: info.name, uid: info.uid, file: info, percent: 0 };
|
|
fileList.push(param);
|
|
savedFileList.current = [...fileList];
|
|
setFileList([...fileList]);
|
|
return false;
|
|
}
|
|
};
|
|
const fileItems = dealList(fileList);
|
|
console.log(fileList, fileItems, "fileList");
|
|
return /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
modal["default"],
|
|
{
|
|
open: visible,
|
|
wrapClassName,
|
|
onOk: handleOk,
|
|
centered: true,
|
|
okText: "\u786E\u8BA4",
|
|
cancelText: "\u53D6\u6D88",
|
|
okButtonProps: { loading: btnLoading },
|
|
onCancel: handleCancel,
|
|
width: 730,
|
|
title: "\u6279\u91CF\u4E0A\u4F20\u6D4B\u8BD5\u7528\u4F8B"
|
|
},
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: UploadFilemodules.wrap }, !fileList.length ? /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: `${UploadFilemodules.noData} mb30` }, /* @__PURE__ */ _react_17_0_2_react.createElement(upload["default"].Dragger, __spreadProps(__spreadValues({}, props), { className: UploadFilemodules.dragger }), /* @__PURE__ */ _react_17_0_2_react.createElement("img", { src: upload_namespaceObject, alt: "", className: "mb20" }), /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, "\u62D6\u62FD\u6587\u4EF6\u6216"), /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: UploadFilemodules.uploadText }, "\u70B9\u51FB\u6B64\u5904\u4E0A\u4F20")))) : /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, /* @__PURE__ */ _react_17_0_2_react.createElement(row/* default */.Z, { justify: "space-between", align: "middle", style: { marginBottom: 40 } }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { style: { visibility: multiple ? "visible" : "hidden" } }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: UploadFilemodules.greyText }, "\u7528\u4F8B\u7C7B\u578B"), /* @__PURE__ */ _react_17_0_2_react.createElement(es_radio/* default.Group */.ZP.Group, { className: `ml20 ${UploadFilemodules.testCaseRadio}`, optionType: "button", value: radioValue, onChange: (e) => setRadioValue(e.target.value) }, /* @__PURE__ */ _react_17_0_2_react.createElement(es_radio/* default */.ZP, { value: false }, "\u6587\u672C"), /* @__PURE__ */ _react_17_0_2_react.createElement(es_radio/* default */.ZP, { value: true }, "\u6587\u4EF6"))), /* @__PURE__ */ _react_17_0_2_react.createElement(upload["default"], __spreadValues({}, props), /* @__PURE__ */ _react_17_0_2_react.createElement(es_button/* default */.ZP, { type: "primary", className: UploadFilemodules.btnS }, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-shangchuan2" }), "\u4E0A\u4F20\u6587\u4EF6"))), /* @__PURE__ */ _react_17_0_2_react.createElement(UploadTable, { data: fileItems, onRemove: handleRemove })), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: UploadFilemodules.text }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { style: { color: "#FA6400" } }, "\u63D0\u793A"), /* @__PURE__ */ _react_17_0_2_react.createElement("br", null), "1\u3001\u6587\u4EF6\u5FC5\u987B\u4E0A\u4F20.in\u548C.out\u7C7B\u578B\u7684\u6587\u672C\u6587\u4EF6\u3002", /* @__PURE__ */ _react_17_0_2_react.createElement("br", null), "2\u3001\u4E0A\u4F20\u7684\u6587\u4EF6\u7F16\u7801\u4EC5\u652F\u6301UTF-8\uFF0C\u5426\u5219\u53EF\u80FD\u4F1A\u51FA\u73B0\u6587\u672C\u4E71\u7801\u3002", /* @__PURE__ */ _react_17_0_2_react.createElement("br", null), "3\u3001\u8F93\u5165\u8F93\u51FA\u6587\u4EF6\u9700\u6587\u4EF6\u540D\u79F0\u4E00\u4E00\u5BF9\u5E94\uFF0C\u672A\u5BF9\u5E94\u65F6\uFF0C\u5C06\u65E0\u6CD5\u4E0A\u4F20\u3002", /* @__PURE__ */ _react_17_0_2_react.createElement("br", null), "4\u3001\u5355\u4E2A\u4E0A\u4F20\u6587\u4EF6\u4E0D\u80FD\u8D85\u8FC7100MB\uFF0C\u8D85\u8FC7\u65F6\u53EF\u4EE5\u5206\u6279\u6B21\u4E0A\u4F20\u3002", /* @__PURE__ */ _react_17_0_2_react.createElement("br", null)))
|
|
);
|
|
};
|
|
const UploadTable = ({
|
|
data = [],
|
|
onRemove,
|
|
width = "auto",
|
|
showScore = false,
|
|
disabled = false,
|
|
inputChange,
|
|
onEvaluatingChange,
|
|
onSelectAll,
|
|
checkAll1,
|
|
checkAll2,
|
|
checkAll3,
|
|
checkAll4,
|
|
checkAll5,
|
|
showEvaluatingSetting = false,
|
|
className = ""
|
|
}) => {
|
|
const defaultConfig = {
|
|
value: "",
|
|
filename: "",
|
|
dataUrl: ""
|
|
};
|
|
const [monacoValue, setMonacoValue] = (0,_react_17_0_2_react.useState)(__spreadValues({}, defaultConfig));
|
|
const downloadLocal = (item) => {
|
|
let a = document.createElement("a");
|
|
document.body.appendChild(a);
|
|
let objUrl = URL.createObjectURL(item.file);
|
|
a.href = objUrl;
|
|
a.download = item.name;
|
|
a.click();
|
|
URL.revokeObjectURL(objUrl);
|
|
document.body.removeChild(a);
|
|
};
|
|
const downloadOss = (objUrl, name) => {
|
|
(0,util/* download */.LR)(objUrl, name);
|
|
};
|
|
const itemDelete = (e, i) => {
|
|
modal["default"].confirm({
|
|
centered: true,
|
|
okText: "\u786E\u5B9A",
|
|
cancelText: "\u53D6\u6D88",
|
|
title: "\u63D0\u793A",
|
|
content: /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: "tc font16" }, "\u8BF7\u786E\u8BA4\u662F\u5426\u5220\u9664\u8BE5\u6D4B\u8BD5\u7528\u4F8B?"),
|
|
onOk: () => {
|
|
onRemove(e, i);
|
|
},
|
|
onCancel: () => {
|
|
}
|
|
});
|
|
};
|
|
if (!data.length) {
|
|
return /* @__PURE__ */ _react_17_0_2_react.createElement(_react_17_0_2_react.Fragment, null);
|
|
}
|
|
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className, style: { width } }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: UploadFilemodules.head }, showEvaluatingSetting && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { style: { width: "15%", display: "flex", alignItems: "center" } }, /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_checkbox["default"],
|
|
{
|
|
checked: checkAll1,
|
|
onChange: (e) => {
|
|
onSelectAll(e.target.checked, "hidden");
|
|
}
|
|
}
|
|
), /* @__PURE__ */ _react_17_0_2_react.createElement(tooltip/* default */.Z, { title: '\u9690\u85CF\u6D4B\u8BD5\u96C6\u53EF\u4EE5\u9632\u6B62\u5B66\u751F\u901A\u8FC7"print"\u7B49\u624B\u6BB5\u76F4\u63A5\u901A\u5173' }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { style: { marginLeft: "8px" } }, "\u9690\u85CF"), /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "ml5 font14 iconfont icon-xiaowenhao1" }))), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { style: { width: "15%" } }, "\u7528\u4F8B"), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { style: { width: showScore ? "15%" : "25%", padding: "0 12px" } }, "\u8F93\u5165"), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { style: { width: showScore ? "15%" : "25%", padding: "0 12px" } }, "\u8F93\u51FA"), showScore && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { style: { width: "20%" } }, "\u5F97\u5206\u6BD4\u4F8B"), showEvaluatingSetting && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { style: { width: "20%", display: "flex", alignItems: "center" } }, /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_checkbox["default"],
|
|
{
|
|
checked: checkAll4,
|
|
onChange: (e) => {
|
|
onSelectAll(e.target.checked, "input_visible");
|
|
}
|
|
}
|
|
), /* @__PURE__ */ _react_17_0_2_react.createElement(tooltip/* default */.Z, { title: "\u52FE\u9009\u540E\uFF0C\u8F93\u5165\u5BF9\u5B66\u5458\u59CB\u7EC8\u4E0D\u53EF\u89C1" }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { style: { marginLeft: "8px" } }, "\u8F93\u5165"), /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "ml5 font14 iconfont icon-xiaowenhao1" }))), showEvaluatingSetting && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { style: { width: "20%", display: "flex", alignItems: "center" } }, /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_checkbox["default"],
|
|
{
|
|
checked: checkAll2,
|
|
onChange: (e) => {
|
|
onSelectAll(e.target.checked, "is_invisible");
|
|
}
|
|
}
|
|
), /* @__PURE__ */ _react_17_0_2_react.createElement(tooltip/* default */.Z, { title: "\u52FE\u9009\u540E\uFF0C\u9884\u671F\u8F93\u51FA\u5BF9\u5B66\u5458\u59CB\u7EC8\u4E0D\u53EF\u89C1" }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { style: { marginLeft: "8px" } }, "\u9884\u671F\u8F93\u51FA"), /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "ml5 font14 iconfont icon-xiaowenhao1" }))), showEvaluatingSetting && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { style: { width: "20%", display: "flex", alignItems: "center" } }, /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_checkbox["default"],
|
|
{
|
|
checked: checkAll5,
|
|
onChange: (e) => {
|
|
onSelectAll(e.target.checked, "actual_output_visible");
|
|
}
|
|
}
|
|
), /* @__PURE__ */ _react_17_0_2_react.createElement(tooltip/* default */.Z, { title: "\u52FE\u9009\u540E\uFF0C\u5B9E\u9645\u8F93\u51FA\u5BF9\u5B66\u5458\u59CB\u7EC8\u4E0D\u53EF\u89C1" }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { style: { marginLeft: "8px" } }, "\u5B9E\u9645\u8F93\u51FA"), /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "ml5 font14 iconfont icon-xiaowenhao1" }))), showEvaluatingSetting && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { style: { width: "20%", display: "flex", alignItems: "center" } }, /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_checkbox["default"],
|
|
{
|
|
checked: checkAll3,
|
|
onChange: (e) => {
|
|
onSelectAll(e.target.checked, "last_match_rule");
|
|
}
|
|
}
|
|
), /* @__PURE__ */ _react_17_0_2_react.createElement(tooltip/* default */.Z, { title: "\u52FE\u9009\u540E\uFF0C\u5B9E\u9645\u8F93\u51FA\u4E0E\u9884\u671F\u8F93\u51FA\u6700\u540E\u4E00\u884C\u76F8\u540C\u5373\u53EF\u901A\u5173" }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { style: { marginLeft: "8px" } }, "\u7279\u6B8A\u5224\u5B9A"), /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "ml5 font14 iconfont icon-xiaowenhao1" }))), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: UploadFilemodules.operation, style: { width: "10%" } }, "\u64CD\u4F5C")), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: UploadFilemodules.listWrapper }, data.map((e, i) => {
|
|
var _a, _b, _c, _d;
|
|
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { key: i, className: UploadFilemodules.list }, showEvaluatingSetting && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { style: { width: "15%" } }, /* @__PURE__ */ _react_17_0_2_react.createElement(es_checkbox["default"], { checked: !!e.hidden, onChange: (e2) => {
|
|
onEvaluatingChange(e2.target.checked, i, "hidden");
|
|
} })), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { style: { width: "15%" } }, "\u6D4B\u8BD5\u7528\u4F8B", i + 1), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: UploadFilemodules.info, style: { width: showScore ? "15%" : "25%" } }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { title: e.input || ((_a = e[0]) == null ? void 0 : _a.name), onClick: () => __async(void 0, null, function* () {
|
|
let input_file_url;
|
|
if (e.input) {
|
|
if (e.input_file_url) {
|
|
input_file_url = e.input_file_url;
|
|
} else {
|
|
input_file_url = e.in_file;
|
|
}
|
|
} else {
|
|
input_file_url = e[0];
|
|
}
|
|
let res;
|
|
if (typeof input_file_url === "string") {
|
|
res = yield fetch(input_file_url, {
|
|
method: "Get",
|
|
headers: {
|
|
"Content-Type": "application/octet-stream",
|
|
"Accept": "*/*"
|
|
}
|
|
});
|
|
setMonacoValue({
|
|
value: yield res.text(),
|
|
filename: "",
|
|
dataUrl: input_file_url
|
|
});
|
|
} else {
|
|
res = yield (0,util/* getFileContentAndUrl */.db)(input_file_url.file);
|
|
setMonacoValue({
|
|
value: res.text,
|
|
filename: input_file_url.name,
|
|
dataUrl: res.link
|
|
});
|
|
}
|
|
}) }, e.input || ((_b = e[0]) == null ? void 0 : _b.name))), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: UploadFilemodules.info, style: { width: showScore ? "15%" : "25%" } }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { title: e.output || ((_c = e[1]) == null ? void 0 : _c.name), onClick: () => __async(void 0, null, function* () {
|
|
let input_file_url;
|
|
if (e.input) {
|
|
if (e.output_file_url) {
|
|
input_file_url = e.output_file_url;
|
|
} else {
|
|
input_file_url = e.out_file;
|
|
}
|
|
} else {
|
|
input_file_url = e[1];
|
|
}
|
|
let res;
|
|
if (typeof input_file_url === "string") {
|
|
res = yield fetch(input_file_url, {
|
|
method: "Get",
|
|
headers: {
|
|
"Content-Type": "application/octet-stream",
|
|
"Accept": "*/*"
|
|
}
|
|
});
|
|
setMonacoValue({
|
|
value: yield res.text(),
|
|
filename: "",
|
|
dataUrl: input_file_url
|
|
});
|
|
} else {
|
|
res = yield (0,util/* getFileContentAndUrl */.db)(input_file_url.file);
|
|
setMonacoValue({
|
|
value: res.text,
|
|
filename: input_file_url.name,
|
|
dataUrl: res.link
|
|
});
|
|
}
|
|
}) }, e.output || ((_d = e[1]) == null ? void 0 : _d.name))), showScore && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { style: { width: "20%" } }, /* @__PURE__ */ _react_17_0_2_react.createElement(input["default"], { disabled, style: { width: "70%" }, onChange: (e2) => inputChange(e2, i), value: e.score }), /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, "\xA0%")), showEvaluatingSetting && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { style: { width: "20%" } }, /* @__PURE__ */ _react_17_0_2_react.createElement(es_checkbox["default"], { checked: e.input_visible || false, onChange: (e2) => {
|
|
onEvaluatingChange(e2.target.checked, i, "input_visible");
|
|
}, className: "font14" }, "\u5BF9\u5B66\u5458\u4E0D\u53EF\u89C1")), showEvaluatingSetting && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { style: { width: "20%" } }, /* @__PURE__ */ _react_17_0_2_react.createElement(es_checkbox["default"], { checked: e.is_invisible || false, onChange: (e2) => {
|
|
onEvaluatingChange(e2.target.checked, i, "is_invisible");
|
|
}, className: "font14" }, "\u5BF9\u5B66\u5458\u4E0D\u53EF\u89C1")), showEvaluatingSetting && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { style: { width: "20%" } }, /* @__PURE__ */ _react_17_0_2_react.createElement(es_checkbox["default"], { checked: e.actual_output_visible || false, onChange: (e2) => {
|
|
onEvaluatingChange(e2.target.checked, i, "actual_output_visible");
|
|
}, className: "font14" }, "\u5BF9\u5B66\u5458\u4E0D\u53EF\u89C1")), showEvaluatingSetting && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { style: { width: "20%" } }, /* @__PURE__ */ _react_17_0_2_react.createElement(es_checkbox["default"], { checked: e.last_match_rule || false, onChange: (e2) => {
|
|
onEvaluatingChange(e2.target.checked, i, "last_match_rule");
|
|
}, className: "font14" }, "\u672B\u5C3E\u5339\u914D")), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { onClick: () => itemDelete(e, i), style: { width: "10%", textAlign: "center" } }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: UploadFilemodules.del }, "\u5220\u9664")));
|
|
})), /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
PreviewAll/* default */.Z,
|
|
{
|
|
close: true,
|
|
data: monacoValue.dataUrl,
|
|
filename: monacoValue.filename,
|
|
type: !!monacoValue.dataUrl.length ? "txt" : "",
|
|
onClose: () => setMonacoValue(__spreadValues({}, defaultConfig)),
|
|
monacoEditor: {
|
|
value: monacoValue.value,
|
|
language: "txt",
|
|
onChange: () => {
|
|
},
|
|
options: {
|
|
fontSize: 14,
|
|
readOnly: true,
|
|
minimap: {
|
|
enabled: false
|
|
}
|
|
}
|
|
}
|
|
}
|
|
));
|
|
};
|
|
/* harmony default export */ var components_UploadFile = (UploadFile_UploadFile);
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ 3828:
|
|
/*!************************!*\
|
|
!*** crypto (ignored) ***!
|
|
\************************/
|
|
/***/ (function() {
|
|
|
|
/* (ignored) */
|
|
|
|
/***/ })
|
|
|
|
}]); |