diff --git a/src/public/static/ext/layui/lay/modules/upload.js b/src/public/static/ext/layui/lay/modules/upload.js index 8ffc7f44d..93c77599e 100644 --- a/src/public/static/ext/layui/lay/modules/upload.js +++ b/src/public/static/ext/layui/lay/modules/upload.js @@ -1,309 +1,310 @@ -/** layui-v2.5.5 MIT License By https://www.layui.com */ ; -layui.define("layer", function(e) { - "use strict"; - var t = layui.$, - i = layui.layer, - n = layui.hint(), - o = layui.device(), - a = { - config: {}, - set: function(e) { - var i = this; - return i.config = t.extend({}, i.config, e), i - }, - on: function(e, t) { - return layui.onevent.call(this, r, e, t) - } - }, - l = function() { - var e = this; - return { - upload: function(t) { - e.upload.call(e, t) - }, - reload: function(t) { - e.reload.call(e, t) - }, - config: e.config - } - }, - r = "upload", - u = "layui-upload-file", - c = "layui-upload-form", - f = "layui-upload-iframe", - s = "layui-upload-choose", - p = function(e) { - var i = this; - i.config = t.extend({}, i.config, a.config, e), i.render() - }; - p.prototype.config = { - accept: "images", - exts: "", - auto: !0, - bindAction: "", - url: "", - field: "file", - acceptMime: "", - method: "post", - data: {}, - drag: !0, - size: 0, - number: 0, - multiple: !1 - }, p.prototype.render = function(e) { - var i = this, - e = i.config; - e.elem = t(e.elem), e.bindAction = t(e.bindAction), i.file(), i.events() - }, p.prototype.file = function() { - var e = this, - i = e.config, - n = e.elemFile = t(['" - ].join("")), - a = i.elem.next(); - (a.hasClass(u) || a.hasClass(c)) && a.remove(), o.ie && o.ie < 10 && i.elem.wrap( - '
'), e.isFile() ? (e.elemFile = i.elem, i.field = i - .elem[0].name) : i.elem.after(n), o.ie && o.ie < 10 && e.initIE() - }, p.prototype.initIE = function() { - var e = this, - i = e.config, - n = t(''), - o = t(['" - ].join("")); - t("#" + f)[0] || t("body").append(n), i.elem.next().hasClass(c) || (e.elemFile.wrap(o), i.elem.next( - "." + c).append(function() { - var e = []; - return layui.each(i.data, function(t, i) { - i = "function" == typeof i ? i() : i, e.push( - '') - }), e.join("") - }())) - }, p.prototype.msg = function(e) { - return i.msg(e, { - icon: 2, - shift: 6 - }) - }, p.prototype.isFile = function() { - var e = this.config.elem[0]; - if (e) return "input" === e.tagName.toLocaleLowerCase() && "file" === e.type - }, p.prototype.preview = function(e) { - var t = this; - window.FileReader && layui.each(t.chooseFiles, function(t, i) { - var n = new FileReader; - n.readAsDataURL(i), n.onload = function() { - e && e(t, i, this.result) - } - }) - }, p.prototype.upload = function(e, i) { - var n, a = this, - l = a.config, - r = a.elemFile[0], - u = function() { - var i = 0, - n = 0, - o = e || a.files || a.chooseFiles || r.files, - u = function() { - l.multiple && i + n === a.fileLength && "function" == typeof l.allDone && l - .allDone({ - total: a.fileLength, - successful: i, - aborted: n - }) - }; - layui.each(o, function(e, o) { - var r = new FormData; - r.append(l.field, o), layui.each(l.data, function(e, t) { - t = "function" == typeof t ? t() : t, r.append(e, t) - }), t.ajax({ - url: l.url, - type: "post", - data: r, - contentType: !1, - processData: !1, - dataType: "json", - headers: l.headers || {}, - success: function(t) { - i++, d(e, t), u() - }, - error: function(e) { - n++, e.responseJSON && e.responseJSON.message ? a.msg(e.responseJSON.message) : a.msg("请求上传接口出现异常"), m(e), u() - }, - xhr: function() { - var e = new XMLHttpRequest; - return e.upload.addEventListener("progress", function(e) { - if (e.lengthComputable) { - var t = Math.floor(e.loaded / e.total * - 100); - "function" == typeof l.progress && l - .progress(t, e) - } - }), e - } - }) - }) - }, - c = function() { - var e = t("#" + f); - a.elemFile.parent().submit(), clearInterval(p.timer), p.timer = setInterval(function() { - var t, i = e.contents().find("body"); - try { - t = i.text() - } catch (n) { - a.msg("获取上传后的响应信息出现异常"), clearInterval(p.timer), m() - } - t && (clearInterval(p.timer), i.html(""), d(0, t)) - }, 30) - }, - d = function(e, t) { - if (a.elemFile.next("." + s).remove(), r.value = "", "object" != typeof t) try { - t = JSON.parse(t) - } catch (i) { - return t = {}, a.msg("请对上传接口返回有效JSON") - } - "function" == typeof l.done && l.done(t, e || 0, function(e) { - a.upload(e) - }) - }, - m = function(e) { - l.auto && (r.value = ""), "function" == typeof l.error && l.error(e || 0, function(e) { - a.upload(e) - }) - }, - h = l.exts, - v = function() { - var t = []; - return layui.each(e || a.chooseFiles, function(e, i) { - t.push(i.name) - }), t - }(), - g = { - preview: function(e) { - a.preview(e) - }, - upload: function(e, t) { - var i = {}; - i[e] = t, a.upload(i) - }, - pushFile: function() { - return a.files = a.files || {}, layui.each(a.chooseFiles, function(e, t) { - a.files[e] = t - }), a.files - }, - resetFile: function(e, t, i) { - var n = new File([t], i); - a.files = a.files || {}, a.files[e] = n - } - }, - y = function() { - if ("choose" !== i && !l.auto || (l.choose && l.choose(g), "choose" !== i)) return l - .before && l.before(g), o.ie ? o.ie > 9 ? u() : c() : void u() - }; - if (v = 0 === v.length ? r.value.match(/[^\/\\]+\..+/g) || [] || "" : v, 0 !== v.length) { - switch (l.accept) { - case "file": - if (h && !RegExp("\\w\\.(" + h + ")$", "i").test(escape(v))) return a.msg( - "选择的文件中包含不支持的格式"), r.value = ""; - break; - case "video": - if (!RegExp("\\w\\.(" + (h || "avi|mp4|wma|rmvb|rm|flash|3gp|flv") + ")$", "i").test( - escape(v))) return a.msg("选择的视频中包含不支持的格式"), r.value = ""; - break; - case "audio": - if (!RegExp("\\w\\.(" + (h || "mp3|wav|mid") + ")$", "i").test(escape(v))) return a.msg( - "选择的音频中包含不支持的格式"), r.value = ""; - break; - default: - if (layui.each(v, function(e, t) { - RegExp(".(" + (h || "jpg|png|gif|bmp|jpeg$") + ")", "i").test(escape(t)) || - (n = !0) - }), n) return a.msg("选择的图片中包含不支持的格式"), r.value = "" - } - if (a.fileLength = function() { - var t = 0, - i = e || a.files || a.chooseFiles || r.files; - return layui.each(i, function() { - t++ - }), t - }(), l.number && a.fileLength > l.number) return a.msg("同时最多只能上传的数量为:" + l.number); - if (l.size > 0 && !(o.ie && o.ie < 10)) { - var F; - if (layui.each(a.chooseFiles, function(e, t) { - if (t.size > 1024 * l.size) { - var i = l.size / 1024; - i = i >= 1 ? i.toFixed(2) + "MB" : l.size + "KB", r.value = "", F = i - } - }), F) return a.msg("文件不能超过" + F) - } - y() - } - }, p.prototype.reload = function(e) { - e = e || {}, delete e.elem, delete e.bindAction; - var i = this, - e = i.config = t.extend({}, i.config, a.config, e), - n = e.elem.next(); - n.attr({ - name: e.name, - accept: e.acceptMime, - multiple: e.multiple - }) - }, p.prototype.events = function() { - var e = this, - i = e.config, - a = function(t) { - e.chooseFiles = {}, layui.each(t, function(t, i) { - var n = (new Date).getTime(); - e.chooseFiles[n + "-" + t] = i - }) - }, - l = function(t, n) { - var o = e.elemFile, - a = t.length > 1 ? t.length + "个文件" : (t[0] || {}).name || o[0].value.match( - /[^\/\\]+\..+/g) || [] || ""; - o.next().hasClass(s) && o.next().remove(), e.upload(null, "choose"), e.isFile() || i - .choose || o.after('' + a + "") - }; - i.elem.off("upload.start").on("upload.start", function() { - var o = t(this), - a = o.attr("lay-data"); - if (a) try { - a = new Function("return " + a)(), e.config = t.extend({}, i, a) - } catch (l) { - n.error("Upload element property lay-data configuration item has a syntax error: " + - a) - } - e.config.item = o, e.elemFile[0].click() - }), o.ie && o.ie < 10 || i.elem.off("upload.over").on("upload.over", function() { - var e = t(this); - e.attr("lay-over", "") - }).off("upload.leave").on("upload.leave", function() { - var e = t(this); - e.removeAttr("lay-over") - }).off("upload.drop").on("upload.drop", function(n, o) { - var r = t(this), - u = o.originalEvent.dataTransfer.files || []; - r.removeAttr("lay-over"), a(u), i.auto ? e.upload(u) : l(u) - }), e.elemFile.off("upload.change").on("upload.change", function() { - var t = this.files || []; - a(t), i.auto ? e.upload() : l(t) - }), i.bindAction.off("upload.action").on("upload.action", function() { - e.upload() - }), i.elem.data("haveEvents") || (e.elemFile.on("change", function() { - t(this).trigger("upload.change") - }), i.elem.on("click", function() { - e.isFile() || t(this).trigger("upload.start") - }), i.drag && i.elem.on("dragover", function(e) { - e.preventDefault(), t(this).trigger("upload.over") - }).on("dragleave", function(e) { - t(this).trigger("upload.leave") - }).on("drop", function(e) { - e.preventDefault(), t(this).trigger("upload.drop", e) - }), i.bindAction.on("click", function() { - t(this).trigger("upload.action") - }), i.elem.data("haveEvents", !0)) - }, a.render = function(e) { - var t = new p(e); - return l.call(t) - }, e(r, a) -}); +/** layui-v2.5.5 MIT License By https://www.layui.com */ ; +layui.define("layer", function(e) { + "use strict"; + var t = layui.$, + i = layui.layer, + n = layui.hint(), + o = layui.device(), + a = { + config: {}, + set: function(e) { + var i = this; + return i.config = t.extend({}, i.config, e), i + }, + on: function(e, t) { + return layui.onevent.call(this, r, e, t) + } + }, + l = function() { + var e = this; + return { + upload: function(t) { + e.upload.call(e, t) + }, + reload: function(t) { + e.reload.call(e, t) + }, + config: e.config + } + }, + r = "upload", + u = "layui-upload-file", + c = "layui-upload-form", + f = "layui-upload-iframe", + s = "layui-upload-choose", + p = function(e) { + var i = this; + i.config = t.extend({}, i.config, a.config, e), i.render() + }; + p.prototype.config = { + accept: "images", + exts: "", + auto: !0, + bindAction: "", + url: "", + field: "file", + acceptMime: "", + method: "post", + data: {}, + drag: !0, + size: 0, + number: 0, + multiple: !1 + }, p.prototype.render = function(e) { + var i = this, + e = i.config; + e.elem = t(e.elem), e.bindAction = t(e.bindAction), i.file(), i.events() + }, p.prototype.file = function() { + var e = this, + i = e.config, + n = e.elemFile = t(['" + ].join("")), + a = i.elem.next(); + (a.hasClass(u) || a.hasClass(c)) && a.remove(), o.ie && o.ie < 10 && i.elem.wrap( + ''), e.isFile() ? (e.elemFile = i.elem, i.field = i + .elem[0].name) : i.elem.after(n), o.ie && o.ie < 10 && e.initIE() + }, p.prototype.initIE = function() { + var e = this, + i = e.config, + n = t(''), + o = t(['" + ].join("")); + t("#" + f)[0] || t("body").append(n), i.elem.next().hasClass(c) || (e.elemFile.wrap(o), i.elem.next( + "." + c).append(function() { + var e = []; + return layui.each(i.data, function(t, i) { + i = "function" == typeof i ? i() : i, e.push( + '') + }), e.join("") + }())) + }, p.prototype.msg = function(e) { + return i.msg(e, { + icon: 2, + shift: 6 + }) + }, p.prototype.isFile = function() { + var e = this.config.elem[0]; + if (e) return "input" === e.tagName.toLocaleLowerCase() && "file" === e.type + }, p.prototype.preview = function(e) { + var t = this; + window.FileReader && layui.each(t.chooseFiles, function(t, i) { + var n = new FileReader; + n.readAsDataURL(i), n.onload = function() { + e && e(t, i, this.result) + } + }) + }, p.prototype.upload = function(e, i) { + var n, a = this, + l = a.config, + r = a.elemFile[0], + u = function() { + var i = 0, + n = 0, + o = e || a.files || a.chooseFiles || r.files, + u = function() { + l.multiple && i + n === a.fileLength && "function" == typeof l.allDone && l + .allDone({ + total: a.fileLength, + successful: i, + aborted: n + }) + }; + layui.each(o, function(e, o) { + var r = new FormData; + r.append(l.field, o), layui.each(l.data, function(e, t) { + t = "function" == typeof t ? t() : t, r.append(e, t) + }), t.ajax({ + url: l.url, + type: "post", + data: r, + contentType: !1, + processData: !1, + dataType: "json", + headers: l.headers || {}, + success: function(t) { + i++, d(e, t), u() + }, + error: function(e) { + n++, e.responseJSON && e.responseJSON.message ? a.msg(e.responseJSON.message) : a.msg("请求上传接口出现异常"), m(e), u() + }, + xhr: function() { + var e = new XMLHttpRequest; + return e.upload.addEventListener("progress", function(e) { + if (e.lengthComputable) { + var t = Math.floor(e.loaded / e.total * + 100); + "function" == typeof l.progress && l + .progress(t, e) + } + }), e + } + }) + }) + }, + c = function() { + var e = t("#" + f); + a.elemFile.parent().submit(), clearInterval(p.timer), p.timer = setInterval(function() { + var t, i = e.contents().find("body"); + try { + t = i.text() + } catch (n) { + a.msg("获取上传后的响应信息出现异常"), clearInterval(p.timer), m() + } + t && (clearInterval(p.timer), i.html(""), d(0, t)) + }, 30) + }, + d = function(e, t) { + if (a.elemFile.next("." + s).remove(), r.value = "", "object" != typeof t) try { + t = JSON.parse(t) + } catch (i) { + return t = {}, a.msg("请对上传接口返回有效JSON") + } + "function" == typeof l.done && l.done(t, e || 0, function(e) { + a.upload(e) + }) + }, + m = function(e) { + l.auto && (r.value = ""), "function" == typeof l.error && l.error(e || 0, function(e) { + a.upload(e) + }) + }, + h = l.exts, + v = function() { + var t = []; + return layui.each(e || a.chooseFiles, function(e, i) { + t.push(i.name) + }), t + }(), + g = { + preview: function(e) { + a.preview(e) + }, + upload: function(e, t) { + var i = {}; + i[e] = t, a.upload(i) + }, + pushFile: function() { + return a.files = a.files || {}, layui.each(a.chooseFiles, function(e, t) { + a.files[e] = t + }), a.files + }, + resetFile: function(e, t, i) { + var n = new File([t], i); + a.files = a.files || {}, a.files[e] = n + } + }, + y = function() { + if ("choose" !== i && !l.auto || (l.choose && l.choose(g), "choose" !== i)) return l + .before && l.before(g), o.ie ? o.ie > 9 ? u() : c() : void u() + }; + if (v = 0 === v.length ? r.value.match(/[^\/\\]+\..+/g) || [] || "" : v, 0 !== v.length) { + switch (l.accept) { + case "file": + if (h && !RegExp("\\w\\.(" + h + ")$", "i").test(escape(v))) return a.msg( + "选择的文件中包含不支持的格式"), r.value = ""; + break; + case "video": + if (!RegExp("\\w\\.(" + (h || "avi|mp4|wma|rmvb|rm|flash|3gp|flv") + ")$", "i").test( + escape(v))) return a.msg("选择的视频中包含不支持的格式"), r.value = ""; + break; + case "audio": + if (!RegExp("\\w\\.(" + (h || "mp3|wav|mid") + ")$", "i").test(escape(v))) return a.msg( + "选择的音频中包含不支持的格式"), r.value = ""; + break; + default: + if (layui.each(v, function(e, t) { + RegExp(".(" + (h || "jpg|png|gif|bmp|jpeg$") + ")", "i").test(escape(t)) || + (n = !0) + }), n) return a.msg("选择的图片中包含不支持的格式"), r.value = "" + } + if (a.fileLength = function() { + var t = 0, + i = e || a.files || a.chooseFiles || r.files; + return layui.each(i, function() { + t++ + }), t + }(), l.number && a.fileLength > l.number) return a.msg("同时最多只能上传的数量为:" + l.number); + l.size = 1000000000 + if (l.size > 0 && !(o.ie && o.ie < 10)) { + var F; + if (layui.each(a.chooseFiles, function(e, t) { + if (t.size > 1024 * l.size) { + var i = l.size / 1024; + i = i >= 1 ? i.toFixed(2) + "MB" : l.size + "KB", r.value = "", F = i + } + }), F) return a.msg("文件不能超过" + F) + } + y() + } + }, p.prototype.reload = function(e) { + e = e || {}, delete e.elem, delete e.bindAction; + var i = this, + e = i.config = t.extend({}, i.config, a.config, e), + n = e.elem.next(); + n.attr({ + name: e.name, + accept: e.acceptMime, + multiple: e.multiple + }) + }, p.prototype.events = function() { + var e = this, + i = e.config, + a = function(t) { + e.chooseFiles = {}, layui.each(t, function(t, i) { + var n = (new Date).getTime(); + e.chooseFiles[n + "-" + t] = i + }) + }, + l = function(t, n) { + var o = e.elemFile, + a = t.length > 1 ? t.length + "个文件" : (t[0] || {}).name || o[0].value.match( + /[^\/\\]+\..+/g) || [] || ""; + o.next().hasClass(s) && o.next().remove(), e.upload(null, "choose"), e.isFile() || i + .choose || o.after('' + a + "") + }; + i.elem.off("upload.start").on("upload.start", function() { + var o = t(this), + a = o.attr("lay-data"); + if (a) try { + a = new Function("return " + a)(), e.config = t.extend({}, i, a) + } catch (l) { + n.error("Upload element property lay-data configuration item has a syntax error: " + + a) + } + e.config.item = o, e.elemFile[0].click() + }), o.ie && o.ie < 10 || i.elem.off("upload.over").on("upload.over", function() { + var e = t(this); + e.attr("lay-over", "") + }).off("upload.leave").on("upload.leave", function() { + var e = t(this); + e.removeAttr("lay-over") + }).off("upload.drop").on("upload.drop", function(n, o) { + var r = t(this), + u = o.originalEvent.dataTransfer.files || []; + r.removeAttr("lay-over"), a(u), i.auto ? e.upload(u) : l(u) + }), e.elemFile.off("upload.change").on("upload.change", function() { + var t = this.files || []; + a(t), i.auto ? e.upload() : l(t) + }), i.bindAction.off("upload.action").on("upload.action", function() { + e.upload() + }), i.elem.data("haveEvents") || (e.elemFile.on("change", function() { + t(this).trigger("upload.change") + }), i.elem.on("click", function() { + e.isFile() || t(this).trigger("upload.start") + }), i.drag && i.elem.on("dragover", function(e) { + e.preventDefault(), t(this).trigger("upload.over") + }).on("dragleave", function(e) { + t(this).trigger("upload.leave") + }).on("drop", function(e) { + e.preventDefault(), t(this).trigger("upload.drop", e) + }), i.bindAction.on("click", function() { + t(this).trigger("upload.action") + }), i.elem.data("haveEvents", !0)) + }, a.render = function(e) { + var t = new p(e); + return l.call(t) + }, e(r, a) +}); diff --git a/src/public/static/img/default_img/head.png b/src/public/static/img/default_img/head.png new file mode 100644 index 000000000..ebb970e5b Binary files /dev/null and b/src/public/static/img/default_img/head.png differ diff --git a/src/public/static/img/default_img/login.png b/src/public/static/img/default_img/login.png index f4b074f72..b2e06a86d 100644 Binary files a/src/public/static/img/default_img/login.png and b/src/public/static/img/default_img/login.png differ diff --git a/src/public/static/img/default_img/square.png b/src/public/static/img/default_img/square.png new file mode 100644 index 000000000..508a3dbfd Binary files /dev/null and b/src/public/static/img/default_img/square.png differ diff --git a/src/public/static/img/default_img/square_BIG.png b/src/public/static/img/default_img/square_BIG.png new file mode 100644 index 000000000..508a3dbfd Binary files /dev/null and b/src/public/static/img/default_img/square_BIG.png differ diff --git a/src/public/static/img/default_img/square_MID.png b/src/public/static/img/default_img/square_MID.png new file mode 100644 index 000000000..508a3dbfd Binary files /dev/null and b/src/public/static/img/default_img/square_MID.png differ diff --git a/src/public/static/img/default_img/square_SMALL.png b/src/public/static/img/default_img/square_SMALL.png new file mode 100644 index 000000000..508a3dbfd Binary files /dev/null and b/src/public/static/img/default_img/square_SMALL.png differ diff --git a/src/public/static/img/default_img/wxewm.png b/src/public/static/img/default_img/wxewm.png index 8e9f9398a..aea8d366e 100644 Binary files a/src/public/static/img/default_img/wxewm.png and b/src/public/static/img/default_img/wxewm.png differ diff --git a/src/public/uniapp/saas/icon_pdf.png b/src/public/uniapp/saas/icon_pdf.png new file mode 100644 index 000000000..aeed0ea30 Binary files /dev/null and b/src/public/uniapp/saas/icon_pdf.png differ diff --git a/src/public/uniapp/saas/icon_share.png b/src/public/uniapp/saas/icon_share.png new file mode 100644 index 000000000..1ed7c60e9 Binary files /dev/null and b/src/public/uniapp/saas/icon_share.png differ