- backend: NestJS service with exercise/plan data - miniprogram: WeChat mini program client - exclude node_modules, dist, runtime data-store, local env
22 lines
951 B
Plaintext
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>
|