feat(M03-C): 完成地图选店与距离排序

This commit is contained in:
Codex
2026-06-18 15:15:39 +08:00
parent 9417064e61
commit df373faa82
24 changed files with 614 additions and 132 deletions
+14 -20
View File
@@ -1,26 +1,20 @@
<scroll-view class="scrollarea" scroll-y type="list">
<view class="container">
<view class="userinfo">
<block wx:if="{{canIUseNicknameComp && !hasUserInfo}}">
<button class="avatar-wrapper" open-type="chooseAvatar" bind:chooseavatar="onChooseAvatar">
<image class="avatar" src="{{userInfo.avatarUrl}}"></image>
</button>
<view class="nickname-wrapper">
<text class="nickname-label">昵称</text>
<input type="nickname" class="nickname-input" placeholder="请输入昵称" bind:change="onInputChange" />
</view>
</block>
<block wx:elif="{{!hasUserInfo}}">
<button wx:if="{{canIUseGetUserProfile}}" bindtap="getUserProfile">获取头像昵称</button>
<view wx:else>请升级微信后重试</view>
</block>
<block wx:else>
<image bindtap="bindViewTap" class="userinfo-avatar" src="{{userInfo.avatarUrl}}" mode="cover"></image>
<text class="userinfo-nickname">{{userInfo.nickName}}</text>
</block>
<view class="title">选择门店</view>
<button loading="{{locating}}" bindtap="locateNearby">定位附近门店</button>
<view class="city-search">
<input value="{{city}}" placeholder="拒绝定位时输入城市" bindinput="onCityInput" />
<button size="mini" loading="{{loading}}" bindtap="searchByCity">查询</button>
</view>
<view class="usermotto">
<text class="user-motto">{{motto}}</text>
<view wx:if="{{errorMessage}}" class="error">{{errorMessage}}</view>
<view wx:if="{{!loading && stores.length === 0}}" class="empty">暂无门店</view>
<view wx:for="{{stores}}" wx:key="id" class="store-card">
<view class="store-name">{{item.name}}</view>
<view>{{item.city}}{{item.district}} {{item.address}}</view>
<view wx:if="{{item.distanceMeters !== null}}">距离 {{item.distanceMeters}} 米</view>
<view class="{{item.openNow ? 'open' : 'closed'}}">
{{item.openNow ? '营业中' : '休息中'}}
</view>
</view>
</view>
</scroll-view>