login.html 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. <html lang="cn">
  2. <head>
  3. <meta charset="utf-8">
  4. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
  5. <meta name="description" content="">
  6. <meta name="author" content="美天旺">
  7. <title>美天旺客服系统登录页</title>
  8. <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/element-ui@2.13.1/lib/theme-chalk/index.css">
  9. <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
  10. <script src="https://cdn.jsdelivr.net/npm/element-ui@2.13.1/lib/index.js"></script>
  11. <script src="https://cdn.jsdelivr.net/npm/jquery/dist/jquery.min.js"></script>
  12. <script src="https://cdn.bootcdn.net/ajax/libs/layer/3.1.1/layer.min.js"></script>
  13. <style>
  14. body {
  15. background-color: #f5f5f5;
  16. margin: 0;
  17. padding: 0;
  18. }
  19. .signin {
  20. width: 350px;
  21. padding: 20px;
  22. margin:100px auto;
  23. background: #fff;
  24. -webkit-box-shadow: 0 1px 2px 0 rgba(101,129,156,.08);
  25. box-shadow: 0 1px 2px 0 rgba(101,129,156,.08);
  26. }
  27. .signin h1,.signin h2,.signin .copyright{
  28. font-weight: normal;
  29. color: #4d627b;
  30. text-align: center;
  31. }
  32. .signin .loginTitle{
  33. font-size: 24px;
  34. }
  35. .signin .loginDesc{
  36. font-size: 14px;
  37. margin-bottom: 15px;
  38. }
  39. .signin .loginDesc a{
  40. color: #409EFF;
  41. text-decoration: none;
  42. }
  43. .signin .copyright{
  44. font-size: 12px;
  45. }
  46. @media (max-width: 768px) {
  47. .signin{
  48. width: 90%;
  49. margin:40px auto;
  50. background-color: #f5f5f5;
  51. box-shadow:none;
  52. }
  53. }
  54. </style>
  55. </head>
  56. <body>
  57. <div id="app" class="signin">
  58. <template>
  59. <h1 class="loginTitle">美天旺客服登录</h1>
  60. <h2 class="loginDesc">请联系管理员获取登录账号</h2>
  61. <el-form :model="kefuForm" :rules="rules" ref="kefuForm">
  62. <el-form-item prop="username">
  63. <el-input v-model="kefuForm.username" placeholder="用户名"></el-input>
  64. </el-form-item>
  65. <el-form-item prop="password">
  66. <el-input :type="pass_attr" v-model="kefuForm.password" placeholder="密码"></el-input>
  67. <i slot="suffix" :class="icon" @click="showHidePassword"></i>
  68. </el-form-item>
  69. <el-form-item>
  70. <el-button style="width: 100%" :loading="loading" type="primary" @click="kefuLogin('kefuForm')">登录</el-button>
  71. </el-form-item>
  72. </el-form>
  73. <p class="copyright">美天旺版权所有 &copy; 2020 </p>
  74. </template>
  75. </div>
  76. </body>
  77. <script>
  78. new Vue({
  79. el: '#app',
  80. delimiters:["<{","}>"],
  81. data: {
  82. window:window,
  83. activeName:"second",
  84. loading:false,
  85. pass_attr: "password", // 密码输入框属性
  86. icon: "el-input__icon el-icon-view", // 显示/隐藏密码图标
  87. localAuth:{
  88. username:'',
  89. password:'',
  90. },
  91. ruleForm:{
  92. server:'',
  93. email:'',
  94. password:'',
  95. },
  96. kefuForm:{
  97. username:'kefu2',
  98. password:'123',
  99. },
  100. rules: {
  101. server: [
  102. { required: true, message: 'IMAP服务器如"imap.sina.net:143"包含端口号', trigger: 'blur' },
  103. ],
  104. email: [
  105. { required: true, message: '邮箱地址', trigger: 'blur' },
  106. ],
  107. username: [
  108. { required: true, message: '用户名不能为空', trigger: 'blur' },
  109. ],
  110. password: [
  111. { required: true, message: '密码不能为空', trigger: 'blur' },
  112. ],
  113. },
  114. },
  115. methods: {
  116. showHidePassword(){
  117. if(this.pass_attr=='text'){
  118. this.pass_attr="password";
  119. this.icon="el-input__icon el-icon-view";
  120. }else{
  121. this.pass_attr="text";
  122. this.icon="el-input__icon el-icon-loading";
  123. }
  124. },
  125. //提交表单
  126. kefuLogin(formName){
  127. let _this=this;
  128. this.$refs[formName].validate((valid) => {
  129. if (!valid) {
  130. return false;
  131. } else {
  132. let data = {};
  133. data.type="kefu";
  134. data.username = _this.kefuForm.username;
  135. data.password = _this.kefuForm.password;
  136. _this.loading = true;
  137. $.post("/check", data, function (data) {
  138. if (data.code == 200) {
  139. _this.$message({
  140. message: data.msg,
  141. type: 'success'
  142. });
  143. localStorage.setItem("token",data.result.token);
  144. localStorage.setItem("ref_token",data.result.ref_token);
  145. localStorage.setItem("create_time",data.result.create_time);
  146. window.location.href="/main";
  147. } else {
  148. _this.$message({
  149. message: data.msg,
  150. type: 'error'
  151. });
  152. }
  153. _this.loading = false;
  154. });
  155. }
  156. });
  157. },
  158. //重置表单
  159. resetForm(formName) {
  160. this.loading=false;
  161. this.$refs[formName].resetFields();
  162. },
  163. },
  164. created: function () {
  165. if (top.location != location){
  166. top.location.href = location.href;
  167. }
  168. }
  169. })
  170. </script>
  171. </html>