初始化项目:添加后端代码、ThinkPHP框架、前端资源
This commit is contained in:
@@ -0,0 +1,171 @@
|
||||
var CMS = {
|
||||
|
||||
events: {
|
||||
//请求成功的回调
|
||||
onAjaxSuccess: function (ret, onAjaxSuccess) {
|
||||
var data = typeof ret.data !== 'undefined' ? ret.data : null;
|
||||
var msg = typeof ret.msg !== 'undefined' && ret.msg ? ret.msg : '操作成功';
|
||||
|
||||
if (typeof onAjaxSuccess === 'function') {
|
||||
var result = onAjaxSuccess.call(this, data, ret);
|
||||
if (result === false)
|
||||
return;
|
||||
}
|
||||
layer.msg(msg, {icon: 1});
|
||||
},
|
||||
//请求错误的回调
|
||||
onAjaxError: function (ret, onAjaxError) {
|
||||
var data = typeof ret.data !== 'undefined' ? ret.data : null;
|
||||
var msg = typeof ret.msg !== 'undefined' && ret.msg ? ret.msg : '操作失败';
|
||||
if (typeof onAjaxError === 'function') {
|
||||
var result = onAjaxError.call(this, data, ret);
|
||||
if (result === false) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
layer.msg(msg, {icon: 2});
|
||||
},
|
||||
//服务器响应数据后
|
||||
onAjaxResponse: function (response) {
|
||||
try {
|
||||
var ret = typeof response === 'object' ? response : JSON.parse(response);
|
||||
if (!ret.hasOwnProperty('code')) {
|
||||
$.extend(ret, {code: -2, msg: response, data: null});
|
||||
}
|
||||
} catch (e) {
|
||||
var ret = {code: -1, msg: e.message, data: null};
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
},
|
||||
api: {
|
||||
//获取修复后可访问的cdn链接
|
||||
cdnurl: function (url) {
|
||||
return /^(?:[a-z]+:)?\/\//i.test(url) ? url : Config.upload.cdnurl + url;
|
||||
},
|
||||
//发送Ajax请求
|
||||
ajax: function (options, success, error) {
|
||||
options = typeof options === 'string' ? {url: options} : options;
|
||||
var st, index = 0;
|
||||
st = setTimeout(function () {
|
||||
index = layer.load();
|
||||
}, 150);
|
||||
options = $.extend({
|
||||
type: "POST",
|
||||
dataType: "json",
|
||||
xhrFields: {
|
||||
withCredentials: true
|
||||
},
|
||||
success: function (ret) {
|
||||
clearTimeout(st);
|
||||
index && layer.close(index);
|
||||
ret = CMS.events.onAjaxResponse(ret);
|
||||
if (ret.code === 1) {
|
||||
CMS.events.onAjaxSuccess(ret, success);
|
||||
} else {
|
||||
CMS.events.onAjaxError(ret, error);
|
||||
}
|
||||
},
|
||||
error: function (xhr) {
|
||||
clearTimeout(st);
|
||||
index && layer.close(index);
|
||||
var ret = {code: xhr.status, msg: xhr.statusText, data: null};
|
||||
CMS.events.onAjaxError(ret, error);
|
||||
}
|
||||
}, options);
|
||||
return $.ajax(options);
|
||||
},
|
||||
//提示并跳转
|
||||
msg: function (message, url) {
|
||||
var callback = typeof url === 'function' ? url : function () {
|
||||
if (typeof url !== 'undefined' && url) {
|
||||
location.href = url;
|
||||
}
|
||||
};
|
||||
layer.msg(message, {
|
||||
icon: 1,
|
||||
time: 2000
|
||||
}, callback);
|
||||
},
|
||||
//表单提交事件
|
||||
form: function (elem, success, error, submit) {
|
||||
var delegation = typeof elem === 'object' && typeof elem.prevObject !== 'undefined' ? elem.prevObject : document;
|
||||
$(delegation).on("submit", elem, function (e) {
|
||||
var form = $(e.target);
|
||||
if (typeof submit === 'function') {
|
||||
if (false === submit.call(form, success, error)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
$("[type=submit]", form).prop("disabled", true);
|
||||
CMS.api.ajax({
|
||||
url: form.attr("action"),
|
||||
data: form.serialize(),
|
||||
complete: function (xhr) {
|
||||
var token = xhr.getResponseHeader('__token__');
|
||||
if (token) {
|
||||
$("input[name='__token__']").val(token);
|
||||
}
|
||||
$("[type=submit]", form).prop("disabled", false);
|
||||
}
|
||||
}, function (data, ret) {
|
||||
//刷新客户端token
|
||||
if (data && typeof data.token !== 'undefined') {
|
||||
$("input[name='__token__']").val(data.token);
|
||||
}
|
||||
//自动保存草稿设置
|
||||
var autosaveKey = $("textarea[data-autosave-key]", form).data("autosave-key");
|
||||
if (autosaveKey && localStorage) {
|
||||
localStorage.removeItem("autosave-" + autosaveKey);
|
||||
$(".md-autosave", form).addClass("hidden");
|
||||
}
|
||||
if (typeof success === 'function') {
|
||||
if (false === success.call(form, data, ret)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}, function (data, ret) {
|
||||
//刷新客户端token
|
||||
if (data && typeof data.token !== 'undefined') {
|
||||
$("input[name='__token__']").val(data.token);
|
||||
}
|
||||
if (typeof error === 'function') {
|
||||
if (false === error.call(form, data, ret)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
});
|
||||
return false;
|
||||
});
|
||||
},
|
||||
//localStorage存储
|
||||
storage: function (key, value) {
|
||||
key = key.split('.');
|
||||
|
||||
var _key = key[0];
|
||||
var o = JSON.parse(localStorage.getItem(_key));
|
||||
|
||||
if (typeof value === 'undefined') {
|
||||
if (o == null)
|
||||
return null;
|
||||
if (key.length === 1) {
|
||||
return o;
|
||||
}
|
||||
_key = key[1];
|
||||
return typeof o[_key] !== 'undefined' ? o[_key] : null;
|
||||
} else {
|
||||
if (key.length === 1) {
|
||||
o = value;
|
||||
} else {
|
||||
if (o && typeof o === 'object') {
|
||||
o[key[1]] = value;
|
||||
} else {
|
||||
o = {};
|
||||
o[key[1]] = value;
|
||||
}
|
||||
}
|
||||
localStorage.setItem(_key, JSON.stringify(o));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user