dever 7 年之前
父节点
当前提交
f3b7a51584
共有 3 个文件被更改,包括 166 次插入57 次删除
  1. 147 51
      assets/dever/core.js
  2. 2 6
      assets/lib/layui/upload.js
  3. 17 0
      assets/lib/manage/main.js

+ 147 - 51
assets/dever/core.js

@@ -18,7 +18,7 @@
  * ================================================================================
  */
 
- //<filter><script src="../js/lib/jquery.min.js"></script><script src="../js/dever.js"></script></filter>
+ //<filter><script src="../script/lib/jquery/jquery.min.js"></script><script src="../script/dever/core.js"></script></filter>
 
 $(function()
 {
@@ -34,8 +34,8 @@ var Dever =
         this.Page().Init();
         this.User().Init();
         this.Editor().Init();
+        this.Upload().Init();
         this.Change();
-        this.Upload();
         this.LoadPage();
         this.Extend();
         //this.Target();
@@ -72,6 +72,11 @@ var Dever =
     {
         return _Dever_Modal;
     }
+
+    ,Upload : function()
+    {
+        return _Dever_Upload;
+    }
     
     ,Proxy : function(uri)
     {
@@ -183,10 +188,6 @@ var Dever =
     
         result = config.host.replace('www', host);
         result = result.replace('main', host);
-
-        result = result + config.type;
-        
-        result = result.replace('??', '?');
         
         if (config.proxy) {
 			return this.Proxy(host + '/' + uri);
@@ -217,11 +218,25 @@ var Dever =
     ,Msg : function(result, error_callback, success_callback)
     {
         if (result.status == 2) {
+            if (result.data) {
+                if (result.data.element) {
+                    if (result.data.attr) {
+                        $(result.data.element).attr(result.data.attr, result.data.value);
+                    } else {
+                        $(result.data.element).val(result.data.value);
+                    }
+                } else if (result.data.url) {
+                    location.href = result.data.url;
+                }
+            }
             if (error_callback) {
                 return error_callback(result.msg);
             }
             this.Out(result.msg);
         } else {
+            if (typeof(result.data) == 'string') {
+                result.msg = result.data;
+            }
             if (success_callback) {
                 return success_callback(result.msg);
             }
@@ -243,51 +258,6 @@ var Dever =
             callback();
         }
     }
-
-    //上传组件加载
-    ,Upload : function()
-    {
-        if ($(".dever-upload-drag").length) {
-            $(".dever-upload-drag").each(function() {
-                var key = $(this).attr('key');
-                
-                if (config.proxy) {
-					var url = Dever.Proxy('upload/save.drag') + '&key=' + key;
-				} else {
-					var url = config.upload + '.drag?key='+ key;
-				}
-                $(this).inlineattachment({
-                    uploadUrl: url,
-                    progressText: '![文件上传中...]()',
-                    urlText: "![文件描述]({filename})\n",
-                    errorText: '上传失败'
-                });
-            });
-        }
-
-        if ($(".dever-upload").length) {
-            $(".dever-upload").each(function(i) {
-                loadUpload(i,$(this),$(this).attr('key'),config.upload + '.start', config.assets + 'image/');//三个参数说明1:第几个上传框2:文件对象3:图片的基本配置标题
-            })
-        }
-    }
-
-    ,Load : function(filename,filetype)
-    {
-        if (filetype == "js") {
-            var fileref = document.createElement('script');
-            fileref.setAttribute("type","text/javascript");
-            fileref.setAttribute("src",filename + '.' + filetype);
-        } else if (filetype == "css") {
-            var fileref = document.createElement('link');
-            fileref.setAttribute("rel","stylesheet");
-            fileref.setAttribute("type","text/css");
-            fileref.setAttribute("href",filename + '.' + filetype);
-        }
-        if (typeof fileref != "undefined") {
-            document.getElementsByTagName("head")[0].appendChild(fileref);
-        }
-    }
     
     ,Extend : function()
 	{
@@ -595,6 +565,10 @@ var _Dever_User =
         if (!config.url) {
 			config.url = e.attr('dever-send');
 		}
+
+        if (e.attr('dever-refresh')) {
+            config.url = e.attr('dever-refresh');
+        }
 		
 		callback(1,1);
 		
@@ -757,4 +731,126 @@ var _Dever_Template =
         }
         return this.state;
     }
+}
+
+//上传 请载入layui
+var _Dever_Upload = 
+{
+    upload : [],
+    upload_file : [],
+    upload_pic : [],
+    callback : {},
+
+    Init : function()
+    {
+        var self = this;
+        if ($(".dever-upload-drag").length) {
+            $(".dever-upload-drag").each(function() {
+                var key = $(this).attr('key');
+                
+                if (config.proxy) {
+                    var url = Dever.Proxy('upload/save.drag') + '&key=' + key;
+                } else {
+                    var url = config.upload + '.drag?key='+ key;
+                }
+                $(this).inlineattachment({
+                    uploadUrl: url,
+                    progressText: '![文件上传中...]()',
+                    urlText: "![文件描述]({filename})\n",
+                    errorText: '上传失败'
+                });
+            });
+        }
+
+        if ($(".dever-upload").length) {
+            $(".dever-upload").each(function(i) {
+                self.Load(i,$(this));
+            })
+        }
+    }
+    ,Load : function(i,e)
+    {
+        var self = this;
+        var id = e.attr('id');
+        var value = e.attr('dever-upload-value');
+        var key = e.attr('dever-upload-key');
+        var url = config.upload + '.start';
+        if (typeof(this.upload[value]) != "undefined") {
+            return;
+        }
+        if (!key) {
+            key = 1;
+        }
+        self.upload[value] = true;
+        self.upload_pic[value] = [];
+        self.upload_file[value] = [];
+        
+        layui.use(['upload','layer'], function() {
+            var layer = layui.layer;
+            var layuiUpload = layui.upload;
+            var uploadInst = layuiUpload.render({
+                elem: '#' + id
+                ,data: {'key' : key}
+                ,field: 'file'
+                ,url: url
+                ,multiple: true
+                ,before: function(obj) {
+                    layer.load();
+                }
+                ,done: function(data) {
+                    layer.closeAll('loading');
+                    if (data.status == 1) {
+                        var type = e.attr('dever-upload-type');
+                        var html = '';
+                        var callback = e.attr('dever-upload-callback');
+                        if (type == 'mul') {
+                            if (self.upload_pic[value].length <= 0 && $("#" + value).val()) {
+                                self.upload_pic[value] = $("#" + value).val().split(',');
+                            }
+                            if (self.callback && self.callback[callback]) {
+                                html += self.callback[callback].call(self, e, data.url, 'dever-upload-close');
+                            } else {
+                                html += '<li><img src="'+data.url+'" class="pics"><em class="dever-upload-close"></em></li>';
+                            }
+                            e.before(html);
+                            self.Close(value);
+
+                            self.upload_pic[value].push(data.url);
+                            $("#" + value).val(self.upload_pic[value].join(','));
+
+                        } else {
+                            if (self.callback && self.callback[callback]) {
+                                html = self.callback[callback].call(self, e, data.url, 'dever-upload-close');
+                            } else {
+                                html = '<img src="'+data.url+'" class="pics">';
+                            }
+                            e.html(html);
+                        }
+                    } else {
+                        layer.msg(data.msg, {icon: 4});
+                        return false;
+                    }
+                }
+                ,error: function() {
+                    layer.msg('上传失败', {icon: 4});
+                    return false;
+                }
+            });
+        });
+    }
+
+    ,Close : function(v)
+    {
+        var self = this;
+        $('.dever-upload-close').each(function()
+        {
+            $(this).unbind('click').bind('click', function() {
+                var e = $(this).parent();
+                var p = e.find('img').attr('src');
+                e.remove();
+                self.upload_pic[v].remove(p);
+                $("#" + v).val(self.upload_pic[v].join(','));
+            });
+        });
+    }
 }

+ 2 - 6
assets/lib/layui/upload.js

@@ -15,7 +15,6 @@ function loadUpload(i,e,key,url,assets)
 	var id = e.attr('id');
 	layui.use(['upload','layer'], function() {
 		var layer = layui.layer;
-		var layer_1 = false;
 		var layuiUpload = layui.upload;
 		var uploadInst = layuiUpload.render({
 			elem: '#' + id
@@ -25,10 +24,9 @@ function loadUpload(i,e,key,url,assets)
 			,multiple: true
 			,accept:'file'
 			,choose: function(obj){
-				layer_1 = layer.load(0, {shade: false});
+				layer.load();
 			}
 			,done: function(data) {
-				//var data = eval('('+res+')');
 				layer.closeAll('loading');
 				if (data.status == 1) {
 					var mul = e.attr('mul');
@@ -74,12 +72,10 @@ function loadUpload(i,e,key,url,assets)
 								picDel($(this), value, 1);
 							})
 						}
-						//$("#"+file.id).find('.data').html('上传完毕');
 						$('#'+value).val(data.url);
 					}
 				} else {
-					layer.msg(data.message, {icon: 4});
-					//$("#"+file.id).find('.data').html("<font color='red'>"+data.message+"</font>");
+					layer.msg(data.msg, {icon: 4});
 					return false;
 				}
 			}

+ 17 - 0
assets/lib/manage/main.js

@@ -25,6 +25,7 @@ function init()
 	initEditor();
 	initPic();
 	initDate();
+	initLayui();
 
 	//更新页面一些功能,上边的一些功能等找时间再优化吧
 	dever_update.init();
@@ -34,6 +35,22 @@ function init()
 	table();
 }
 
+function initLayui()
+{
+	layui.use('layer', function() {
+		var layer = layui.layer;
+
+		layer.ready(function() {
+			$(".dever-img").each(function()
+			{
+				layer.photos({
+					photos: '#' + $(this).attr('id')
+				});
+			});
+		});
+	});
+}
+
 function formData(form)
 {
 	var d = {};