由于有个业务需要外部人员登录进行操作 所以引入了QQ登录管理端的功能
采取的是milo插件 官方文档
首先 移动端和pc端引入不同的milo js脚本
PC端 调用登录的方法
//Login
export const loginByQQ = () => {
window.need("biz.login", function(LoginManager) {
LoginManager.login(
() => {
alert("已经登录了");
},
{
'gameId' : '',//业务名
'appId' : '',//业务appid
needReloadPage: true, //登录成功后是否刷新
s_url: `xxx` //登录成功后的回调地址,
iUseQQConnect:0,//是否使用QQ互联
//使用QQ互联的互联登录参数
'oQQConnectParams':{
appId:"",
scope:"",
state:"STATE",
redirect_uri:""
}
}
);
});
};
//checkLogin hasLogin返回promise回调
//LoginManager.checkLogin / LoginManager.checkRealLogin
export const hasLogin = () => {
return new Promise(resolve => {
window.need("biz.login", LoginManager => {
LoginManager.checkRealLogin(
function(userinfo) {
resolve(true);
},
function() {
resolve(false);
}
);
});
});
//Logout
export const logout = () =>
new Promise(resolve => {
window.need("biz.login", LoginManager => {
LoginManager.logout(
() => {
window.location.href = '' //退出后回调地址
resolve(); // 注意此时不一定已经清理掉 cookie
},
{ freshWin: true } // 页面自动刷新后才是正确的状态
);
});
});
至于业务名和业务id 可以看这篇
更多推荐
QQ授权登录问题
发布评论