/* 首页 - 深色主题信息流样式 */ .home-page { display: flex; flex-direction: column; min-height: 100vh; background-color: #0d0d0d; } /* ====== 顶部标题栏 ====== */ /* ====== 滚动内容区 ====== */ .content-scroll { flex: 1; height: calc(100vh - 180rpx); } /* ====== 时间分隔线 ====== */ .time-divider { display: flex; justify-content: center; padding: 28rpx 0 20rpx; } .time-text { font-size: 24rpx; color: #666666; letter-spacing: 1rpx; } /* ====== 轮播Banner ====== */ .banner-swiper { margin: 0 24rpx 24rpx; height: 320rpx; border-radius: 20rpx; overflow: hidden; } .banner-item { width: 100%; height: 100%; background-size: cover; background-position: center; background-repeat: no-repeat; border-radius: 20rpx; position: relative; /* 默认蓝色渐变背景(当图片未加载时) */ background-image: linear-gradient(135deg, #1890ff 0%, #0958d9 50%, #0050b3 100%); display: flex; align-items: flex-end; padding: 40rpx 36rpx; } .banner-red-item { /* 红色渐变背景 */ background-image: linear-gradient(135deg, #cf1322 0%, #a8071a 50%, #820014 100%); } .banner-content { position: relative; z-index: 2; width: 100%; } .banner-tag-row { margin-bottom: 12rpx; } .banner-tag { display: inline-block; background: rgba(255,255,255,0.25); color: white; font-size: 22rpx; padding: 6rpx 18rpx; border-radius: 8rpx; backdrop-filter: blur(10rpx); } .banner-title { display: block; font-size: 34rpx; font-weight: bold; color: #ffffff; line-height: 1.4; letter-spacing: 1rpx; text-shadow: 0 2rpx 8rpx rgba(0,0,0,0.3); } .banner-white-title { font-size: 38rpx; } .banner-desc { display: block; font-size: 26rpx; color: rgba(255,255,255,0.9); margin-top: 8rpx; line-height: 1.4; } .banner-decoration { font-size: 72rpx; font-weight: 900; color: rgba(255,215,0,0.85); letter-spacing: 8rpx; margin-bottom: 8rpx; text-shadow: 0 0 20rpx rgba(255,215,0,0.5), 2rpx 2rpx 0 rgba(139,0,0,0.5); } /* ====== 信息流卡片列表 ====== */ .news-list { padding: 0 24rpx; } .news-card { display: flex; align-items: center; justify-content: space-between; background-color: #1a1a1a; border-radius: 16rpx; padding: 28rpx 24rpx; margin-bottom: 20rpx; transition: all 0.25s ease; } .news-card:active { transform: scale(0.98); background-color: #222222; } .card-main { flex: 1; margin-right: 20rpx; overflow: hidden; } .card-category { font-size: 22rpx; color: #888888; margin-bottom: 10rpx; font-weight: 500; } .card-title { font-size: 29rpx; color: #e8e8e8; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; word-break: break-all; } /* ====== 标签徽章 ====== */ .card-tag { flex-shrink: 0; width: 96rpx; height: 96rpx; border-radius: 16rpx; display: flex; align-items: center; justify-content: center; writing-mode: vertical-lr; letter-spacing: 6rpx; } .tag-blue { background: linear-gradient(145deg, #1677ff, #0958d9); } .tag-cyan { background: linear-gradient(145deg, #13c2c2, #08979c); } .tag-red { background: linear-gradient(145deg, #f5222d, #cf1322); } .tag-purple { background: linear-gradient(145deg, #722ed1, #531dab); } .tag-green { background: linear-gradient(145deg, #52c41a, #389e0d); } .tag-text { font-size: 24rpx; font-weight: bold; color: #ffffff; line-height: 1.2; } /* ====== 底部占位(给自定义TabBar留空间)====== */ .bottom-placeholder { height: 120rpx; } /* ====== 登录弹窗 ====== */ .login-modal { position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; } .modal-mask { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0,0,0,0.75); } .modal-content { position: relative; width: 600rpx; background: linear-gradient(180deg, #222222 0%, #1a1a1a 100%); border-radius: 32rpx; padding: 60rpx 48rpx; z-index: 2; text-align: center; } .modal-header { margin-bottom: 48rpx; } .modal-title { display: block; font-size: 36rpx; font-weight: bold; color: #ffffff; margin-bottom: 16rpx; } .modal-subtitle { display: block; font-size: 26rpx; color: #999999; } .modal-login-btn { width: 100%; height: 96rpx; background: linear-gradient(135deg, #07c160 0%, #06ae56 100%); color: white; border: none; border-radius: 48rpx; font-size: 32rpx; font-weight: 600; display: flex; align-items: center; justify-content: center; box-shadow: 0 8rpx 24rpx rgba(7,193,96,0.35); transition: all 0.3s ease; margin-bottom: 24rpx; } .modal-login-btn:active { transform: scale(0.97); opacity: 0.92; } .modal-cancel { font-size: 28rpx; color: #888888; } /* ====== 用户信息显示区域 ====== */ .user-info-section { margin: 0 24rpx 24rpx; background-color: #1a1a1a; border-radius: 16rpx; overflow: hidden; } .user-info-header { background: linear-gradient(135deg, #1677ff 0%, #0958d9 100%); padding: 20rpx 24rpx; } .user-info-title { font-size: 28rpx; font-weight: 600; color: #ffffff; } .user-info-content { padding: 24rpx; } .user-info-text { font-size: 26rpx; color: #e8e8e8; line-height: 1.6; white-space: pre-wrap; word-break: break-all; margin-bottom: 20rpx; } .get-phone-btn { width: 100%; height: 80rpx; background: linear-gradient(135deg, #07c160 0%, #06ae56 100%); color: white; border: none; border-radius: 8rpx; font-size: 28rpx; font-weight: 600; margin-top: 20rpx; display: flex; align-items: center; justify-content: center; } .get-phone-btn:active { opacity: 0.9; transform: scale(0.98); } .open-data-info { display: flex; align-items: center; margin-bottom: 20rpx; } .open-data-info open-data { margin-right: 20rpx; } .open-data-info open-data[type="userAvatarUrl"] { width: 80rpx; height: 80rpx; border-radius: 50%; display: block; } .open-data-info open-data[type="userNickName"] { font-size: 32rpx; font-weight: 600; color: #ffffff; } .login-btn { width: 100%; height: 80rpx; background: linear-gradient(135deg, #1677FF 0%, #0C66E4 100%); color: white; border: none; border-radius: 8rpx; font-size: 28rpx; font-weight: 600; margin-top: 20rpx; display: flex; align-items: center; justify-content: center; box-shadow: 0 4rpx 12rpx rgba(22, 119, 255, 0.3); transition: all 0.3s ease; } .login-btn:active { opacity: 0.9; transform: scale(0.98); } /* ====== 用户信息卡片 ====== */ .user-card { margin: 0 24rpx 24rpx; background-color: #1a1a1a; border-radius: 20rpx; padding: 28rpx 28rpx 24rpx; } .user-card-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 24rpx; } .user-card-title { font-size: 30rpx; font-weight: bold; color: #e8e8e8; } .user-card-subtitle { font-size: 22rpx; color: #888888; } .user-card-subtitle.status-ok { color: #52c41a; } /* 头像+昵称行 */ .user-profile-row { display: flex; align-items: flex-start; margin-bottom: 24rpx; padding-bottom: 24rpx; border-bottom: 1rpx solid #2a2a2a; } .avatar-wrap { width: 80rpx; height: 80rpx; border-radius: 50%; overflow: hidden; background-color: #2a2a2a; margin-right: 20rpx; flex-shrink: 0; display: flex; align-items: center; justify-content: center; } .open-avatar { width: 80rpx; height: 80rpx; } .open-avatar-large { width: 100rpx; height: 100rpx; } .user-basic-info { flex: 1; } /* 信息列表 */ .info-list { margin-bottom: 20rpx; } .info-row { display: flex; align-items: center; padding: 14rpx 0; border-bottom: 1rpx solid #222222; } .info-row:last-child { border-bottom: none; } .info-label { width: 140rpx; font-size: 26rpx; color: #888888; flex-shrink: 0; } .info-value { flex: 1; font-size: 26rpx; color: #e8e8e8; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .info-value.hint { color: #666666; font-style: italic; } .info-value受限 { flex: 1; font-size: 26rpx; color: #555555; font-style: italic; } .info-status { font-size: 24rpx; margin-left: 16rpx; flex-shrink: 0; } .info-status.ok { color: #52c41a; } .info-status.error { color: #666666; } /* 手机号按钮 */ .phone-btn-wrap { margin-top: 16rpx; } .phone-btn { width: 100%; height: 80rpx; background: linear-gradient(135deg, #1677ff, #0958d9); color: #ffffff; font-size: 28rpx; font-weight: bold; border-radius: 40rpx; display: flex; align-items: center; justify-content: center; border: none; } .phone-btn::after { border: none; } .phone-btn-done { text-align: center; font-size: 24rpx; color: #52c41a; padding: 16rpx 0; } /* 未登录状态 */ .not-logged-in { display: flex; flex-direction: column; align-items: center; } .open-data-info { width: 100rpx; height: 100rpx; border-radius: 50%; overflow: hidden; background-color: #2a2a2a; margin-bottom: 20rpx; display: flex; align-items: center; justify-content: center; } .not-logged-hint { font-size: 24rpx; color: #666666; margin-bottom: 24rpx; text-align: center; } .login-btn { width: 100%; height: 80rpx; background: linear-gradient(135deg, #1677ff, #0958d9); color: #ffffff; font-size: 28rpx; font-weight: bold; border-radius: 40rpx; display: flex; align-items: center; justify-content: center; border: none; margin-top: 8rpx; } .login-btn::after { border: none; } .login-btn:active { opacity: 0.9; }