Files
Mycontent/miniprogram/pages/avatar-nickname/avatar-nickname.wxss
乘风 c78a0d531f feat: enhance login modal and avatar selection process
- Updated the login modal to include a user agreement section with clickable links to the user agreement and privacy policy.
- Improved button styling and layout for better user experience.
- Refactored avatar selection process to utilize local image paths, enhancing compatibility and reliability across different environments.
- Added utility functions for resolving avatar file paths and selecting images from the gallery or camera.

This update aims to streamline user interactions during login and avatar selection, ensuring a smoother experience.
2026-05-06 17:21:10 +08:00

341 lines
6.3 KiB
Plaintext
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.

/* 卡若创业派对 - 头像与昵称设置页 */
.page {
background: #050B14;
min-height: 100vh;
color: #fff;
width: 100%;
box-sizing: border-box;
}
.nav-bar {
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 100;
display: flex;
align-items: center;
justify-content: space-between;
height: 44px;
padding: 0 24rpx;
background: rgba(5, 11, 20, 0.9);
backdrop-filter: blur(8rpx);
border-bottom: 1rpx solid rgba(255, 255, 255, 0.08);
}
.nav-back {
width: 60rpx;
padding: 16rpx 0;
}
.back-icon {
font-size: 44rpx;
color: #5EEAD4;
}
.nav-title {
font-size: 36rpx;
font-weight: 600;
}
.nav-placeholder {
width: 60rpx;
}
.content {
padding: 32rpx 24rpx;
box-sizing: border-box;
}
.guide-card {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
padding: 48rpx 32rpx;
background: rgba(94, 234, 212, 0.08);
border: 1rpx solid rgba(94, 234, 212, 0.25);
border-radius: 24rpx;
margin-bottom: 48rpx;
}
.guide-icon {
font-size: 64rpx;
margin-bottom: 16rpx;
}
.guide-title {
font-size: 36rpx;
font-weight: 700;
color: #5EEAD4;
margin-bottom: 12rpx;
}
.guide-badge {
margin-bottom: 10rpx;
padding: 6rpx 16rpx;
font-size: 20rpx;
color: #22d3ee;
border-radius: 999rpx;
border: 1rpx solid rgba(34, 211, 238, 0.4);
background: rgba(34, 211, 238, 0.1);
}
.guide-desc {
font-size: 26rpx;
color: rgba(148, 163, 184, 0.95);
line-height: 1.5;
}
.guide-desc-sub {
margin-top: 8rpx;
color: rgba(148, 163, 184, 0.85);
font-size: 24rpx;
}
.avatar-section {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
gap: 32rpx;
margin-bottom: 48rpx;
}
.avatar-section.section-focus .avatar-wrap {
box-shadow: 0 0 0 6rpx rgba(94, 234, 212, 0.45), 0 0 36rpx rgba(94, 234, 212, 0.45);
}
.form-section.section-focus .form-input-wrap {
border-color: rgba(94, 234, 212, 0.55);
box-shadow: 0 0 0 2rpx rgba(94, 234, 212, 0.25);
}
/* 头像点击区view + chooseMedia原 chooseAvatar button */
.avatar-wrap-btn {
display: flex; align-items: center; justify-content: center;
padding: 0; margin: 0; background: transparent;
width: 192rpx; height: 192rpx; border-radius: 50%; overflow: visible;
flex-shrink: 0;
}
.avatar-wrap {
position: relative;
width: 192rpx;
height: 192rpx;
border-radius: 50%;
border: 4rpx solid #5EEAD4;
box-shadow: 0 0 30rpx rgba(94, 234, 212, 0.3);
}
.avatar-inner {
position: relative;
width: 100%;
height: 100%;
border-radius: 50%;
overflow: hidden;
}
.avatar-img {
width: 100%;
height: 100%;
display: block;
}
.avatar-placeholder {
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
font-size: 72rpx;
font-weight: bold;
color: #5EEAD4;
background: rgba(94, 234, 212, 0.2);
}
/* 无头像时占位层,避免圆内误显为「已有头像」 */
.avatar-native-mask {
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
z-index: 10;
box-sizing: border-box;
background: rgba(5, 11, 20, 0.98);
}
.avatar-camera {
position: absolute;
bottom: -8rpx;
right: -8rpx;
width: 56rpx;
height: 56rpx;
background: #5EEAD4;
color: #000;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 28rpx;
border: 4rpx solid #050B14;
box-sizing: border-box;
}
.avatar-change {
font-size: 28rpx;
color: #5EEAD4;
font-weight: 500;
}
.form-section {
margin-bottom: 32rpx;
}
.form-label {
display: block;
font-size: 24rpx;
color: #94A3B8;
margin-bottom: 12rpx;
margin-left: 8rpx;
}
.form-input-wrap {
padding: 24rpx 32rpx;
background: #17212F;
border: 1rpx solid rgba(255, 255, 255, 0.08);
border-radius: 24rpx;
box-sizing: border-box;
}
.form-input-inner {
width: 100%;
font-size: 28rpx;
color: #fff;
background: transparent;
box-sizing: border-box;
display: block;
}
.input-tip {
margin-top: 8rpx;
font-size: 22rpx;
color: #94A3B8;
margin-left: 8rpx;
display: block;
}
.save-btn {
width: 100%;
height: 96rpx;
line-height: 96rpx;
text-align: center;
background: #5EEAD4;
color: #050B14;
font-size: 36rpx;
font-weight: bold;
border-radius: 24rpx;
margin-top: 24rpx;
margin-bottom: 32rpx;
}
.save-btn[disabled] {
opacity: 0.6;
}
.save-btn-disabled {
opacity: 0.45;
}
.required-mark {
color: #f87171;
margin-left: 4rpx;
}
.form-label-row {
display: block;
font-size: 24rpx;
color: #94a3b8;
margin-bottom: 16rpx;
margin-left: 8rpx;
}
.link-row {
display: flex;
align-items: center;
justify-content: center;
gap: 8rpx;
padding: 24rpx;
}
.link-text {
font-size: 28rpx;
color: #94A3B8;
}
.link-arrow {
font-size: 28rpx;
color: #5EEAD4;
}
/* 头像弹窗 */
.modal-overlay {
position: fixed;
inset: 0;
background: rgba(0, 0, 0, 0.6);
backdrop-filter: blur(16rpx);
display: flex;
align-items: center;
justify-content: center;
z-index: 1000;
padding: 48rpx;
box-sizing: border-box;
}
.modal-content {
width: 100%;
max-width: 640rpx;
background: #0b1220;
border-radius: 32rpx;
padding: 48rpx;
position: relative;
box-sizing: border-box;
}
.modal-close {
position: absolute;
top: 24rpx;
right: 24rpx;
width: 56rpx;
height: 56rpx;
border-radius: 50%;
background: rgba(255, 255, 255, 0.08);
display: flex;
align-items: center;
justify-content: center;
font-size: 28rpx;
color: rgba(255, 255, 255, 0.7);
}
.avatar-modal-title {
display: block;
font-size: 36rpx;
font-weight: 700;
text-align: center;
margin-bottom: 12rpx;
}
.avatar-modal-desc {
display: block;
font-size: 26rpx;
color: #94A3B8;
text-align: center;
margin-bottom: 32rpx;
}
.btn-choose-avatar {
width: 100%;
height: 88rpx;
margin: 0;
padding: 0;
display: flex;
align-items: center;
justify-content: center;
background: #5EEAD4;
color: #050B14;
font-size: 30rpx;
font-weight: 600;
border-radius: 44rpx;
border: none;
}
.btn-choose-avatar::after {
border: none;
}
.btn-choose-album {
width: 100%;
height: 88rpx;
margin-top: 24rpx;
display: flex;
align-items: center;
justify-content: center;
background: rgba(94, 234, 212, 0.15);
color: #5EEAD4;
font-size: 30rpx;
font-weight: 600;
border-radius: 44rpx;
border: 2rpx solid #5EEAD4;
}
.avatar-modal-cancel {
margin-top: 24rpx;
text-align: center;
font-size: 28rpx;
color: #9CA3AF;
}