var xiha={
postData: function(url, parameter, callback, dataType, ajaxType) {
if(!dataType) dataType='json';
$.ajax({
type: "POST",
url: url,
async: true,
dataType: dataType,
json: "callback",
data: parameter,
success: function(data) {
if (callback == null) {
return;
}
callback(data);
},
error: function(error) {
alert('创建连接失败');
}
});
}
}
var captcha_frame;
function trim(str){ //去掉头尾空格
return str.replace(/(^\s*)|(\s*$)/g, "");
}
function invokeSettime(obj){
var countdown=60;
settime(obj);
function settime(obj) {
if (countdown == 0) {
$(obj).attr("data-lock", "false");
$(obj).text("获取验证码");
countdown = 60;
return;
} else {
$(obj).attr("data-lock", "true");
$(obj).attr("disabled",true);
$(obj).text("重发(" + countdown + ")");
countdown--;
}
setTimeout(function() {
settime(obj) }
,1000)
}
}
function send_sms_code(){
var uin=trim($('#uin').val());
var sms_ticket=$('#sms_code').attr('sms_ticket');
var cookie=$('#uin').attr('cookie');
var getvcurl="login.php?do=smscode&r="+Math.random(1);
var param = {uin: uin, sms_ticket: sms_ticket, cookie: cookie};
xiha.postData(getvcurl, param, function(d) {
if(d.saveOK == 0){
new invokeSettime("#sendsms");
alert('发送成功,请注意查收!');
$('#sms_code').attr('issend','true');
}else{
alert(d.msg);
}
});
}
function login(uin,pwd){
var vcode = $('#uin').attr('vcode');
var pt_verifysession = $('#uin').attr('pt_verifysession');
var sid = $('#uin').attr('sid');
var isMd5=$("input:radio[name='ismd5']:checked").val() || 0;
var p=getmd5(uin,pwd,vcode,isMd5);
var cookie=$('#uin').attr('cookie');
var loginurl="login.php?do=qqlogin&r="+Math.random(1);
var param = {uin: uin, pwd: pwd, p: p, vcode: vcode, pt_verifysession: pt_verifysession, sid: sid, cookie: cookie};
if($('.smscode').is(":visible")){
if($('#sms_code').attr('issend')=='false'){
alert('请先发送短信验证码');
return;
}
var sms_code = trim($('#sms_code').val());
if(sms_code==''){
alert('短信验证码不能为空!');
return;
}
var sms_ticket = $('#sms_code').attr('sms_ticket');
Object.assign(param, {sms_code: sms_code, sms_ticket: sms_ticket});
}
$('#load').html('正在登录,请稍等...');
xiha.postData(loginurl, param, function(d) {
if(d.saveOK ==0){
$('#login').hide();
$('.code').hide();
$('#submit').hide();
$('#load').html('
登录成功!'+decodeURIComponent(d.nick)+'
QQ帐号
SKEY
P_skey
superkey
一键登录QQ空间
返回重新获取');
}else if(d.saveOK ==4){
$('#load').html('验证码错误,请重新登录。');
$('#submit').attr('do','submit');
$('#code').val("");
$('.code').hide();
$('.smscode').hide();
$('.qqlogin').show();
$('#login').show();
}else if(d.saveOK ==3){
$('#load').html('您输入的帐号或密码不正确,请重新输入密码!');
$('#submit').attr('do','submit');
$('#pwd').val('');
$('.code').hide();
$('.smscode').hide();
$('.qqlogin').show();
$('#login').show();
}else if(d.saveOK ==10009){
$('#sms_code').attr('sms_ticket',d.sms_ticket);
$('#uin').attr('cookie',d.cookie);
$('#sms_code').attr('issend','false');
$('#load').html(d.msg);
$('#submit').attr('do','login');
$('.qqlogin').hide();
$('.smscode').show();
$('#login').show();
}else if(d.saveOK ==10010 || d.saveOK ==10005){
$('#submit').attr('do','login');
$('#load').html(d.msg);
}else if(d.msg =='pwd不能为空'){
$('#load').html('请输入密码!');
$('#submit').attr('do','submit');
$('.code').hide();
$('.smscode').hide();
$('.qqlogin').show();
$('#login').show();
}else{
$('#load').html(d.msg);
$('#submit').attr('do','submit');
}
});
}
function getvc(uin,sig,sess,sid,websig){
$('#load').html('获取验证码,请稍等...');
sess = sess||0;
sid = sid||null;
websig = websig||null;
var getvcurl="login.php?do=getvc&r="+Math.random(1);
var param = {uin: uin, sig: sig, sess: sess, sid: sid, websig: websig};
xiha.postData(getvcurl, param, function(d) {
if(d.saveOK ==0){
$('#load').html('请输入验证码');
$('#codeimg').attr('vc',d.vc);
$('#codeimg').attr('sess',d.sess);
$('#codeimg').attr('cdata',d.cdata);
$('#codeimg').attr('websig',d.websig);
$('#codeimg').attr('sid',d.sid);
$('#codeimg').html('
');
$('#submit').attr('do','code');
$('#code').val('');
$('.code').show();
}else if(d.saveOK ==2){
$('#codeimg').attr('vc',d.vc);
$('#codeimg').attr('sess',d.sess);
$('#codeimg').attr('cdata',d.cdata);
$('#codeimg').attr('websig',d.websig);
$('#codeimg').attr('sid',d.sid);
dovc(uin,d.ans,d.vc);
}else{
alert(d.msg);
}
});
}
function dovc(uin,code,vc){
$('#load').html('验证验证码,请稍等...');
var cap_cd=$('#uin').attr('cap_cd');
var sess=$('#codeimg').attr('sess');
var cdata=$('#codeimg').attr('cdata');
var sid=$('#codeimg').attr('sid');
var websig=$('#codeimg').attr('websig');
var getvcurl="login.php?do=dovc&r="+Math.random(1);
var param = {uin: uin, ans: code, sig: vc, cap_cd: cap_cd, sess: sess, websig: websig, cdata: cdata, sid: sid};
xiha.postData(getvcurl, param, function(d) {
if(d.rcode == 0){
var pwd=$('#pwd').val();
$('#uin').attr('vcode',d.randstr.toUpperCase());
$('#uin').attr('pt_verifysession',d.sig);
login(uin,pwd);
}else if(d.rcode == 50){
$('#load').html('验证码错误,重新生成验证码,请稍等...');
getvc(uin,cap_cd,d.sess,sid,websig);
}else if(d.rcode == 12){
$('#codeimg').attr('sess',d.sess);
$('#load').html('验证失败,请重试。');
}else{
$('#codeimg').attr('sess',d.sess);
$('#load').html('验证失败,请重试或使用扫码登录。');
//getvc(uin,cap_cd,d.sess,sid,websig);
}
});
}
function checkvc(){
var uin=trim($('#uin').val()),
pwd=trim($('#pwd').val());
if(uin==''||pwd=='') {
$('#load').html('请输入密码!');
$('.qqlogin').show();
$('#login').show();
return false;
}
$('#load').html('登录中,请稍候...');
var getvcurl="login.php?do=checkvc&r="+Math.random(1);
var param = {uin: uin};
xiha.postData(getvcurl, param, function(d) {
if(d.saveOK ==0){
$('#uin').attr('cookie',d.cookie);
$('#uin').attr('vcode',d.vcode);
$('#uin').attr('sid',d.sid);
$('#uin').attr('pt_verifysession',d.pt_verifysession);
login(uin,pwd);
}else if(d.saveOK ==1){
$('#uin').attr('cap_cd',d.sig);
$('#uin').attr('sid',d.sid);
$('#uin').attr('cookie',d.cookie);
//getvc(uin,d.sig,0,d.sid);return;
var jumpurl = 'cap_frame.php?sid='+d.sid+'&aid=549000912&uin='+uin;
captcha_frame = layer.open({
type: 2,
title: '滑块验证码',
shade: 0.6,
area: [$(window).width() > 450 ? '450px' : '100%', $(window).width() > 450 ? '450px' : '380px'],
content: jumpurl,
cancel: function(){
$('#load').hide();
}
});
}else{
alert(d.msg);
$('#load').html('');
}
});
}
window.onqqlogin = function(d){
layer.close(captcha_frame);
$('#uin').attr('vcode',d.randstr);
$('#uin').attr('pt_verifysession',d.ticket);
var uin=trim($('#uin').val()),
pwd=trim($('#pwd').val());
login(uin,pwd);
$('#uin').attr("data-lock", "false");
}
$(document).ready(function(){
$('#submit').click(function(){
var self=$(this);
var uin=trim($('#uin').val()),
pwd=trim($('#pwd').val());
if(uin==''||pwd=='') {
alert("请确保每项不能为空!");
return false;
}
$('#load').show();
if(self.attr('do') == 'code'){
var vcode=trim($('#code').val()),
vc=$('#codeimg').attr('vc');
dovc(uin,vcode,vc);
}else if(self.attr('do') == 'login'){
login(uin,pwd);
}else{
if (self.attr("data-lock") === "true") return;
else self.attr("data-lock", "true");
checkvc();
self.attr("data-lock", "false");
}
});
});