feat: ui update

This commit is contained in:
2026-09-15 16:01:59 +08:00
parent 1a11816839
commit 26c392d612
89 changed files with 10377 additions and 4861 deletions
+86 -130
View File
@@ -1,194 +1,150 @@
/** 登录:全屏纯白 + 居中线稿 Logo + 衬线品牌名 + 底部实心黑胶囊 **/
.login-page {
min-height: 100vh;
background: #fff;
background: var(--paper);
display: flex;
flex-direction: column;
box-sizing: border-box;
}
/* 顶部插画区 */
.hero {
/* 装饰线稿 */
.lg-hero {
position: relative;
height: 480rpx;
background: #E8F2FF;
border-radius: 0 0 48rpx 48rpx;
overflow: hidden;
width: 100%;
height: 340rpx;
flex-shrink: 0;
}
.hero-icon {
.lg-ic {
position: absolute;
color: #007AFF;
opacity: 0.85;
color: var(--ink-4);
}
.hero-1 { width: 140rpx; height: 140rpx; left: 60rpx; top: 120rpx; transform: rotate(-12deg); }
.hero-2 { width: 120rpx; height: 120rpx; right: 80rpx; top: 80rpx; transform: rotate(10deg); color: #5856D6; }
.hero-3 { width: 100rpx; height: 100rpx; left: 160rpx; top: 280rpx; transform: rotate(8deg); }
.hero-4 { width: 110rpx; height: 110rpx; right: 170rpx; top: 260rpx; transform: rotate(-6deg); color: #5856D6; }
.hero-5 { width: 70rpx; height: 70rpx; right: 60rpx; top: 340rpx; transform: rotate(15deg); }
.lg-ic1 { left: 5%; top: 12%; width: 60rpx; height: 60rpx; transform: rotate(-13deg); opacity: .52; }
.lg-ic2 { left: 27%; top: 62%; width: 42rpx; height: 42rpx; transform: rotate(9deg); opacity: .34; }
.lg-ic3 { right: 7%; top: 16%; width: 52rpx; height: 52rpx; transform: rotate(15deg); opacity: .46; }
.lg-ic4 { right: 24%; bottom: 4%; width: 40rpx; height: 40rpx; transform: rotate(-7deg); opacity: .3; }
.lg-ic5 { left: 13%; bottom: 8%; width: 34rpx; height: 34rpx; opacity: .28; }
/* 品牌区 */
.brand {
.lg-top {
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 0 64rpx;
padding: 0 64rpx 120rpx;
}
.brand-logo {
width: 128rpx;
height: 128rpx;
border-radius: 32rpx;
background: #007AFF;
color: #fff;
.lg-logo {
width: 124rpx;
height: 124rpx;
border-radius: 50%;
margin-bottom: 44rpx;
color: var(--ink);
box-shadow: inset 0 0 0 1rpx var(--hairline-2);
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 32rpx;
box-shadow: 0 16rpx 40rpx rgba(0, 122, 255, 0.25);
}
.brand-logo .icon {
width: 72rpx;
height: 72rpx;
.lg-logo .icon {
width: 54rpx;
height: 54rpx;
}
.brand-name {
font-size: 48rpx;
font-weight: 700;
color: #000;
.lg-name {
font-family: var(--serif);
font-size: 54rpx;
font-weight: 500;
letter-spacing: .08em;
text-indent: .08em;
line-height: 1.2;
}
.brand-slogan {
font-size: 28rpx;
color: #8E8E93;
margin-top: 16rpx;
.lg-slogan {
margin-top: 24rpx;
font-size: 26rpx;
color: var(--ink-2);
letter-spacing: .03em;
}
/* 底部 */
.login-footer {
padding: 0 64rpx;
padding-bottom: calc(64rpx + env(safe-area-inset-bottom));
}
.login-btn {
width: 100%;
.lg-foot {
padding: 0 56rpx calc(52rpx + env(safe-area-inset-bottom));
}
.wechat-icon {
width: 44rpx;
height: 44rpx;
margin-right: 12rpx;
background-color: #fff;
-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M9.5 3C5.36 3 2 5.69 2 9c0 1.87 1.03 3.54 2.62 4.65L4 16.5l3.27-1.72c.73.2 1.47.3 2.23.3h.5A6.2 6.2 0 0 1 9 12c0-3.3 3.36-6 7.5-6h.5A5.7 5.7 0 0 0 9.5 3z'/%3E%3Cpath d='M22 12c0-2.76-2.69-5-6-5s-6 2.24-6 5 2.69 5 6 5c.72 0 1.42-.1 2.06-.28L20.5 18l-.42-2.6c1.17-.88 1.92-2.06 1.92-3.4z'/%3E%3C/svg%3E") no-repeat center / 100% 100%;
mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M9.5 3C5.36 3 2 5.69 2 9c0 1.87 1.03 3.54 2.62 4.65L4 16.5l3.27-1.72c.73.2 1.47.3 2.23.3h.5A6.2 6.2 0 0 1 9 12c0-3.3 3.36-6 7.5-6h.5A5.7 5.7 0 0 0 9.5 3z'/%3E%3Cpath d='M22 12c0-2.76-2.69-5-6-5s-6 2.24-6 5 2.69 5 6 5c.72 0 1.42-.1 2.06-.28L20.5 18l-.42-2.6c1.17-.88 1.92-2.06 1.92-3.4z'/%3E%3C/svg%3E") no-repeat center / 100% 100%;
}
.agreement {
margin-top: 24rpx;
font-size: 22rpx;
color: #8E8E93;
.lg-terms {
margin-top: 28rpx;
text-align: center;
font-size: 22rpx;
line-height: 1.75;
color: var(--ink-3);
}
.link {
color: #007AFF;
.lg-terms .link {
color: var(--ink-2);
text-decoration: underline;
text-underline-offset: 6rpx;
text-decoration-thickness: 1rpx;
text-decoration-color: var(--ink-4);
}
/* 新手礼包弹窗 */
.gift-mask {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.5);
z-index: 300;
display: flex;
align-items: center;
justify-content: center;
}
.gift-card {
width: 560rpx;
max-height: 80vh;
overflow-y: auto;
background: #fff;
border-radius: 32rpx;
padding: 48rpx 40rpx 40rpx;
display: flex;
flex-direction: column;
align-items: center;
box-sizing: border-box;
}
.gift-badge {
width: 96rpx;
height: 96rpx;
/* 新手礼包 */
.lg-gift-ic {
width: 88rpx;
height: 88rpx;
border-radius: 50%;
background: linear-gradient(135deg, #FF9500, #FF2D55);
color: #fff;
margin: 0 auto 32rpx;
color: var(--ink);
box-shadow: inset 0 0 0 1rpx var(--hairline-2);
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 24rpx;
}
.gift-badge .icon {
width: 52rpx;
height: 52rpx;
}
.gift-title {
font-size: 36rpx;
font-weight: 700;
color: #000;
}
.gift-sub {
font-size: 24rpx;
color: #8E8E93;
margin-top: 8rpx;
margin-bottom: 32rpx;
}
.gift-list {
width: 100%;
margin-bottom: 40rpx;
}
.gift-item {
display: flex;
align-items: center;
padding: 22rpx 0;
border-bottom: 1rpx solid #F2F2F7;
}
.gift-item:last-child {
border-bottom: none;
}
.gift-item-icon {
.lg-gift-ic .icon {
width: 40rpx;
height: 40rpx;
color: #007AFF;
margin-right: 20rpx;
}
.lg-gift-list {
margin-top: 32rpx;
text-align: left;
}
.lg-gift-row {
display: flex;
align-items: center;
gap: 20rpx;
padding: 22rpx 0;
border-bottom: 1rpx solid var(--hairline);
}
.lg-gift-row:last-child {
border-bottom: 0;
}
.lg-gift-row .icon {
width: 32rpx;
height: 32rpx;
color: var(--ink-2);
flex-shrink: 0;
}
.gift-item-name {
.lg-gift-row .gn {
flex: 1;
font-size: 28rpx;
color: #000;
}
.gift-item-val {
font-size: 26rpx;
color: #8E8E93;
}
.gift-btn {
width: 100%;
.lg-gift-row .gv {
font-size: 24rpx;
color: var(--ink-3);
}