Commit c7bc33b6 by 梁建民

js

parent a5001727
......@@ -17,7 +17,7 @@
</p>
<div class="input-wrap">
<i class="iconfont iconjuxing23 va-m"></i>
<input type="text" class="w w1 va-m" placeholder="请输入手机号">
<input type="text" class="w w1 va-m" placeholder="请输入手机号" name="mobile">
<div class="sel lineBlock va-m">
<select name="interest">
<option value="0">中国 +86</option>
......@@ -27,21 +27,24 @@
</div>
<div class="input-wrap">
<i class="iconfont iconpassword va-m"></i>
<input type="text" class="w w1 va-m" placeholder="请输入密码">
<input type="text" class="w w1 va-m" placeholder="请输入密码" name="password">
<i class="iconfont iconjuxing27 va-m lineBlock"></i>
</div>
<!--验证码-->
<div class="input-wrap" id="verifiCode" style="display: none">
<i class="iconfont iconjuxing26 va-m"></i>
<input type="text" class="w w1 va-m" placeholder="请输入验证码">
<img src="" alt="" width="100" height="30" class="lineBlock va-m codepic">
<input type="text" class="w w1 va-m" name="captcha" placeholder="请输入图形验证码"/>
<input type="hidden" class="w w1 va-m" name="captchaUuid" value=""/>
<img src="" alt="" width="100" height="30" class="lineBlock va-m codepic"/>
</div>
<div class="input-wrap">
<i class="iconfont iconjuxing26 va-m"></i>
<input type="text" class="w w1 va-m" placeholder="请输入手机号">
<input type="button" name="code" class="lineBlock text va-m" value="发送验证码" data-type="0"/>
<input type="text" name="code" class="w w1 va-m" placeholder="请输入手机验证码">
<input type="button" name="codetext" class="lineBlock text va-m" value="发送验证码"/>
</div>
<input type="hidden" name="code_type" value="1">
<div class="btn-wrap">
<a href="javascript:;" class="btn">注册</a>
<a href="javascript:;" class="btn" lay-submit lay-filter="register">注册</a>
</div>
<p class="agree">点击注册即默认同意<a>《IC业务助手协议》</a></p>
</div>
......
......@@ -18,6 +18,14 @@
(function (window) {
apis = {
/**
* 用户注册
*/
authRegister: auth_url + '/auth/register',
/**
* 账号密码登录
*/
authlogin: auth_url + '/auth/login',
/**
* 获取图形验证码接口
*/
captchaInfo: auth_url + '/captchaInfo',
......
;
! function () {
window.IcController = {
init: function () {
this.mounted(this).handleBind(this);
!function () {
window.IcController = {
init: function () {
this.mounted(this).handleBind(this);
},
getData: function (url, type, param, callback,) {
var index = layer.load(1, {
offset: ['50%', "50%"],
shade: false
})
var platform = {
source: 2,
token: ''
}
var params = $.extend({}, platform, param);
//跨域模式切换 兼容
var dataTypeXpx = "json";
if ((navigator.userAgent.indexOf('MSIE') >= 0) && (navigator.userAgent.indexOf('Opera') < 0)) {
dataTypeXpx = "jsonp";
}
var cookieHostname = window.location.hostname.split(".")[1] + "." + window.location.hostname.split(".")[2];
$.ajax({
type: type,
url: url,
data: params,
dataType: dataTypeXpx,
xhrFields: {
withCredentials: true
},
getData: function (url, type, param, callback) {
var index = layer.load(1, {
offset: ['50%', "50%"],
shade: false
})
var platform = {
source: 2,
token: '1298dc6f00a017d9e94fc1e57792625d'
}
var params = $.extend({}, platform, param);
//跨域模式切换 兼容
var dataTypeXpx = "json";
if ((navigator.userAgent.indexOf('MSIE') >= 0) && (navigator.userAgent.indexOf('Opera') < 0)) {
dataTypeXpx = "jsonp";
}
var cookieHostname = window.location.hostname.split(".")[1] + "." + window.location.hostname.split(".")[2];
$.ajax({
type: type,
url: url,
data: params,
dataType: dataTypeXpx,
xhrFields: {
withCredentials: true
},
success: function (data) {
typeof callback == 'function' && callback(data);
layer.close(index);
return false;
},
error: function () {
layer.close(index);
layer.msg('网络出现问题,请重试!');
return false;
}
});
},
mounted: function (opt) {
//导航栏
var isShow = $('.xbj_li').find('dl').css('display');
if (isShow == 'none') {
$('.xbj_li').find('.li_right').removeClass('iconjuxing15').addClass('iconjuxing12')
} else {
$('.xbj_li').find('.li_right').removeClass('iconjuxing12').addClass('iconjuxing15')
}
return this;
},
handleBind: function (opt) {
//导航栏
$('.xbj_li').on('click', function () {
var isShow = $(this).find('dl').css('display');
if (isShow == 'none') {
$(this).find('dl').slideDown();
$('.xbj_li').find('.li_right').removeClass('iconjuxing12').addClass('iconjuxing15')
} else {
$(this).find('dl').slideUp();
$('.xbj_li').find('.li_right').removeClass('iconjuxing15').addClass('iconjuxing12')
}
$
})
return this;
success: function (data) {
typeof callback == 'function' && callback(data);
layer.close(index);
return false;
},
}, $(function () {
IcController.init();
})
error: function () {
layer.close(index);
layer.msg('网络出现问题,请重试!');
return false;
}
});
},
mounted: function (opt) {
//导航栏
var isShow = $('.xbj_li').find('dl').css('display');
if (isShow == 'none') {
$('.xbj_li').find('.li_right').removeClass('iconjuxing15').addClass('iconjuxing12')
} else {
$('.xbj_li').find('.li_right').removeClass('iconjuxing12').addClass('iconjuxing15')
}
return this;
},
handleBind: function (opt) {
//导航栏
$('.xbj_li').on('click', function () {
var isShow = $(this).find('dl').css('display');
if (isShow == 'none') {
$(this).find('dl').slideDown();
$('.xbj_li').find('.li_right').removeClass('iconjuxing12').addClass('iconjuxing15')
} else {
$(this).find('dl').slideUp();
$('.xbj_li').find('.li_right').removeClass('iconjuxing15').addClass('iconjuxing12')
}
$
})
return this;
},
}, $(function () {
IcController.init();
})
}();
//工具类
(function (window) {
Util = {
/**
* 设置cookie
* @param name
* @param value
* @param time
* @param domain
* @returns {boolean}
*/
setCookie: function (name, value, time) {
// domain = domain ? ";domain=" + domain : "";
var Days = time;
var exp = new Date();
exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);
document.cookie = name + "=" + value + ";expires=" + exp.toGMTString();
return true;
},
/**
* 获取cookie
* @param name
* @returns {*}
*/
getCookie: function (name) {
var strCookie = document.cookie;
var arrCookie = strCookie.split("; ");
for (var i = 0; i < arrCookie.length; i++) {
var arr = arrCookie[i].split("=");
if (name == arr[0]) {
return arr[1];
}
}
return "";
},
/**
* 删除cookie
* @param name
*/
delCookie: function (name) {
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval = this.getCookie(name);
if (cval != null) document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString();
},
/**
* 获取参数
* @param value
* @returns {*}
*/
getRequest: function (value) {
if (window.location.pathname == "/s/") {
var url = unescape(location.search);
} else {
var url = decodeURI(location.search);
}
var object = {};
if (url.indexOf("?") != -1) {
var str = url.substr(1);
var strs = str.split("&");
for (var i = 0; i < strs.length; i++) {
object[strs[i].split("=")[0]] = strs[i].split("=")[1]
}
}
return object[value];
},
/**
* 根据参数获取时间
* @param val
* @returns {string}
*/
getDateStr: function (val) {
var dd = new Date();
dd.setDate(dd.getDate() + val);
var y = dd.getFullYear();
var m = (dd.getMonth() + 1) < 10 ? "0" + (dd.getMonth() + 1) : (dd.getMonth() + 1);
var d = dd.getDate() < 10 ? "0" + dd.getDate() : dd.getDate();
return y + "-" + m + "-" + d;
Util = {
/**
* 设置cookie
* @param name
* @param value
* @param time
* @param domain
* @returns {boolean}
*/
setCookie: function (name, value, time) {
// domain = domain ? ";domain=" + domain : "";
var Days = time;
var exp = new Date();
exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);
document.cookie = name + "=" + value + ";expires=" + exp.toGMTString();
return true;
},
/**
* 获取cookie
* @param name
* @returns {*}
*/
getCookie: function (name) {
var strCookie = document.cookie;
var arrCookie = strCookie.split("; ");
for (var i = 0; i < arrCookie.length; i++) {
var arr = arrCookie[i].split("=");
if (name == arr[0]) {
return arr[1];
}
};
if (typeof define === "function" && define.amd) {
return Util;
} else {
window.Util = Util;
}
return "";
},
/**
* 删除cookie
* @param name
*/
delCookie: function (name) {
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval = this.getCookie(name);
if (cval != null) document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString();
},
/**
* 获取参数
* @param value
* @returns {*}
*/
getRequest: function (value) {
if (window.location.pathname == "/s/") {
var url = unescape(location.search);
} else {
var url = decodeURI(location.search);
}
var object = {};
if (url.indexOf("?") != -1) {
var str = url.substr(1);
var strs = str.split("&");
for (var i = 0; i < strs.length; i++) {
object[strs[i].split("=")[0]] = strs[i].split("=")[1]
}
}
return object[value];
},
/**
* 根据参数获取时间
* @param val
* @returns {string}
*/
getDateStr: function (val) {
var dd = new Date();
dd.setDate(dd.getDate() + val);
var y = dd.getFullYear();
var m = (dd.getMonth() + 1) < 10 ? "0" + (dd.getMonth() + 1) : (dd.getMonth() + 1);
var d = dd.getDate() < 10 ? "0" + dd.getDate() : dd.getDate();
return y + "-" + m + "-" + d;
}
};
if (typeof define === "function" && define.amd) {
return Util;
} else {
window.Util = Util;
}
})(window);
//form序列化json
$.fn.serializeJson = function () {
var serializeObj = {};
var array = this.serializeArray();
var str = this.serialize();
$(array).each(function () {
if (serializeObj[this.name]) {
if ($.isArray(serializeObj[this.name])) {
serializeObj[this.name].push(this.value);
} else {
serializeObj[this.name] = [serializeObj[this.name], this.value];
}
} else {
serializeObj[this.name] = this.value;
}
});
return serializeObj;
var serializeObj = {};
var array = this.serializeArray();
var str = this.serialize();
$(array).each(function () {
if (serializeObj[this.name]) {
if ($.isArray(serializeObj[this.name])) {
serializeObj[this.name].push(this.value);
} else {
serializeObj[this.name] = [serializeObj[this.name], this.value];
}
} else {
serializeObj[this.name] = this.value;
}
});
return serializeObj;
};
\ No newline at end of file
!function () {
window.RegisterController = {
isClick: false,
init: function () {
this.created(this).mounted(this).handleBind(this);
},
......@@ -12,25 +13,178 @@
return this;
},
getCode: function (opt, type, params) {
var $verifiCode = $("#verifiCode"),
$code = $('input[name="code"]'),
$codetext = $('input[name="codetext"]'),
$codepic = $('.codepic');
if (type == 'captchaInfo') {
//获取验证码
IcController.getData(apis.captchaInfo, 'GET', null, function (res) {
if (res.captchaUrl) {
$verifiCode.find('img').attr('src', res.captchaUrl);
$verifiCode.find('input[name="captchaUuid"]').val(res.captchaUuid);
$verifiCode.show();
$verifiCode.find('input[name="captcha"]').focus();
}
});
} else if (type == 'mobile') {
//获取短信验证码
IcController.getData(apis.getRegistCode, 'POST', params, function (res) {
if (res.err_code == 0) {
$code.focus();
//开始倒计时
var second = 60, timer = null;
timer = setInterval(function () {
second -= 1;
if (second > 0) {
$codetext.val(second + '秒');
$codetext.attr('disabled', "true");
} else {
clearInterval(timer);
$codetext.removeAttr('disabled');
$codetext.val('重新获取');
$codepic.trigger('click');
}
}, 1000);
} else {
layer.msg(res.err_msg);
}
});
}
},
calcForm: function (opt) {
var $mobile = $('input[name="mobile"]'),
$password = $('input[name="password"]'),
$code = $('input[name="code"]');
if (!$mobile.val()) {
$mobile.parent('.input-wrap').addClass('error');
return false;
}
if (!$password.val()) {
$password.parent('.input-wrap').addClass('error');
return false;
}
if (!$code.val()) {
$code.parent('.input-wrap').addClass('error');
return false;
}
$('.error').removeClass('error');
return true;
},
handleBind: function (opt) {
//发送验证码
$(document).on('click', 'input[name="code"]', function () {
$(document).on('click', 'input[name="codetext"]', function () {
//判断是否输入验证码
var captchaInfo = $(this).attr('data-type');
var $verifiCode = $("#verifiCode"),
captchaUuid = $verifiCode.find('input[name="captchaUuid"]').val(),
captcha = $verifiCode.find('input[name="captcha"]').val(),
mobile = $('input[name="mobile"]').val();
captchaInfo == 0 ? $(this).attr('data-type', 1) : '';
IcController.getData(apis.captchaInfo,'GET',null,function (res) {
//判断是否有图形验证码id
if (!captchaUuid) {
opt.getCode(opt, 'captchaInfo');
console.log(res)
} else {
})
//获取短信验证码
var params = {
captchaUuid: captchaUuid,
captcha: captcha,
mobile: mobile,
code_type: 1
}
opt.getCode(opt, 'mobile', params);
}
});
//更新验证码
$(document).on('click', '.codepic', function () {
opt.getCode(opt, 'captchaInfo');
});
//注册提交
layui.form.on('submit(register)', function (data) {
if (opt.calcForm()) {
$(data.elem).addClass("layui-btn-disabled");
if (!opt.isClick) {
opt.isClick = true;
IcController.getData(apis.authRegister, 'POST', data.field, function (res) {
if (res.err_msg == 0) {
console.log(res)
} else {
layer.msg(res.err_msg);
opt.isClick = false;
$(data.elem).removeClass("layui-btn-disabled");
}
});
}
} else {
}
});
return this;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment