first commit
This commit is contained in:
89
web/statics/js/function/public.js
Normal file
89
web/statics/js/function/public.js
Normal file
@@ -0,0 +1,89 @@
|
||||
//jquery全局配置
|
||||
// $.ajaxSetup({
|
||||
// cache: false,
|
||||
// // crossDomain: true,
|
||||
// // headers: { 'Authorization': token },
|
||||
// complete: function (xhr) {
|
||||
// if (xhr && xhr.status == 401) {
|
||||
// console.log(xhr);
|
||||
// layer.alert('权限不足,请重新登陆', {
|
||||
// icon: 5,
|
||||
// title: "提示"
|
||||
// }, function () {
|
||||
// window.parent.location.reload(); //刷新父页面
|
||||
// window.parent.location.href = "/";
|
||||
// });
|
||||
// }
|
||||
// }
|
||||
// });
|
||||
//图片预览,传url
|
||||
function previewPicture(url) {
|
||||
layer.photos({
|
||||
photos: {
|
||||
"title": '预览图',
|
||||
"id": 222,
|
||||
"start": 0,
|
||||
"data": [{
|
||||
"src": url
|
||||
}]
|
||||
}
|
||||
// ,closeBtn: 1 //是否显示关闭按钮
|
||||
});
|
||||
}
|
||||
// 设置图片信息
|
||||
function setImgUrl(url) {
|
||||
return 'https://school-1251542740.cos.ap-shanghai.myqcloud.com/' + url;
|
||||
}
|
||||
|
||||
//视频预览,传url,width,height
|
||||
function previewVideo(url, width, height) {
|
||||
width = width ? width : '65%';
|
||||
height = height ? height : '65%';
|
||||
let content = '<video width="100%" height="90%" controls="controls" autobuffer="autobuffer" autoplay="autoplay" loop="loop">' +
|
||||
'<source src="' + url + '" type="video/mp4"></source></video>';
|
||||
layer.open({
|
||||
type: 1,
|
||||
maxmin: true, //打开放大缩小按钮
|
||||
title: '视频播放',
|
||||
area: [width, height],
|
||||
content: content,
|
||||
});
|
||||
}
|
||||
|
||||
//文件预览
|
||||
function previewFile(url) {
|
||||
window.location.href = url;
|
||||
}
|
||||
|
||||
function trim(str) {
|
||||
if (str == null) {
|
||||
return "";
|
||||
}
|
||||
return str.replace(/^\s*(.*?)[\s\n]*$/g, '$1');
|
||||
}
|
||||
|
||||
function dataURItoBlob(dataURI) {
|
||||
var byteString = atob(dataURI.split(',')[0]); //base64 解码
|
||||
var arrayBuffer = new ArrayBuffer(byteString.length); //创建缓冲数组
|
||||
var intArray = new Uint8Array(arrayBuffer); //创建视图
|
||||
for (var i = 0; i < byteString.length; i++) {
|
||||
intArray[i] = byteString.charCodeAt(i);
|
||||
}
|
||||
// return new Blob([intArray],{type: "application/vnd.ms-excel;charset=utf-8;"});//原来封装好的 下载的是excel
|
||||
return new Blob([intArray], { type: "application/octet-stream;charset=utf-8;" });//修改-1
|
||||
}
|
||||
|
||||
function saveData(data, filename) {
|
||||
let blob = dataURItoBlob(data)
|
||||
let objectUrl = URL.createObjectURL(blob);
|
||||
//let spl = filename.split(".");
|
||||
//window.open(objectUrl,'_blank','alwaysRaised=yes,height=500, width=800, toolbar= no, menubar=no, scrollbars=no, resizable=no, location=yes, status=no,top=100,left=300')
|
||||
let aLink = document.createElement('a');//新添加的 尝试
|
||||
let evt = document.createEvent("HTMLEvents");
|
||||
evt.initEvent("click", true, true);
|
||||
aLink.download = filename;//新添加的 尝试
|
||||
aLink.href = objectUrl;
|
||||
aLink.click()
|
||||
//没有清理的 DOM 元素引用
|
||||
//document.body.removeChild(aLink)
|
||||
}
|
||||
223
web/statics/js/upload.js
Normal file
223
web/statics/js/upload.js
Normal file
@@ -0,0 +1,223 @@
|
||||
layui.use(['form', 'jquery'], function () {
|
||||
let form = layui.form;
|
||||
let $ = layui.jquery;
|
||||
let layer = layui.layer;
|
||||
let upload = layui.upload;
|
||||
let element = layui.element;
|
||||
let util = layui.util;
|
||||
|
||||
var suffix = '_logo';
|
||||
var imgPath = $('#upload_img_input_logo').val();
|
||||
|
||||
setImgInfo(imgPath);
|
||||
preview();
|
||||
removeImg();
|
||||
uploadFn();
|
||||
bindRemove();
|
||||
|
||||
// 设置图片信息
|
||||
function setImgInfo(url) {
|
||||
if (url === '/statics/admin/images/avatar.jpg') {
|
||||
$('#upload_img_preview' + suffix).attr('src', url);
|
||||
} else {
|
||||
$('#upload_img_preview' + suffix).attr('src', url);
|
||||
}
|
||||
if (url === '') {
|
||||
$('#upload_img_preview' + suffix).hide();
|
||||
} else {
|
||||
$('#upload_img_preview' + suffix).show();
|
||||
}
|
||||
$('#upload_img_input_logo').val(url);
|
||||
}
|
||||
|
||||
// 删除
|
||||
function removeImg() {
|
||||
$('#upload_img_remove' + suffix).unbind('click').click(function () {
|
||||
$('#upload_img_preview' + suffix).attr({ src: '', alt: '暂无图片' });
|
||||
$('#upload_img_input_logo').val('');
|
||||
});
|
||||
}
|
||||
|
||||
// 图片预览
|
||||
function preview() {
|
||||
$('#upload_img_preview' + suffix).unbind('click').click(function () {
|
||||
var url = $(this).attr('src')
|
||||
if (!url) { return false; }
|
||||
|
||||
layer.photos({
|
||||
photos: {
|
||||
"title": url,
|
||||
"start": 0,
|
||||
"data": [
|
||||
{
|
||||
"alt": "",
|
||||
"pid": 5,
|
||||
"src": url,
|
||||
}
|
||||
]
|
||||
},
|
||||
footer: false
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// 设置文件集
|
||||
function setFiles(data) {
|
||||
var html = '';
|
||||
var val = '';
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
var item = data[i];
|
||||
var d = item.name + `|` + item.path;
|
||||
var li = `<div class="upload-line">
|
||||
<span class="op">
|
||||
<a href="javascript:;" data-path=` + d + ` class="layui-btn layui-btn-danger layui-btn-xs remove_file">删除</a>
|
||||
<a href="`+ item.path + `" target="_blank" style="margin-left: 2px;" class="layui-btn layui-btn-xs">下载</a>
|
||||
</span>
|
||||
<span class="name"><label>名称: </label>`+ item.name + `</span>
|
||||
<span class="url"><label>URL: </label>`+ item.path + `</span>
|
||||
</div>`;
|
||||
html += li;
|
||||
|
||||
val += d + ",";
|
||||
}
|
||||
$('#mutil_upload_res_list').append(html);
|
||||
var $doc = $('input[name="Paths"]');
|
||||
if ($doc.val() != '') {
|
||||
val = $doc.val() + val;
|
||||
}
|
||||
$('#post_field').html(`<input type="hidden" name="Paths" value="` + val + `">`);
|
||||
bindRemove();
|
||||
}
|
||||
|
||||
function bindRemove() {
|
||||
$('.remove_file').unbind('click').click(function () {
|
||||
var path = $(this).data('path');
|
||||
var $doc = $('input[name="Paths"]');
|
||||
let paths = $doc.val();
|
||||
$doc.val(paths.replace(path, ""));
|
||||
$(this).parent().parent().remove();
|
||||
});
|
||||
}
|
||||
|
||||
// 上传
|
||||
function uploadFn() {
|
||||
var uploadInst = upload.render({
|
||||
elem: '#upload_img_btn' + suffix,
|
||||
url: '/upload/img',
|
||||
headers: { 'X-CSRF-Token': $('#csrf_token').val() },
|
||||
field: 'files',
|
||||
accept: 'file', //允许上传的文件类型
|
||||
before: function (obj) {
|
||||
// 预读本地文件示例,不支持ie8
|
||||
obj.preview(function (index, file, result) {
|
||||
$('#upload_img_preview' + suffix).attr('src', result); // 图片链接(base64)
|
||||
});
|
||||
element.progress('upload_img_progress' + suffix, '0%'); // 进度条复位
|
||||
layer.msg('上传中', { icon: 16, time: 0 });
|
||||
},
|
||||
done: function (res) {
|
||||
// 若上传失败
|
||||
if (!res.success) {
|
||||
return layer.msg('上传失败:' + res.errorMsg);
|
||||
}
|
||||
// 上传成功的一些操作
|
||||
// …
|
||||
$('#upload_img_tips' + suffix).html(''); // 置空上传失败的状态
|
||||
setImgInfo(res.data);
|
||||
removeImg();
|
||||
},
|
||||
error: function () {
|
||||
// 失败状态,并实现重传
|
||||
var $tips = $('#upload_img_tips' + suffix);
|
||||
$tips.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
|
||||
$tips.find('.demo-reload').on('click', function () {
|
||||
uploadInst.upload();
|
||||
});
|
||||
},
|
||||
// 进度条
|
||||
progress: function (n, elem, e) {
|
||||
element.progress('upload_img_progress' + suffix, n + '%'); // 可配合 layui 进度条元素使用
|
||||
if (n == 100) {
|
||||
layer.msg('上传完毕', { icon: 1 });
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
var uploadFiles = upload.render({
|
||||
elem: '#upload_img_btn_file',
|
||||
url: '/upload/file',
|
||||
headers: { 'X-CSRF-Token': $('#csrf_token').val() },
|
||||
field: 'files',
|
||||
accept: 'file', //允许上传的文件类型
|
||||
before: function (obj) {
|
||||
element.progress('upload_img_progress' + suffix, '0%'); // 进度条复位
|
||||
layer.msg('上传中', { icon: 16, time: 0 });
|
||||
},
|
||||
done: function (res) {
|
||||
// 若上传失败
|
||||
if (!res.success) {
|
||||
return layer.msg('上传失败:' + res.errorMsg);
|
||||
}
|
||||
// 上传成功的一些操作
|
||||
// …
|
||||
$('#upload_img_tips' + suffix).html(''); // 置空上传失败的状态
|
||||
setImgInfo(res.data);
|
||||
removeImg();
|
||||
},
|
||||
error: function () {
|
||||
// 失败状态,并实现重传
|
||||
var $tips = $('#upload_img_tips' + suffix);
|
||||
$tips.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
|
||||
$tips.find('.demo-reload').on('click', function () {
|
||||
uploadFiles.upload();
|
||||
});
|
||||
},
|
||||
// 进度条
|
||||
progress: function (n, elem, e) {
|
||||
element.progress('upload_img_progress' + suffix, n + '%'); // 可配合 layui 进度条元素使用
|
||||
if (n == 100) {
|
||||
layer.msg('上传完毕', { icon: 1 });
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
var uploadMutilFiles = upload.render({
|
||||
elem: '#upload_multi_btn',
|
||||
url: '/upload/mutilfile',
|
||||
headers: { 'X-CSRF-Token': $('#csrf_token').val() },
|
||||
field: 'files',
|
||||
multiple: true,
|
||||
unified: true,
|
||||
accept: 'file', //允许上传的文件类型
|
||||
before: function (obj) {
|
||||
element.progress('upload_mutil_progress' + suffix, '0%'); // 进度条复位
|
||||
layer.msg('上传中', { icon: 16, time: 0 });
|
||||
},
|
||||
done: function (res) {
|
||||
// 若上传失败
|
||||
if (!res.success) {
|
||||
return layer.msg('上传失败:' + res.errorMsg);
|
||||
}
|
||||
// 上传成功的一些操作
|
||||
$('#upload_mutil_tips' + suffix).html(''); // 置空上传失败的状态
|
||||
// 设置文件集
|
||||
setFiles(res.data);
|
||||
},
|
||||
error: function () {
|
||||
// 失败状态,并实现重传
|
||||
var $tips = $('#upload_mutil_tips' + suffix);
|
||||
$tips.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
|
||||
$tips.find('.demo-reload').on('click', function () {
|
||||
uploadMutilFiles.upload();
|
||||
});
|
||||
},
|
||||
// 进度条
|
||||
progress: function (n, elem, e) {
|
||||
element.progress('upload_mutil_progress' + suffix, n + '%'); // 可配合 layui 进度条元素使用
|
||||
if (n == 100) {
|
||||
layer.msg('上传完毕', { icon: 1 });
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user