Files
fitness-coach/miniprogram/components/exercise-card/index.wxml
wm b3b58e66fb feat: init fitness-coach (backend + miniprogram)
- backend: NestJS service with exercise/plan data
- miniprogram: WeChat mini program client
- exclude node_modules, dist, runtime data-store, local env
2026-07-22 00:35:40 +08:00

22 lines
951 B
Plaintext

<view class="ex-card {{compact ? 'ex-card--compact' : ''}}" bindtap="onTap">
<view class="ex-card__media">
<image
wx:if="{{exercise.gifUrl || exercise.image}}"
class="ex-card__img"
src="{{exercise.gifUrl || exercise.image}}"
mode="aspectFill"
lazy-load="true" />
<view wx:else class="ex-card__ph">🏋️</view>
<view wx:if="{{exercise.typeLabel}}" class="ex-card__type">{{exercise.typeLabel}}</view>
<view wx:if="{{score > 0}}" class="ex-card__score">匹配 {{score}}</view>
</view>
<view class="ex-card__body">
<view class="ex-card__name">{{exercise.name}}</view>
<view class="ex-card__chips">
<text wx:if="{{exercise.targetLabel}}" class="tag tag--gold">{{exercise.targetLabel}}</text>
<text wx:if="{{exercise.equipmentLabel}}" class="tag">{{exercise.equipmentLabel}}</text>
</view>
<view wx:if="{{reason}}" class="ex-card__reason">{{reason}}</view>
</view>
</view>