feat(user): 新增收货地址管理及售后申请页面

- 新增地址类型定义,增强前端地址数据结构
- 新增地址编辑页面,支持地址智能识别和定位选点功能
- 地址编辑支持省市区选择及默认地址设置
- 新增地址列表页面,支持地址展示、删除、编辑和选择功能
- 实现售后申请页面,支持选择售后类型和退款原因
- 售后申请支持商品选择、退款金额计算和凭证上传
- 新增售后详情页面,支持售后状态展示及申请取消
- 优化页面加载和用户交互体验,增加错误提示和权限处理
This commit is contained in:
2026-07-01 12:11:56 +08:00
parent bf6ed504cc
commit 1fa58040f3
636 changed files with 58878 additions and 716 deletions

View File

@@ -0,0 +1,250 @@
.withdraw-page {
display: flex;
flex-direction: column;
min-height: 100vh;
background: #f5f6fa;
padding-bottom: env(safe-area-inset-bottom);
}
/* ========== 余额卡片 ========== */
.balance-card {
margin: 24rpx;
padding: 40rpx 32rpx 32rpx;
background: linear-gradient(135deg, #ff6b35 0%, #ff8c42 100%);
border-radius: 20rpx;
color: #fff;
}
.balance-header {
margin-bottom: 16rpx;
}
.balance-label {
font-size: 26rpx;
color: rgba(255, 255, 255, 0.85);
}
.balance-amount-row {
display: flex;
align-items: baseline;
}
.currency-symbol-lg {
font-size: 40rpx;
font-weight: bold;
color: #fff;
margin-right: 8rpx;
}
.balance-number {
font-size: 72rpx;
font-weight: bold;
color: #fff;
line-height: 1;
}
.balance-tips {
margin-top: 16rpx;
}
.balance-tip-text {
font-size: 24rpx;
color: rgba(255, 255, 255, 0.7);
}
/* ========== 提现输入卡片 ========== */
.withdraw-card {
margin: 24rpx;
padding: 32rpx;
background: #fff;
border-radius: 20rpx;
}
.card-title {
font-size: 30rpx;
font-weight: bold;
color: #333;
margin-bottom: 28rpx;
}
.amount-input-wrap {
display: flex;
align-items: center;
padding: 20rpx 0;
border-bottom: 2rpx solid #eee;
margin-bottom: 16rpx;
}
.currency-symbol {
font-size: 48rpx;
font-weight: bold;
color: #333;
margin-right: 16rpx;
}
.amount-input {
flex: 1;
font-size: 48rpx;
font-weight: bold;
color: #333;
}
.all-withdraw {
flex-shrink: 0;
padding: 8rpx 20rpx;
background: #fff3ee;
color: #ff6b35;
font-size: 24rpx;
font-weight: bold;
border-radius: 24rpx;
border: 2rpx solid #ffd4bc;
}
.fee-tips {
display: flex;
align-items: center;
gap: 8rpx;
margin-top: 16rpx;
padding: 12rpx 16rpx;
font-size: 24rpx;
color: #e67e22;
background: #fef9f5;
border-radius: 8rpx;
}
.fee-free {
color: #27ae60;
background: #f0faf4;
}
.fee-icon {
font-size: 24rpx;
}
/* ========== 提现规则区域(核心审核项)========== */
.rules-section {
margin: 0 24rpx 24rpx;
background: #fff;
border-radius: 20rpx;
overflow: hidden;
}
/* 标题栏 */
.rules-header {
display: flex;
align-items: center;
gap: 12rpx;
padding: 28rpx 32rpx 20rpx;
background: linear-gradient(135deg, #fef0eb 0%, #fff8f5 100%);
border-bottom: 2rpx solid #fce8e1;
}
.rules-header-icon {
font-size: 36rpx;
}
.rules-header-title {
font-size: 30rpx;
font-weight: bold;
color: #c0392b;
}
/* 规则网格 - 两列 */
.rules-grid {
display: grid;
grid-template-columns: 1fr 1fr;
padding: 24rpx 24rpx 8rpx;
gap: 16rpx;
}
.rule-cell {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 20rpx 12rpx;
background: #fafafa;
border-radius: 12rpx;
border: 2rpx solid #f0f0f0;
}
.rule-cell-wide {
grid-column: span 2;
flex-direction: row;
justify-content: space-between;
padding: 18rpx 24rpx;
}
.rule-cell-label {
font-size: 23rpx;
color: #999;
margin-bottom: 8rpx;
}
.rule-cell-value {
font-size: 28rpx;
font-weight: bold;
color: #333;
}
.rule-cell-wide .rule-cell-label {
margin-bottom: 0;
}
/* 详细规则文字列表 */
.rules-detail {
padding: 20rpx 32rpx 28rpx;
}
.detail-item {
display: flex;
align-items: flex-start;
gap: 10rpx;
padding: 10rpx 0;
}
.detail-bullet {
flex-shrink: 0;
font-size: 26rpx;
color: #ff6b35;
margin-top: 2rpx;
}
.detail-text {
font-size: 25rpx;
color: #666;
line-height: 1.7;
}
/* ========== 底部按钮区 ========== */
.bottom-area {
margin-top: auto;
padding: 20rpx 40rpx 40rpx;
}
.submit-btn {
width: 100%;
padding: 26rpx 0;
text-align: center;
background: linear-gradient(135deg, #ff6b35 0%, #ff9a56 100%);
color: #fff;
font-size: 32rpx;
font-weight: bold;
border-radius: 48rpx;
box-shadow: 0 8rpx 24rpx rgba(255, 107, 53, 0.35);
}
.submit-btn.disabled {
opacity: 0.45;
box-shadow: none;
}
.submit-disclaimer {
text-align: center;
margin-top: 16rpx;
}
.disclaimer-text {
font-size: 22rpx;
color: #bbb;
}