/* pages/merchant-dispatch/merchant-dispatch.wxss - 黑金升级版 + 背景图由js动态拼接 */ page { background-color: #0a0a0f; } .page-container { min-height: 100vh; /* 背景图通过内联 style 动态设置,此处不再写死 */ background-size: cover; background-position: center; background-attachment: fixed; position: relative; padding: 30rpx; box-sizing: border-box; padding-bottom: 140rpx; } /* 半透明遮罩增强文字可读性 - 不使用通配符 */ .page-container::before { content: ''; position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(10, 10, 15, 0.75); backdrop-filter: blur(6rpx); z-index: 0; pointer-events: none; } /* 所有直接子元素手动提升层级(替代 * 选择器) */ .balance-card, .section, .form-container, .btn-container, .loading-mask { position: relative; z-index: 1; } /* 余额卡片 - 黑金风格 */ .balance-card { background: linear-gradient(135deg, rgba(20,20,30,0.95), rgba(30,30,50,0.95)); border-radius: 24rpx; padding: 36rpx; margin-bottom: 40rpx; color: #fff; box-shadow: 0 15rpx 35rpx rgba(0,0,0,0.4), 0 0 40rpx rgba(0,180,255,0.15); text-align: center; border: 1.5rpx solid rgba(0,180,255,0.2); backdrop-filter: blur(10rpx); overflow: hidden; } .balance-card::before { content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: linear-gradient(45deg, transparent 30%, rgba(0,180,255,0.1) 50%, transparent 70%); animation: cardShine 6s infinite linear; z-index: 1; } @keyframes cardShine { 0% { transform: translateX(-100%) translateY(-100%) rotate(45deg); } 100% { transform: translateX(100%) translateY(100%) rotate(45deg); } } .balance-label { font-size: 28rpx; color: rgba(255,255,255,0.8); margin-bottom: 18rpx; font-weight: 500; position: relative; z-index: 2; } .balance-amount { display: flex; align-items: baseline; justify-content: center; margin-bottom: 15rpx; position: relative; z-index: 2; } .amount-value { font-size: 64rpx; font-weight: bold; color: #FFD700; text-shadow: 0 0 20rpx rgba(255,215,0,0.7); animation: amountGlow 3s infinite alternate; } @keyframes amountGlow { 0% { color: #FFD700; text-shadow: 0 0 15rpx rgba(255,215,0,0.6); } 100% { color: #FFE44D; text-shadow: 0 0 25rpx rgba(255,215,0,0.9); } } .amount-unit { font-size: 36rpx; color: #FFD700; margin-left: 12rpx; font-weight: 500; } .balance-tip { font-size: 24rpx; color: rgba(255,255,255,0.6); position: relative; z-index: 2; } /* 区域标题 */ .section { margin-bottom: 35rpx; } .section-title { font-size: 32rpx; font-weight: 700; color: #FFFFFF; margin-bottom: 25rpx; padding-left: 12rpx; border-left: 6rpx solid #9C27B0; text-shadow: 0 2rpx 4rpx rgba(0,0,0,0.3); } /* 商品类型横向滚动 */ .type-scroll { white-space: nowrap; display: flex; height: 90rpx; } .type-item { display: inline-flex; flex-shrink: 0; align-items: center; justify-content: center; height: 85rpx; padding: 0 40rpx; margin-right: 20rpx; background: rgba(255,255,255,0.08); border-radius: 45rpx; border: 2rpx solid rgba(255,255,255,0.15); font-size: 28rpx; color: rgba(255,255,255,0.8); transition: all 0.3s cubic-bezier(0.175,0.885,0.32,1.275); backdrop-filter: blur(10rpx); } .type-active { background: linear-gradient(135deg, #9C27B0 0%, #673AB7 100%); border-color: #9C27B0; color: white; transform: scale(1.05); box-shadow: 0 10rpx 25rpx rgba(156,39,176,0.4); } .type-text { max-width: 220rpx; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 500; } /* 表单容器 - 玻璃态 */ .form-container { background: rgba(30,30,45,0.85); backdrop-filter: blur(20rpx); border-radius: 30rpx; padding: 30rpx; box-shadow: 0 10rpx 30rpx rgba(0,0,0,0.3); border: 1.5rpx solid rgba(255,255,255,0.1); margin-bottom: 40rpx; } .form-item { margin-bottom: 35rpx; position: relative; } .form-item:last-child { margin-bottom: 0; } .form-label { font-size: 30rpx; font-weight: 600; color: rgba(255,255,255,0.9); display: block; margin-bottom: 15rpx; } .form-label.required::after { content: '*'; color: #ff4444; margin-left: 8rpx; } .form-input { width: 100%; height: 80rpx; background: rgba(255,255,255,0.1); border-radius: 16rpx; padding: 0 25rpx; font-size: 28rpx; color: #FFFFFF; border: 2rpx solid rgba(255,255,255,0.2); box-sizing: border-box; transition: all 0.3s; } .form-input:focus { border-color: #9C27B0; background: rgba(255,255,255,0.15); } .word-count { position: absolute; right: 0; top: 0; font-size: 24rpx; color: rgba(255,255,255,0.5); } .price-tip { font-size: 24rpx; color: rgba(255,255,255,0.5); margin-top: 10rpx; display: block; } .picker-view { background: rgba(255,255,255,0.1); border-radius: 16rpx; padding: 20rpx 25rpx; border: 2rpx solid rgba(255,255,255,0.2); color: rgba(255,255,255,0.9); font-size: 28rpx; } .commission-item { display: flex; align-items: center; flex-wrap: wrap; gap: 20rpx; } .commission-item .form-label { width: 100%; margin-bottom: 10rpx; } .commission-input { flex: 1; background: rgba(255,255,255,0.1); border-radius: 16rpx; padding: 20rpx; color: #fff; border: 2rpx solid rgba(255,255,255,0.2); font-size: 28rpx; } /* 提交按钮区域 */ .btn-container { position: fixed; bottom: 0; left: 0; right: 0; background: linear-gradient(to top, rgba(10,10,15,0.95), transparent); padding: 30rpx; box-sizing: border-box; z-index: 9999; } .submit-btn { background: linear-gradient(135deg, #ff4444 0%, #cc0000 100%); border-radius: 50rpx; height: 90rpx; display: flex; align-items: center; justify-content: center; box-shadow: 0 10rpx 30rpx rgba(255,68,68,0.3); transition: all 0.3s; position: relative; overflow: hidden; } .submit-btn::after { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent); animation: shine 2s infinite; } .btn-hover { transform: translateY(-2rpx); box-shadow: 0 15rpx 40rpx rgba(255,68,68,0.4); } .btn-disabled { opacity: 0.6; filter: grayscale(0.3); pointer-events: none; } .btn-text { font-size: 36rpx; font-weight: bold; color: white; letter-spacing: 4rpx; position: relative; z-index: 2; } @keyframes shine { 0% { left: -100%; } 100% { left: 100%; } } /* 加载遮罩 */ .loading-mask { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,0.8); display: flex; align-items: center; justify-content: center; z-index: 10000; } .loading-content { background: rgba(40,40,60,0.95); padding: 60rpx 80rpx; border-radius: 30rpx; display: flex; flex-direction: column; align-items: center; box-shadow: 0 25rpx 70rpx rgba(0,0,0,0.6); } .loading-spinner { width: 90rpx; height: 90rpx; border: 8rpx solid rgba(0,180,255,0.2); border-top: 8rpx solid #00B4FF; border-radius: 50%; animation: spin 1.2s linear infinite; margin-bottom: 35rpx; } .loading-text { font-size: 30rpx; color: #00B4FF; font-weight: 600; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } /* ========== 教程按钮样式(修改后:右上角,更大更显眼) ========== */ .tutorial-btn { position: fixed; right: 0; top: 20%; /* 右上区域,不再是垂直居中 */ transform: translateY(-50%); width: 120rpx; /* 增大宽度 */ height: 120rpx; /* 增大高度 */ background: rgba(0, 0, 0, 0.75); backdrop-filter: blur(15rpx); border-radius: 60rpx 0 0 60rpx; display: flex; align-items: center; justify-content: center; z-index: 10001; box-shadow: -8rpx 0 20rpx rgba(0,0,0,0.3); transition: right 0.3s ease-out; border: 2rpx solid rgba(255,215,0,0.5); border-right: none; } .tutorial-btn-text { color: #FFD700; font-size: 36rpx; /* 文字更大 */ font-weight: bold; writing-mode: vertical-rl; letter-spacing: 6rpx; } .tutorial-btn-hidden { right: -80rpx; /* 缩进后只露出约40rpx边缘 */ } .tutorial-btn-hover { background: rgba(0, 0, 0, 0.9); transform: translateY(-50%) scale(1.05); }