# 用户登录(基础版)

依赖于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()
  });
}