code.html 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. <!DOCTYPE html>
  2. <html lang="zh-CN"><head>
  3. <meta charset="utf-8"/>
  4. <meta content="width=device-width, initial-scale=1.0" name="viewport"/>
  5. <title>贷款助手 - 登录</title>
  6. <script src="https://cdn.tailwindcss.com?plugins=forms,container-queries"></script>
  7. <link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:wght,FILL@100..700,0..1&amp;display=swap" rel="stylesheet"/>
  8. <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&amp;display=swap" rel="stylesheet"/>
  9. <link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:wght,FILL@100..700,0..1&amp;display=swap" rel="stylesheet"/>
  10. <script id="tailwind-config">
  11. tailwind.config = {
  12. darkMode: "class",
  13. theme: {
  14. extend: {
  15. "colors": {
  16. "on-primary": "#ffffff",
  17. "surface-container-highest": "#e2e2e7",
  18. "background": "#f9f9fe",
  19. "on-surface": "#1a1c1f",
  20. "on-secondary-container": "#394c84",
  21. "on-surface-variant": "#434655",
  22. "primary-container": "#2563eb",
  23. "surface-container": "#ededf2",
  24. "primary": "#004ac6",
  25. "on-error": "#ffffff",
  26. "on-secondary-fixed-variant": "#31447b",
  27. "primary-fixed": "#dbe1ff",
  28. "tertiary-fixed-dim": "#ffb596",
  29. "secondary-fixed": "#dbe1ff",
  30. "on-error-container": "#93000a",
  31. "tertiary-container": "#bc4800",
  32. "on-tertiary-container": "#ffede6",
  33. "tertiary-fixed": "#ffdbcd",
  34. "inverse-surface": "#2e3034",
  35. "outline-variant": "#c3c6d7",
  36. "secondary": "#495c95",
  37. "on-tertiary-fixed-variant": "#7d2d00",
  38. "on-tertiary-fixed": "#360f00",
  39. "outline": "#737686",
  40. "surface-tint": "#0053db",
  41. "surface-container-lowest": "#ffffff",
  42. "error-container": "#ffdad6",
  43. "inverse-primary": "#b4c5ff",
  44. "on-secondary-fixed": "#00174b",
  45. "secondary-container": "#acbfff",
  46. "surface-dim": "#d9dade",
  47. "surface-bright": "#f9f9fe",
  48. "surface-container-low": "#f3f3f8",
  49. "tertiary": "#943700",
  50. "primary-fixed-dim": "#b4c5ff",
  51. "on-background": "#1a1c1f",
  52. "surface": "#f9f9fe",
  53. "surface-variant": "#e2e2e7",
  54. "surface-container-high": "#e8e8ed",
  55. "inverse-on-surface": "#f0f0f5",
  56. "secondary-fixed-dim": "#b4c5ff",
  57. "on-secondary": "#ffffff",
  58. "on-primary-container": "#eeefff",
  59. "error": "#ba1a1a",
  60. "on-primary-fixed-variant": "#003ea8",
  61. "on-primary-fixed": "#00174b",
  62. "on-tertiary": "#ffffff"
  63. },
  64. "borderRadius": {
  65. "DEFAULT": "0.25rem",
  66. "lg": "1rem",
  67. "xl": "1.5rem",
  68. "full": "9999px"
  69. },
  70. "fontFamily": {
  71. "headline": ["Inter", "PingFang SC", "sans-serif"],
  72. "body": ["Inter", "PingFang SC", "sans-serif"],
  73. "label": ["Inter", "PingFang SC", "sans-serif"]
  74. }
  75. },
  76. }
  77. }
  78. </script>
  79. <style>
  80. .material-symbols-outlined {
  81. font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
  82. }
  83. .ios-blur {
  84. backdrop-filter: blur(20px);
  85. -webkit-backdrop-filter: blur(20px);
  86. }
  87. body {
  88. font-family: 'Inter', 'PingFang SC', sans-serif;
  89. -webkit-font-smoothing: antialiased;
  90. }
  91. .no-scrollbar::-webkit-scrollbar {
  92. display: none;
  93. }
  94. </style>
  95. <style>
  96. body {
  97. min-height: max(884px, 100dvh);
  98. }
  99. </style>
  100. </head>
  101. <body class="bg-surface text-on-surface min-h-screen flex flex-col items-center justify-start overflow-x-hidden">
  102. <!-- Hero Background Graphic (Ethereal Style) -->
  103. <div class="fixed top-0 left-0 w-full h-[397px] z-0 overflow-hidden">
  104. <div class="absolute inset-0 bg-gradient-to-br from-primary-container/10 via-surface to-surface"></div>
  105. <div class="absolute -top-24 -right-24 w-96 h-96 bg-primary-container/5 rounded-full blur-[80px]"></div>
  106. <div class="absolute top-1/4 -left-20 w-64 h-64 bg-secondary-container/10 rounded-full blur-[60px]"></div>
  107. </div>
  108. <!-- Main Content Canvas -->
  109. <main class="relative z-10 w-full max-w-md px-8 pt-24 pb-12 flex flex-col min-h-screen">
  110. <!-- Header Section -->
  111. <header class="mb-12">
  112. <div class="w-16 h-16 bg-gradient-to-tr from-primary-container to-primary rounded-xl flex items-center justify-center shadow-xl shadow-primary/20 mb-6">
  113. <span class="material-symbols-outlined text-white text-4xl" style="font-variation-settings: 'FILL' 1;">account_balance</span>
  114. </div>
  115. <h1 class="text-3xl font-bold tracking-tight text-on-surface mb-2">欢迎回来</h1>
  116. <p class="text-on-surface-variant font-medium">登录贷款助手,开启您的财务管理之旅</p>
  117. </header>
  118. <!-- Login Card -->
  119. <section class="bg-surface-container-lowest/80 ios-blur rounded-xl p-1 shadow-sm mb-8">
  120. <!-- Tabs -->
  121. <nav class="flex p-1 gap-1 mb-6">
  122. <button class="flex-1 py-3 text-sm font-semibold rounded-lg bg-surface-container-lowest shadow-sm text-primary transition-all duration-200">
  123. 验证码登录
  124. </button>
  125. <button class="flex-1 py-3 text-sm font-semibold text-on-surface-variant hover:text-on-surface transition-colors duration-200">
  126. 密码登录
  127. </button>
  128. </nav>
  129. <!-- Form Fields -->
  130. <div class="space-y-4 px-3 pb-6">
  131. <!-- Phone Number Input -->
  132. <div class="group">
  133. <label class="block text-[11px] font-bold tracking-wider text-outline uppercase mb-2 ml-1">手机号码</label>
  134. <div class="flex items-center bg-surface-container-low rounded-lg px-4 py-3.5 group-focus-within:bg-surface-container-lowest group-focus-within:ring-2 ring-primary/10 transition-all duration-200">
  135. <span class="text-on-surface font-semibold mr-3">+86</span>
  136. <div class="w-[1px] h-4 bg-outline-variant/30 mr-3"></div>
  137. <input class="bg-transparent border-none p-0 w-full text-on-surface placeholder:text-outline/60 focus:ring-0 font-medium" placeholder="请输入手机号" type="tel"/>
  138. <span class="material-symbols-outlined text-outline/40 text-xl">smartphone</span>
  139. </div>
  140. </div>
  141. <!-- Verification Code Input -->
  142. <div class="group">
  143. <label class="block text-[11px] font-bold tracking-wider text-outline uppercase mb-2 ml-1">验证码</label>
  144. <div class="flex items-center bg-surface-container-low rounded-lg px-4 py-3.5 group-focus-within:bg-surface-container-lowest group-focus-within:ring-2 ring-primary/10 transition-all duration-200">
  145. <input class="bg-transparent border-none p-0 w-full text-on-surface placeholder:text-outline/60 focus:ring-0 font-medium" placeholder="请输入6位验证码" type="text"/>
  146. <button class="ml-2 text-sm font-bold text-primary hover:opacity-70 active:scale-95 transition-all">
  147. 获取验证码
  148. </button>
  149. </div>
  150. </div>
  151. </div>
  152. </section>
  153. <!-- Action Buttons -->
  154. <div class="space-y-4">
  155. <button class="w-full py-4 bg-gradient-to-br from-primary-container to-primary text-white font-bold rounded-lg shadow-lg shadow-primary/20 active:scale-[0.98] transition-all duration-200">
  156. 立即登录
  157. </button>
  158. <div class="flex items-center justify-between px-2">
  159. <button class="text-sm font-medium text-on-surface-variant hover:text-primary transition-colors">注册账号</button>
  160. <button class="text-sm font-medium text-on-surface-variant hover:text-primary transition-colors">遇到问题?</button>
  161. </div>
  162. </div>
  163. <!-- Social Login / Divider -->
  164. <div class="mt-auto pt-12">
  165. <div class="flex items-center gap-4 mb-8">
  166. <div class="h-[1px] flex-1 bg-surface-container-highest"></div>
  167. <span class="text-xs font-bold text-outline tracking-widest uppercase">其他方式登录</span>
  168. <div class="h-[1px] flex-1 bg-surface-container-highest"></div>
  169. </div>
  170. <div class="flex justify-center gap-8 mb-12">
  171. <button class="w-12 h-12 rounded-full bg-surface-container-low flex items-center justify-center hover:bg-surface-container-high transition-colors active:scale-90 duration-150">
  172. <img alt="WeChat" class="w-6 h-6 grayscale opacity-60 hover:grayscale-0 hover:opacity-100 transition-all" data-alt="clean minimalist wechat icon logo in blue tone" src="https://lh3.googleusercontent.com/aida-public/AB6AXuB-r_nprCYMXXP2IvUJKNxUMXqvqCVHA4QMiC0fscarJC6YBIZFWm5zd7l7o_ud73RNOYAjKGl4FDnHWKy-1adLF1pPPD0XwDBZJGIP7Z5rjLct5E3spblLRPrO5FT2e0tdJgLEjzF2wsqmthedf5_8z-r3pYF7G_26sp7_SNceiIRPowaBP5LhAvnUNGrzK4JpZpj6Luvnp4C2RAL3w_fC0u38g3Bs3bnoTXmzOv_ACVg6Wpf4URUJPJ-ZCQIk915fJf01xzch-nhN"/>
  173. </button>
  174. <button class="w-12 h-12 rounded-full bg-surface-container-low flex items-center justify-center hover:bg-surface-container-high transition-colors active:scale-90 duration-150">
  175. <img alt="Apple" class="w-6 h-6 grayscale opacity-60 hover:grayscale-0 hover:opacity-100 transition-all" data-alt="minimalist apple logo in blue tone" src="https://lh3.googleusercontent.com/aida-public/AB6AXuDuvbBzcdMbP8ADIppF3NoJee0KH2m6P_b7Nme5ZSShMS-cMkx9oVVC5UVW82iGY9StX8UCRmVK_jFJc3GYlujROsy13xdz0BfQFM2uyxNp8c2dbxAQo8txyO9Sop2GhBnM9bC18w8Zb63nuBWzPPl2hpeE-PBMJ24RSq6ZTAgZ5t4nCzTvmsm-PWkZ0S3_uNkuTgb_JTfs8pPyYepcxxBm3gvfRy9v06yNFrtyRvLpfyaaRlWSGHCeV2RZUQcKxggPLrxF0WTM6Jr5"/>
  176. </button>
  177. </div>
  178. <!-- Agreement Section -->
  179. <div class="flex items-start gap-3 px-2">
  180. <div class="pt-0.5">
  181. <input class="w-4 h-4 rounded-full border-outline-variant text-primary focus:ring-primary/20 bg-surface-container-low transition-all" id="agreement" type="checkbox"/>
  182. </div>
  183. <label class="text-xs leading-relaxed text-on-surface-variant" for="agreement">
  184. 登录即代表您已阅读并同意
  185. <a class="text-primary font-semibold" href="#">《用户服务协议》</a>、
  186. <a class="text-primary font-semibold" href="#">《隐私政策》</a>
  187. 以及授权该应用获取您的公开信息。
  188. </label>
  189. </div>
  190. </div>
  191. </main>
  192. <!-- Footer Decorative Shape -->
  193. <div class="fixed bottom-0 left-0 w-full h-24 pointer-events-none overflow-hidden z-0">
  194. <div class="absolute bottom-0 right-0 w-64 h-64 bg-primary-container/5 rounded-full blur-[60px] translate-y-1/2 translate-x-1/2"></div>
  195. </div>
  196. </body></html>