Files
LinHelp/miniapp/miniprogram/pages/home/index.wxml

127 lines
5.6 KiB
Plaintext
Raw Permalink Normal View History

2026-07-07 16:38:13 +08:00
<view class="page">
2026-07-14 16:04:51 +08:00
<view class="home-hero">
<view>
<view class="hero-eyebrow">社区生活服务</view>
<view class="hero-title">邻小帮</view>
<view class="hero-subtitle">商品预定、快递代取、团购闲置都在这里</view>
</view>
<view class="hero-badge">30 分钟到家</view>
2026-07-07 16:38:13 +08:00
</view>
2026-07-14 16:04:51 +08:00
<view class="home-search" bindtap="go" data-url="/pages/products/index">
<text>搜索社区商品、团购、闲置</text>
<text class="search-action">去看看</text>
</view>
<swiper wx:if="{{banners.length}}" class="banner-swiper" indicator-dots autoplay circular>
<swiper-item wx:for="{{banners}}" wx:key="id">
<view class="banner-card">
<image wx:if="{{item.imageUrl}}" src="{{item.imageUrl}}" mode="aspectFill" />
<view wx:else class="banner-fallback">邻小帮</view>
<view class="banner-mask">
<view class="banner-title">{{item.title}}</view>
</view>
</view>
</swiper-item>
</swiper>
<view class="service-grid section">
<view class="shortcut service-card service-product" bindtap="go" data-url="/pages/products/index">
<view class="service-icon">货</view>
<view class="service-name">商品预定</view>
</view>
<view class="shortcut service-card service-express" bindtap="go" data-url="/pages/express/create">
<view class="service-icon">快</view>
<view class="service-name">代取快递</view>
</view>
<view class="shortcut service-card service-group" bindtap="goTab" data-url="/pages/group-buy/index">
<view class="service-icon">团</view>
<view class="service-name">今日团购</view>
</view>
<view class="shortcut service-card service-second" bindtap="goTab" data-url="/pages/second-hand/index">
<view class="service-icon">闲</view>
<view class="service-name">二手闲置</view>
</view>
<view class="shortcut service-card service-notice" bindtap="go" data-url="/pages/notices/index">
<view class="service-icon">告</view>
<view class="service-name">社区公告</view>
</view>
<view class="shortcut service-card service-order" bindtap="go" data-url="/pages/orders/index">
<view class="service-icon">单</view>
<view class="service-name">我的订单</view>
</view>
2026-07-07 16:38:13 +08:00
</view>
<view class="section">
2026-07-14 16:04:51 +08:00
<view class="section-header">
<view class="section-title">公告</view>
<view class="pill" bindtap="go" data-url="/pages/notices/index">全部</view>
</view>
<view wx:for="{{notices}}" wx:key="id" class="content-card notice-brief" bindtap="go" data-url="/pages/notices/index">
<view class="card-title">{{item.title}}</view>
2026-07-07 16:38:13 +08:00
<view class="muted">{{item.category}}</view>
</view>
2026-07-14 16:04:51 +08:00
<view wx:if="{{!notices.length}}" class="empty-state">暂无公告</view>
2026-07-07 16:38:13 +08:00
</view>
<view class="section">
2026-07-14 16:04:51 +08:00
<view class="section-header">
<view class="section-title">热门商品</view>
<view class="pill" bindtap="go" data-url="/pages/products/index">去选购</view>
</view>
<view wx:for="{{products}}" wx:key="id" class="content-card product-brief" bindtap="go" data-url="/pages/products/detail?id={{item.id}}">
<view class="brief-main">
<image wx:if="{{item.coverUrl}}" class="brief-cover" src="{{item.coverUrl}}" mode="aspectFill" />
<view wx:else class="brief-cover media-placeholder">货</view>
<view class="brief-body">
<view class="card-title">{{item.name}}</view>
<view class="muted">{{item.description || '社区精选商品'}}</view>
</view>
</view>
<view class="brief-side">
2026-07-07 16:38:13 +08:00
<view class="tag">{{item.status}}</view>
2026-07-14 16:04:51 +08:00
<view wx:if="{{item.skus.length}}" class="price">¥{{item.skus[0].priceCent / 100}} 起</view>
2026-07-07 16:38:13 +08:00
</view>
</view>
2026-07-14 16:04:51 +08:00
<view wx:if="{{!products.length}}" class="empty-state">暂无热门商品</view>
2026-07-07 16:38:13 +08:00
</view>
<view class="section">
2026-07-14 16:04:51 +08:00
<view class="section-header">
<view class="section-title">今日团购</view>
<view class="pill" bindtap="goTab" data-url="/pages/group-buy/index">更多</view>
</view>
<view wx:for="{{groupBuys}}" wx:key="id" class="content-card group-brief" bindtap="go" data-url="/pages/group-buy/detail?id={{item.id}}">
<view class="brief-main">
<image wx:if="{{item.coverUrl}}" class="brief-cover" src="{{item.coverUrl}}" mode="aspectFill" />
<view wx:else class="brief-cover media-placeholder">团</view>
<view class="brief-body">
<view class="card-title">{{item.title}}</view>
<view class="muted">已售 {{item.soldCount}} / 库存 {{item.stock}}</view>
</view>
2026-07-07 16:38:13 +08:00
</view>
2026-07-14 16:04:51 +08:00
<view class="price">¥{{item.priceCent / 100}}</view>
2026-07-07 16:38:13 +08:00
</view>
2026-07-14 16:04:51 +08:00
<view wx:if="{{!groupBuys.length}}" class="empty-state">暂无团购</view>
2026-07-07 16:38:13 +08:00
</view>
<view class="section">
2026-07-14 16:04:51 +08:00
<view class="section-header">
<view class="section-title">最新闲置</view>
<view class="pill" bindtap="goTab" data-url="/pages/second-hand/index">逛闲置</view>
</view>
<view wx:for="{{secondGoods}}" wx:key="id" class="content-card second-brief">
<view class="brief-main">
<image wx:if="{{item.imageUrls.length}}" class="brief-cover" src="{{item.imageUrls[0]}}" mode="aspectFill" />
<view wx:else class="brief-cover media-placeholder">闲</view>
<view class="brief-body">
<view class="card-title">{{item.title}}</view>
<view class="muted">{{item.category}}</view>
</view>
2026-07-07 16:38:13 +08:00
</view>
2026-07-14 16:04:51 +08:00
<view class="price">¥{{item.priceCent / 100}}</view>
2026-07-07 16:38:13 +08:00
</view>
2026-07-14 16:04:51 +08:00
<view wx:if="{{!secondGoods.length}}" class="empty-state">暂无闲置</view>
2026-07-07 16:38:13 +08:00
</view>
</view>