商品浏览页构建前最后一次更新

This commit is contained in:
2026-08-02 00:21:54 +08:00
parent d37a93ab9e
commit e423ab2d73
146 changed files with 3449 additions and 1342 deletions
+11 -7
View File
@@ -1,8 +1,9 @@
import { View, Text, ScrollView } from '@tarojs/components'
import { View, Text, ScrollView, Image } from '@tarojs/components'
import Taro from '@tarojs/taro'
import { useState, useEffect, useCallback } from 'react'
import './index.scss'
import { getDesignList, getUserInfo, type DesignItem } from '../../utils/store'
import { PRODUCT_ICON_MAP } from '../../utils/productConfig'
import ThemeToggle from '../../components/ThemeToggle'
import { useThemeContext } from '../../context/ThemeContext'
import LoginGuard from '../../components/LoginGuard'
@@ -87,7 +88,7 @@ export default function DesignListPage() {
<View
key={tab.code}
className={`tab-item ${activeTab === tab.code ? 'active' : ''}`}
onClick={() => setActiveTab(tab.code)}
onTap={() => setActiveTab(tab.code)}
>
<Text className='tab-label'>{tab.label}</Text>
{activeTab === tab.code && <View className='tab-underline' />}
@@ -100,11 +101,14 @@ export default function DesignListPage() {
<ScrollView className='design-list' scrollY>
{filtered.map(item => {
const style = STATUS_STYLE[item.status]
const iconSrc = item.productIcon?.startsWith('/icon/')
? item.productIcon
: PRODUCT_ICON_MAP[item.productId] || '/icon/四角星.png'
return (
<View key={item.id} className='design-card dashed-card'>
<View className='star-badge' />
<View className='design-body'>
<Text className='design-icon'>{item.productIcon}</Text>
<Image className='design-icon-img' src={iconSrc} mode='aspectFit' />
<View className='design-info'>
<View className='design-title-row'>
<Text className='design-name'>{item.productName}</Text>
@@ -116,12 +120,12 @@ export default function DesignListPage() {
</View>
<View className='design-actions'>
{item.status !== 'ordered' && (
<View className='btn-gradient design-btn' onClick={() => goDesign(item)}>
<View className='btn-gradient design-btn' onTap={() => goDesign(item)}>
<Text>{item.status === 'undesigned' ? '开始设计' : '继续设计'}</Text>
</View>
)}
{item.status === 'ordered' && (
<View className='btn-outline design-btn' onClick={() => Taro.switchTab({ url: '/pages/orders/index' })}>
<View className='btn-outline design-btn' onTap={() => Taro.switchTab({ url: '/pages/orders/index' })}>
<Text></Text>
</View>
)}
@@ -132,10 +136,10 @@ export default function DesignListPage() {
{filtered.length === 0 && (
<View className='empty-state'>
<Text className='empty-icon'>📐</Text>
<Image className='empty-icon-img' src='/icon/调色盘.png' mode='aspectFit' />
<Text className='empty-text'></Text>
<Text className='empty-sub'></Text>
<View className='btn-gradient' onClick={() => Taro.switchTab({ url: '/pages/index/index' })}>
<View className='btn-gradient' onTap={() => Taro.switchTab({ url: '/pages/index/index' })}>
<Text></Text>
</View>
</View>