first commit

This commit is contained in:
2025-03-21 11:05:42 +08:00
commit 7dffc94035
1717 changed files with 724764 additions and 0 deletions

View 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
View 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 });
}
}
});
}
});