login.php 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379
  1. <?php
  2. namespace app\index;
  3. class login extends Base
  4. {
  5. function index()
  6. {
  7. if ($this->userlogined) {
  8. redirect("/index/user_profile");
  9. }
  10. ?> <!DOCTYPE html>
  11. <html lang="">
  12. <head>
  13. <title>账号登录 - <?php echo IN_NAME;?>免费应用内测托管平台|iOS应用Beta测试分发|Android应用内测分发</title>
  14. <meta charset="utf-8"/>
  15. <meta name="viewport"
  16. content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
  17. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
  18. <meta name="renderer" content="webkit"/>
  19. <meta name="keywords" content="<?php echo IN_KEYWORDS;?>"/>
  20. <meta property="og:url" content="https://<?php echo $_SERVER["HTTP_HOST"];?>/"/>
  21. <meta property="og:title" content="<?php echo IN_NAME;?>"/>
  22. <meta name="description" content="<?php echo IN_DESCRIPTION;?>"/>
  23. <?php
  24. $this->static_();
  25. ?> </head>
  26. <body>
  27. <?php
  28. $this->header();
  29. ?>
  30. <style>
  31. .em {
  32. font-style: normal;
  33. }
  34. .login-three-home {
  35. height: 84px;
  36. padding: 30px 0 0 0;
  37. width: 355px;
  38. text-align: center;
  39. }
  40. .clearfix:before {
  41. content: ".";
  42. display: block;
  43. height: 0;
  44. overflow: hidden;
  45. visibility: hidden;
  46. }
  47. .login-three-home h3 {
  48. font-size: 12px;
  49. color: #666;
  50. text-align: center;
  51. padding: 5px 0 20px 0;
  52. width: 409px;
  53. height: 14px;
  54. background: url(/qq/image/line.jpg) left center repeat-x;
  55. }
  56. .login-three-home h3 em {
  57. background: #fff;
  58. padding: 0 5px;
  59. }
  60. a#qq {
  61. background-position: 0 -335px;
  62. }
  63. .login-three a, .login-three-home a {
  64. display: inline-block;
  65. width: 40px;
  66. height: 40px;
  67. margin-right: -50px;
  68. background: url(/qq/image/focus2018.png) no-repeat;
  69. }
  70. </style>
  71. <script src="/static/index/js/jquery.validate.min.js"></script>
  72. <div class="login-common">
  73. <div class="tit">
  74. <div id="acc_login" class="tit" style="display:inline-block;cursor:pointer">账号登录</div>
  75. <?php if (IN_SMS666666) { ?>
  76. &nbsp; &nbsp; &nbsp;
  77. <div id="phone_login" class="tit" style="display:inline-block;color:rgba(118, 144, 181, 1);cursor:pointer">短信登录</div>
  78. <?php } ?>
  79. </div>
  80. <form role="form" id="loginValid" novalidate="novalidate">
  81. <input type="password" style="position: absolute;top: -999px"/>
  82. <div class="form-group">
  83. <label class="iconfont icon-user" for="user"></label>
  84. <input type="text" class="form-control input-lg" id="user" name="username"
  85. aria-describedby="helpBlock2"
  86. placeholder="账号名称">
  87. <span class="help-block">请输入正确的账号名称</span>
  88. </div>
  89. <div class="form-group">
  90. <label class="iconfont icon-pwd" for="password"></label>
  91. <input class="form-control input-lg" id="password" name="password" placeholder="登录密码"
  92. type="password">
  93. <span class="help-block">请输入正确的密码</span>
  94. </div>
  95. <div class="btn-action">
  96. <a href="/index/lost" class="fr">忘记密码?</a>
  97. <?php if (IN_SMS666666) { ?>
  98. <a id="phone_login_btn">手机验证码登录</a>
  99. <?php } ?>
  100. </div>
  101. <!-- <div class="checkbox"><input type="checkbox" id="remember-me" checked><span>记住我</span></div> -->
  102. <button type="button" class="ms-btn ms-btn-primary input-lg btn-login" id="submitButton">登录</button>
  103. <div class="clearfix mt15 to-register">
  104. <?php if (IN_REG_ON) { ?>还没有账号?&nbsp;&nbsp;&nbsp;<a href="/index/reg" class="fl">去注册</a>
  105. <?php } ?>
  106. <!-- <a href="/index/lost" class="fr">忘记密码</a> -->
  107. </div>
  108. </form>
  109. <form role="form" id="loginValid_code" novalidate="novalidate" style="display:none">
  110. <font color="#FF0000" style="font-size:20px">未设置短信,请使用左边的账号登录。<br>需要测试短信登录功能请联系客服设置。</font>
  111. <div class="form-group">
  112. <label class="iconfont icon-user" for="phone"></label>
  113. <input type="text" class="form-control input-lg" id="phone" name="phone"
  114. aria-describedby="helpBlock2"
  115. placeholder="手机号码">
  116. <span class="help-block">请输入正确的手机</span>
  117. </div>
  118. <div class="form-group">
  119. <label class="iconfont icon-email"></label>
  120. <div class="clearfix verification-code">
  121. <input type="text" class="form-control input-lg fl" id="code" placeholder="验证码">
  122. <button type="button" class="ms-btn ms-btn-primary input-lg fr" id="sendcode">获取验证码</button>
  123. </div>
  124. <span class="help-block">请输入正确的验证码</span>
  125. </div>
  126. <button type="button" class="ms-btn ms-btn-primary input-lg btn-login" id="submitButton_code">登录</button>
  127. <div class="clearfix mt15 to-register">
  128. <?php if (IN_REG_ON) { ?>还没有账号?&nbsp;&nbsp;&nbsp;<a href="/index/reg" class="fl">去注册</a>
  129. <?php } ?>
  130. </div>
  131. </form>
  132. <!--新增QQ互联登录-->
  133. <?php if (IN_QQ) { ?>
  134. <div class="login-three-home clearfix"><h3>社交登录</h3> <a onClick="test();" class="login_click" id="qq"></a></div>
  135. <?php } ?>
  136. <!--新增QQ互联登录-->
  137. </div>
  138. <script>
  139. $(function () {
  140. countdown = 60;
  141. function settime() {
  142. if (countdown == 0) {
  143. $('#sendcode').attr("disabled", false);
  144. $('#sendcode').html("获取验证码");
  145. countdown = 60;
  146. return;
  147. } else {
  148. $('#sendcode').attr("disabled", true);
  149. $('#sendcode').html("重新发送(" + countdown + ")");
  150. countdown--;
  151. }
  152. setTimeout(function () {
  153. settime()
  154. }, 1000)
  155. }
  156. $('#sendcode').click(function () {
  157. var phone = $('#phone').val();
  158. if (phone) {
  159. $.post('/index/ajax/send_sms_forget', {phone: phone}, function (data) {
  160. if (data.code != 200) {
  161. alert(data.msg);
  162. } else {
  163. settime();
  164. alert(data.msg);
  165. }
  166. }, 'json');
  167. }
  168. });
  169. $('#acc_login').click(function(){
  170. $('#phone_login').css('color','rgba(118, 144, 181, 1)');
  171. $('#acc_login').css('color','rgba(21, 21, 21, 1)');
  172. $('#loginValid').css('display','block');
  173. $('#loginValid_code').css('display','none');
  174. })
  175. $('#phone_login').click(function(){
  176. $('#phone_login').css('color','rgba(21, 21, 21, 1)');
  177. $('#acc_login').css('color','rgba(118, 144, 181, 1)');
  178. $('#loginValid').css('display','none');
  179. $('#loginValid_code').css('display','block');
  180. })
  181. $('#phone_login_btn').click(function(){
  182. $('#phone_login').css('color','rgba(21, 21, 21, 1)');
  183. $('#acc_login').css('color','rgba(118, 144, 181, 1)');
  184. $('#loginValid').css('display','none');
  185. $('#loginValid_code').css('display','block');
  186. })
  187. $("#submitButton_code").click(function () {
  188. var phone = $("#phone").val();
  189. var code = $("#code").val();
  190. $.post("/index/ajax/phone_code_login", {phone: phone, code: code},
  191. function (data) {
  192. if (data.code != 200) {
  193. alert(data.msg);
  194. } else {
  195. // if ($('#remember-me').is(':checked')) {
  196. // localStorage.setItem('user', user);
  197. // localStorage.setItem('password', password);
  198. // localStorage.setItem('bit', 'true');
  199. // } else {
  200. localStorage.removeItem('user');
  201. localStorage.removeItem('password');
  202. localStorage.removeItem('bit');
  203. // }
  204. window.location.href = '/index/apps/apps';
  205. }
  206. }, 'json');
  207. });
  208. if (localStorage.getItem('bit') === 'true') {
  209. $('#remember-me').attr('checked', 'checked');
  210. $('#user').val(localStorage.getItem('user'));
  211. $('#password').val(localStorage.getItem('password'));
  212. }
  213. $("#submitButton").click(function () {
  214. var user = $("#user").val();
  215. var password = $("#password").val();
  216. $.post("/index/ajax/login", {user: user, password: password},
  217. function (data) {
  218. if (data.code != 200) {
  219. alert(data.msg);
  220. } else {
  221. if ($('#remember-me').is(':checked')) {
  222. localStorage.setItem('user', user);
  223. localStorage.setItem('password', password);
  224. localStorage.setItem('bit', 'true');
  225. } else {
  226. localStorage.removeItem('user');
  227. localStorage.removeItem('password');
  228. localStorage.removeItem('bit');
  229. }
  230. window.location.href = '/index/apps/apps';
  231. }
  232. }, 'json');
  233. });
  234. document.onkeydown = function (event) {
  235. var e = event || window.event;
  236. if (e && e.keyCode == 13) {
  237. $("#submitButton").click();
  238. }
  239. };
  240. $("#loginValid").validate({
  241. errorPlacement: function (error, element) {
  242. error.appendTo(element.parent().parent());
  243. },
  244. rules: {
  245. "mobile": {
  246. required: true,
  247. mobile: true
  248. },
  249. "password": {
  250. required: true,
  251. minlength: 5
  252. }
  253. },
  254. messages: {
  255. mobile: {
  256. required: "手机号不能为空",
  257. mobile: "请输入正确的手机号"
  258. },
  259. password: {
  260. required: "密码不能为空",
  261. minlength: "密码长度最少5位"
  262. }
  263. },
  264. highlight: function (element) {
  265. $(element).closest('.form-group').addClass('has-error');
  266. },
  267. unhighlight: function (element) {
  268. $(element).closest('.form-group').removeClass('has-error');
  269. },
  270. errorElement: 'label',
  271. errorPlacement: function (error, element) {
  272. if (element.parent('.input-group').length) {
  273. error.insertAfter(element.parent());
  274. } else {
  275. error.insertAfter(element);
  276. }
  277. }
  278. });
  279. });
  280. </script>
  281. <script type="text/javascript">
  282. function test() {
  283. window.open('/index/qlogin/login');
  284. }
  285. </script>
  286. <script>
  287. $(document).ready(function () {
  288. var r = window.setInterval(function () {
  289. $.ajax({
  290. type: 'POST',
  291. url: '/index/qlogin/check',
  292. dataType: 'text',
  293. success: function (str) {
  294. if (str == "ok") {
  295. window.location.reload();
  296. }
  297. }
  298. });
  299. }, 500);
  300. });
  301. </script>
  302. <?php
  303. $this->footer();
  304. ?> </body>
  305. </html>
  306. <?php
  307. }
  308. }