240 lines
6.9 KiB
JavaScript
240 lines
6.9 KiB
JavaScript
define(function(require, exports, module) {
|
|
var login = require('../../common/login');
|
|
var util = require("./util"),
|
|
eventUtil = require("./eventUtil");
|
|
|
|
var exp={
|
|
|
|
showLoginBox:function(){
|
|
|
|
// var url = location.protocol + '//' + location.host +'/index/wakeudblogin';
|
|
|
|
// eventUtil.getInstance("user").trigerEvent("showLoginBox",{url:url});
|
|
|
|
// UDB.sdk.PCWeb.popupOpenLgn(url, 'loginCallback','');
|
|
// if(location.pathname=="/spy"){
|
|
//this.showMultiLoginBox();
|
|
// }else{
|
|
// this.showYYLoginBox();
|
|
// }
|
|
showUdbLogin();
|
|
//this.showMultiLoginBox();
|
|
},
|
|
showYYLoginBox:function(){
|
|
showUdbLogin();
|
|
},
|
|
/*
|
|
* 显示集成第三方登录按钮的登陆框
|
|
*/
|
|
showMultiLoginBox:function(){
|
|
//remove old elemets
|
|
var _this = this;
|
|
var openBox;
|
|
var cleanup = function(){
|
|
$('.multi-login-box-mask,.multi-login-box').remove();
|
|
}
|
|
|
|
var openThirdBox = function(url){
|
|
var openOpts = 'width=700, height=680, top=0, left=0, toolbar=no, menubar=no, scrollbars=no, location=yes, resizable=no, status=no,target=_blank';
|
|
openBox = window.open(url,'qq',openOpts);
|
|
}
|
|
|
|
window.closeBox = function(refresh){
|
|
if(openBox){
|
|
openBox.close();
|
|
}
|
|
if(refresh){
|
|
location.reload();
|
|
}
|
|
}
|
|
window.showLoginPopTip = function(code){
|
|
|
|
cleanup();
|
|
if(code == "-10003"){//第三方登录新用户
|
|
createTipBox();
|
|
closeBox(false);
|
|
} else if(code =="-10004"){
|
|
createBindedBox();
|
|
closeBox(false);
|
|
}else{
|
|
closeBox(true);
|
|
}
|
|
|
|
|
|
}
|
|
var showBox = function(type){
|
|
var callback = encodeURIComponent(location.protocol + '//' + location.host +'/assets/static/login_success.html');
|
|
var uri = 'http://uaas.yy.com/open/yyauth/1j4y1211/${type}/${appid}?callback=${callback}';
|
|
var opts = {
|
|
callback:callback
|
|
};
|
|
switch(type){
|
|
case "yy":
|
|
_this.showYYLoginBox();
|
|
cleanup();
|
|
return false;
|
|
break;
|
|
case "qq":
|
|
opts['type'] = 2;
|
|
opts['appid'] = 101154992;
|
|
break;
|
|
case "sina":
|
|
opts['type'] = 1;
|
|
opts['appid'] = 2822259651;
|
|
break;
|
|
case "baidu":
|
|
opts['type'] = 4;
|
|
opts['appid'] = 'ArCbjaE1dh0V2rj7GN8P2qal';
|
|
break;
|
|
}
|
|
var fmturi = util.format(uri,opts);
|
|
openThirdBox(fmturi);
|
|
}
|
|
|
|
var createLoginBox = function(){
|
|
var mask ='<div class="multi-login-box-mask"></div>';
|
|
var box = '<div class="multi-login-box">'
|
|
+'<h2>帐号登录</h2>'
|
|
+'<div class="multi-login-cont">'
|
|
+' <a href="/" data-type="yy" class="login-yy"></a>'
|
|
+' <a href="/" data-type="qq" class="login-qq"></a>'
|
|
+' <a href="/" data-type="sina" class="login-sina"></a>'
|
|
+' <a href="/" data-type="baidu" class="login-baidu"></a>'
|
|
+' <div class="login-vline"></div>'
|
|
+'</div>'
|
|
+'<div class="multi-login-tip">注:首次使用第三方登录的用户,该功能无法使用。</div>'
|
|
+'<a href="#" class="multi-login-box-close" title="关闭"> </a>'
|
|
+'</div>';
|
|
var domMask = $(mask);
|
|
var domBox = $(box);
|
|
domBox.on("click",".multi-login-cont a",function(){
|
|
var type = $(this).attr("data-type");
|
|
showBox(type);
|
|
return false;
|
|
})
|
|
domBox.on("click",".multi-login-box-close",function(){
|
|
cleanup();
|
|
return false;
|
|
})
|
|
|
|
$('body').append(domMask).append(domBox);
|
|
|
|
}
|
|
var createTipBox = function(){
|
|
var mask ='<div class="multi-login-box-mask"></div>';
|
|
var box = '<div class="multi-login-box">'
|
|
+'<h2>帐号登录</h2>'
|
|
+'<div class="multi-login-cont multi-login-etip-cont">'
|
|
+'<div class="multi-login-error-tip"><p>抱歉,自2015年3月20日起,</p><p>第三方登录功能已经停用,请使用YY账号登录。</p></div>'
|
|
+'</div>'
|
|
+'<div class="multi-login-foot">'
|
|
+'<div class="multi-login-cancel-btn"><a href="#">取消</a></div>'
|
|
+'<div class="multi-login-yylogin-btn"><a href="#">YY账户登录</a></div>'
|
|
+'</div>'
|
|
+'<a href="#" class="multi-login-box-close" title="关闭"> </a>'
|
|
+'</div>';
|
|
var domMask = $(mask);
|
|
var domBox = $(box);
|
|
domBox.on("click",".multi-login-cancel-btn a",function(){
|
|
cleanup();
|
|
createLoginBox();
|
|
return false;
|
|
})
|
|
domBox.on("click",".multi-login-yylogin-btn a",function(){
|
|
cleanup();
|
|
showBox("yy");
|
|
return false;
|
|
})
|
|
domBox.on("click",".multi-login-box-close",function(){
|
|
cleanup();
|
|
return false;
|
|
})
|
|
|
|
$('body').append(domMask).append(domBox);
|
|
|
|
}
|
|
|
|
var createBindedBox = function(){
|
|
var thirdyy = $.cookie("third_yy_no");
|
|
var mask ='<div class="multi-login-box-mask"></div>';
|
|
var box = '<div class="multi-login-box">'
|
|
+'<h2>帐号登录</h2>'
|
|
+'<div class="multi-login-cont multi-login-etip-cont">'
|
|
+'<div class="multi-login-error-tip"><p>抱歉,第三方功能已经停止使用,请使用已绑定的<br/>YY账户:<span class="binded-yy">'
|
|
+ thirdyy
|
|
+'</span> <a href="#" class="copy-yynum">复制</a></p></div>'
|
|
+'</div>'
|
|
+'<div class="multi-login-foot">'
|
|
+'<div class="multi-login-cancel-btn"><a href="#">取消</a></div>'
|
|
+'<div class="multi-login-yylogin-btn"><a href="#">YY账户登录</a></div>'
|
|
+'</div>'
|
|
+'<a href="#" class="multi-login-box-close" title="关闭"> </a>'
|
|
+'</div>';
|
|
var domMask = $(mask);
|
|
var domBox = $(box);
|
|
domBox.on("click",".multi-login-cancel-btn a",function(){
|
|
cleanup();
|
|
createLoginBox();
|
|
return false;
|
|
})
|
|
domBox.on("click",".multi-login-yylogin-btn a",function(){
|
|
cleanup();
|
|
showBox("yy");
|
|
return false;
|
|
})
|
|
domBox.on("click",".multi-login-box-close",function(){
|
|
cleanup();
|
|
return false;
|
|
})
|
|
domBox.on("click",".copy-yynum",function(){
|
|
alert("您的浏览器不支持手动复制功能,请手动复制!");
|
|
return false;
|
|
})
|
|
|
|
$('body').append(domMask).append(domBox);
|
|
|
|
}
|
|
|
|
|
|
cleanup();
|
|
createLoginBox();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
},
|
|
logout:function() {
|
|
var getDelCookieURL = location.protocol + '//' + location.host +'/index/logout';
|
|
var done = function(data){
|
|
if ("1" == data.success) {
|
|
UDB.sdk.PCWeb
|
|
.deleteCrossmainCookieWithCallBack(
|
|
data.delCookieURL,
|
|
function() {
|
|
//退出成功后调用触发退出事件
|
|
eventUtil.getInstance("user").trigerEvent("logout");
|
|
location.reload()
|
|
});
|
|
} else {
|
|
alert(data.errMsg);
|
|
}
|
|
}
|
|
$.post(
|
|
getDelCookieURL,
|
|
function(data) {
|
|
done(data);
|
|
}, "json");
|
|
},
|
|
getMyUid:function(){
|
|
return $.cookie("yyuid") || 0;
|
|
}
|
|
|
|
}
|
|
|
|
|
|
module.exports = exp;
|
|
window.user= exp;
|
|
|
|
}); |