diff --git a/src/components/SmsCodeInput.vue b/src/components/SmsCodeInput.vue index 3ea63bb..41509c8 100644 --- a/src/components/SmsCodeInput.vue +++ b/src/components/SmsCodeInput.vue @@ -36,12 +36,12 @@ function onGetCode(): void { &__input { flex: 1; min-width: 0; - height: 39px * @auth-font-scale; - padding: 0 12px * @auth-font-scale; + height: 40px; + padding: 0 12px; border: 1px solid #dde1e7; border-radius: @radius-sm; background: @white; - font-size: 13px * @auth-font-scale; + font-size: 13px; color: #1f2937; outline: none; transition: border-color 0.2s; @@ -55,25 +55,30 @@ function onGetCode(): void { } } + // 设计稿 #38:「获取验证码」是带蓝色描边的独立按钮(62×16 文字居中), + // 不是纯文字链接。按键宽 88px,与输入框间距 @spacing-sm。 &__btn { flex-shrink: 0; - min-width: 74px * @auth-font-scale; - height: 39px * @auth-font-scale; + width: 88px; + height: 40px; padding: 0; - border: none; - background: transparent; + border: 1px solid @primary-strong; + border-radius: @radius-sm; + background: @white; color: @primary-strong; - font-size: 12px * @auth-font-scale; + font-size: 12px; font-weight: 400; - text-align: right; + text-align: center; cursor: pointer; - transition: color 0.2s; + transition: all 0.2s; &:hover:not(:disabled) { - color: @primary-hover; + background: @primary-strong; + color: @white; } &:disabled { + border-color: @text-color-disabled; color: @text-color-disabled; cursor: not-allowed; } diff --git a/src/styles/common.less b/src/styles/common.less index 2157413..6c3fb88 100644 --- a/src/styles/common.less +++ b/src/styles/common.less @@ -22,50 +22,56 @@ min-height: 100vh; background: @white; + // 设计稿 #36/#38/#39 的左侧品牌区为固定 784px 渐变块。 &__brand { - .flex(column, flex-start, center); + .flex(column, flex-start, flex-start); flex: 0 0 @login-brand-width; - padding: 304px 24px 0; + padding: 304px 0 0 257px; background: linear-gradient( 160deg, @auth-gradient-from 0%, @auth-gradient-to 100% ); color: @white; - text-align: center; + text-align: left; } &__logo { margin: 0; - font-size: 40px * @auth-font-scale; + font-size: 40px; font-weight: 700; - line-height: 58px * @auth-font-scale; + line-height: 58px; color: @white; } &__key { margin: 26px 0 0; - font-size: 15px * @auth-font-scale; + font-size: 15px; font-weight: 400; letter-spacing: 0.5px; color: @white; } &__slogan { - margin: 246px 0 0; - font-size: 22px * @auth-font-scale; + // logo(116) + key 上距 26 + key(20) = 162;设计稿 slogan 顶 715, + // 故与 key 底(446+20=466) 间距 249px。 + margin: 249px 0 0; + font-size: 22px; font-weight: 600; - line-height: 29px * @auth-font-scale; + line-height: 29px; letter-spacing: 8px; color: @white; } + // 设计稿 #39:右上角「游客模式」12px,标注框 (1840,24) 64.2×16 + // (64.2 含 Sketch 文本框内边距,实际文字 48px),右留白 16px。 &__guest { position: absolute; - top: 28px; - right: 32px; - font-size: 20px; + top: 24px; + right: 16px; + font-size: 12px; font-weight: 400; + line-height: 16px; color: #1f2937; text-decoration: none; transition: color 0.2s; @@ -79,27 +85,40 @@ .flex(column, center, center); flex: 1; min-width: 0; - padding: 40px 0; + // 设计稿三页的标题顶分别为 306/287/268,卡片在 1080 视口中居中后 + // 会比标注高 15px,用上内边距把内容整体下移补平。 + padding: 80px 0 40px; } + // 设计稿表单区统一 693px 宽。标题/副标题按自身文字宽度相对表单居中, + // 不额外内缩——设计稿标注的 714px 宽是 Sketch 文本框含内边距的值。 &__card { .flex(column, flex-start, flex-start); - width: 693px; + width: @login-form-width; text-align: left; } &__title { margin: 0; - font-size: 34px * @auth-font-scale; + font-size: 34px; font-weight: 700; - line-height: 45px * @auth-font-scale; + line-height: 45px; color: #1f2937; } + // 三页副标题样式一致且模板类名统一为 auth-page__subtitle, + // 放在公共层,避免各页 scoped 选择器与模板类名不匹配。 + &__subtitle { + margin: 12px 0 0; + font-size: 13px; + font-weight: 400; + line-height: 17px; + color: #6b7280; + } + &__title, &__subtitle { align-self: center; - padding-left: 17px; text-align: center; } diff --git a/src/styles/variables.less b/src/styles/variables.less index 38bc841..e7ef081 100644 --- a/src/styles/variables.less +++ b/src/styles/variables.less @@ -78,9 +78,11 @@ @footer-height: 481px; @footer-inset: 70px; -@login-brand-width: 35%; -@login-form-offset: 1022px; -@auth-font-scale: 1.5; +// 登录/注册/找回密码三页共用的品牌区宽度。设计稿 #36/#38/#39 的左侧渐变 +// artboard 均为 784×1080,是固定值而非百分比。 +@login-brand-width: 784px; +// 表单区宽度。设计稿 el12/el14/el19 等标签层统一 693px 宽。 +@login-form-width: 693px; @shadow-base: 0 2px 8px rgba(31, 39, 51, 0.08); @shadow-lg: 0 4px 16px rgba(31, 39, 51, 0.12); diff --git a/src/views/demand/cpns/BizTypeIcon.vue b/src/views/demand/cpns/BizTypeIcon.vue index 29ec90e..a4666e1 100644 --- a/src/views/demand/cpns/BizTypeIcon.vue +++ b/src/views/demand/cpns/BizTypeIcon.vue @@ -6,7 +6,7 @@ interface Props { size?: number } -withDefaults(defineProps(), { size: 40 }) +withDefaults(defineProps(), { size: 68 })