- 移除售电业务相关内容,调整为门窗定制安装业务 - 新增 TrustSection 品牌信任区组件,展示品质保障和专业团队 - 新增 CaseShowcase 案例展示区组件,支持横向滚动浏览案例 - 新增 ContactSection 联系方式区组件,提供客服热线和在线咨询服务 - 更新首页布局结构,在热销商品后按序排列新功能模块 - 修复图标导入错误,替换为 NutUI 图标库中存在的图标 - 更新样式文件适配新的页面布局和组件间距 - 修改公告栏内容为门窗业务相关介绍 - 调整页面整体样式和间距,优化用户体验
81 lines
2.0 KiB
TypeScript
81 lines
2.0 KiB
TypeScript
import React from 'react'
|
|
import { View, Text } from '@tarojs/components'
|
|
import {Avatar} from '@nutui/nutui-react-taro'
|
|
import Taro from '@tarojs/taro'
|
|
import {
|
|
Star,
|
|
People,
|
|
AddCircle,
|
|
Wallet
|
|
} from '@nutui/icons-react-taro'
|
|
import navTo from '@/utils/common'
|
|
import './QuickActions.scss'
|
|
|
|
const QuickActions: React.FC = () => {
|
|
|
|
const actions = [
|
|
{
|
|
icon: <Star size={22} />,
|
|
title: '预约测量',
|
|
path: '/appointment/measurement',
|
|
iconClass: '--orange',
|
|
avatar: 'https://oss.wsdns.cn/20260330/5f54527123864193b0a2078f812b117f.png?x-oss-process=image/resize,m_fixed,w_200/quality,Q_90'
|
|
},
|
|
{
|
|
icon: <People size={22} />,
|
|
title: '案例展示',
|
|
path: '/cases/showcase',
|
|
iconClass: '--blue'
|
|
},
|
|
{
|
|
icon: <AddCircle size={22} />,
|
|
title: '在线咨询',
|
|
path: '/consultation/online',
|
|
iconClass: '--cyan'
|
|
},
|
|
{
|
|
icon: <Wallet size={22} />,
|
|
title: '门店导航',
|
|
path: '/store/navigation',
|
|
iconClass: '--red'
|
|
}
|
|
]
|
|
|
|
const handleClick = (action: { path: string }) => {
|
|
if (!Taro.getStorageSync('access_token') || !Taro.getStorageSync('UserId')) {
|
|
Taro.showToast({
|
|
title: '请先登录',
|
|
icon: 'none',
|
|
duration: 1500
|
|
})
|
|
return
|
|
}
|
|
navTo(action.path)
|
|
}
|
|
|
|
return (
|
|
<View className='quick-actions'>
|
|
{actions.map((action, index) => (
|
|
<View
|
|
key={index}
|
|
className='quick-actions__item'
|
|
onClick={() => handleClick(action)}
|
|
>
|
|
<View className={`quick-actions__icon quick-actions__icon${action.iconClass}`}>
|
|
{action.avatar ? (
|
|
<Avatar src={action.avatar} className={'mb-2'} shape="square" style={{
|
|
backgroundColor: 'transparent',
|
|
}}/>
|
|
) : (
|
|
action.icon
|
|
)}
|
|
</View>
|
|
<Text className='quick-actions__label'>{action.title}</Text>
|
|
</View>
|
|
))}
|
|
</View>
|
|
)
|
|
}
|
|
|
|
export default QuickActions
|