Files
past-go/weapp/pages/profile/profile.wxss
T
Blizzard 8be6d9b1ab feat: add account deletion, announcements and subscription renewal
Support personal records and persistent smoking visibility. Add upload quota preflight, file cleanup, privacy entry, image caching and revision-based page refresh across the backend, admin and mini program.
2026-11-03 22:06:47 +08:00

386 lines
9.7 KiB
Plaintext

/* pages/profile/profile.wxss */
@import '../../styles/common.wxss';
page { background: linear-gradient(180deg, #FDE4EC 0%, #FFF0F5 48%, #FFF7FA 100%); height: 100vh; overflow: hidden; }
.container { padding-top: 16rpx; padding-bottom: 300rpx; }
.page-root { height: 100vh; overflow: hidden; }
scroll-view.page-bg { height: 100vh; overflow-y: scroll; -webkit-overflow-scrolling: touch; }
/* 编辑卡全屏 */
.edit-root {
position: fixed;
top: 0; left: 0;
width: 100%; height: 100%;
z-index: 1000;
background: linear-gradient(180deg, #FFF0F5 0%, #F4E2E3 40%, #FAFAFA 100%);
display: flex;
flex-direction: column;
}
.edit-nav {
display: flex;
align-items: center;
padding: 100rpx 32rpx 24rpx;
}
.edit-body {
flex: 1;
padding: 0 56rpx;
overflow-y: auto;
}
.edit-avatar-wrap {
display: flex;
flex-direction: column;
align-items: center;
margin-bottom: 24rpx;
}
.edit-avatar-img,
.edit-avatar-placeholder {
width: 120rpx; height: 120rpx;
border-radius: 50%;
border: 4rpx solid #FFB4C8;
}
.edit-avatar-placeholder {
background: linear-gradient(135deg, #FF6B81, #B388FF);
display: flex; align-items: center; justify-content: center;
font-size: 40rpx; font-weight: 700; color: white;
}
.edit-avatar-hint {
font-size: 22rpx; color: #B74768; margin-top: 8rpx;
}
.edit-id {
font-size: 24rpx; color: #bbb;
text-align: center; display: block;
margin-bottom: 24rpx;
}
.input-group { margin-bottom: 20rpx; }
.input-group label {
font-size: 28rpx; font-weight: 500; color: #555;
display: block; margin-bottom: 8rpx;
}
.input {
padding: 20rpx 28rpx; font-size: 30rpx;
background: white;
border-radius: 16rpx;
border: 2rpx solid #F0E6FF;
}
.input-group.readonly .input.readonly-text {
background: #F8F4FF;
color: #666;
border-color: #E8DCF5;
padding: 20rpx 28rpx;
font-size: 30rpx;
border-radius: 16rpx;
border: 2rpx solid #E8DCF5;
line-height: 1.5;
min-height: 44rpx;
display: flex;
align-items: center;
}
.edit-footer {
padding: 20rpx 56rpx;
padding-bottom: calc(20rpx + env(safe-area-inset-bottom));
}
/* ===== 邀请绑定面板 ===== */
.invite-root {
position: fixed;
top: 0; left: 0;
width: 100%; height: 100%;
z-index: 1000;
background: #FFF5F5;
display: flex;
flex-direction: column;
}
.invite-nav {
position: fixed;
top: 0; left: 0; right: 0;
z-index: 1001;
height: 176rpx;
display: flex;
align-items: flex-end;
justify-content: space-between;
padding-bottom: 16rpx;
background: linear-gradient(to bottom, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0) 100%);
}
.invite-nav-title {
font-size: 32rpx;
font-weight: 600;
color: #333;
}
.invite-body {
flex: 1;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
}
/* 邀请页标签 */
.invite-tabs {
display: flex;
background: white;
border-radius: 100rpx;
padding: 8rpx;
margin-bottom: 48rpx;
box-shadow: 0 8rpx 32rpx rgba(0, 0, 0, 0.05);
}
.invite-tab {
flex: 1;
padding: 24rpx;
text-align: center;
border-radius: 100rpx;
font-size: 28rpx;
font-weight: 600;
transition: all 0.3s;
color: #888;
}
.invite-tab.active {
background: linear-gradient(135deg, #B74768, #B388FF);
color: white;
}
.invite-list {
display: flex;
flex-direction: column;
gap: 32rpx;
}
.invite-card {
background: white;
border-radius: 48rpx;
padding: 40rpx;
box-shadow: 0 8rpx 32rpx rgba(0, 0, 0, 0.05);
}
.invite-card-header {
display: flex;
align-items: center;
gap: 24rpx;
margin-bottom: 24rpx;
}
.invite-avatar {
width: 96rpx;
height: 96rpx;
border-radius: 50%;
background: linear-gradient(135deg, #B388FF, #82B1FF);
display: flex;
align-items: center;
justify-content: center;
font-size: 36rpx;
font-weight: 700;
color: white;
flex-shrink: 0;
}
.invite-info {
flex: 1;
}
.invite-name {
font-size: 30rpx;
font-weight: 600;
display: block;
}
.invite-time {
font-size: 26rpx;
color: #888;
display: block;
margin-top: 4rpx;
}
.invite-status {
padding: 8rpx 20rpx;
border-radius: 40rpx;
font-size: 24rpx;
flex-shrink: 0;
}
.invite-status.accepted {
background: #E8F5E9;
color: #4CAF50;
}
.invite-status.pending {
background: #FFF3E0;
color: #FF9800;
}
.invite-message {
font-size: 28rpx;
color: #4A4A4A;
padding: 24rpx;
background: #FFF8E7;
border-radius: 24rpx;
margin-bottom: 24rpx;
}
.invite-actions {
display: flex;
gap: 24rpx;
}
.invite-actions .btn {
flex: 1;
padding: 24rpx;
font-size: 28rpx;
}
.empty-tip {
text-align: center;
padding: 80rpx 0;
color: #888;
font-size: 26rpx;
}
/* 分享绑定弹窗 */
.auth-header {
text-align: center;
margin-bottom: 64rpx;
}
.auth-icon {
font-size: 112rpx;
margin-bottom: 32rpx;
display: block;
animation: bounce 2s ease-in-out infinite;
}
.auth-title {
font-size: 52rpx;
font-weight: 700;
color: #4A4A4A;
margin-bottom: 16rpx;
display: block;
background: linear-gradient(135deg, #B74768, #B388FF);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.auth-desc {
color: #888;
font-size: 28rpx;
display: block;
}
.btn-sm {
padding: 24rpx 32rpx;
font-size: 28rpx;
}
.btn-secondary {
background: white;
color: #B74768;
border: 4rpx solid #B74768;
}
.btn-secondary:active {
background: #F4E2E3;
}
.btn-outline {
background: transparent;
color: #B74768;
border: 4rpx solid #FFB4C8;
}
.btn-outline:active {
background: #F4E2E3;
}
@import '../../styles/design.wxss';
@import '../../styles/journal.wxss';
/* TA 资料编辑页的标题与滚动区域。 */
.partner-edit .edit-body { min-height: 0; padding-bottom: calc(40rpx + env(safe-area-inset-bottom)); }
.partner-nav-title { position: absolute; left: 120rpx; right: 120rpx; text-align: center; font-size: 32rpx; font-weight: 600; color: #342F2B; pointer-events: none; }
.partner-edit .readonly-text { white-space: pre-wrap; overflow-wrap: anywhere; }
/* 编辑内容独立滚动,底部保存区始终保留空间。 */
.edit-root > .edit-body { flex:1; height:0; min-height:0; box-sizing:border-box; padding-bottom:24rpx; }
.edit-root > .edit-footer { flex-shrink:0; box-sizing:border-box; }
.edit-footer > .btn { width:100%; margin:0; }
/* 个人页八宫格统计入口。 */
.profile-statistics { margin-top:32rpx; padding:28rpx 16rpx; background:#FFFDF8; border:1rpx solid #F1DCE4; border-radius:32rpx; }
.profile-stat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28rpx 6rpx; }
.profile-stat-item { min-width:0; display:flex; flex-direction:column; align-items:center; padding:8rpx 0; }
.profile-stat-icon { width:94rpx; height:94rpx; border-radius:30rpx; display:flex; align-items:center; justify-content:center; }
.profile-stat-icon image { width:58rpx; height:58rpx; }
.profile-stat-icon.pink { background:#FCE5ED; }.profile-stat-icon.yellow { background:#FFF3DC; }.profile-stat-icon.mint { background:#E5F5ED; }.profile-stat-icon.blue { background:#EAF0FD; }.profile-stat-icon.purple { background:#F1EAFB; }.profile-stat-icon.gray { background:#F0EFF2; }
.profile-stat-label { display:flex; flex-wrap:wrap; justify-content:center; align-items:baseline; gap:6rpx; margin-top:14rpx; font-family:'Kaiti SC','STKaiti','KaiTi',cursive; font-size:25rpx; line-height:1.5; color:#64424D; }
.profile-stat-count { font-family:-apple-system,BlinkMacSystemFont,sans-serif; font-size:19rpx; color:#A39386; }
.profile-stat-pressed { opacity:.65; }
.profile-stats-retry { text-align:center; color:#B74768; font-size:22rpx; padding:24rpx 0 0; }
/* 存储空间入口卡片。 */
.j-storage-card { margin-top:32rpx; padding:26rpx 30rpx; background:linear-gradient(135deg,#FFF7F9,#FBE8EF); border:1rpx solid #F1DCE4; border-radius:32rpx; }
.j-storage-top { display:flex; justify-content:space-between; align-items:baseline; }
.j-storage-label { font-family:'Kaiti SC','STKaiti','KaiTi',cursive; font-size:28rpx; color:#64424D; }
.j-storage-val { font-size:26rpx; font-weight:600; color:#B74768; }
.j-storage-bar { margin-top:18rpx; height:16rpx; background:#F5E9ED; border-radius:999rpx; overflow:hidden; }
.j-storage-fill { height:100%; background:linear-gradient(90deg,#FF9EB5,#B74768); border-radius:999rpx; transition:width .4s ease; }
.j-storage-bottom { margin-top:14rpx; display:flex; justify-content:space-between; align-items:center; }
.j-storage-hint { font-size:22rpx; color:#A39386; }
.j-storage-cta { font-size:24rpx; color:#B74768; font-weight:500; }
/* 延续玫粉色系,降低饱和度,深色文字保持清晰。 */
.j-storage-vip { background:linear-gradient(135deg,#F8D6E1,#E9A9BF); border:1rpx solid #E8B5C7; border-radius:32rpx; }
.j-storage-vip .j-storage-label { color:#6E3549; }
.j-storage-vip .j-storage-val.j-vip { color:#6E3549; font-size:28rpx; }
.j-storage-vip .j-storage-hint { color:#704052; }
.j-storage-vip .j-storage-cta { color:#6E3549; }
/* 本人与对方资料卡共用完整样式,整卡点击编辑。 */
.j-body > .j-profile-summary,
.j-body > .j-relation-card {
height:216rpx;
box-sizing:border-box;
display:flex;
align-items:center;
padding:24rpx 30rpx;
margin:20rpx 0 24rpx;
background:#FFFDF8;
border:1rpx solid #E9DDD0;
border-radius:12rpx 40rpx 12rpx 40rpx;
box-shadow:none;
}
.j-relation-card > .j-row { width:100%; gap:30rpx; }
.j-profile-summary .j-profile-name,
.j-relation-card .j-small-title {
display:block;
font-family:'Kaiti SC','STKaiti','KaiTi',cursive;
font-size:30rpx;
font-weight:400;
font-style:normal;
line-height:1.6;
color:#64424D;
overflow:hidden;
white-space:nowrap;
text-overflow:ellipsis;
}
.j-profile-summary .j-avatar,
.j-relation-card .j-avatar {
width:96rpx;
height:96rpx;
flex-shrink:0;
box-sizing:border-box;
border:6rpx solid #FFFDF8;
font-size:32rpx;
}
@import '../../styles/button-theme.wxss';
@import '../../styles/typography.wxss';