|
|
var $ = require('jquery');
|
|
|
var util = {
|
|
|
__ajax: function(options, callback, notip) {
|
|
|
if (typeof options.data == "string") {
|
|
|
util.__tip(options.data, "warning");
|
|
|
return false;
|
|
|
} else {
|
|
|
$.ajax({
|
|
|
type: options.type || 'POST',
|
|
|
url: options.url,
|
|
|
async: options.async,
|
|
|
dataType: 'json',
|
|
|
data: options.data || {},
|
|
|
success: function(res) {
|
|
|
res = res.data;
|
|
|
if (("" + res.code) === "200") {
|
|
|
notip ? (callback && callback.bind(this, res)()) : util.__tip(res.message, "success", callback && callback.bind(this, res)());
|
|
|
return true;
|
|
|
} else {
|
|
|
var $=require('jquery');
|
|
|
var util={
|
|
|
__ajax:function(options,callback,notip){
|
|
|
if(typeof options.data=="string"){
|
|
|
util.__tip(options.data,"warning");
|
|
|
return false;
|
|
|
}else{
|
|
|
$.ajax({
|
|
|
type: options.type||'POST',
|
|
|
url: options.url,
|
|
|
async: options.async,
|
|
|
dataType: 'json',
|
|
|
data:options.data||{},
|
|
|
success: function(res) {
|
|
|
res=res.data;
|
|
|
if (("" + res.code) === "200") {
|
|
|
notip?(callback&&callback.bind(this,res)()):util.__tip(res.message,"success",callback&&callback.bind(this,res)());
|
|
|
return true;
|
|
|
} else {
|
|
|
(!notip) && util.__tip(res.message, "danger");
|
|
|
return false;
|
|
|
}
|
|
|
},
|
|
|
error:function(err){
|
|
|
console.log("ajax.ERROR",err);
|
|
|
return false;
|
|
|
}
|
|
|
},
|
|
|
error: function(err) {
|
|
|
console.log("ajax.ERROR", err);
|
|
|
return false;
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
},
|
|
|
__ajax2: function(options, callback) {
|
|
|
if (typeof options.data == "string") {
|
|
|
util.__tip(options.data, "warning");
|
|
|
} else {
|
|
|
$.ajax({
|
|
|
type: 'POST',
|
|
|
url: options.url,
|
|
|
async: options.async,
|
|
|
dataType: 'json',
|
|
|
data: options.data || {},
|
|
|
success: function(res) {
|
|
|
res = res.data;
|
|
|
if (res.code != 200) {
|
|
|
util.__tip(res.message, "danger");
|
|
|
} else {
|
|
|
return callback.bind(this, res)();
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
},
|
|
|
__tip: function(message, callback) {
|
|
|
//danger
|
|
|
var options = {};
|
|
|
options.class_name = "growl-danger";
|
|
|
options.title = arguments[0];
|
|
|
if (arguments.length > 1) {
|
|
|
if (typeof(arguments[1]) === "string") {
|
|
|
options.class_name = "growl-" + arguments[1];
|
|
|
} else {
|
|
|
options.class_name = "growl-success";
|
|
|
});
|
|
|
}
|
|
|
var lastargs = Array.prototype.slice.call(arguments, arguments.length - 1);
|
|
|
lastargs = lastargs[0];
|
|
|
if (typeof lastargs === "function") {
|
|
|
options.after_open = setTimeout(function() {
|
|
|
lastargs && lastargs();
|
|
|
}, 600);
|
|
|
},
|
|
|
__ajax2:function(options,callback){
|
|
|
if(typeof options.data=="string"){
|
|
|
util.__tip(options.data,"warning");
|
|
|
}else{
|
|
|
$.ajax({
|
|
|
type: 'POST',
|
|
|
url: options.url,
|
|
|
async: options.async,
|
|
|
dataType: 'json',
|
|
|
data:options.data||{},
|
|
|
success: function(res) {
|
|
|
res=res.data;
|
|
|
if (res.code != 200) {
|
|
|
util.__tip(res.message,"danger");
|
|
|
} else {
|
|
|
return callback.bind(this,res)();
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
options.sticky = false;
|
|
|
options.time = 1000;
|
|
|
},
|
|
|
__tip:function(message,callback){
|
|
|
//danger
|
|
|
var options={};
|
|
|
options.class_name="growl-danger";
|
|
|
options.title=arguments[0];
|
|
|
if (arguments.length > 1) {
|
|
|
if (typeof (arguments[1]) === "string") {
|
|
|
options.class_name="growl-"+arguments[1];
|
|
|
}else{
|
|
|
options.class_name="growl-success";
|
|
|
}
|
|
|
var lastargs = Array.prototype.slice.call(arguments, arguments.length-1);
|
|
|
lastargs=lastargs[0];
|
|
|
if(typeof lastargs==="function"){
|
|
|
options.after_open=setTimeout(function() {
|
|
|
lastargs&&lastargs();
|
|
|
},600);
|
|
|
}
|
|
|
}
|
|
|
options.sticky=false;
|
|
|
options.time=1000;
|
|
|
|
|
|
$.gritter.add(options);
|
|
|
},
|
|
|
__template: function() {
|
|
|
var args = arguments,
|
|
|
result;
|
|
|
if (args.length > 0) {
|
|
|
if (typeof args[0] === "string") {
|
|
|
result = args[0];
|
|
|
if (args.length == 2 && typeof args[1] == "object") {
|
|
|
for (var key in args[1]) {
|
|
|
if (args[1][key] != undefined) {
|
|
|
var regkey = ((+key) == (+key)) ? "[" + key + "]" : key;
|
|
|
var reg = new RegExp("({" + regkey + "})", "g");
|
|
|
result = result.replace(reg, args[1][key]);
|
|
|
$.gritter.add(options);
|
|
|
},
|
|
|
__template: function () {
|
|
|
var args = arguments, result;
|
|
|
if (args.length > 0) {
|
|
|
if (typeof args[0]==="string") {
|
|
|
result = args[0];
|
|
|
if (args.length == 2 && typeof args[1]=="object") {
|
|
|
for (var key in args[1]) {
|
|
|
if (args[1][key] != undefined) {
|
|
|
var regkey=((+key)==(+key))?"["+key+"]":key;
|
|
|
var reg = new RegExp("({" + regkey + "})", "g");
|
|
|
result = result.replace(reg, args[1][key]);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
var reg = new RegExp("({.*})", "g");
|
|
|
result = result.replace(reg, '');
|
|
|
}
|
|
|
var reg = new RegExp("({.*})", "g");
|
|
|
result = result.replace(reg, '');
|
|
|
}
|
|
|
}
|
|
|
return result;
|
|
|
return result;
|
|
|
},
|
|
|
__template2: function(str, source) {
|
|
|
var result = "";
|
|
|
var script = [];
|
|
|
script.push('var each=function(obj,fn){');
|
|
|
script.push(' var that=this;');
|
|
|
script.push(' if({}.toString.call(obj)=="[object Array]"){');
|
|
|
script.push(' for(var i=0;i<obj.length;i++){');
|
|
|
script.push(' fn.call(i,i,obj[i]);');
|
|
|
script.push(' }');
|
|
|
script.push(' return;');
|
|
|
script.push(' }');
|
|
|
script.push(' if(typeof obj=="function"||typeof obj=="object"&&!!obj){');
|
|
|
script.push(' for(var i in obj){');
|
|
|
script.push(' fn.call(i,i,obj[i]);');
|
|
|
script.push(' }');
|
|
|
script.push(' return;');
|
|
|
script.push(' }');
|
|
|
script.push('}');
|
|
|
result = script.join('') + ";\n";
|
|
|
__template2:function(str,source){
|
|
|
// console.log(str);
|
|
|
var result="";
|
|
|
var script=[];
|
|
|
script.push('var each=function(obj,fn){');
|
|
|
script.push(' var that=this;');
|
|
|
script.push(' if({}.toString.call(obj)=="[object Array]"){');
|
|
|
script.push(' for(var i=0;i<obj.length;i++){');
|
|
|
script.push(' fn.call(i,i,obj[i]);');
|
|
|
script.push(' }');
|
|
|
script.push(' return;');
|
|
|
script.push(' }');
|
|
|
script.push(' if(typeof obj=="function"||typeof obj=="object"&&!!obj){');
|
|
|
script.push(' for(var i in obj){');
|
|
|
script.push(' fn.call(i,i,obj[i]);');
|
|
|
script.push(' }');
|
|
|
script.push(' return;');
|
|
|
script.push(' }');
|
|
|
script.push('}');
|
|
|
result=script.join('')+";\n";
|
|
|
|
|
|
var formstr = function(code) {
|
|
|
var formstr=function (code) {
|
|
|
return "'" + code
|
|
|
.replace(/('|\\)/g, '\\$1')
|
|
|
.replace(/\r/g, '\\r')
|
|
|
.replace(/\n/g, '\\n') + "'";
|
|
|
}
|
|
|
//获取参数
|
|
|
var keys = [];
|
|
|
for (var key in source) {
|
|
|
if (typeof source[key] == "boolean") {
|
|
|
keys.push(key + "=" + source[key]);
|
|
|
} else {
|
|
|
keys.push(key + "=" + JSON.stringify(source[key]));
|
|
|
.replace(/('|\\)/g, '\\$1')
|
|
|
.replace(/\r/g, '\\r')
|
|
|
.replace(/\n/g, '\\n') + "'";
|
|
|
}
|
|
|
//获取参数
|
|
|
|
|
|
|
|
|
}
|
|
|
var params=[];
|
|
|
|
|
|
//result+="var "+keys.join(',')+";";
|
|
|
result += "var obj=" + JSON.stringify(source) + ";";
|
|
|
var html = "";
|
|
|
html = str.replace(/\[\[(.*?)\]\]/igm, function(name, $1) {
|
|
|
var trim = $1.replace(/^\s+|\s+$/, '');
|
|
|
if (/^each/.test(trim)) {
|
|
|
trim = trim.replace(/^each\s+([a-zA-Z0-1.]+)\s+as\s+(\w+)\s+(\w+)/, function(s, $1, $2, $3) {
|
|
|
if (!/\w+\.\w+/g.test($1)) {
|
|
|
return 'each\( obj.' + $1 + ',function(' + $3 + ',' + $2 + '){';
|
|
|
}
|
|
|
return 'each\( ' + $1 + ',function(' + $3 + ',' + $2 + '){';
|
|
|
});
|
|
|
return "[[" + trim + "]]";
|
|
|
} else
|
|
|
if (/^\/each/.test(trim)) {
|
|
|
trim = trim.replace(/^\/each/, '});')
|
|
|
return "[[" + trim + "]]";
|
|
|
} else if (/^if/.test(trim)) {
|
|
|
trim = trim.replace(/^if(.+)/, function(s, $1) {
|
|
|
var aa = $1.replace(/^\s+|\s+$/, '');
|
|
|
if (!/\w+\.\w+/g.test(aa)) {
|
|
|
return 'if(obj.' + aa + '){';
|
|
|
}
|
|
|
return 'if('+$1+'){';
|
|
|
});
|
|
|
return "[[" + trim + "]]";
|
|
|
} else if (/^\/if/.test(trim)) {
|
|
|
trim = trim.replace(/^\/if/, '};')
|
|
|
return "[[" + trim + "]]";
|
|
|
} else if (/^else$/.test(trim)) {
|
|
|
trim = trim.replace(/else/, '}else{');
|
|
|
return "[[" + trim + "]]";
|
|
|
} else {
|
|
|
var aa = $1.replace(/^\s+|\s+$/, '');
|
|
|
if (!/\w+\.\w+/g.test(aa)) {
|
|
|
if (!source[aa]) {
|
|
|
return "";
|
|
|
}
|
|
|
return "[[+obj." + aa + "+]]";
|
|
|
|
|
|
var html="";
|
|
|
html=str.replace(/\[\[(.*?)\]\]/igm,function(name,$1){
|
|
|
var trim=$1.replace(/^\s+|\s+$/,'');
|
|
|
if(/^each/.test(trim))
|
|
|
{
|
|
|
trim=trim.replace(/^each\s+([a-zA-Z0-1.]+)\s+as\s+(\w+)\s+(\w+)/,function($0,$1,$2,$3){
|
|
|
params.push($1);
|
|
|
return 'each\( '+$1+',function('+$3+','+$2+'){';
|
|
|
});
|
|
|
return "[["+trim+"]]";
|
|
|
}else
|
|
|
if(/^\/each/.test(trim)){
|
|
|
trim=trim.replace(/^\/each/,'});')
|
|
|
return "[["+trim+"]]";
|
|
|
}
|
|
|
else if(/^if/.test(trim)){
|
|
|
trim=trim.replace(/^if(.+)/,function($0,$1){
|
|
|
params.push($1);
|
|
|
return 'if('+$1+'){';
|
|
|
});
|
|
|
return "[["+trim+"]]";
|
|
|
}
|
|
|
else if(/^\/if/.test(trim)){
|
|
|
trim=trim.replace(/^\/if/,'};')
|
|
|
return "[["+trim+"]]";
|
|
|
}
|
|
|
else if(/^else$/.test(trim)){
|
|
|
trim=trim.replace(/else/,'}else{');
|
|
|
return "[["+trim+"]]";
|
|
|
}
|
|
|
else{
|
|
|
params.push(trim);
|
|
|
return "[[+"+trim+"+]]";
|
|
|
}
|
|
|
});
|
|
|
console.log(params);
|
|
|
//.match(/(\w+)+/g)
|
|
|
for(var i in params){
|
|
|
var aps=params[i].split(/\+|\-|\*|\/|\=|\!|\~/g);
|
|
|
for(var j in aps){
|
|
|
var ap=aps[j].replace(/^\s+|\s+$/,'');
|
|
|
if(!/^[0-9]+$/.test(ap)&&!/^\s*$/.test(ap)&&!/\./g.test(ap)){
|
|
|
if(!source.hasOwnProperty(ap)){
|
|
|
source[ap]="";
|
|
|
}
|
|
|
return "[[+" + trim + "+]]";
|
|
|
}
|
|
|
});
|
|
|
html = html.replace(/(^|\]\])(.*?)(\[\[|$)/igm, function(name, $1, $2) {
|
|
|
var trim = $2.replace(/^\s+|\s+$/, '');
|
|
|
return trim ? formstr($2) : '';
|
|
|
});
|
|
|
// var result="var result='';result+=";
|
|
|
var arr = html.split(/\n+/igm);
|
|
|
result += "var p=[];\n";
|
|
|
for (var i = 0; i < arr.length; i++) {
|
|
|
if (/^'/.test(arr[i])) {
|
|
|
result += "p.push(" + (arr[i]) + ");\n";
|
|
|
} else {
|
|
|
result += (arr[i]);
|
|
|
}
|
|
|
}
|
|
|
result += "return p.join('');\n";
|
|
|
}
|
|
|
|
|
|
var keys=[];
|
|
|
for(var key in source){
|
|
|
if(typeof source[key]=="boolean"){
|
|
|
keys.push(key+"="+source[key]);
|
|
|
}else{
|
|
|
keys.push(key+"="+JSON.stringify(source[key]));
|
|
|
}
|
|
|
}
|
|
|
var header="var "+keys.join(',')+";";
|
|
|
|
|
|
|
|
|
html=html.replace(/(^|\]\])(.*?)(\[\[|$)/igm,function(name,$1,$2){
|
|
|
var trim=$2.replace(/^\s+|\s+$/,'');
|
|
|
return trim?formstr($2):'';
|
|
|
});
|
|
|
// var result="var result='';result+=";
|
|
|
var arr=html.split(/\n+/igm);
|
|
|
result+="var p=[];\n";
|
|
|
for(var i=0;i<arr.length;i++){
|
|
|
if(/^'/.test(arr[i])){
|
|
|
result+="p.push("+(arr[i])+");\n";
|
|
|
}else{
|
|
|
result+=(arr[i]);
|
|
|
}
|
|
|
}
|
|
|
result+="return p.join('');\n";
|
|
|
|
|
|
|
|
|
var fn = new Function(result);
|
|
|
var b = fn.call(source);
|
|
|
return b;
|
|
|
var fn=new Function(header+result);
|
|
|
var b=fn.call(source);
|
|
|
return b;
|
|
|
},
|
|
|
__input: function(id) {
|
|
|
return !!~$.trim($('#' + id).val()) ? $('#' + id).val() : ""
|
|
|
__input:function(id){
|
|
|
return !!~$.trim($('#'+id).val())?$('#'+id).val():""
|
|
|
}
|
|
|
}
|
|
|
module.exports = util; |
|
|
\ No newline at end of file |
|
|
module.exports=util; |
|
|
\ No newline at end of file |
...
|
...
|
|