- miniprogram/config.js: BASE_URL 指向 http://192.227.237.8:3001 - 动作标题中文化(nameZh),搜索匹配 name/nameZh/nameEn - 新增计划/收藏/我的 等页面与组件 - 后端 Docker 化(Dockerfile/.dockerignore)与翻译脚本 - .gitignore 补充 .DS_Store
40 lines
1.9 KiB
Plaintext
40 lines
1.9 KiB
Plaintext
<view class="page" wx:if="{{plan}}">
|
||
<navbar title="{{plan.name}}" show-back />
|
||
|
||
<view class="header" style="background: linear-gradient(135deg, {{plan.color}}26, var(--surface));">
|
||
<view class="header__emoji" style="background: {{plan.color}}22; color: {{plan.color}};">{{plan.emoji}}</view>
|
||
<view class="header__name" style="color: {{plan.color}};">{{plan.name}}</view>
|
||
<view wx:if="{{plan.description}}" class="header__desc">{{plan.description}}</view>
|
||
<view class="header__meta">共 {{exercises.length}} 个动作<text wx:if="{{plan.updatedAtText}}"> · 更新于 {{plan.updatedAtText}}</text></view>
|
||
</view>
|
||
|
||
<view class="section" style="padding-top: 8rpx;">
|
||
<section-header eyebrow="EXERCISES" title="动作列表" subtitle="点击查看详情 · 可在动作页加入本计划" />
|
||
|
||
<view class="list" wx:if="{{exercises.length}}">
|
||
<view class="list__item" wx:for="{{exercises}}" wx:key="id">
|
||
<view class="list__card">
|
||
<exercise-card exercise="{{item}}" bind:tap="onExercise" />
|
||
</view>
|
||
<view class="list__remove" data-id="{{item.id}}" catchtap="onRemoveExercise">移除</view>
|
||
</view>
|
||
</view>
|
||
<view wx:elif="{{!loading}}" class="empty-box">
|
||
<view class="empty-box__emoji">🏋️</view>
|
||
<view class="empty-box__t">这个计划还没有动作,去添加吧</view>
|
||
<view class="empty-box__btn" bindtap="onAdd">+ 添加动作</view>
|
||
</view>
|
||
<view wx:else class="empty">加载中…</view>
|
||
</view>
|
||
|
||
<view class="actionbar">
|
||
<view class="btn btn--gold" bindtap="onAdd">+ 添加动作</view>
|
||
<view class="btn btn--ghost" bindtap="onEdit">编辑</view>
|
||
<view class="btn btn--del" bindtap="onDelete">删除计划</view>
|
||
</view>
|
||
</view>
|
||
|
||
<view wx:else class="empty-page">
|
||
<view class="empty">{{ loading ? '加载中…' : '未找到该计划' }}</view>
|
||
</view>
|