- 网络请求工具(Ajax请求,服务器地址配置)
- URL路径工具
- 模板渲染工具
- 字段验证&&通用提示
- 统一跳转
'use strict'
var conf = {serverHost : ''};
// 定义模块化对象
var _mm =
{
// 网络数据请求功能
request : function(param)
{
var _this = this; //存入mm对象
$.ajax({
type : param.method || 'get', // 从param中取方法,如果没有默认get方法
url : param.url || '', // 默认空
dataType : param.type || 'json' // 数据类型
data : param.data || '', // 请求时需要的数据
// 请求成功时的方法处理
success : function(res)
{
// 请求成功
if(0 === res.status)
{
typeof param.success === 'function' && param.success(res.data, res.msg);
}
// 无登录状态,需强制登录
else if (10 === res.status)
{
_this.doLogin();
}
// 请求数据错误
else if(1 === res.status)
{
typeof param.error=== 'function' && param.error(res.msg);
}
},
error : function(err)
{
typeof param.error=== 'function' && param.error(err.statusText);
}
});
},
// 获取服务器地址
getServerUrl : function(path)
{
return conf.serverHost + path;
},
// 获取url参数
getUrlParam : function(name)
{
// happymall.com/product/list?keyword=xxx&page=1
// 提取keyword步骤:1.截取?后参数;2.按&分开每一组keyword与value
// 定义正则表达式
var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)');
// window的location对象;search得到的是url中query部分(?keyword=xxx&page=1);substr()返回一个从指定位置开始的指定长度的子字符串,设置为1,是为了把url中的?号去掉()
var result = window.location.search.substr(1).match(reg);
return result ? decodeURIComponent(result[2]) : null;
},
// 渲染html模板
renderHtml : function(htmlTemplate, data) // 传入模板和数据
{
var template = Hogan.compile(htmlTemplate),
result = template.render(data);
return result;
},
// 成功提示
successTips : function(msg)
{
alert(msg || '操作成功!');
},
// 错误提示
errorTips : function(msg)
{
alert(msg || '哪里不对了~');
},
// 字段的验证,支持非空、手机、邮箱的判断
validate : function(value, type)
{
var value = $.trim(value);
// 非空验证,require表示必须有值
if('require' === type)
{
// 返回boolean值
return !!value;
}
// 手机号验证
if('phone' === type)
{
// 1开头的11位数字
return /^1\d{10}$/.test(value);
}
// 邮箱格式验证
if('email' === type)
{
return /^(\w)+(\.\w+)*@(\w)+((\.\w{2,3}){1,3})$/.test(value);
}
},
// 统一登录处理
doLogin : function()
{
window.location.href = './user-login.html?redirect=' + encodeURIComponent(window.location.href); // 登录完跳回当前页面
},
goHome : function()
{
window.location.href = './index.html';
}
};
// 输出模块化对象
module.exports = _mm;