| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- /**
- * 统一构造话柄的函数
- * @returns
- */
- function pluploadCallbackFuncForCover() {
- return {
- FilesAdded: pluploadFuncFilesAddedForCover,
- UploadProgress: pluploadFuncUploadProgressForCover,
- FileUploaded: pluploadFuncFileUploadedForCover,
- UploadComplete: pluploadFuncUploadCompleteForCover,
- Error: pluploadFuncErrorForCover
- }
- }
- /**
- * 单个文件上传函数
- * @param string idName 标识
- * @param Object cbFuncObjs 回掉函数对象.
- * @returns
- */
- function pluploadOneCover(idName, cbFuncObjs, type = 'image') {
- var isMulitSelection = false; // 是否允许多选.
- var mimeTypes = pluploadSelectMime(type); // 定义可选择的文件类型
- var multipartParams = {
- 'upload_token': window._UPLOAD_TOKEN_, // 必写,通信token
- 'receive_type': 'plupload', // 必写. 接收响应格式.
- 'ext_type': 'image', // 必写. 后端允许的文件格式类型组,多个半角逗号分隔开.
- 'module_id': "video",
- 'related_id': GetQueryString('uid'),
- 'max_width': "1024",
- 'max_height': "2000"
- };
- var chunkMaxSizeKb = 10 * 1024; // 10M
- var uploadMaxSizeKb = 1000 * 1024; //1000M
- return pluploadBase(idName, isMulitSelection, mimeTypes, multipartParams, chunkMaxSizeKb, uploadMaxSizeKb, true, cbFuncObjs);
- }
- /**
- * plupload选中文件后回调
- */
- function pluploadFuncFilesAddedForCover(idName, up, files) {
- layui.use(['jquery', 'element', 'layer'], function () {
- let $ = layui.jquery;
- let element = layui.element;
- let layer = layui.layer;
- let previewId = 'pl_preview_' + idName;
- let file = files[0];
- pluploadPreviewImage(file, function (b64url) {
- $('#' + previewId).attr('src', b64url);
- });
- let progressId = 'pl_progress_' + idName;
- element.progress(progressId, '0%'); //进度条复位
- layer.msg('上传中', {icon: 16, time: 0, shade: 0.3, shadeClose: false});
- });
- }
- /**
- * plupload上传过程中回调
- */
- function pluploadFuncUploadProgressForCover(idName, up, file) {
- layui.use(['jquery', 'element', 'layer'], function () {
- let $ = layui.jquery;
- let element = layui.element;
- let layer = layui.layer;
- // 隐藏按钮
- let btnId = 'pl_btn_select_' + idName;
- $('#' + btnId).hide();
- let progressId = 'pl_progress_' + idName;
- element.progress(progressId, file.percent + '%');
- });
- }
- /**
- * plupload单个文件上传完回调
- */
- function pluploadFuncFileUploadedForCover(idName, up, file, info) {
- layui.use(['jquery', 'element', 'layer'], function () {
- let $ = layui.jquery;
- let element = layui.element;
- let layer = layui.layer;
- let previewId = 'pl_preview_' + idName;
- let obj = $.parseJSON(info.response);
- if (obj.hasOwnProperty('result')) {
- let result = obj.result;
- $('#' + idName).val(result.link_url);
- if (file.name.slice(-3) === 'ceb'){
- $('#' + previewId).attr('data-ceb-url', result.link_url);
- onceRender($('#' + previewId));
- }
- } else {
- if (obj.hasOwnProperty('error')) {
- let errorInfo = obj.error;
- let resultId = 'pl_result_' + idName;
- let hcode = '<span class="layui-font-red">[' + errorInfo.code + '错误信息]【' + file.name + '】' + errorInfo.message + '</span>';
- $('#' + resultId).html(hcode);
- let progressId = 'pl_progress_' + idName;
- element.progress(progressId, '0%'); //进度条复位
- }
- }
- // 显示按钮
- // let btnId = 'pl_btn_select_' + idName;
- // $('#' + btnId).show();
- });
- }
- /**
- * plupload所有文件上传完回调
- */
- function pluploadFuncUploadCompleteForCover(idName, up, files) {
- layui.use(['jquery', 'element', 'layer'], function () {
- let $ = layui.jquery;
- let element = layui.element;
- let layer = layui.layer;
- let resultId = 'pl_result_' + idName;
- $('#' + resultId).empty();
- layer.close(layer.index); // 关闭加载层,layer.index参数,自动找最新的层
- // 显示按钮
- let btnId = 'pl_btn_select_' + idName;
- $('#' + btnId).show();
- });
- }
- /**
- * plupload错误回调
- */
- function pluploadFuncErrorForCover(idName, up, err) {
- layui.use(['jquery', 'element', 'layer'], function () {
- let $ = layui.jquery;
- let element = layui.element;
- let layer = layui.layer;
- // 显示按钮
- let btnId = 'pl_btn_select_' + idName;
- $('#' + btnId).show();
- let resultId = 'pl_result_' + idName;
- let hcode = '<span class="layui-font-red">[' + err.code + '错误信息]' + err.message + '</span>';
- $('#' + resultId).html(hcode);
- layer.close(layer.index); // 关闭加载层,layer.index参数,自动找最新的层
- });
- }
|