Files
vippk-yy-template/vippk-yy-template_v6_d/clientpkchatpub/script/lib/pkroom/user.js
T
2018-12-03 17:31:53 +08:00

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="关闭">&nbsp;</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="关闭">&nbsp;</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="关闭">&nbsp;</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;
});