/* pages/distribution/index.wxss */ .container { min-height: 100vh; background: #f5f5f5; padding-bottom: 40rpx; } /* 头部样式 */ .header { background: linear-gradient(135deg, #FF4D4F, #FF7875); padding: 40rpx 30rpx; color: #fff; } .user-info { display: flex; align-items: center; margin-bottom: 30rpx; } .avatar-wrap { position: relative; margin-right: 20rpx; width: 120rpx; height: 120rpx; } .avatar { width: 120rpx; height: 120rpx; border-radius: 50%; border: 4rpx solid rgba(255, 255, 255, 0.3); background-color: #f5f5f5; object-fit: cover; } .level { position: absolute; bottom: -6rpx; left: 50%; transform: translateX(-50%); background: #FFD700; color: #333; font-size: 20rpx; padding: 4rpx 12rpx; border-radius: 20rpx; z-index: 1; white-space: nowrap; } .info .nickname { font-size: 32rpx; font-weight: bold; margin-bottom: 10rpx; } .info .id { font-size: 24rpx; opacity: 0.8; } .level-progress { background: rgba(255, 255, 255, 0.1); border-radius: 12rpx; padding: 20rpx; } .progress-info { display: flex; justify-content: space-between; font-size: 24rpx; margin-bottom: 15rpx; } .progress-bar { height: 6rpx; background: rgba(255, 255, 255, 0.2); border-radius: 3rpx; } .progress { height: 100%; background: #FFD700; border-radius: 3rpx; transition: width 0.3s; } /* 收益面板 */ .earnings-panel { background: #fff; margin: 20rpx; border-radius: 12rpx; padding: 30rpx; } .total-earnings { text-align: center; margin-bottom: 30rpx; } .total-earnings .amount { font-size: 48rpx; color: #ff4d4f; font-weight: bold; margin-bottom: 10rpx; } .total-earnings .label { font-size: 24rpx; color: #666; } .earnings-grid { display: flex; justify-content: space-between; } .earnings-grid .grid-item { flex: 1; text-align: center; } .earnings-grid .amount { font-size: 32rpx; color: #333; font-weight: bold; margin-bottom: 10rpx; } .earnings-grid .label { font-size: 24rpx; color: #666; } /* 推广数据面板 */ .promotion-panel { background: #fff; border-radius: 16rpx; margin: 20rpx; padding: 30rpx; } .panel-title { font-size: 32rpx; color: #333; font-weight: 500; margin-bottom: 30rpx; } .promotion-grid { display: flex; flex-direction: column; gap: 20rpx; } .grid-row { display: flex; gap: 20rpx; } .grid-item { flex: 1; background: #f8f8f8; border-radius: 12rpx; padding: 24rpx; display: flex; flex-direction: column; gap: 12rpx; } .item-main { display: flex; align-items: center; gap: 8rpx; } .amount { font-size: 36rpx; color: #333; font-weight: 600; } .amount.highlight { font-size: 44rpx; } .compare-line { display: flex; align-items: center; gap: 8rpx; } .trend { display: inline-flex; align-items: center; font-size: 24rpx; padding: 4rpx 8rpx; border-radius: 8rpx; white-space: nowrap; } .trend.up { color: #ff4d4f; background: rgba(255, 77, 79, 0.1); } .trend.down { color: #52c41a; background: rgba(82, 196, 26, 0.1); } .trend-icon { display: inline-block; width: 0; height: 0; border: 6rpx solid transparent; margin-right: 4rpx; } .trend.up .trend-icon { border-bottom: 8rpx solid #ff4d4f; margin-top: -4rpx; } .trend.down .trend-icon { border-top: 8rpx solid #52c41a; margin-bottom: -4rpx; } .label { font-size: 26rpx; color: #666; line-height: 1.4; } .compare { font-size: 22rpx; color: #999; line-height: 1.2; } /* 深色模式 */ @media (prefers-color-scheme: dark) { .promotion-panel { background: #2a2a2a; } .panel-title { color: #fff; } .grid-item { background: #1f1f1f; } .amount { color: #fff; } .label { color: #999; } .compare { color: #666; } } /* 图表区域 */ .chart-tabs { display: flex; justify-content: space-around; padding: 20rpx 0; border-bottom: 2rpx solid #f5f5f5; margin-top: 30rpx; } .tab-item { font-size: 28rpx; color: #666; padding: 10rpx 20rpx; position: relative; } .tab-item.active { color: #ff4d4f; font-weight: 500; } .tab-item.active::after { content: ''; position: absolute; bottom: -12rpx; left: 50%; transform: translateX(-50%); width: 40rpx; height: 4rpx; background: #ff4d4f; border-radius: 2rpx; } .chart-container { width: 100%; height: 400rpx; margin-top: 20rpx; } ec-canvas { width: 100%; height: 100%; } /* 推广工具 */ .tools-panel { background: #fff; margin: 20rpx; border-radius: 12rpx; padding: 30rpx; } .tools-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20rpx; } .tool-item { display: flex; flex-direction: column; align-items: center; } .tool-icon { width: 80rpx; height: 80rpx; margin-bottom: 10rpx; } .tool-item text { font-size: 24rpx; color: #666; } /* 等级说明 */ .level-panel { background: #fff; margin: 20rpx; border-radius: 12rpx; padding: 30rpx; } .panel-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 30rpx; } .panel-header .title { font-size: 30rpx; color: #333; font-weight: bold; } .panel-header .more { display: flex; align-items: center; font-size: 24rpx; color: #999; } .more .icon-right { font-size: 24rpx; margin-left: 4rpx; } .level-list .level-item { background: #f8f8f8; border-radius: 8rpx; padding: 20rpx; margin-bottom: 20rpx; } .level-item.current { background: #FFF7F7; border: 1rpx solid #ffccc7; } .level-name { display: flex; align-items: center; margin-bottom: 10rpx; } .level-name .name { font-size: 28rpx; color: #333; font-weight: bold; } .level-name .tag { font-size: 20rpx; color: #ff4d4f; border: 1rpx solid #ff4d4f; padding: 2rpx 10rpx; border-radius: 20rpx; margin-left: 10rpx; } .level-info { font-size: 24rpx; color: #666; margin-bottom: 10rpx; } .level-info .divider { margin: 0 10rpx; color: #ddd; } .requirement { font-size: 24rpx; color: #999; }