/* pages/seller/index.wxss */ /* 全局样式重置 */ page { background-color: #f5f7fa; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; } /* 主色调定义 */ :root { --primary-color: #1677ff; --success-color: #52c41a; --warning-color: #faad14; --error-color: #f5222d; --text-primary: #333333; --text-secondary: #666666; --text-tertiary: #999999; --border-color: #e8e8e8; --background-color: #ffffff; --light-background: #f5f7fa; --shadow-sm: 0 2rpx 8rpx rgba(0, 0, 0, 0.08); --shadow-md: 0 4rpx 16rpx rgba(0, 0, 0, 0.12); --shadow-lg: 0 8rpx 32rpx rgba(0, 0, 0, 0.16); --border-radius-sm: 8rpx; --border-radius-md: 12rpx; --border-radius-lg: 16rpx; --transition: all 0.3s ease; } /* 容器样式优化 */ .container { background-color: var(--light-background); min-height: 100vh; } /* 页面标题样式 */ .title { font-size: 40rpx; font-weight: 700; color: var(--text-primary); margin-bottom: 24rpx; } /* 立体玻璃质感按钮基础样式 */ .glass-btn { position: relative; overflow: hidden; border: none; padding: 28rpx 40rpx; font-size: 32rpx; font-weight: 600; border-radius: var(--border-radius-lg); box-shadow: var(--shadow-md); text-shadow: 0 2rpx 4rpx rgba(0, 0, 0, 0.2); transition: var(--transition); background: rgba(255, 255, 255, 0.8); backdrop-filter: blur(10rpx); -webkit-backdrop-filter: blur(10rpx); white-space: nowrap; width: auto; min-width: 80%; text-align: center; } /* 按压效果 */ .glass-btn:active { transform: translateY(2rpx); box-shadow: var(--shadow-sm); } /* 主按钮 - 蓝色玻璃效果 */ .primary-glass-btn { background: linear-gradient(135deg, var(--primary-color), #4096ff); color: white; box-shadow: 0 8rpx 24rpx rgba(22, 119, 255, 0.3); } /* 按钮基础样式 */ .btn { display: inline-flex; align-items: center; justify-content: center; padding: 16rpx 32rpx; font-size: 28rpx; font-weight: 500; border-radius: var(--border-radius-md); border: none; transition: var(--transition); cursor: pointer; text-align: center; box-sizing: border-box; } /* 按钮变体 */ .btn-primary { background-color: var(--primary-color); color: white; box-shadow: var(--shadow-sm); } .btn-primary:active { background-color: #4096ff; box-shadow: var(--shadow-sm); } .btn-success { background-color: var(--success-color); color: white; box-shadow: var(--shadow-sm); } .btn-success:active { background-color: #73d13d; } .btn-warning { background-color: var(--warning-color); color: white; box-shadow: var(--shadow-sm); } .btn-warning:active { background-color: #ffc53d; } .btn-danger { background-color: var(--error-color); color: white; box-shadow: var(--shadow-sm); } .btn-danger:active { background-color: #ff4d4f; } .btn-outline { background-color: transparent; color: var(--primary-color); border: 2rpx solid var(--primary-color); } .btn-outline:active { background-color: rgba(22, 119, 255, 0.1); } /* 按钮尺寸 */ .btn-sm { padding: 12rpx 24rpx; font-size: 24rpx; border-radius: var(--border-radius-sm); } .btn-lg { padding: 20rpx 48rpx; font-size: 32rpx; border-radius: var(--border-radius-lg); } /* 联系客服按钮样式 */ .customer-service-btn { background: var(--background-color); color: var(--text-primary); font-size: 28rpx; width: 120rpx; height: 64rpx; line-height: 64rpx; padding: 0; border-radius: var(--border-radius-full, 32rpx); border: 2rpx solid var(--border-color); box-shadow: var(--shadow-sm); transition: var(--transition); white-space: nowrap; text-align: center; } .customer-service-btn:active { transform: translateY(2rpx); background: var(--light-background); box-shadow: var(--shadow-sm); } /* 服务区域容器 */ .service-container { display: flex; align-items: center; gap: 20rpx; } /* 入驻状态样式 */ .settlement-status { font-size: 24rpx; padding: 4rpx 16rpx; border-radius: 16rpx; font-weight: 500; } .settlement-status.approved { color: var(--success-color); background-color: rgba(82, 196, 26, 0.1); } .settlement-status.pending { color: var(--warning-color); background-color: rgba(250, 173, 20, 0.1); } /* 入驻按钮样式 */ .apply-settlement-btn { background: var(--primary-color); color: white; font-size: 28rpx; padding: 12rpx 24rpx; border-radius: var(--border-radius-md); border: none; box-shadow: var(--shadow-sm); transition: var(--transition); min-width: 120rpx; text-align: center; } .apply-settlement-btn:active { background: #4096ff; transform: translateY(2rpx); box-shadow: var(--shadow-sm); } /* 搜索框样式 */ .search-container { display: flex; align-items: center; width: 100%; margin-bottom: 32rpx; background-color: var(--background-color); border-radius: var(--border-radius-lg); padding: 12rpx 20rpx; box-shadow: var(--shadow-sm); box-sizing: border-box; } .search-input { flex: 1; border: none; outline: none; font-size: 28rpx; color: var(--text-primary); background: transparent; padding: 12rpx 0; } .search-input::placeholder { color: var(--text-tertiary); } .search-btn { background-color: var(--primary-color); color: white; border: none; border-radius: var(--border-radius-md); padding: 12rpx 24rpx; font-size: 28rpx; font-weight: 500; box-shadow: var(--shadow-sm); transition: var(--transition); } .search-btn:active { background-color: #4096ff; transform: translateY(2rpx); } /* 卡片样式 */ .card { background-color: var(--background-color); border-radius: var(--border-radius-lg); box-shadow: var(--shadow-sm); margin-bottom: 24rpx; overflow: hidden; transition: var(--transition); } .card:hover { box-shadow: var(--shadow-md); transform: translateY(-2rpx); } /* 分类标题样式 */ .category-title { display: flex; justify-content: space-between; align-items: center; font-size: 32rpx; font-weight: 600; color: var(--text-primary); margin-bottom: 20rpx; padding: 0 4rpx; } .category-title .count { font-size: 24rpx; font-weight: 400; color: var(--text-secondary); } .category-title .toggle-btn { width: 48rpx; height: 48rpx; display: flex; align-items: center; justify-content: center; font-size: 28rpx; color: var(--text-tertiary); transition: var(--transition); } .category-title .toggle-btn:active { color: var(--primary-color); transform: rotate(180deg); } /* 模态框样式 */ .modal { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.5); display: flex; justify-content: center; align-items: center; z-index: 999; backdrop-filter: blur(4rpx); animation: fadeIn 0.3s ease; } .modal-content { width: 92%; max-width: 600rpx; background: white; padding: 40rpx; border-radius: var(--border-radius-lg); max-height: 85vh; position: relative; box-shadow: var(--shadow-lg); transform: translateZ(0); -webkit-transform: translateZ(0); animation: slideUp 0.3s ease; } /* 表单元素样式 */ .form-group { margin-bottom: 30rpx; } .form-label { display: block; font-size: 28rpx; font-weight: 500; color: var(--text-primary); margin-bottom: 12rpx; margin-left: 10rpx; } .form-input { width: 100%; height: 90rpx; line-height: 90rpx; padding: 0 24rpx; font-size: 30rpx; border: 2rpx solid var(--border-color); border-radius: var(--border-radius-md); box-sizing: border-box; background: white; transition: var(--transition); outline: none; } .form-input:focus { border-color: var(--primary-color); box-shadow: 0 0 0 4rpx rgba(22, 119, 255, 0.1); } /* 上传区域样式 */ .upload-area { width: 100%; margin: 0 auto 30rpx; border: 2rpx dashed var(--border-color); border-radius: var(--border-radius-md); padding: 24rpx; box-sizing: border-box; background-color: #fafafa; transition: var(--transition); } .upload-area:hover { border-color: var(--primary-color); background-color: rgba(22, 119, 255, 0.05); } .upload-item { position: relative; width: 160rpx; height: 160rpx; margin: 10rpx; border-radius: var(--border-radius-md); overflow: hidden; box-shadow: var(--shadow-sm); transition: var(--transition); } .upload-item:hover { box-shadow: var(--shadow-md); } .upload-item .delete-icon { position: absolute; top: 8rpx; right: 8rpx; background-color: rgba(0, 0, 0, 0.6); color: white; width: 44rpx; height: 44rpx; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 28rpx; transition: var(--transition); cursor: pointer; } .upload-item .delete-icon:active { background-color: rgba(0, 0, 0, 0.8); transform: scale(0.9); } .upload-btn { width: 160rpx; height: 160rpx; margin: 10rpx; border: 2rpx dashed var(--primary-color); border-radius: var(--border-radius-md); display: flex; align-items: center; justify-content: center; background-color: rgba(22, 119, 255, 0.05); transition: var(--transition); cursor: pointer; } .upload-btn:hover { background-color: rgba(22, 119, 255, 0.1); transform: scale(1.05); } .upload-btn:active { transform: scale(0.95); } /* 选择器样式 */ .selector { width: 100%; height: 90rpx; line-height: 90rpx; padding: 0 24rpx; font-size: 30rpx; border: 2rpx solid var(--border-color); border-radius: var(--border-radius-md); box-sizing: border-box; background: white; display: flex; justify-content: space-between; align-items: center; transition: var(--transition); cursor: pointer; } .selector:hover { border-color: var(--primary-color); } .selector:active { background-color: rgba(22, 119, 255, 0.05); } .selector .arrow { color: var(--text-tertiary); font-size: 24rpx; transition: var(--transition); } .selector:active .arrow { transform: rotate(180deg); } /* 动画效果 */ @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } @keyframes slideUp { from { opacity: 0; transform: translateY(40rpx); } to { opacity: 1; transform: translateY(0); } } @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } } /* 加载更多样式 */ .load-more { text-align: center; padding: 32rpx 0; color: var(--text-tertiary); font-size: 28rpx; } .load-more .loading-text { display: flex; align-items: center; justify-content: center; gap: 12rpx; } .load-more .loading-text::before { content: ''; width: 24rpx; height: 24rpx; border: 2rpx solid var(--text-tertiary); border-top-color: var(--primary-color); border-radius: 50%; animation: spin 1s linear infinite; } .load-more .load-more-text { color: var(--primary-color); cursor: pointer; transition: var(--transition); } .load-more .load-more-text:active { opacity: 0.7; } @keyframes spin { to { transform: rotate(360deg); } } /* 空状态样式 */ .empty-state { text-align: center; padding: 80rpx 0; color: var(--text-tertiary); } .empty-state .icon { font-size: 120rpx; margin-bottom: 24rpx; opacity: 0.5; } .empty-state .text { font-size: 28rpx; margin-bottom: 16rpx; } .empty-state .subtext { font-size: 24rpx; opacity: 0.8; } /* 登录授权弹窗样式 - 专门用于登录相关弹窗 */ .auth-modal-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0, 0, 0, 0.5); display: flex; justify-content: center; align-items: center; z-index: 999; animation: fadeIn 0.3s ease; } .auth-modal-container { background-color: var(--background-color); border-radius: var(--border-radius-lg); width: 80%; padding: 40rpx; box-shadow: var(--shadow-lg); animation: slideUp 0.3s ease; } .auth-modal-title { text-align: center; margin-bottom: 30rpx; } .auth-modal-title text { font-size: 36rpx; font-weight: bold; color: var(--text-primary); } .auth-modal-content { text-align: center; margin-bottom: 40rpx; color: var(--text-secondary); } .auth-modal-content text { font-size: 32rpx; } .auth-modal-buttons { text-align: center; } .auth-primary-button { background-color: var(--primary-color); color: white; width: 100%; border-radius: var(--border-radius-md); margin-bottom: 20rpx; border: none; padding: 20rpx; font-size: 32rpx; font-weight: 500; box-shadow: var(--shadow-sm); transition: var(--transition); } .auth-primary-button:active { background-color: #4096ff; transform: translateY(2rpx); } .auth-cancel-button { background: none; color: var(--text-secondary); border: none; padding: 16rpx; font-size: 28rpx; transition: var(--transition); } .auth-cancel-button:active { color: var(--text-primary); } /* 头像选择样式 */ .auth-avatar-section { text-align: center; margin-bottom: 40rpx; } .auth-avatar-wrapper { padding: 0; background: none; border: none; } .auth-avatar { width: 160rpx; height: 160rpx; border-radius: 50%; box-shadow: var(--shadow-sm); } /* 表单样式 */ .auth-form-group { margin-bottom: 30rpx; } .auth-form-label { font-size: 28rpx; margin-bottom: 10rpx; display: block; color: var(--text-primary); } .auth-form-input { border: 2rpx solid var(--border-color); border-radius: var(--border-radius-md); padding: 20rpx; width: 100%; max-width: 100%; font-size: 28rpx; color: var(--text-primary); transition: var(--transition); box-sizing: border-box; } .auth-form-input:focus { border-color: var(--primary-color); box-shadow: 0 0 0 4rpx rgba(22, 119, 255, 0.1); outline: none; } box-sizing: border-box; font-size: 28rpx; } .auth-form-actions { text-align: center; margin-top: 40rpx; } .auth-confirm-button { background-color: #07c160; color: white; width: 100%; border-radius: 8rpx; border: none; } /* 加载更多样式 */ .load-more { text-align: center; padding: 30rpx; color: #666; background-color: #f9f9f9; border-radius: 8rpx; margin: 20rpx 0; } .loading-text { color: #999; font-size: 26rpx; } .load-more-text { color: #1677ff; font-size: 26rpx; padding: 15rpx 30rpx; border: 1rpx solid #1677ff; border-radius: 8rpx; display: inline-block; background-color: white; } .no-more { text-align: center; padding: 30rpx; color: #999; font-size: 26rpx; background-color: #f9f9f9; border-radius: 8rpx; margin: 20rpx 0; } /* 页面滚动锁定样式 */ .page-scroll-lock { position: fixed; top: 0; left: 0; right: 0; bottom: 0; overflow: hidden; height: 100vh; /* iOS设备特殊锁定机制 */ -webkit-overflow-scrolling: auto; touch-action: none; pointer-events: none; /* iOS设备硬件加速处理 */ transform: translateZ(0); -webkit-transform: translateZ(0); } /* iOS设备子元素交互修复 */ .page-scroll-lock view, .page-scroll-lock text, .page-scroll-lock image, .page-scroll-lock button, .page-scroll-lock input, .page-scroll-lock textarea, .page-scroll-lock scroll-view, .page-scroll-lock swiper, .page-scroll-lock navigator, .page-scroll-lock picker, .page-scroll-lock slider, .page-scroll-lock switch { pointer-events: auto; } /* 弹窗输入框防抖动样式 */ .modal-content .input { -webkit-appearance: none; appearance: none; -webkit-tap-highlight-color: transparent; tap-highlight-color: transparent; outline: none; -webkit-user-select: text; user-select: text; -webkit-touch-callout: none; touch-callout: none; } /* 弹窗容器硬件加速 */ .modal-content { will-change: transform; -webkit-will-change: transform; } /* 输入框容器稳定性增强 */ .modal-content input, .modal-content textarea { transform: translateZ(0); -webkit-transform: translateZ(0); perspective: 1000px; -webkit-perspective: 1000px; } /* iOS输入框防抖优化 */ .modal-content .input { -webkit-appearance: none; appearance: none; -webkit-tap-highlight-color: transparent; touch-action: manipulation; -webkit-touch-callout: none; -webkit-user-select: text; user-select: text; -webkit-transform: translateZ(0); transform: translateZ(0); will-change: transform; }