# 用户登录(基础版)
依赖于milo.js的登录功能,保留最基础的功能,适用于静态页面需要提取号码包的场景。
# 使用示例
https://lol.qq.com/cguide/code/demo/login.html
基本html结构:
<div class="login-info">
<!--登录前状态 Start-->
<div id="unlogin" class="login" style="display: block;">
你好,请 <a id="ptLoginBtn" href="javascript:void(0)" title="登录">登录</a>
</div>
<!--登录前状态 End-->
<!--登录后状态 Start-->
<div id="logined" class="login" style="display: none;">
欢迎您,<span id="login_qq_span"></span>
<a id="ptLogoutBtn" href="javascript:void(0)" title="注销">注销</a>
</div>
<!--登录后状态 End-->
</div>
在执行登录方法之前需引入PTT统计组件js
<script src="//ossweb-img.qq.com/images/js/PTT/ping_tcss_tgideas_https_min.js"></script>
基本js示例:
判断移动端或PC端加载不同的milo版本,然后执行登录相关方法
function loadScript(b,f,d){var a=document.createElement("script");a.type="text/javascript";try{if(a.readyState){a.onreadystatechange=function(){if(a.readyState==="loaded"||a.readyState==="complete"){a.onreadystatechange=null;f()}}}else{a.onload=function(){f()}}a.src=b;document.body.appendChild(a)}catch(c){if(null!==d){d(c)}}};
function initLogin(){
milo.ready(function () {
need("biz.login",function(LoginManager){
LoginManager.init();
//QQ登录
milo.addEvent(g('ptLoginBtn'),'click',function(e){
LoginManager.login();
PTTSendClick('btn','login','登录按钮');
});
//注销
milo.addEvent(g("ptLogoutBtn"),"click",function(){
LoginManager.logout();
PTTSendClick('btn','loginout','退出登录');
})
//执行验证登陆操作
LoginManager.checkLogin(function(userinfo){
//此处返回用户的基本信息
// console.log("已登录:\n",userinfo);
g("login_qq_span").innerHTML = LoginManager.getUserUin();
},function(){
// console.log("未登录");
});
});
});
}
if(typeof milo != "undefined" && typeof milo.ready == "function"){
initLogin()
}else{
var miloPath = /Android|webOS|iPhone|iPod|BlackBerry|iPad/i.test(navigator.userAgent)?"//ossweb-img.qq.com/images/js/mobile_bundle/milo.js":"//ossweb-img.qq.com/images/js/milo_bundle/milo.js";
loadScript(miloPath,function(){
initLogin()
});
}