feat(mini-user): replace mine page icons with asset PNGs
Use icons under assets/icons for order shortcuts and common services. Co-authored-by: Cursor <cursoragent@cursor.com>
|
After Width: | Height: | Size: 8.3 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 7.8 KiB |
|
After Width: | Height: | Size: 4.1 KiB |
|
After Width: | Height: | Size: 3.6 KiB |
|
After Width: | Height: | Size: 6.9 KiB |
|
After Width: | Height: | Size: 5.4 KiB |
|
After Width: | Height: | Size: 6.0 KiB |
@@ -28,19 +28,27 @@ import {
|
|||||||
DEFAULT_SHARE_TITLE,
|
DEFAULT_SHARE_TITLE,
|
||||||
toWeappShareMessage,
|
toWeappShareMessage,
|
||||||
} from '../../lib/wechat-share';
|
} from '../../lib/wechat-share';
|
||||||
|
import iconPendingPay from '../../assets/icons/待付款.png';
|
||||||
|
import iconPaid from '../../assets/icons/已付款.png';
|
||||||
|
import iconCompleted from '../../assets/icons/已完成.png';
|
||||||
|
import iconAddress from '../../assets/icons/地址管理.png';
|
||||||
|
import iconStores from '../../assets/icons/可用门店.png';
|
||||||
|
import iconCs from '../../assets/icons/联系客服.png';
|
||||||
|
import iconQualification from '../../assets/icons/资质公示.png';
|
||||||
|
import iconAbout from '../../assets/icons/关于我们.png';
|
||||||
|
|
||||||
const ORDER_SHORTCUTS = [
|
const ORDER_SHORTCUTS = [
|
||||||
{ tab: 'pending_pay', icon: '付', label: '待付款' },
|
{ tab: 'pending_pay', icon: iconPendingPay, label: '待付款' },
|
||||||
{ tab: 'paid', icon: '包', label: '已付款' },
|
{ tab: 'paid', icon: iconPaid, label: '已付款' },
|
||||||
{ tab: 'completed', icon: '成', label: '已完成' },
|
{ tab: 'completed', icon: iconCompleted, label: '已完成' },
|
||||||
] as const;
|
] as const;
|
||||||
|
|
||||||
const SERVICES = [
|
const SERVICES = [
|
||||||
{ icon: '址', label: '地址管理', url: '/pages/addresses/index' },
|
{ icon: iconAddress, label: '地址管理', url: '/pages/addresses/index' },
|
||||||
{ icon: '店', label: '可用门店', tab: '/pages/stores/index' },
|
{ icon: iconStores, label: '可用门店', tab: '/pages/stores/index' },
|
||||||
{ icon: '服', label: '联系客服', url: '/pages/customer-service/index' },
|
{ icon: iconCs, label: '联系客服', url: '/pages/customer-service/index' },
|
||||||
{ icon: '资', label: '资质公示', action: 'qualification' as const },
|
{ icon: iconQualification, label: '资质公示', action: 'qualification' as const },
|
||||||
{ icon: '关', label: '关于我们', action: 'about' as const },
|
{ icon: iconAbout, label: '关于我们', action: 'about' as const },
|
||||||
] as const;
|
] as const;
|
||||||
|
|
||||||
const isWeapp = process.env.TARO_ENV === 'weapp';
|
const isWeapp = process.env.TARO_ENV === 'weapp';
|
||||||
@@ -455,7 +463,7 @@ export default function MinePage() {
|
|||||||
}
|
}
|
||||||
>
|
>
|
||||||
<View className="mine-order-icon">
|
<View className="mine-order-icon">
|
||||||
<Text>{item.icon}</Text>
|
<Image className="mine-order-icon-img" src={item.icon} mode="aspectFit" />
|
||||||
</View>
|
</View>
|
||||||
{count > 0 ? (
|
{count > 0 ? (
|
||||||
<Text className="mine-order-badge">{count > 99 ? '99+' : count}</Text>
|
<Text className="mine-order-badge">{count > 99 ? '99+' : count}</Text>
|
||||||
@@ -479,7 +487,7 @@ export default function MinePage() {
|
|||||||
onClick={() => handleService(item)}
|
onClick={() => handleService(item)}
|
||||||
>
|
>
|
||||||
<View className="mine-service-icon">
|
<View className="mine-service-icon">
|
||||||
<Text>{item.icon}</Text>
|
<Image className="mine-service-icon-img" src={item.icon} mode="aspectFit" />
|
||||||
</View>
|
</View>
|
||||||
<Text className="mine-service-label">{item.label}</Text>
|
<Text className="mine-service-label">{item.label}</Text>
|
||||||
</View>
|
</View>
|
||||||
|
|||||||
@@ -255,16 +255,18 @@
|
|||||||
.mine-order-icon {
|
.mine-order-icon {
|
||||||
width: 36px;
|
width: 36px;
|
||||||
height: 36px;
|
height: 36px;
|
||||||
border-radius: 10px;
|
|
||||||
background: rgba(166, 29, 36, 0.08);
|
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
color: var(--color-heritage-red);
|
|
||||||
font-size: 16px;
|
|
||||||
margin-bottom: 4px;
|
margin-bottom: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.mine-order-icon-img {
|
||||||
|
width: 28px;
|
||||||
|
height: 28px;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
.mine-order-badge {
|
.mine-order-badge {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 2px;
|
top: 2px;
|
||||||
@@ -300,18 +302,20 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.mine-service-icon {
|
.mine-service-icon {
|
||||||
width: 32px;
|
width: 36px;
|
||||||
height: 32px;
|
height: 36px;
|
||||||
border-radius: 8px;
|
|
||||||
background: var(--color-surface-container-low);
|
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
color: var(--color-heritage-red);
|
|
||||||
font-size: 14px;
|
|
||||||
margin-bottom: 4px;
|
margin-bottom: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.mine-service-icon-img {
|
||||||
|
width: 28px;
|
||||||
|
height: 28px;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
.mine-service-label {
|
.mine-service-label {
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
color: var(--color-on-surface);
|
color: var(--color-on-surface);
|
||||||
|
|||||||