userLogin.html 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <title>kmall_pt</title>
  7. <!-- Tell the browser to be responsive to screen width -->
  8. <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
  9. <link rel="stylesheet" href="statics/css/bootstrap.min.css">
  10. <link rel="stylesheet" href="statics/css/font-awesome.min.css">
  11. <link rel="stylesheet" href="statics/css/style.css">
  12. <link rel="stylesheet" href="statics/css/userLogin.css">
  13. <link rel="stylesheet" href="statics/css/main.css">
  14. <link rel="stylesheet" href="statics/css/iview.css">
  15. <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
  16. <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
  17. <!--[if lt IE 9]>
  18. <script src="statics/libs/html5shiv.min.js"></script>
  19. <script src="statics/libs/respond.min.js"></script>
  20. <![endif]-->
  21. </head>
  22. <body class="signin hold-transition login-page" >
  23. <div class="loginscreen animated fadeInDown signinpanel" id="loginBox" v-cloak>
  24. <div class="row" style="background: rgba(109, 109, 109, 0.45);border-radius: 20px;border: 0px solid #6d6d6d;padding:13px 22px 35px 22px;">
  25. <div class="row" style="border: 0px solid #6d6d6d">
  26. <p style="font-size: 45px;font-family: 微软雅黑;color: #ffffff;text-shadow: 5px 5px 5px #000;margin-bottom: 10px" align="center"><b>跨 境 电 商 &nbsp;&nbsp;新零售</b></p>
  27. <hr/>
  28. </div>
  29. <div class="col-md-7" >
  30. <p style="font-size: 35px;font-family: 微软雅黑;color: #3bc8ff;text-shadow: 2px 2px 5px #000;padding-right: 10px;margin: 45px 0 0;" align="center">
  31. <span >CW大药房</span>
  32. <br/>
  33. <span style="font-size: 45px">收 银 系 统</span>
  34. <br/>
  35. </p>
  36. <!--<p style="font-size: 20px;font-family: 微软雅黑;color: #3bc8ff;text-shadow: 2px 2px 5px #000;padding-right: 10px;margin: 30px 0 0;"></p>-->
  37. </div>
  38. <div class="col-md-5">
  39. <div class="m-t text-center" style="border: 0px solid #dddee1;">
  40. <div class="form-group has-feedback">
  41. <i-input class="userinput" v-model="username" @on-enter="login" placeholder="账号" style="width: 250px;" autofocus/>
  42. </div>
  43. <div class="form-group has-feedback">
  44. <i-input class="userinput" type="password" v-model="password" @on-enter="login" style="width: 250px;"
  45. placeholder="密码"/>
  46. </div>
  47. <div class="form-group has-feedback" id="authcode">
  48. <div style="display: inline-block;width: 150px;height:45px;padding-left: 2px">
  49. <i-input v-model="captcha" @on-enter="login"
  50. placeholder="验证码" class="authcode" />
  51. </div>
  52. <div style="display: inline-block;width: 100px;">
  53. <img style="height: 45px;width: 96px;border-radius: 4px;" alt="如果看不清楚,请单击图片刷新!" title="点击刷新"
  54. class="pointer" :src="src" @click="refreshCode">
  55. </div>
  56. </div>
  57. <div>
  58. <i-button type="warning" @click="login" style="width: 125px;height: 45px">登录</i-button>
  59. <i-button type="warning" @click="change" style="width: 125px;height: 45px">切换管理端</i-button>
  60. </div>
  61. </div>
  62. </div>
  63. </div>
  64. </div>
  65. <!-- /.login-box -->
  66. <script src="statics/libs/jquery.min.js"></script>
  67. <script src="statics/libs/vue.min.js"></script>
  68. <script src="statics/libs/iview.min.js"></script>
  69. <script src="statics/libs/bootstrap.min.js"></script>
  70. <script src="statics/plugins/slimscroll/jquery.slimscroll.min.js"></script>
  71. <script src="statics/libs/fastclick.min.js"></script>
  72. <script type="text/javascript">
  73. var vm = new Vue({
  74. el: '#loginBox',
  75. data: {
  76. username: '',
  77. password: '',
  78. captcha: '',
  79. machineCode: '' ,
  80. src: 'captcha.jpg'
  81. },
  82. beforeCreate: function () {
  83. if (self != top) {
  84. top.location.href = self.location.href;
  85. }
  86. },
  87. beforeMount: function(){
  88. // TODO 调用接口获取机器码
  89. $.ajax({
  90. url:"http://127.0.0.1:21600/api/reg/gen",
  91. success:function(r){
  92. if(r.code == "0"){
  93. vm.machineCode = r.rows[0].data.code;
  94. console.log(vm.machineCode);
  95. vm.machineCode = vm.machineCode.replace("+","%2B");
  96. sessionStorage.setItem("machineCode",vm.machineCode);
  97. }
  98. },
  99. error:function(XMLHttpRequest, textStatus, errorThrown){
  100. alert("获取机器码失败,请联系管理员");
  101. }
  102. })
  103. // 本地调试的时候打开下面的注释代码
  104. // vm.machineCode = "0z4kBPFEve0=";
  105. // sessionStorage.setItem("machineCode","0z4kBPFEve0=");
  106. // $.get("http://127.0.0.1:8000/api/reg/gen" , function (r) {
  107. // console.log(r);
  108. // if(r.code == "0"){
  109. // vm.machineCode = r.rows[0].data.code;
  110. // console.log(vm.machineCode);
  111. // vm.machineCode = vm.machineCode.replace("+","%2B");
  112. // sessionStorage.setItem("machineCode",vm.machineCode);
  113. // }
  114. // });
  115. },
  116. methods: {
  117. refreshCode: function () {
  118. this.src = "captcha.jpg?t=" + $.now();
  119. },
  120. login: function (event) {
  121. var data = "username=" + vm.username + "&password=" + vm.password + "&captcha=" + vm.captcha + "&machineCode=" + vm.machineCode+"&loginType=2"; //TODO 新增加一个机器码;
  122. // var data = "username=" + vm.username + "&password=" + vm.password + "&captcha=" + vm.captcha + "&machineCode=0z4kBPFEve0=&loginType=2"; //TODO 新增加一个机器码;
  123. sessionStorage.removeItem("permsSet");
  124. var code = sessionStorage.getItem("machineCode");
  125. if(!code){
  126. alert("正在获取机器码,请稍后登录,大约5s");
  127. return;
  128. }
  129. $.ajax({
  130. type: "POST",
  131. url: "sys/login",
  132. data: data,
  133. dataType: "json",
  134. success: function (result) {
  135. if (result.code == 0) {//登录成功
  136. sessionStorage.setItem("permsSet", JSON.stringify(result.permsSet))
  137. sessionStorage.setItem("storeId", result.storeId)
  138. // if(result.storeId != null){
  139. parent.location.href = '/sale/sale.html';
  140. // }else{
  141. // parent.location.href = 'index.html';
  142. // }
  143. } else {
  144. iview.Message.error(result.msg);
  145. vm.refreshCode();
  146. }
  147. }
  148. });
  149. },
  150. change:function(){
  151. parent.location.href = 'login.html';
  152. },
  153. mounted:function(){
  154. this.$Message.config({
  155. duration:3
  156. })
  157. }
  158. }
  159. });
  160. </script>
  161. </body>
  162. </html>