Files
hms/apps/miniprogram/src/pages/login/index.scss
iven 551d19d921 fix(mp): 修正 design token 字号对齐原型 + ContentCard margin prop
- tokens.scss: 修正字号 token 对齐 18 份原型稿 fontSize 统计
  --tk-font-h1: 26→28px, --tk-font-h2: 24→22px
  --tk-font-body-lg: 28→18px, --tk-font-body: 22→16px
  --tk-font-body-sm: 16→14px
  elder-mode 同步重新计算比例系数
- ContentCard: 新增 margin prop ('none'|'md'),margin-bottom
  从 CSS 类移至 inline style,支持列表容器内无间距模式
- Profile 页: 用户卡片添加 profile-user-card flex 布局
  菜单组/积分卡片使用 margin="none",修复布局对齐
- Login 页: SCSS 全部改为 design token 引用
2026-05-17 12:48:38 +08:00

234 lines
4.0 KiB
SCSS
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
@import '../../styles/variables.scss';
@import '../../styles/mixins.scss';
// 登录页 — 全部使用 design token原型参考 docs/design/mp-01-login.html
.login-page {
min-height: 100vh;
background: $bg;
display: flex;
flex-direction: column;
padding: 80px 28px 40px;
}
/* ─── 品牌区 ─── */
.login-brand {
display: flex;
flex-direction: column;
align-items: center;
margin-bottom: 56px;
}
.login-logo {
width: 80px;
height: 80px;
border-radius: 40px;
background: linear-gradient(135deg, var(--tk-pri-l) 0%, var(--tk-pri) 100%);
@include flex-center;
margin-bottom: 20px;
box-shadow: 0 4px 16px rgba($pri, 0.25);
}
.login-logo-letter {
font-family: 'Georgia', 'Times New Roman', serif;
font-size: 36px;
font-weight: 700;
color: $white;
line-height: 1;
}
.login-title {
font-family: 'Georgia', 'Times New Roman', serif;
font-size: var(--tk-font-h1);
font-weight: 700;
color: $tx;
margin-bottom: 8px;
}
.login-subtitle {
font-size: var(--tk-font-body-sm);
color: $tx3;
}
/* ─── 输入框 ─── */
.login-field {
height: 56px;
background: $card;
border: 1.5px solid $bd;
border-radius: $r;
display: flex;
align-items: center;
padding: 0 16px;
margin-bottom: 12px;
}
.login-input {
flex: 1;
height: 100%;
font-size: var(--tk-font-body);
color: $tx;
}
.login-placeholder {
color: $tx3;
font-size: var(--tk-font-body);
}
.login-eye {
font-size: var(--tk-font-body-sm);
color: var(--tk-pri);
font-weight: 500;
padding: 6px 0;
flex-shrink: 0;
}
/* ─── 登录按钮 ─── */
.login-submit {
height: 54px;
border-radius: $r;
background: var(--tk-pri);
@include flex-center;
margin-top: 12px;
margin-bottom: 16px;
box-shadow: 0 4px 16px rgba($pri, 0.3);
&:active {
opacity: var(--tk-touch-feedback-opacity);
}
}
.login-submit-text {
font-size: var(--tk-font-body-lg);
font-weight: 600;
color: $white;
}
/* ─── 分隔线 ─── */
.login-divider {
display: flex;
align-items: center;
gap: 16px;
margin-bottom: 16px;
}
.login-divider-line {
flex: 1;
height: 1px;
background: $bd-l;
}
.login-divider-text {
font-size: var(--tk-font-cap);
color: $tx3;
}
/* ─── 微信登录 ─── */
.login-wechat-btn {
height: 54px;
border-radius: $r;
background: $wechat;
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
margin-bottom: 24px;
&:active {
opacity: var(--tk-touch-feedback-opacity);
}
}
.login-wechat-icon {
font-size: var(--tk-font-body);
color: $white;
font-weight: bold;
}
.login-wechat-text {
font-size: var(--tk-font-body-lg);
font-weight: 600;
color: $white;
}
/* ─── 手机号绑定(微信登录后) ─── */
.login-bind-section {
width: 100%;
}
.login-btn-bind {
width: 100%;
height: 54px;
background: var(--tk-pri);
color: $white;
font-size: var(--tk-font-body-lg);
font-weight: 600;
border-radius: $r;
border: none;
@include flex-center;
box-shadow: 0 4px 16px rgba($pri, 0.25);
padding: 0;
line-height: 1;
&::after {
border: none;
}
}
/* ─── 协议 ─── */
.agreement-row {
display: flex;
align-items: flex-start;
gap: 10px;
}
.agreement-check {
width: 24px;
height: 24px;
border: 1.5px solid $bd;
border-radius: 6px;
@include flex-center;
flex-shrink: 0;
margin-top: 1px;
&.checked {
background: var(--tk-pri);
border-color: var(--tk-pri);
}
}
.agreement-check-mark {
font-size: var(--tk-font-body-sm);
color: $white;
font-weight: bold;
line-height: 1;
}
.agreement-text {
font-size: var(--tk-font-cap);
color: $tx3;
line-height: 1.8;
}
.agreement-link {
color: var(--tk-pri);
font-weight: 500;
}
/* ─── 开发模式 ─── */
.login-dev-btn {
text-align: center;
padding: 12px;
border: 1px dashed $bd;
border-radius: $r-sm;
margin-top: 16px;
&:active {
opacity: var(--tk-touch-feedback-opacity);
}
}
.login-dev-btn-text {
font-size: var(--tk-font-cap);
color: $tx3;
}