441 lines
15 KiB
JavaScript
441 lines
15 KiB
JavaScript
function AlertLoginCH(){}
|
|
|
|
AlertLoginCH.prototype.tip = function(e,m){
|
|
var html = "<p class='AlertLogintip'>"+m+"</p>";
|
|
e&&e.after(html)
|
|
};
|
|
|
|
AlertLoginCH.prototype.sendAjax = function(url,callback,data,type){
|
|
jQuery.ajax({
|
|
type : type||'GET',
|
|
cache : "true",
|
|
data:data,
|
|
url : url,
|
|
dataType : 'jsonp',
|
|
jsonp : 'jsonpCallback',
|
|
async : false,
|
|
success : callback
|
|
});
|
|
};
|
|
|
|
var AL = new AlertLoginCH();
|
|
|
|
AL.config = function(obj){
|
|
var config = {
|
|
"coverBox":jQuery("#AlertLoginCH"),
|
|
"AlertBOX":jQuery("#AlertLoginCH-main"),
|
|
|
|
"RegisterBox":jQuery("#RigisterCH"),
|
|
"LoginBox":jQuery("#LoginCH"),
|
|
"LgBtn":jQuery("#loginch-btn"),
|
|
"RgBtn":jQuery("#register-btn"),
|
|
"QQBtn":jQuery("#LoginCH-qqlogin"),
|
|
"tip":jQuery(".AlertLogintip"),
|
|
"closedBtn":jQuery("#LoginCH-closed"),
|
|
|
|
"LgUser":jQuery("#LoginCH-username"),
|
|
"LgPass":jQuery("#LoginCH-password"),
|
|
"LgCode":jQuery("#LoginCH-code"),
|
|
|
|
"RgUser":jQuery("#RigisterCH-username"),
|
|
"RgPas":jQuery("#RigisterCH-password"),
|
|
"RgPas2":jQuery("#RigisterCH-password2"),
|
|
"Code":jQuery('#RigisterCH-code'),
|
|
"COdeImg":jQuery('#code_img'),
|
|
|
|
"LgEdBox":jQuery("#user-box"),
|
|
"logout":jQuery(".logout"),
|
|
"qqloginBtn":"true"
|
|
};
|
|
AL.a = (obj!=undefined)?jQuery.extend(config,obj):config;
|
|
};
|
|
|
|
AL.showLgBox = function(){
|
|
var B = AL.a;
|
|
B["LoginBox"].show();
|
|
B["RegisterBox"].hide();
|
|
};
|
|
|
|
AL.showRgBox = function(){
|
|
var B = AL.a;
|
|
B["LoginBox"].hide();
|
|
B["RegisterBox"].show();
|
|
};
|
|
|
|
AL.closed = function(){
|
|
var B = AL.a;
|
|
B["coverBox"].hide().remove();
|
|
B["AlertBOX"].hide().remove();
|
|
};
|
|
|
|
AL.regLg = function(){
|
|
var B = AL.a;
|
|
B["LgUser"].focus(function(){
|
|
var tip = jQuery(this).parent().next(".AlertLogintip");
|
|
var len = tip.length;
|
|
len != 0&&tip.remove();
|
|
jQuery(this).parent().addClass("Alertfocus").removeClass("blur");
|
|
});
|
|
B["LgUser"].blur(function(){
|
|
var val = jQuery(this).val();
|
|
var tip = jQuery(this).parent().next(".AlertLogintip");
|
|
var len = tip.length;
|
|
if(val == ""){
|
|
AL.tip(jQuery(this).parent(),"请输入用户名");
|
|
jQuery(this).parent().removeClass("Alertfocus").addClass("blur")
|
|
}
|
|
len != 0&&tip.remove();
|
|
jQuery(this).parent().removeClass("Alertfocus");
|
|
});
|
|
B["LgPass"].focus(function(){
|
|
var tip = jQuery(this).parent().next(".AlertLogintip");
|
|
var len = tip.length;
|
|
len != 0&&tip.remove();
|
|
|
|
jQuery(this).parent().addClass("Alertfocus").removeClass("blur");
|
|
});
|
|
B["LgPass"].blur(function(){
|
|
var val = jQuery(this).val();
|
|
var tip = jQuery(this).parent().next(".AlertLogintip");
|
|
var len = tip.length;
|
|
if(val == ""){
|
|
AL.tip(B["LgPass"].parent(),"请输入密码");
|
|
B["LgPass"].parent().removeClass("Alertfocus").addClass("blur")
|
|
}
|
|
len != 0&&tip.remove();
|
|
jQuery(this).parent().removeClass("Alertfocus");
|
|
});
|
|
};
|
|
|
|
AL.LgLogin = function(){
|
|
var B = AL.a;
|
|
|
|
function login(){
|
|
var LgUserV = B["LgUser"].val();
|
|
var LgpassV = B["LgPass"].val();
|
|
if(!LgUserV){
|
|
B["LgUser"].blur()
|
|
}
|
|
if(!LgpassV){
|
|
B["LgPass"].blur()
|
|
}
|
|
if(LgUserV&&LgpassV){
|
|
var url = "/index.php?m=member&c=email&a=checkUsername&service=login&cn=" + LgUserV + "&pwd=" + encodeURIComponent(LgpassV) + "&random="+ Math.random();
|
|
AL.sendAjax(url,function(respons){
|
|
var err = respons.result;
|
|
if(err == "err0001"){
|
|
var tip = B["LgPass"].parent().next(".AlertLogintip");
|
|
tip.remove();
|
|
B["LgPass"].val("");
|
|
B["LgPass"].parent().removeClass("Alertfocus").addClass("blur")
|
|
AL.tip(B["LgPass"].parent(),"账号或者密码错误!");
|
|
}
|
|
else if(err == "success"){
|
|
AL.closed();
|
|
AL.loginSuccess(respons)
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
B["LgBtn"].click(function(){
|
|
login();
|
|
});
|
|
B["LgPass"].keyup(function(e){
|
|
var code = e.keyCode||"";
|
|
code == 13&&login();
|
|
})
|
|
};
|
|
|
|
AL.RegRg = function(){
|
|
var B = AL.a;
|
|
B["RgUser"].focus(function(){
|
|
var tip = jQuery(this).parent().next(".AlertLogintip");
|
|
var len = tip.length;
|
|
len != 0&&tip.remove();
|
|
jQuery(this).parent().addClass("Alertfocus").removeClass("blur");
|
|
});
|
|
B["RgUser"].blur(function(){
|
|
var val = jQuery(this).val();
|
|
var tip = jQuery(this).parent().next(".AlertLogintip");
|
|
var len = tip.length;
|
|
if(val == ""){
|
|
AL.tip(jQuery(this).parent(),"请输入用户名");
|
|
jQuery(this).parent().removeClass("Alertfocus").addClass("blur")
|
|
}else {
|
|
AL.sendAjax("index.php?m=member&c=email&a=checkUsername&service=checkCn&cn=" + val + "", function (data) {
|
|
if (data.result == "success") {
|
|
B["RgUser"].parent().next(".AlertLogintip").remove();
|
|
B["RgUser"].parent().removeClass("Alertfocus").addClass("succ");
|
|
AL.tip(B["RgUser"].parent(), "通过用户名验证!");
|
|
B["RgUser"].parent().next(".AlertLogintip").css("color","green")
|
|
AL.isRguser = true;
|
|
} else {
|
|
B["RgUser"].parent().next(".AlertLogintip").remove();
|
|
B["RgUser"].parent().removeClass("succ Alertfocus blur").addClass("blur");
|
|
AL.tip(B["RgUser"].parent(), "用户名已经存在!");
|
|
}
|
|
});
|
|
}
|
|
len != 0&&tip.remove();
|
|
jQuery(this).parent().removeClass("Alertfocus");
|
|
});
|
|
|
|
B["RgPas"].focus(function(){
|
|
var tip = jQuery(this).parent().next(".AlertLogintip");
|
|
var len = tip.length;
|
|
len != 0&&tip.remove();
|
|
jQuery(this).parent().addClass("Alertfocus").removeClass("blur");
|
|
});
|
|
B["RgPas"].blur(function(){
|
|
var val = jQuery(this).val();
|
|
var tip = jQuery(this).parent().next(".AlertLogintip");
|
|
var len = tip.length;
|
|
if(val == ""){
|
|
AL.tip( jQuery(this).parent(),"请输入密码!");
|
|
jQuery(this).parent().removeClass("Alertfocus").addClass("blur")
|
|
}else if(val.length<6||val.length>16){
|
|
AL.tip( jQuery(this).parent(),"密码范围在6~16位之间!");
|
|
jQuery(this).parent().removeClass("Alertfocus").addClass("blur")
|
|
}
|
|
else{
|
|
AL.isRgpas = true;
|
|
}
|
|
len != 0&&tip.remove();
|
|
jQuery(this).parent().removeClass("Alertfocus");
|
|
});
|
|
B["RgPas2"].focus(function(){
|
|
var tip = jQuery(this).parent().next(".AlertLogintip");
|
|
var len = tip.length;
|
|
len != 0&&tip.remove();
|
|
jQuery(this).parent().addClass("Alertfocus").removeClass("blur");
|
|
});
|
|
B["RgPas2"].blur(function(){
|
|
var val = jQuery(this).val();
|
|
var pval = B["RgPas"].val();
|
|
var tip = jQuery(this).parent().next(".AlertLogintip");
|
|
var len = tip.length;
|
|
if(val == ""){
|
|
AL.tip( jQuery(this).parent(),"请重复密码!");
|
|
jQuery(this).parent().removeClass("Alertfocus").addClass("blur")
|
|
}
|
|
else if(val!==pval){
|
|
AL.tip( jQuery(this).parent(),"两次输入的密码不一致!");
|
|
jQuery(this).parent().removeClass("Alertfocus").addClass("blur")
|
|
|
|
}else{
|
|
AL.isRgpas2 = true;
|
|
}
|
|
len != 0&&tip.remove();
|
|
jQuery(this).parent().removeClass("Alertfocus");
|
|
});
|
|
B["Code"].focus(function(){
|
|
var tip = jQuery(this).parent().next(".AlertLogintip");
|
|
var len = tip.length;
|
|
len != 0&&tip.remove();
|
|
jQuery(this).parent().addClass("Alertfocus").removeClass("blur");
|
|
});
|
|
B["Code"].blur(function(){
|
|
var val = jQuery(this).val();
|
|
var tip = jQuery(this).parent().next(".AlertLogintip");
|
|
var len = tip.length;
|
|
if(val == ""){
|
|
AL.tip( jQuery(this).parent(),"请输入验证码!");
|
|
jQuery(this).parent().removeClass("Alertfocus").addClass("blur")
|
|
}else if(val.length!=4){
|
|
AL.tip( jQuery(this).parent(),"验证码不正确!");
|
|
jQuery(this).parent().removeClass("Alertfocus").addClass("blur")
|
|
}
|
|
else{
|
|
AL.isCode = true;
|
|
}
|
|
len != 0&&tip.remove();
|
|
jQuery(this).parent().removeClass("Alertfocus");
|
|
});
|
|
B["COdeImg"].click(function(){
|
|
var src = $(this).attr('src');
|
|
var newSrc = src+Math.random();
|
|
$(this).attr({'src':newSrc});
|
|
})
|
|
};
|
|
|
|
AL.RgRigester = function(){
|
|
var B = AL.a;
|
|
function register (){
|
|
var ruser = B["RgUser"].val();
|
|
var rpass = B["RgPas"].val();
|
|
var rpass2 = B["RgPas2"].val();
|
|
var code = B['Code'].val();
|
|
!ruser ? B["RgUser"].blur() : !rpass ? B["RgPas"].blur() : (!rpass2 || (rpass2 != rpass)) ? B["RgPas"].blur(): !code ? B["Code"].blur():registerbtn();
|
|
function registerbtn(){
|
|
if(AL.isRguser && AL.isRgpas&&AL.isRgpas2&&AL.isCode){
|
|
var regUrl = "/index.php?m=member&c=email&a=alertWindowReg&Math="+Math.random()+'&';
|
|
var paramObj = packParam({
|
|
cn:ruser,
|
|
pwd:rpass,
|
|
code:code,
|
|
uid : "",
|
|
suid: "alertLogin2"||""
|
|
});
|
|
AL.sendAjax(regUrl+paramObj,function(data) {
|
|
if (data.result=="success") {
|
|
alert("注册成功");
|
|
AL.closed();
|
|
AL.loginSuccess();
|
|
}else if(data.result=="error00"){
|
|
B["Code"].val("");
|
|
B["Code"].parent().next(".AlertLogintip").remove();
|
|
B["Code"].parent().removeClass("Alertfocus succ").addClass("blur");
|
|
AL.tip(B["Code"].parent(),"验证码不正确!");
|
|
}
|
|
else {
|
|
B["RgUser"].val("");
|
|
B["RgUser"].parent().next(".AlertLogintip").remove();
|
|
B["RgUser"].parent().removeClass("Alertfocus succ").addClass("blur");
|
|
AL.tip(B["RgUser"].parent(),"账号已经存在!");
|
|
}
|
|
});
|
|
|
|
|
|
}
|
|
}
|
|
function packParam (json) {
|
|
var string = '';
|
|
for ( var key in json) {
|
|
string += "&" + key + "=" + (json[key] || '');
|
|
}
|
|
return string.length > 0 ? string.substring(1) : '';
|
|
};
|
|
}
|
|
|
|
B["RgBtn"].click(function(){
|
|
register();
|
|
});
|
|
B["RgPas2"].keyup(function(e){
|
|
var code = e.keyCode||"";
|
|
code == 13 && register();
|
|
})
|
|
};
|
|
|
|
AL.loginSuccess = function(){
|
|
location.reload()
|
|
};
|
|
|
|
AL.qqlogin = function(){
|
|
var Host ='//' + document.domain + '/';
|
|
var gameid = "";
|
|
var uid= "alertLogin"||"";
|
|
var suid= "alertLogin"||"";
|
|
location.href = Host+'index.php?m=member&c=index&a=public_qq_loginnew&sid='+gameid+'&uid='+uid+'&suid='+suid+'¬last=1&forward='+encodeURIComponent(location.href);
|
|
};
|
|
|
|
|
|
AL.wxlogin = function(){
|
|
var Host ='//' + document.domain + '/';
|
|
var gameid ="";
|
|
var uid= "alertLogin"||"";
|
|
var suid= "alertLogin"||"";
|
|
location.href = Host+'index.php?m=member&c=weixin&a=public_weixin_login&sid='+gameid+'&uid='+uid+'&suid='+suid+'¬last=1&forward='+encodeURIComponent(location.href);
|
|
};
|
|
|
|
AL.genereteHtml = function(){
|
|
var html = "";
|
|
html+= '<div id="AlertLoginCH" class="AlertLoginCH"></div>';
|
|
|
|
html+= '<div id="AlertLoginCH-main" class="AlertLoginCH-main">';
|
|
|
|
html+= '<div class="LoginCH" id="LoginCH">' +
|
|
'<div class="loginCH-tit">' +
|
|
'<div class="loginCHname" >快速登录</div>' +
|
|
'<a id="loginCH-goregister" class="loginCH-goregister" href="javascript:void(0);" onclick="AL.showRgBox();AL.RegRg();AL.RgRigester()">注册</a>'+
|
|
'</div>';
|
|
|
|
html+= '<div class="LoginCH-mr u">' +
|
|
'<input type="text" id="LoginCH-username" placeholder="用户名"/>'+
|
|
'</div>' +
|
|
'<div class="LoginCH-mr p">' +
|
|
'<input type="password" id="LoginCH-password" placeholder="密码"/>'+
|
|
'</div>';
|
|
|
|
html+= '<div class="LoginCH-mr y">' +
|
|
'<input type="text" id="LoginCH-code" placeholder="验证码"/>' +
|
|
'</div>' +
|
|
'<div class="other">' +
|
|
'<div class="jz">' +
|
|
'<input type="checkbox" checked/>' +
|
|
'<label>记住密码</label>' +
|
|
'</div>' +
|
|
'<div class="forgetpass">' +
|
|
'<a href="//' + document.domain + '/index.php?m=mymember&c=forgetPassword&a=index&siteid=1" target="_blank">忘记密码</a>' +
|
|
'</div>' +
|
|
'</div>' +
|
|
'<a href="javascript:void(0);" class="loginch-btn" id="loginch-btn">立即登录</a></div>'
|
|
|
|
html+= '<div class="RigisterCH" id="RigisterCH">';
|
|
|
|
html+= '<div class="RigisterCH-tit">' +
|
|
'<div class="RigisterCHname">注册账号</div>' +
|
|
'<a id="RigisterCH-gologin" class="RigisterCH-gologin" href="javascript:void(0);" onclick="AL.showLgBox();AL.regLg();AL.LgLogin();">登录</a>'+
|
|
'</div>';
|
|
|
|
html+= '<div class="RigisterCH-mr u">'+
|
|
'<input type="text" id="RigisterCH-username" placeholder="4-15位字符内(仅限数字,英文)"/>'+
|
|
'</div>';
|
|
|
|
html+= '<div class="RigisterCH-mr p">'+
|
|
'<input type="password" id="RigisterCH-password" placeholder="密码:6-20个字符"/>'+
|
|
'</div>';
|
|
|
|
html+= '<div class="RigisterCH-mr p2">'+
|
|
'<input type="password" id="RigisterCH-password2" placeholder="确认密码"/>'+
|
|
'</div>';
|
|
|
|
html+= '<div class="RigisterCH-mr code">'+
|
|
'<input type="text" id="RigisterCH-code" placeholder="验证码"/>'+
|
|
'<img id="code_img" src="//' + document.domain + '/api.php?op=checkcode&code_len=4&font_size=14&width=75&height=29&font_color=&background=">'+
|
|
'</div>';
|
|
|
|
html+= '<a href="javascript:void(0);" class="register-btn" id="register-btn">立即登录</a>' +
|
|
'</div>';
|
|
|
|
html+= '<div class="LoginCH-qqlogin" id="LoginCH-qqlogin">'+
|
|
'<div class="tit">第三方账号登录</div>'+
|
|
'<a href="javascript:void (0);" onclick="AL.qqlogin();" class="qq">qq登录</a>'+
|
|
'<a href="javascript:void (0);" onclick="AL.wxlogin();" class="wx">微信登录</a>'+
|
|
'</div>'+
|
|
'<a class="LoginCH-closed" id="LoginCH-closed" href="javascript:void(0);" onclick="AL.closed()"></a>' +
|
|
'</div>';
|
|
|
|
jQuery("body").append(html);
|
|
}
|
|
|
|
AL.BoxInit = function(){
|
|
var B = AL.a;
|
|
if(B["box"]=="register"){
|
|
AL.showRgBox();
|
|
AL.RegRg();
|
|
AL.RgRigester();
|
|
}else{
|
|
AL.showLgBox();
|
|
AL.regLg();
|
|
AL.LgLogin();
|
|
}
|
|
if(!B["qqloginBtn"]){
|
|
jQuery("#LoginCH-qqlogin").hide();
|
|
}
|
|
|
|
};
|
|
|
|
AL.Init = function(obj){
|
|
AL.genereteHtml();
|
|
AL.config(obj);
|
|
AL.BoxInit();
|
|
};
|
|
|
|
jQuery.fn.extend({
|
|
AlertLogin:function(obj){
|
|
jQuery(this).click(function(){
|
|
AL.Init(obj);
|
|
})
|
|
}
|
|
}); |