resetMam.html 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <title>Reset MAM</title>
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <meta name="full-screen" content="yes">
  8. <meta name="x5-fullscreen" content="true">
  9. <meta name="viewport"
  10. content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no" />
  11. <link rel="stylesheet" href="css/element-ui.css" />
  12. <link rel="stylesheet" href="css/element@2.12.2.css" />
  13. <link rel="stylesheet" href="css/index.css" />
  14. <style>
  15. :root {
  16. --brand-red: #eb3f57;
  17. --brand-red-dark: #d92f48;
  18. --brand-red-soft: #fff1f3;
  19. --text-main: #111827;
  20. --text-secondary: #4b5563;
  21. --text-muted: #9ca3af;
  22. --border: #e5e7eb;
  23. --card-bg: rgba(255, 255, 255, .96);
  24. --page-bg: #f5f7fb;
  25. --radius-xl: 28px;
  26. --radius-lg: 20px;
  27. --radius-md: 16px;
  28. --shadow-card:
  29. 0 24px 70px rgba(17, 24, 39, .08),
  30. 0 6px 18px rgba(17, 24, 39, .05);
  31. --shadow-red:
  32. 0 14px 30px rgba(235, 63, 87, .28);
  33. }
  34. * {
  35. box-sizing: border-box;
  36. }
  37. body {
  38. margin: 0;
  39. min-height: 100vh;
  40. background:
  41. radial-gradient(circle at top left, rgba(235, 63, 87, .14), transparent 34%),
  42. radial-gradient(circle at top right, rgba(59, 130, 246, .1), transparent 32%),
  43. var(--page-bg);
  44. font-family:
  45. Inter,
  46. -apple-system,
  47. BlinkMacSystemFont,
  48. "Segoe UI",
  49. sans-serif;
  50. color: var(--text-main);
  51. -webkit-font-smoothing: antialiased;
  52. }
  53. img {
  54. display: block;
  55. max-width: 100%;
  56. }
  57. .container {
  58. width: 100%;
  59. }
  60. .page-shell {
  61. min-height: 100vh;
  62. display: flex;
  63. align-items: center;
  64. justify-content: center;
  65. padding: 32px 20px;
  66. }
  67. .reset-card {
  68. width: min(480px, 100%);
  69. border-radius: var(--radius-xl);
  70. background: var(--card-bg);
  71. box-shadow: var(--shadow-card);
  72. padding: 34px;
  73. border: 1px solid rgba(255, 255, 255, .75);
  74. backdrop-filter: blur(18px);
  75. }
  76. .top-action {
  77. display: flex;
  78. justify-content: space-between;
  79. align-items: center;
  80. margin-bottom: 20px;
  81. }
  82. .language-switch {
  83. display: inline-flex;
  84. align-items: center;
  85. gap: 8px;
  86. padding: 10px 12px;
  87. border-radius: 999px;
  88. border: 1px solid var(--border);
  89. background: #fff;
  90. }
  91. .language-switch img {
  92. width: 18px;
  93. height: 12px;
  94. object-fit: cover;
  95. }
  96. .language-switch .menu {
  97. font-size: 14px;
  98. font-weight: 650;
  99. cursor: pointer;
  100. }
  101. .logo img {
  102. width: 160px;
  103. border-radius: 18px;
  104. }
  105. .title-box {
  106. text-align: center;
  107. margin-bottom: 28px;
  108. }
  109. .title-box .icon {
  110. width: 64px;
  111. height: 64px;
  112. margin: 0 auto 18px;
  113. display: flex;
  114. align-items: center;
  115. justify-content: center;
  116. border-radius: 20px;
  117. background: var(--brand-red-soft);
  118. color: var(--brand-red);
  119. font-size: 30px;
  120. }
  121. .title-box h1 {
  122. margin: 0;
  123. font-size: 28px;
  124. font-weight: 850;
  125. letter-spacing: -.03em;
  126. }
  127. .title-box p {
  128. margin: 12px 0 0;
  129. font-size: 14px;
  130. line-height: 1.7;
  131. color: var(--text-secondary);
  132. }
  133. .form .el-form-item {
  134. margin-bottom: 20px;
  135. }
  136. .m-input .el-input__inner {
  137. height: 52px;
  138. border-radius: var(--radius-md);
  139. border: 1px solid var(--border);
  140. padding-left: 16px;
  141. font-size: 15px;
  142. transition:
  143. border-color .22s ease,
  144. box-shadow .22s ease;
  145. }
  146. .m-input .el-input__inner:focus {
  147. border-color: var(--brand-red);
  148. box-shadow: 0 0 0 4px rgba(235, 63, 87, .1);
  149. }
  150. .m-input .el-input__inner::placeholder {
  151. color: var(--text-muted);
  152. }
  153. .s-btn.el-button--primary {
  154. width: 100%;
  155. height: 52px;
  156. border: none;
  157. border-radius: 999px;
  158. font-size: 16px;
  159. font-weight: 800;
  160. background:
  161. linear-gradient(135deg,
  162. var(--brand-red),
  163. var(--brand-red-dark));
  164. box-shadow: var(--shadow-red);
  165. transition:
  166. transform .22s ease,
  167. box-shadow .22s ease;
  168. }
  169. .s-btn.el-button--primary:hover,
  170. .s-btn.el-button--primary:focus {
  171. transform: translateY(-2px);
  172. box-shadow:
  173. 0 18px 38px rgba(235, 63, 87, .34);
  174. }
  175. .el-dropdown-menu {
  176. border-radius: 14px;
  177. overflow: hidden;
  178. }
  179. @media (max-width: 540px) {
  180. .page-shell {
  181. padding: 14px;
  182. align-items: flex-start;
  183. }
  184. .reset-card {
  185. padding: 24px 18px;
  186. border-radius: 22px;
  187. /* height: calc(100vh - 28px); */
  188. }
  189. .top-action {
  190. justify-content: space-between;
  191. }
  192. .language-switch {
  193. justify-content: center;
  194. }
  195. .title-box h1 {
  196. font-size: 24px;
  197. }
  198. .m-input .el-input__inner,
  199. .s-btn.el-button--primary {
  200. height: 50px;
  201. }
  202. }
  203. </style>
  204. </head>
  205. <body>
  206. <div class="container" id="forget">
  207. <div class="page-shell">
  208. <div class="reset-card">
  209. <div class="top-action">
  210. <div class="logo">
  211. <img src="img/logo.jpg" alt="Logo" />
  212. </div>
  213. <div class="language-switch chooseLang">
  214. <el-dropdown trigger="click" @command="chooseLang">
  215. <span class="menu">
  216. {{langList[language]}}
  217. <i class="el-icon-arrow-down el-icon--right"></i>
  218. </span>
  219. <el-dropdown-menu slot="dropdown">
  220. <el-dropdown-item command="en">English</el-dropdown-item>
  221. <el-dropdown-item command="cn">中文简体</el-dropdown-item>
  222. </el-dropdown-menu>
  223. </el-dropdown>
  224. </div>
  225. </div>
  226. <div class="title-box">
  227. <div class="icon">
  228. <i class="el-icon-lock"></i>
  229. </div>
  230. <h1>{{lang.item1}}</h1>
  231. </div>
  232. <el-form :model="params" :rules="rules" ref="params" label-width="0" class="form">
  233. <el-form-item prop="newPassword">
  234. <el-input class="m-input" v-model="params.newPassword" :placeholder="lang.item3"></el-input>
  235. </el-form-item>
  236. <el-form-item>
  237. <el-button type="primary" class="s-btn" @click="send">
  238. {{lang.btn}}
  239. </el-button>
  240. </el-form-item>
  241. </el-form>
  242. </div>
  243. </div>
  244. </div>
  245. <script src="js/vue.min.js"></script>
  246. <script src="js/axios.min.js"></script>
  247. <script src="js/element-ui.js"></script>
  248. <script src="js/element@2.12.2.js"></script>
  249. <script src="js/resetMam.js"></script>
  250. </body>
  251. </html>