Files
Pet3/miniprogram/pages/walking/walking.wxml
2026-06-25 18:24:29 +08:00

64 lines
2.9 KiB
Plaintext

<!-- ===== 多狗选择 ===== -->
<view wx:if="{{status==='selecting'}}" class="select-wrap">
<view class="select-title">今天遛哪只?</view>
<view class="select-sub">可多选,一起遛</view>
<view class="select-list">
<view wx:for="{{dogs}}" wx:key="_id"
class="card sel-row {{selectedMap[item._id]?'on':''}}"
data-id="{{item._id}}" bindtap="toggleSelect">
<view class="sel-avatar">🐶</view>
<view class="sel-meta">
<view class="sel-name">{{item.name}}</view>
<view class="sel-breed">{{item.breed}}<text class="sel-days">· 连续 {{item.stats.currentStreak || 0}} 天</text></view>
</view>
<view class="sel-check">{{selectedMap[item._id] ? '✓' : ''}}</view>
</view>
</view>
<button class="btn primary" bindtap="confirmSelect"><text class="btn-ico">🐾</text>开始遛狗</button>
</view>
<!-- ===== 遛狗中 / 暂停 ===== -->
<view wx:else class="walk {{status==='paused'?'paused':''}}">
<view class="status-pill {{status}}">
<text class="dot"></text>{{status==='paused' ? '已暂停' : '遛狗中'}}
</view>
<view class="map">{{status==='paused' ? '计时已停止' : (gps==='on' ? '定位中 · 累计距离' : '地图轨迹(首版可后置)')}}</view>
<view class="timer-block">
<view class="timer-label">已遛时长</view>
<view class="timer">{{timeText}}</view>
</view>
<view class="stat-grid">
<view class="stat"><view class="stat-v">{{distanceText}}<text wx:if="{{gps==='on'}}" class="stat-u"> km</text></view><view class="stat-k">距离</view></view>
<view class="stat"><view class="stat-v">{{stepsText}}</view><view class="stat-k">狗步</view></view>
</view>
<view wx:if="{{gps==='denied'}}" class="degrade-tip">未开启定位,仅记录时长(距离/狗步不计)</view>
<view class="poop-row">
<text class="poop-label">💩 便便打卡</text>
<view class="toggle {{pooped?'on':''}}" bindtap="togglePoop"><view class="knob"></view></view>
</view>
<view class="actions">
<button wx:if="{{status==='walking'}}" class="btn ghost" bindtap="pause"><text class="btn-ico">‖</text>暂停</button>
<button wx:else class="btn primary" bindtap="resume"><text class="btn-ico">▶</text>继续</button>
<button class="btn danger" bindtap="askEnd"><text class="btn-ico">■</text>结束</button>
</view>
<view class="active-dog">🐶 {{activeDogNames}}</view>
</view>
<!-- ===== 结束二次确认 ===== -->
<view wx:if="{{showEndConfirm}}" class="mask" bindtap="cancelEnd">
<view class="confirm" catchtap="">
<view class="confirm-title">结束这次遛狗?</view>
<view class="confirm-text">已遛 {{timeText}},确认结束并生成成果卡。</view>
<view class="confirm-btns">
<button class="btn ghost" bindtap="cancelEnd">再遛会</button>
<button class="btn primary" bindtap="confirmEnd">结束</button>
</view>
</view>
</view>