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.
NewEduCoderBuild/p__User__Detail__Videos__Up...

603 lines
36 KiB

"use strict";
(self["webpackChunk"] = self["webpackChunk"] || []).push([[2240],{
/***/ 24957:
/*!**********************************************************!*\
!*** ./src/components/CoverUpload/index.tsx + 1 modules ***!
\**********************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
Z: function() { return /* binding */ components_CoverUpload; }
});
// 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/button/index.js
var es_button = __webpack_require__(3113);
// 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/upload/index.js + 24 modules
var upload = __webpack_require__(46651);
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.3.7@@ant-design/icons/es/icons/UploadOutlined.js + 1 modules
var UploadOutlined = __webpack_require__(81407);
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.3.7@@ant-design/icons/es/icons/CloseCircleFilled.js + 1 modules
var CloseCircleFilled = __webpack_require__(97650);
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
var env = __webpack_require__(21873);
;// CONCATENATED MODULE: ./src/components/CoverUpload/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var CoverUploadmodules = ({"img":"img___BgL9D"});
;// CONCATENATED MODULE: ./src/components/CoverUpload/index.tsx
const CoverUpload = ({
value,
onChange,
getFileProgress
}) => {
const [imgLoading, setImgLoading] = (0,_react_17_0_2_react.useState)(false);
const uploadButton = /* @__PURE__ */ _react_17_0_2_react.createElement(es_button/* default */.ZP, { loading: imgLoading, icon: /* @__PURE__ */ _react_17_0_2_react.createElement(UploadOutlined/* default */.Z, null) }, "\u9009\u62E9\u4E0A\u4F20\u6587\u4EF6");
const renderImg = () => {
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: CoverUploadmodules.img }, /* @__PURE__ */ _react_17_0_2_react.createElement("img", { src: env/* default */.Z.API_SERVER + "/api/attachments/" + value, alt: "avatar", style: { width: 288 } }), /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, /* @__PURE__ */ _react_17_0_2_react.createElement(CloseCircleFilled/* default */.Z, { onClick: () => onChange(""), style: { fontSize: "16px", color: "red" } })));
};
const handleChange = (info) => {
var _a, _b, _c, _d, _e, _f;
if (getFileProgress) {
getFileProgress(info);
}
if (info.file.status === "uploading") {
setImgLoading(true);
return;
}
if (info.file.status === "done") {
setImgLoading(false);
if (info.file.status === "done" && ((_b = (_a = info.file) == null ? void 0 : _a.response) == null ? void 0 : _b.status) === -1) {
message/* default */.ZP.error((_d = (_c = info.file) == null ? void 0 : _c.response) == null ? void 0 : _d.message);
return;
}
onChange((_f = (_e = info == null ? void 0 : info.file) == null ? void 0 : _e.response) == null ? void 0 : _f.id);
}
};
return /* @__PURE__ */ _react_17_0_2_react.createElement(_react_17_0_2_react.Fragment, null, value ? renderImg() : /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, /* @__PURE__ */ _react_17_0_2_react.createElement(
upload["default"],
{
withCredentials: true,
name: "file",
showUploadList: false,
action: `${env/* default */.Z.API_SERVER}/api/attachments.json`,
onChange: handleChange,
accept: "image/*"
},
uploadButton
), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: "mt20 c-light-black" }, "\u8BF4\u660E\uFF1A\u652F\u6301\u4E0A\u4F20jpg/png\u7B49\u683C\u5F0F\u6587\u4EF6\uFF0C\u6587\u4EF6\u5927\u5C0F\u4E0D\u80FD\u8D85\u8FC72M,\u5EFA\u8BAE\u4F7F\u7528288*158\u50CF\u7D20\uFF1B"), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: "c-light-black" }, "\u5982\u4E0D\u4E0A\u4F20\uFF0C\u9ED8\u8BA4\u4F7F\u7528\u7CFB\u7EDF\u56FE\u7247\u3002")));
};
/* harmony default export */ var components_CoverUpload = (CoverUpload);
/***/ }),
/***/ 26454:
/*!*******************************************************************!*\
!*** ./src/pages/User/Detail/Videos/Upload/index.tsx + 2 modules ***!
\*******************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
"default": function() { return /* binding */ Videos_Upload; }
});
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
var _react_17_0_2_react = __webpack_require__(59301);
// EXTERNAL MODULE: ./src/.umi-production/exports.ts + 15 modules
var _umi_production_exports = __webpack_require__(67866);
// 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/spin/index.js + 1 modules
var spin = __webpack_require__(71418);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/progress/index.js + 13 modules
var progress = __webpack_require__(93948);
// 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/input/index.js + 5 modules
var input = __webpack_require__(98135);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/breadcrumb/index.js + 6 modules
var breadcrumb = __webpack_require__(66104);
;// CONCATENATED MODULE: ./src/assets/images/video/shipin.png
var shipin_namespaceObject = "data:image/png;base64,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";
// EXTERNAL MODULE: ./src/components/CoverUpload/index.tsx + 1 modules
var CoverUpload = __webpack_require__(24957);
;// CONCATENATED MODULE: ./src/pages/User/Detail/Videos/Upload/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var Uploadmodules = ({"bg":"bg___Pdlx1","heard":"heard___D5VPz","videos":"videos___cIcnS","back":"back___M0SxP","uploadTop":"uploadTop___Hd6A6","imgWrap":"imgWrap___Jenfg","imgDiv":"imgDiv___Y9mbc","defaultImg":"defaultImg___KNaal","hoverImg":"hoverImg___YUDht","uploadTitle":"uploadTitle___QxurB","colorBlue":"colorBlue___zFvtj","uploadDescription":"uploadDescription___tk2cJ","spanTitle":"spanTitle___lwI5C","colorOrange":"colorOrange___ebCVZ","fileMain":"fileMain___zR7Vy","fileWrap":"fileWrap___v5NKm","fileProgress":"fileProgress___lML1V","fileCancel":"fileCancel___biJ3s","fileInputWrap":"fileInputWrap___UXT5i","fileImgWrap":"fileImgWrap___pbDh2","fileInput":"fileInput___Etaoa","flexRowCenter":"flexRowCenter___cmEiQ","continueAdd":"continueAdd___fIdAa"});
// EXTERNAL MODULE: ./src/utils/aliyunUpload.ts
var aliyunUpload = __webpack_require__(37056);
// EXTERNAL MODULE: ./src/service/user.ts
var service_user = __webpack_require__(38620);
;// CONCATENATED MODULE: ./src/pages/User/Detail/Videos/Upload/index.tsx
var __defProp = Object.defineProperty;
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 __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 MAX_LENGTH = 30;
const MAX_FILE_SIZE = 1024;
const videoReducer = (state, action) => {
var _a, _b;
const { uploadInfo = {} } = action.payload;
switch (action.type) {
case "addVideo":
return {
videoList: [...state.videoList, {
name: uploadInfo.file.name,
size: uploadInfo.file.size,
type: uploadInfo.file.type,
fileHash: uploadInfo.fileHash,
state: uploadInfo.state,
videoId: uploadInfo.videoId,
attachment_id: "",
loaded: 0,
title: ""
}]
};
case "removeVideo":
return {
videoList: state.videoList.filter((item) => item.name !== action.payload.name)
};
case "removeAll":
return [];
case "updateProgress":
return {
videoList: state.videoList.map((item) => {
if (item.name === action.payload.uploadInfo.file.name) {
return __spreadValues(__spreadValues({}, item), { loaded: action.payload.progressPercent, videoId: uploadInfo.videoId, fileHash: uploadInfo.fileHash });
}
return item;
})
};
case "updateTitle":
return {
videoList: (_a = state.videoList) == null ? void 0 : _a.map((video) => {
if (video.name === action.payload.item.name) {
return __spreadValues(__spreadValues({}, video), { title: action.payload.title });
}
return video;
})
};
case "updateImg":
return {
videoList: (_b = state.videoList) == null ? void 0 : _b.map((video) => {
if (video.name === action.payload.item.name) {
return __spreadValues(__spreadValues({}, video), { attachment_id: action.payload.attachment_id });
}
return video;
})
};
default:
return [];
}
};
const Upload = (_a) => {
var _b = _a, {
user,
userDetail,
globalSetting,
loading,
dispatch
} = _b, props = __objRest(_b, [
"user",
"userDetail",
"globalSetting",
"loading",
"dispatch"
]);
var _a2;
const params = (0,_umi_production_exports.useParams)();
const [isLoading, setIsLoading] = (0,_react_17_0_2_react.useState)(false);
const [state, stateDispatch] = (0,_react_17_0_2_react.useReducer)(videoReducer, { videoList: [] });
const uploader = (0,_react_17_0_2_react.useRef)();
(0,_react_17_0_2_react.useEffect)(() => {
window.addEventListener("beforeunload", handleBeforeunload);
return () => {
window.removeEventListener("beforeunload", handleBeforeunload);
};
}, []);
const handleBeforeunload = (event) => {
event.preventDefault();
event.returnValue = "";
};
const clearInput = () => {
const input = document.getElementById("fileUpload");
input.value = "";
};
const handleChangeUpload = (e) => {
var _a3, _b2, _c;
const file = e.target.files[0];
if (!file) {
clearInput();
return;
}
let name = file.name.toLowerCase();
if (name && name.indexOf(".avi") == -1 && name.indexOf(".flv") == -1 && name.indexOf(".f4v") == -1 && name.indexOf(".m4v") == -1 && name.indexOf(".mov") == -1 && name.indexOf(".mp4") == -1 && name.indexOf(".rmvb") == -1 && name.indexOf(".swf") == -1 && name.indexOf(".webm") == -1 && name.indexOf(".wmv") == -1) {
message/* default */.ZP.info(`\u4E0D\u652F\u6301\u7684\u89C6\u9891\u683C\u5F0F`);
clearInput();
return;
}
if (!(((_a3 = user.userInfo) == null ? void 0 : _a3.admin) || ((_b2 = user.userInfo) == null ? void 0 : _b2.business)) && file.size > MAX_FILE_SIZE * 1024 * 1024) {
message/* default */.ZP.info(`\u89C6\u9891\u5927\u5C0F\u8D85\u8FC7${MAX_FILE_SIZE}M`);
clearInput();
return;
}
if ((_c = state.videoList) == null ? void 0 : _c.find((item) => item.name === file.name)) {
message/* default */.ZP.info(`\u4F60\u4E0D\u80FD\u4E0A\u4F20\u540C\u4E00\u4E2A\u89C6\u9891\u6587\u4EF6\u540D\u79F0\uFF0C\u8BF7\u91CD\u65B0\u9009\u62E9\u3002`);
clearInput();
return;
}
handleUpload(file);
};
const handleRemove = (name, isSuccess) => {
modal["default"].confirm({
title: "\u63D0\u793A",
centered: true,
okText: "\u786E\u5B9A",
cancelText: "\u53D6\u6D88",
content: /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: "tc" }, "\u60A8\u786E\u8BA4\u8981", isSuccess ? "\u5220\u9664" : "\u53D6\u6D88\u4E0A\u4F20", "\u8BE5\u89C6\u9891\u5417\uFF1F"),
onOk: () => {
clearInput();
stateDispatch({
type: "removeVideo",
payload: {
name
}
});
}
});
};
const handleUpload = (file) => {
var userData = '{"Vod":{}}';
setIsLoading(true);
if (uploader.current) {
uploader.current.addFile(file, null, null, null, userData);
return;
}
(0,aliyunUpload/* getUploader */.o)(
params == null ? void 0 : params.username,
"",
{
create: !uploader,
addFileSuccess: (uploadInfo) => {
stateDispatch({
type: "addVideo",
payload: {
uploadInfo
}
});
},
onUploadProgress: (uploadInfo, totalSize, progress) => {
const progressPercent = Math.ceil(progress * 100);
stateDispatch({
type: "updateProgress",
payload: {
uploadInfo,
progressPercent
}
});
clearInput();
},
onUploadFailed: (uploadInfo) => {
message/* default */.ZP.info("\u89C6\u9891\u4E91\u670D\u52A1\u51FA\u73B0\u5F02\u5E38\uFF0C\u8BF7\u91CD\u65B0\u4E0A\u4F20\u3002");
},
onUploadEnd: (uploadInfo) => {
setIsLoading(false);
},
onUploadSucceed: (uploadInfo) => {
setIsLoading(false);
},
onUploadError: (uploadInfo) => {
setIsLoading(false);
},
gotUploader: (_uploader) => {
_uploader.addFile(file, null, null, null, userData);
uploader.current = _uploader;
}
}
);
};
const handlePublish = () => __async(void 0, null, function* () {
var _a3;
if (!((_a3 = state.videoList) == null ? void 0 : _a3.length)) {
message/* default */.ZP.info("\u8BF7\u5148\u4E0A\u4F20\u89C6\u9891");
return;
}
const res = yield (0,service_user/* batchPublish */.dt)({
username: params.username,
videos: state.videoList.map((item) => {
return {
video_id: item.videoId,
title: item.title,
attachment_id: item.attachment_id
};
})
});
if ((res == null ? void 0 : res.status) === 0) {
_umi_production_exports.history.push(`/users/${params.username}/videos/success`);
}
});
const hasFile = (_a2 = state.videoList) == null ? void 0 : _a2.length;
const renderUpload = () => {
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, /* @__PURE__ */ _react_17_0_2_react.createElement("label", { htmlFor: "fileUpload" }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Uploadmodules.uploadTop }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Uploadmodules.imgWrap }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Uploadmodules.imgDiv }, /* @__PURE__ */ _react_17_0_2_react.createElement("img", { className: Uploadmodules.defaultImg, src: shipin_namespaceObject }))), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Uploadmodules.uploadTitle }, "\u9009\u62E9\u60A8\u8981\u4E0A\u4F20\u7684\u89C6\u9891"))), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Uploadmodules.uploadDescription }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: Uploadmodules.spanTitle }, "\u4E0A\u4F20\u89C6\u9891\uFF1A"), "\u5373\u8868\u793A\u60A8\u5DF2\u540C\u610F", /* @__PURE__ */ _react_17_0_2_react.createElement(_umi_production_exports.Link, { to: `/users/${params == null ? void 0 : params.username}/videos/protocol`, className: Uploadmodules.colorBlue }, "\u4E0A\u4F20\u5185\u5BB9\u534F\u8BAE"), "\uFF0C\u4E0D\u5F97\u4E0A\u4F20\u672A\u7ECF\u4ED6\u4EBA\u6388\u6743\u7684\u4F5C\u54C1"), /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: Uploadmodules.spanTitle }, "\u4E0A\u4F20\u8BF4\u660E\uFF1A"), "\u76EE\u524D\u4E0D\u652F\u6301\u65AD\u70B9\u7EED\u4F20\uFF0C\u5355\u4E2A\u89C6\u9891\u6587\u4EF6\u6700\u5927\u9650\u52361G\uFF0C\u5355\u6B21\u6700\u591A\u652F\u63013\u4E2A\u89C6\u9891\u6587\u4EF6\u4E0A\u4F20 "), /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: Uploadmodules.spanTitle }, "\u89C6\u9891\u89C4\u683C\uFF1A"), "avi\u3001flv\u3001f4v\u3001m4v\u3001mov\u3001mp4\u3001rmvb\u3001swf\u3001webm\u3001wmv "), /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: Uploadmodules.spanTitle }, "\u6E29\u99A8\u63D0\u793A\uFF1A"), /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: Uploadmodules.colorOrange }, "\u4E3A\u4E86\u66F4\u597D\u7684\u64AD\u653E\u4F53\u9A8C\uFF0C\u5EFA\u8BAE\u60A8\u4F18\u5148\u4E0A\u4F20MP4\u683C\u5F0F\u3002\u5982\u679C\u60A8\u662F\u81EA\u5DF1\u5F55\u5236\u89C6\u9891\uFF0C\u5EFA\u8BAE\u60A8\u4FDD\u5B58\u7684\u65F6\u5019\u5C06\u89C6\u9891\u7F16\u7801\u8BBE\u7F6E\u4E3AAVC(H264)"))));
};
const renderFile = () => {
var _a3;
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Uploadmodules.fileMain }, /* @__PURE__ */ _react_17_0_2_react.createElement(spin/* default */.Z, { spinning: isLoading }, (_a3 = state.videoList) == null ? void 0 : _a3.map((item, index) => {
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Uploadmodules.fileWrap }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, index + 1, ". ", item.name), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Uploadmodules.fileProgress }, /* @__PURE__ */ _react_17_0_2_react.createElement(progress/* default */.Z, { percent: item.loaded, status: item.loaded == 100 ? "normal" : "active" }), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Uploadmodules.fileCancel }, /* @__PURE__ */ _react_17_0_2_react.createElement(es_button/* default */.ZP, { type: "primary", onClick: () => handleRemove(item.name, item.loaded == 100) }, item.loaded === 100 ? "\u5220\u9664" : "\u53D6\u6D88\u4E0A\u4F20"))), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Uploadmodules.fileInputWrap }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: "mr5" }, "\u6807\u9898"), /* @__PURE__ */ _react_17_0_2_react.createElement(
input["default"],
{
value: item.title,
onChange: (e) => {
stateDispatch({
type: "updateTitle",
payload: {
title: e.target.value,
item
}
});
},
className: Uploadmodules.fileInput,
placeholder: `\u6807\u9898\u652F\u6301\u6700\u591A${MAX_LENGTH}\u4E2A\u5B57\u7B26`,
maxLength: MAX_LENGTH,
addonAfter: /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: "c-light-black font12" }, String(item.title.length), "/", MAX_LENGTH)
}
)), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Uploadmodules.fileImgWrap }, /* @__PURE__ */ _react_17_0_2_react.createElement("aside", { className: "mr5" }, "\u4E0A\u4F20\u5C01\u9762\u56FE:"), /* @__PURE__ */ _react_17_0_2_react.createElement(
CoverUpload/* default */.Z,
{
value: item == null ? void 0 : item.attachment_id,
onChange: (e) => {
stateDispatch({
type: "updateImg",
payload: {
attachment_id: e,
item
}
});
}
}
)));
})), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: "mt10" }, /* @__PURE__ */ _react_17_0_2_react.createElement("label", { htmlFor: "fileUpload", className: `${Uploadmodules.continueAdd} current` }, "\u7EE7\u7EED\u6DFB\u52A0")), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Uploadmodules.description }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, "\u4E0A\u4F20\u8BF4\u660E\uFF1A\u76EE\u524D\u4E0D\u652F\u6301\u65AD\u70B9\u7EED\u4F20\uFF0C\u5355\u4E2A\u89C6\u9891\u6587\u4EF6\u6700\u5927\u9650\u52361G\uFF0C\u5355\u6B21\u6700\u591A\u652F\u63013\u4E2A\u89C6\u9891\u6587\u4EF6\u4E0A\u4F20 "), /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, "\u89C6\u9891\u89C4\u683C\uFF1Aavi\u3001flv\u3001f4v\u3001m4v\u3001mov\u3001mp4\u3001rmvb\u3001swf\u3001webm\u3001wmv "), /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, "\u6E29\u99A8\u63D0\u793A\uFF1A", /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: Uploadmodules.colorOrange }, "\u4E3A\u4E86\u66F4\u597D\u7684\u64AD\u653E\u4F53\u9A8C\uFF0C\u5EFA\u8BAE\u60A8\u4F18\u5148\u4E0A\u4F20MP4\u683C\u5F0F\u3002\u5982\u679C\u60A8\u662F\u81EA\u5DF1\u5F55\u5236\u89C6\u9891\uFF0C\u5EFA\u8BAE\u60A8\u4FDD\u5B58\u7684\u65F6\u5019\u5C06\u89C6\u9891\u7F16\u7801\u8BBE\u7F6E\u4E3AAVC(H264)"))), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Uploadmodules.flexRowCenter }, /* @__PURE__ */ _react_17_0_2_react.createElement(es_button/* default */.ZP, { type: "primary", onClick: handlePublish }, "\u7ACB\u5373\u53D1\u5E03")), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: `${Uploadmodules.flexRowCenter} mt10` }, "\u4E0A\u4F20\u89C6\u9891\uFF0C\u5373\u8868\u793A\u60A8\u5DF2\u540C\u610F", /* @__PURE__ */ _react_17_0_2_react.createElement(_umi_production_exports.Link, { to: `/users/${params == null ? void 0 : params.username}/videos/protocol`, className: Uploadmodules.colorBlue }, "\u4E0A\u4F20\u5185\u5BB9\u534F\u8BAE"), "\uFF0C\u4E0D\u5F97\u4E0A\u4F20\u672A\u7ECF\u4ED6\u4EBA\u6388\u6743\u7684\u4F5C\u54C1"));
};
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { style: { padding: "21px 0 0 45px" } }, /* @__PURE__ */ _react_17_0_2_react.createElement("section", { className: Uploadmodules.bg }, /* @__PURE__ */ _react_17_0_2_react.createElement(breadcrumb/* default */.Z, { className: "mb10 mt10", separator: ">" }, /* @__PURE__ */ _react_17_0_2_react.createElement(breadcrumb/* default */.Z.Item, { href: `/users/${params == null ? void 0 : params.username}/videos` }, "\u89C6\u9891"), /* @__PURE__ */ _react_17_0_2_react.createElement(breadcrumb/* default */.Z.Item, null, "\u4E0A\u4F20\u89C6\u9891")), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Uploadmodules.heard }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Uploadmodules.videos }, "\u4E0A\u4F20\u89C6\u9891"), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Uploadmodules.back, onClick: () => _umi_production_exports.history.push(`/users/${params.username}/videos`) }, "\u8FD4\u56DE")), hasFile ? renderFile() : renderUpload(), /* @__PURE__ */ _react_17_0_2_react.createElement(
"input",
{
type: "file",
id: "fileUpload",
style: { display: "none" },
onChange: handleChangeUpload,
accept: ".mkv, .flv, .f4v, .rmvb, .swf, video/mp4,video/x-m4v,video/flv,video/f4v,video/rmvb,video/swf,video/*"
}
)));
};
/* harmony default export */ var Videos_Upload = ((0,_umi_production_exports.connect)(
({
user,
userDetail,
loading,
globalSetting
}) => ({
user,
userDetail,
globalSetting,
loading: loading.models.index
})
)(Upload));
/***/ }),
/***/ 37056:
/*!***********************************!*\
!*** ./src/utils/aliyunUpload.ts ***!
\***********************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ o: function() { return /* binding */ getUploader; }
/* harmony export */ });
/* harmony import */ var _utils_fetch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/utils/fetch */ 51165);
/* harmony import */ var aliyun_vod_upload_ll__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! aliyun-vod-upload-ll */ 93125);
/* harmony import */ var aliyun_vod_upload_ll__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(aliyun_vod_upload_ll__WEBPACK_IMPORTED_MODULE_1__);
let login = "";
let uploader;
let virtual_classroom_id = "";
function createUploader(options) {
doCreateUploader(options);
}
function doCreateUploader(options) {
uploader = new (aliyun_vod_upload_ll__WEBPACK_IMPORTED_MODULE_1___default().Vod)({
timeout: 6e4,
partSize: 1048576,
parallel: 5,
retryCount: 3,
retryDuration: 2,
region: "ap-southeast-1",
userId: 1829848226361863,
enableUploadProgress: false,
addFileSuccess: function(uploadInfo) {
console.log("addFileSuccess: " + uploadInfo.file.name);
options.addFileSuccess && options.addFileSuccess(uploadInfo);
uploader.startUpload();
},
// 开始上传
onUploadstarted: function(uploadInfo) {
const fileName = uploadInfo.file.name;
if (!uploadInfo.videoId) {
var createUrl = `/api/users/${login}/video_auths.json`;
const _random = "";
(0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .ZP)(createUrl, {
method: "Post",
body: {
title: _random + fileName,
file_name: _random + fileName,
virtual_classroom_id
}
}).then((response) => {
if (response) {
const data = response.data;
var uploadAuth = data.UploadAuth;
var uploadAddress = data.UploadAddress;
var videoId = data.VideoId;
uploader.setUploadAuthAndAddress(uploadInfo, uploadAuth, uploadAddress, videoId);
}
}).catch((error) => {
uploader.deleteFile(uploader._curIndex);
uploader.nextUpload();
console.log(error);
});
console.log("\u6587\u4EF6\u5F00\u59CB\u4E0A\u4F20...");
} else {
var refreshUrl = `/api/users/${login}/video_auths.json`;
(0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .ZP)(refreshUrl, {
method: "put",
body: {
video_id: uploadInfo.videoId,
title: fileName,
file_name: fileName,
virtual_classroom_id
}
}).then((response) => {
if (response.status == -1) {
options.onUploadError && options.onUploadError(uploadInfo);
return;
}
const data = response.data;
var uploadAuth = data.UploadAuth;
var uploadAddress = data.UploadAddress;
var videoId = data.VideoId;
uploader.setUploadAuthAndAddress(uploadInfo, uploadAuth, uploadAddress);
}).catch((error) => {
uploader.deleteFile(uploader._curIndex);
uploader.nextUpload();
console.log(error);
});
}
},
// 文件上传成功
onUploadSucceed: function(uploadInfo) {
options.onUploadSucceed && options.onUploadSucceed(uploadInfo);
console.log("\u6587\u4EF6\u4E0A\u4F20\u6210\u529F!");
},
// 文件上传失败
onUploadFailed: function(uploadInfo, code, message) {
options.onUploadFailed && options.onUploadFailed(uploadInfo);
console.log("\u6587\u4EF6\u4E0A\u4F20\u5931\u8D25!");
},
// 取消文件上传
onUploadCanceled: function(uploadInfo, code, message) {
console.log("\u6587\u4EF6\u4E0A\u4F20\u5DF2\u6682\u505C!");
},
// 文件上传进度,单位:字节, 可以在这个函数中拿到上传进度并显示在页面上
onUploadProgress: function(uploadInfo, totalSize, progress) {
options.onUploadProgress && options.onUploadProgress(uploadInfo, totalSize, progress);
var progressPercent = Math.ceil(progress * 100);
console.log("\u6587\u4EF6\u4E0A\u4F20\u4E2D...");
},
// 上传凭证超时
onUploadTokenExpired: function(uploadInfo) {
console.log("\u6587\u4EF6\u4E0A\u4F20\u8D85\u65F6!");
var refreshUrl = `/api/users/${login}/video_auths.json`;
(0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .ZP)(refreshUrl, {
method: "put",
body: {
video_id: uploadInfo.videoId
}
}).then((response) => {
const data = response.data;
var uploadAuth = data.UploadAuth;
uploader.resumeUploadWithAuth(uploadAuth);
}).catch((error) => {
console.log(error);
});
},
// 全部文件上传结束
onUploadEnd: function(uploadInfo) {
options.onUploadEnd && options.onUploadEnd(uploadInfo);
console.log("onUploadEnd: uploaded all the files");
}
});
if (options.gotUploader) {
options.gotUploader(uploader);
}
}
function getUploader(_login, _virtual_classroom_id, options) {
_login && (login = _login);
_virtual_classroom_id && (virtual_classroom_id = _virtual_classroom_id);
createUploader(options);
}
/***/ })
}]);