# 买家端店铺功能说明 ## 功能概述 为买家端添加了店铺功能,包括店铺列表、搜索、店铺详情等核心功能。 ## 功能特性 ### 1. 店铺列表页面 (`pagesBuyer/shop/index.vue`) - **9个店铺展示**: 展示9个不同类别的店铺 - **搜索功能**: 支持按店铺名称、描述、标签搜索 - **店铺信息**: 显示店铺头像、名称、描述、评分、销量、距离 - **营业状态**: 显示店铺是否营业中 - **标签系统**: 显示店铺特色标签 - **点击跳转**: 点击店铺进入店铺详情页 ### 2. 店铺详情页面 (`pagesBuyer/shop/detail.vue`) - **店铺头部**: 显示店铺基本信息 - **收藏功能**: 可以收藏/取消收藏店铺 - **功能按钮**: 联系店铺、查看位置、分享店铺 - **商品分类**: 显示店铺商品分类 - **商品列表**: 展示店铺热销商品 - **商品详情**: 点击商品可查看详情 ### 3. 底部导航更新 - **新增店铺选项**: 在买家端导航中添加店铺选项 - **图标支持**: 使用专门的店铺图标 - **智能跳转**: 根据用户类型智能跳转 ## 页面结构 ``` pagesBuyer/shop/ ├── index.vue # 店铺列表页面 ├── detail.vue # 店铺详情页面 └── README.md # 说明文档 ``` ## 店铺数据示例 ### 店铺列表数据 ```javascript const shops = ref([ { id: 1, name: "时尚潮流店", description: "专注时尚潮流服饰,品质保证", avatar: "/static/shop/shop1.png", rating: 4.8, sales: 1234, distance: "1.2km", status: "online", tags: ["时尚", "潮流", "品质"] }, // ... 更多店铺数据 ]); ``` ### 店铺详情数据 ```javascript const shopInfo = ref({ id: 1, name: "时尚潮流店", description: "专注时尚潮流服饰,品质保证,为您提供最优质的商品和服务", avatar: "/static/shop/shop1.png", rating: 4.8, sales: 1234, distance: "1.2km", status: "online", tags: ["时尚", "潮流", "品质", "正品"] }); ``` ## 搜索功能 ### 搜索范围 - 店铺名称 - 店铺描述 - 店铺标签 ### 搜索实现 ```javascript const filteredShops = computed(() => { if (!searchValue.value.trim()) { return shops.value; } const keyword = searchValue.value.toLowerCase(); return shops.value.filter(shop => shop.name.toLowerCase().includes(keyword) || shop.description.toLowerCase().includes(keyword) || shop.tags.some(tag => tag.toLowerCase().includes(keyword)) ); }); ``` ## 导航配置 ### 买家端导航更新 ```javascript const buyerNavList = ref([ { name: "home", title: "tabbar.首页", img: home, img_active: home_active, num: 0, }, { name: "shop", title: "tabbar.店铺", img: shop, img_active: shop_active, num: 0, }, { name: "cart", title: "tabbar.购物车", img: cart, img_active: cart_active, num: cartNum.value, }, { name: "profile", title: "tabbar.我的", img: user, img_active: user_active, num: 0, }, ]); ``` ## 路由配置 ### pages.json 配置 ```json { "path": "pagesBuyer/shop/index" }, { "path": "pagesBuyer/shop/detail" } ``` ## 页面跳转 ### 跳转到店铺详情 ```javascript const toShopDetail = (shop) => { uni.navigateTo({ url: `/pagesBuyer/shop/detail?id=${shop.id}&name=${shop.name}` }); }; ``` ### 跳转到商品详情 ```javascript const toProductDetail = (product) => { uni.navigateTo({ url: `/pagesBuyer/shop/product?id=${product.id}` }); }; ``` ## 样式特点 ### 1. 响应式设计 - 使用 Grid 布局展示商品 - 支持不同屏幕尺寸 - 移动端优化 ### 2. 统一风格 - 遵循项目设计规范 - 使用项目颜色变量 - 保持UI一致性 ### 3. 交互反馈 - 点击效果 - 状态变化 - 加载状态 ## 扩展功能 ### 1. 店铺收藏 - 支持收藏/取消收藏 - 收藏状态持久化 - 收藏列表管理 ### 2. 店铺评价 - 用户评价系统 - 评分统计 - 评价展示 ### 3. 店铺活动 - 优惠活动展示 - 促销信息 - 活动倒计时 ## 注意事项 1. **图片资源**: 需要准备店铺头像、商品图片等资源 2. **数据接口**: 实际使用时需要对接后端API 3. **权限控制**: 某些功能可能需要登录权限 4. **性能优化**: 大量数据时考虑分页加载 5. **错误处理**: 添加网络错误、数据异常等处理 ## 技术栈 - Vue 3 Composition API - uni-app 框架 - Less 样式预处理器 - Pinia 状态管理 - 响应式设计