sign-in.html 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  7. <meta name="description" content="Responsive Bootstrap 5 Admin &amp; Dashboard Template">
  8. <meta name="author" content="Bootlab">
  9. <title>Sign In | AppStack - Admin &amp; Dashboard Template</title>
  10. <link rel="canonical" href="https://appstack.bootlab.io/pages-sign-in.html"/>
  11. <link rel="shortcut icon" href="../img/favicon.ico">
  12. <link href="https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500&display=swap" rel="stylesheet">
  13. <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.0/font/bootstrap-icons.css">
  14. <link class="js-stylesheet" href="../css/dark.css" rel="stylesheet">
  15. </head>
  16. <body data-theme="default" data-layout="fluid" data-sidebar-position="left" data-sidebar-behavior="sticky">
  17. <div class="main d-flex justify-content-center w-100">
  18. <main class="content d-flex p-0">
  19. <div class="container d-flex flex-column">
  20. <div class="alert alert-warning alert-dismissible position-fixed" role="alert"
  21. style="top: 0; left: 0; right: 0; z-index: 1000;">
  22. <div class="alert-message d-none align text-center" id="errorAlert"></div>
  23. </div>
  24. <div class="row h-100">
  25. <div class="col-sm-10 col-md-8 col-lg-6 mx-auto d-table h-100">
  26. <div class="d-table-cell align-middle">
  27. <div class="text-center mt-4">
  28. <h1 class="h2">欢迎回来<i class="bi bi-cup-hot"></i></h1>
  29. <p class="lead">
  30. 请登录您的账号
  31. </p>
  32. </div>
  33. <div class="card">
  34. <div class="card-body">
  35. <div class="m-sm-4">
  36. <div class="text-center">
  37. <img src="../img/avatars/avatar.jpg" alt="Chris Wood"
  38. class="img-fluid rounded-circle" width="132" height="132"/>
  39. </div>
  40. <form id="loginForm" class="mt-5">
  41. <div class="mb-3 row">
  42. <label class="col-form-label col-sm-2 text-sm-right">用户名:</label>
  43. <div class="col-sm-10">
  44. <input type="text" name="name" class="form-control" placeholder="请输入用户名">
  45. </div>
  46. </div>
  47. <div class="mb-3 row">
  48. <label class="col-form-label col-sm-2 text-sm-right">密码:</label>
  49. <div class="col-sm-10">
  50. <input ttype="password" name="pwd" class="form-control" placeholder="请输入密码">
  51. </div>
  52. </div>
  53. <div class="text-center mt-3">
  54. <a href="#" class="btn btn-primary" onclick="submitForm()">登录</a>
  55. </div>
  56. </form>
  57. <div>
  58. <div class="d-flex justify-content-end">
  59. <a href="/pages/pages-sign-up.html" class="btn btn-sm btn-link"><i
  60. class="bi bi-pen-fill"></i>注册新用户</a>
  61. </div>
  62. </div>
  63. </div>
  64. </div>
  65. </div>
  66. </div>
  67. </div>
  68. </div>
  69. </div>
  70. </main>
  71. </div>
  72. <script src="../js/pss.js"></script>
  73. <script>
  74. $(document).ready(function () {
  75. $("#loginForm").validate({
  76. ignore: ".ignore",
  77. rules: {
  78. "name": {
  79. required: true,
  80. },
  81. "pwd": {
  82. required: true,
  83. },
  84. },
  85. messages: {
  86. name: {
  87. required: "请输入用户名"
  88. },
  89. pwd: {
  90. required: "请输入密码"
  91. },
  92. },
  93. });
  94. });
  95. function submitForm() {
  96. if ($("#loginForm").valid()) {
  97. let formData = $("#loginForm").serialize();
  98. let data = {
  99. "method": "Login",
  100. "param": formStringToJson(formData)
  101. };
  102. $.ajax({
  103. type: "POST",
  104. url: "/pps/api",
  105. data: JSON.stringify(data),
  106. contentType: "application/json",
  107. success: function (data) {
  108. console.log(data)
  109. if (data.ret != "ok") {
  110. showAlert(data.msg);
  111. } else {
  112. window.location.href = "/pages/warehouse.html";
  113. }
  114. },
  115. error: function (error) {
  116. console.error(error);
  117. }
  118. });
  119. }
  120. return false;
  121. }
  122. </script>
  123. </body>
  124. </html>