173 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
		
			
		
	
	
			173 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
| 
								 | 
							
								var lock = {};
							 | 
						||
| 
								 | 
							
								var load = {};
							 | 
						||
| 
								 | 
							
								layui.define(["jquery", "form", "upload"], function (exports) {
							 | 
						||
| 
								 | 
							
								    $ = layui.$;
							 | 
						||
| 
								 | 
							
								    upload = layui.upload;
							 | 
						||
| 
								 | 
							
								    var ojb = {
							 | 
						||
| 
								 | 
							
								        ajax: function (json) {
							 | 
						||
| 
								 | 
							
								            var load_index = null;
							 | 
						||
| 
								 | 
							
								            if (json.beforeSend === undefined) {
							 | 
						||
| 
								 | 
							
								                if (lock[json.url.replace("/", "_")] !== undefined) {
							 | 
						||
| 
								 | 
							
								                    return
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								                lock[json.url.replace("/", "_")] = true;
							 | 
						||
| 
								 | 
							
								                json.beforeSend = function () {
							 | 
						||
| 
								 | 
							
								                    load[json.url.replace("/", "_")] = setTimeout(function () {
							 | 
						||
| 
								 | 
							
								                        load_index = layer.load(1, {shade: [0.1, "#fff"]})
							 | 
						||
| 
								 | 
							
								                    }, 1500)
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								            if (json.error === undefined) {
							 | 
						||
| 
								 | 
							
								                json.error = function (res) {
							 | 
						||
| 
								 | 
							
								                    layer.msg("网络错误", {offset: "240px", icon: 2, time: 1500}, function () {
							 | 
						||
| 
								 | 
							
								                        return
							 | 
						||
| 
								 | 
							
								                    })
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								            if (json.timeout === undefined) {
							 | 
						||
| 
								 | 
							
								                json.timeout = 30000
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								            if (json.type === undefined) {
							 | 
						||
| 
								 | 
							
								                json.type = "get"
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								            json.complete = function (xhr, status) {
							 | 
						||
| 
								 | 
							
								                delete lock[json.url.replace("/", "_")];
							 | 
						||
| 
								 | 
							
								                if (status == "timeout") {
							 | 
						||
| 
								 | 
							
								                    layer.msg("请求超时,请重试", {offset: "240px", icon: 2, time: 1500}, function () {
							 | 
						||
| 
								 | 
							
								                        if (load_index !== undefined) {
							 | 
						||
| 
								 | 
							
								                            layer.close(load_index)
							 | 
						||
| 
								 | 
							
								                        }
							 | 
						||
| 
								 | 
							
								                        return
							 | 
						||
| 
								 | 
							
								                    });
							 | 
						||
| 
								 | 
							
								                    return
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								                clearTimeout(load[json.url.replace("/", "_")]);
							 | 
						||
| 
								 | 
							
								                if (load_index !== undefined) {
							 | 
						||
| 
								 | 
							
								                    layer.close(load_index)
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								                res = xhr.responseJSON;
							 | 
						||
| 
								 | 
							
								                if (res !== undefined && res.code == -1) {
							 | 
						||
| 
								 | 
							
								                    window.location.href = window.location.href
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								                if (res !== undefined && res.code == 0 && res.show == 1) {
							 | 
						||
| 
								 | 
							
								                    layer.msg(res.msg, {offset: "240px", icon: 2, time: 1500}, function () {
							 | 
						||
| 
								 | 
							
								                        return;
							 | 
						||
| 
								 | 
							
								                    })
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								            };
							 | 
						||
| 
								 | 
							
								            $.ajax(json)
							 | 
						||
| 
								 | 
							
								        }, imageUpload: function (element, upload_call_back,css, area, title) {
							 | 
						||
| 
								 | 
							
								            var area = (area === undefined) ? ["90%", "90%"] : area;
							 | 
						||
| 
								 | 
							
								            var title = (title === undefined) ? "上传图片" : title;
							 | 
						||
| 
								 | 
							
								            var css = css === undefined ? false : css;
							 | 
						||
| 
								 | 
							
								            var click_element = element;
							 | 
						||
| 
								 | 
							
								            if(css === true){
							 | 
						||
| 
								 | 
							
								                $(element).addClass('upload-image-div');
							 | 
						||
| 
								 | 
							
								                $(element).html(' <a class="upload-image-a" > + 添加图片</a>');
							 | 
						||
| 
								 | 
							
								                click_element = element+ ' .upload-image-a';
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								            $(document).on("click", click_element, function () {
							 | 
						||
| 
								 | 
							
								                var click_element = $(this);
							 | 
						||
| 
								 | 
							
								                if(css === true){
							 | 
						||
| 
								 | 
							
								                    click_element = click_element.parent();
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								                var windows = layer.open({type: 2, title: title, content: image_upload_url, area: area});
							 | 
						||
| 
								 | 
							
								                window.callback = function (uri) {
							 | 
						||
| 
								 | 
							
								                    upload_call_back(uri, click_element);
							 | 
						||
| 
								 | 
							
								                    return uri
							 | 
						||
| 
								 | 
							
								                };
							 | 
						||
| 
								 | 
							
								                window.callbackSetUri = function (uri) {
							 | 
						||
| 
								 | 
							
								                    upload_call_back(uri, click_element);
							 | 
						||
| 
								 | 
							
								                    layer.close(windows);
							 | 
						||
| 
								 | 
							
								                    return uri
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								            })
							 | 
						||
| 
								 | 
							
								        }, showImg: function (url, xp) {
							 | 
						||
| 
								 | 
							
								            function getImageWidth(url, callback) {
							 | 
						||
| 
								 | 
							
								                var img = new Image();
							 | 
						||
| 
								 | 
							
								                img.src = url;
							 | 
						||
| 
								 | 
							
								                if (img.complete) {
							 | 
						||
| 
								 | 
							
								                    callback(img.width, img.height)
							 | 
						||
| 
								 | 
							
								                } else {
							 | 
						||
| 
								 | 
							
								                    img.onload = function () {
							 | 
						||
| 
								 | 
							
								                        callback(img.width, img.height)
							 | 
						||
| 
								 | 
							
								                    }
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								            xp === undefined ? 500 : xp;
							 | 
						||
| 
								 | 
							
								            getImageWidth(url, function (width, height) {
							 | 
						||
| 
								 | 
							
								                if (height > xp) {
							 | 
						||
| 
								 | 
							
								                    var ratio = width / height;
							 | 
						||
| 
								 | 
							
								                    height = xp;
							 | 
						||
| 
								 | 
							
								                    width = height * ratio
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								                if (width > xp) {
							 | 
						||
| 
								 | 
							
								                    var ratio = height / width;
							 | 
						||
| 
								 | 
							
								                    width = xp;
							 | 
						||
| 
								 | 
							
								                    height = width * ratio
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								                layer.closeAll();
							 | 
						||
| 
								 | 
							
								                layer.open({
							 | 
						||
| 
								 | 
							
								                    type: 1,
							 | 
						||
| 
								 | 
							
								                    closeBtn: 1,
							 | 
						||
| 
								 | 
							
								                    shade: false,
							 | 
						||
| 
								 | 
							
								                    title: false,
							 | 
						||
| 
								 | 
							
								                    shadeClose: false,
							 | 
						||
| 
								 | 
							
								                    area: ["auth", "auth"],
							 | 
						||
| 
								 | 
							
								                    content: '<img src="' + url + '" width="' + width + 'px" height="' + height + 'px">'
							 | 
						||
| 
								 | 
							
								                })
							 | 
						||
| 
								 | 
							
								            })
							 | 
						||
| 
								 | 
							
								        },
							 | 
						||
| 
								 | 
							
								        // 从URL中取出文件名(除去http网址, 根据存储对象)
							 | 
						||
| 
								 | 
							
								        getUrlFileName: function(url, domain) {
							 | 
						||
| 
								 | 
							
								            return url.replace(domain, '');
							 | 
						||
| 
								 | 
							
								           // var data = url.split('/');
							 | 
						||
| 
								 | 
							
								           // return data[data.length - 3] + '/' + data[data.length - 2] + '/' + data[data.length - 1];
							 | 
						||
| 
								 | 
							
								        },
							 | 
						||
| 
								 | 
							
								        videoUpload: function (element,url) {
							 | 
						||
| 
								 | 
							
								            $(element).addClass('upload-video-div');
							 | 
						||
| 
								 | 
							
								            $(element).html(' <a class="upload-video-a" > + 添加视频</a>');
							 | 
						||
| 
								 | 
							
								            upload.render({ //允许上传的文件后缀
							 | 
						||
| 
								 | 
							
								                elem: element
							 | 
						||
| 
								 | 
							
								                ,url: url       //改成您自己的上传接口
							 | 
						||
| 
								 | 
							
								                ,accept: 'file' //普通文件
							 | 
						||
| 
								 | 
							
								                ,exts: 'mp3|mp4|AVI|mov|rmvb|rm|FLV|3GP|wav'
							 | 
						||
| 
								 | 
							
								                ,done: function(res){
							 | 
						||
| 
								 | 
							
								                    if (res.code === 1){
							 | 
						||
| 
								 | 
							
								                        var video = '<div class="show-video">' +
							 | 
						||
| 
								 | 
							
								                            ' <video width="160" height="160"  src="'+res.data.domain+res.data.uri+'"controls autoplay></video>'
							 | 
						||
| 
								 | 
							
								                            +'<a class="goods-video-del-x goods-video-del">x</a>'
							 | 
						||
| 
								 | 
							
								                            + '<input type="hidden" name="video" value="/'+res.data.uri+'">'
							 | 
						||
| 
								 | 
							
								                            '</div>';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                        $(element).after(video);
							 | 
						||
| 
								 | 
							
								                        $(element).hide();
							 | 
						||
| 
								 | 
							
								                        layer.msg('上传成功');
							 | 
						||
| 
								 | 
							
								                    } else {
							 | 
						||
| 
								 | 
							
								                        layer.msg(res.msg);
							 | 
						||
| 
								 | 
							
								                    }
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								            });
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        ,certUpload:function (element, url, domain) {
							 | 
						||
| 
								 | 
							
								            console.log('aaa')
							 | 
						||
| 
								 | 
							
								            upload.render({
							 | 
						||
| 
								 | 
							
								                elem: element
							 | 
						||
| 
								 | 
							
								                ,url: url
							 | 
						||
| 
								 | 
							
								                ,accept:'file'
							 | 
						||
| 
								 | 
							
								                ,exts:'pem|txt|doc'
							 | 
						||
| 
								 | 
							
								                ,done: function(res, index, upload) {
							 | 
						||
| 
								 | 
							
								                    var html = '<div class="pay-li">\n' +
							 | 
						||
| 
								 | 
							
								                        '<img class="pay-img" ' +
							 | 
						||
| 
								 | 
							
								                        'src="/static/common/image/default/upload.png">' +
							 | 
						||
| 
								 | 
							
								                        '<a class="pay-img-del-x" style="display: none">x</a>' +
							 | 
						||
| 
								 | 
							
								                        '</div>';
							 | 
						||
| 
								 | 
							
								                    $(element).prev().val(res.data.uri.replace(domain, ''));
							 | 
						||
| 
								 | 
							
								                    $(element).after(html);
							 | 
						||
| 
								 | 
							
								                    $(element).css('display','none');
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								            });
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								    exports("like", ojb)
							 | 
						||
| 
								 | 
							
								});
							 |