define(['jquery', 'dialog'], function ($, dialog) { // 工具类 function Tool() { this.version = "1.0.0"; this.description = "这是一个工具类"; } $.extend(Tool.prototype, { /** * ajax post * @param url (String) * @param data (Json) 需要提交的数据 * @param cb(Function) 回调函数 */ doPost: function (url, data, cb) { var _this = this; $.ajax({ url: url + '?=' + Math.random(), type: 'POST', data: data, beforeSend: function (xhr) { xhr.setRequestHeader("timestamp", getNowFormatDate()); xhr.setRequestHeader("x-auth-token", _this.getCookie('tokeId')); xhr.setRequestHeader("version", '1.1.6'); }, success: function (data) { cb(data); } }); }, doGetJsonp: function (url, data, cb) { var _this = this; $.ajax({ url: url, dataType: "jsonp", data: data, beforeSend: function (xhr) { xhr.setRequestHeader("from", "weixin"); xhr.setRequestHeader("timestamp", getNowFormatDate()); xhr.setRequestHeader("x-auth-token", _this.getCookie('tokeId')); xhr.setRequestHeader("version", '1.1.6'); }, jsonp: "jsonpcallback", success: function (data) { cb(data); } }); }, /** * ajax get * @param url(String) * @param data(Json) 需要提交的数据 * @param cb(Function) 回调函数 */ doGet: function (uri, data, cb) { var _this = this; var url = uri + '?'; if (data) { url += $.map(data, function (n, i) { if (i == data.length - 1) { return i + '=' + n; } else { return i + '=' + n + '&'; } }).join(''); } $.ajax({ url: url, type: 'GET', beforeSend: function (xhr) { xhr.setRequestHeader("from", "weixin"); xhr.setRequestHeader("timestamp", getNowFormatDate()); xhr.setRequestHeader("x-auth-token", _this.getCookie('tokeId')); xhr.setRequestHeader("version", '1.1.6'); }, success: function (data) { cb(data); } }); }, /** * 创建dialog * @param id(String) 创建的dialog的Id 用于分辨唯一的dialog * @param title (String) dialog的title * @param content(String || HTMLElement) dialog的内容 * @param ok (Function) 点击确定按钮的回调函数 * @param cancel(Function) 点击取消按钮的回调函数 * 可以通过showModal来实现modal显示 */ initDialog: function (title, content, ok, okValue, cancel, cancelValue, id) { var initDialog = dialog({ id: id ? id : '', title: title, content: content, okValue: okValue ? okValue : '确定', ok: ok, cancelValue: cancelValue ? cancelValue : '取消', cancel: cancel, padding: 40, top: '150px' }); initDialog.show(); }, /** * 创建error dialog * @param errContent */ initError: function (errContent) { var error = dialog({ content: errContent, padding: 20 }); error.show(); var time = setTimeout(function () { error.remove(); }, 1500); }, /** * 创建dialog tips * @param tips * @param align */ initTips: function (tips, align, $target, times) { var tips = dialog({ content: tips, padding: 20, skin: 'min-dialog tips', quickClose: true, align: align }); tips.show($target); if (times == undefined || times == 'undefined' || times == '' || times == 'null' || times == null) { times = 2000 } else { times = times } setTimeout(function () { tips.close().remove(); }, times); }, /** * setCookie 设置cookie * @param cname 名称 * @param cvalue 值 * @param seconds 有效期 */ setCookie: function (cname, cvalue, seconds) { var d = new Date(); d.setTime(d.getTime() + (seconds * 1000)); var expires = "expires=" + d.toGMTString(); document.cookie = cname + "=" + cvalue + "; " + expires + ";path=/"; }, /** * getCookie 获取cookie * @param cname 名称 */ getCookie: function (cname) { var name = cname + "="; var ca = document.cookie.split(';'); for (var i = 0; i < ca.length; i++) { var c = ca[i]; while (c.charAt(0) == ' ') c = c.substring(1); if (c.indexOf(name) != -1) return c.substring(name.length, c.length); } return ""; }, /** * removeCookie 删除cookie * @param cname 名称 */ removeCookie: function (cname) { var exp = new Date(); exp.setTime(exp.getTime() - 1); document.cookie = cname + "=; expires=" + exp.toGMTString(); }, /** * getParam 获取url参数 * @param key 当前url链接 */ getParam: function (key) { var json = {}, data; $.each(location.search.substr(1).split("&"), function (i, n) { data = n.split("="); json[data[0]] = data[1]; }); return key != undefined ? json[key] : json; }, /** * getParam 判断对象是否有内容 * @param obj 传入对象 */ isEmptyObject: function (obj) { for (var key in obj) { return false; } return true; }, }); return Tool; });