- 根因:c4639d0 给 plan-card 换上 <fc-icon> 但 plan-card.json 的 usingComponents 留空, 微信要求组件自行声明所引用的自定义组件,导致任何使用 plan-card 的页面编译报错、无法进入。 - 修复:plan-card/index.json 补上 fc-icon 声明(与 exercise-card/avatar/bottom-nav 一致)。 - 整体优化 my-plans: * 新增 status 四态(loading/list/empty/error),请求失败显示具体错误 + 『重新加载』按钮,杜绝静默进不去 * 加载态用 refresh-cw 旋转图标替代纯文字 * 遗留金色主按钮(新建计划/空态按钮/官方计划链接)统一到 Kinetic Dark 的 Volt 绿强调色,去除旧主题不一致
41 lines
1.5 KiB
Plaintext
41 lines
1.5 KiB
Plaintext
<view class="page">
|
||
<navbar title="我的训练计划" show-back />
|
||
|
||
<view class="newbar">
|
||
<view class="newbar__btn" bindtap="onNew">+ 新建计划</view>
|
||
</view>
|
||
|
||
<view class="section" style="padding-top: 8rpx;">
|
||
<block wx:if="{{status === 'list'}}">
|
||
<view class="grid">
|
||
<view class="grid__item" wx:for="{{plans}}" wx:key="id">
|
||
<plan-card
|
||
plan="{{item}}"
|
||
target="/pages/plan-detail/plan-detail?id={{item.id}}" />
|
||
</view>
|
||
</view>
|
||
</block>
|
||
|
||
<view wx:elif="{{status === 'error'}}" class="empty-box">
|
||
<view class="empty-box__emoji"><fc-icon name="alert-circle" size="64" color="var(--danger)" /></view>
|
||
<view class="empty-box__t">{{errorMsg}}</view>
|
||
<view class="empty-box__btn" bindtap="load">重新加载</view>
|
||
</view>
|
||
|
||
<view wx:elif="{{status === 'empty'}}" class="empty-box">
|
||
<view class="empty-box__emoji"><fc-icon name="clipboard-list" size="64" color="var(--text-3)" /></view>
|
||
<view class="empty-box__t">还没有计划,创建一个开始训练吧</view>
|
||
<view class="empty-box__btn" bindtap="onNew">+ 新建计划</view>
|
||
<view class="empty-box__link" bindtap="goOfficial">或浏览官方训练计划 ›</view>
|
||
</view>
|
||
|
||
<view wx:else class="empty">
|
||
<fc-icon name="refresh-cw" size="48" color="var(--text-3)" class="spin" />
|
||
<view class="empty__t">加载中…</view>
|
||
</view>
|
||
</view>
|
||
|
||
<view style="height: 160rpx;"></view>
|
||
<bottom-nav active="plans" />
|
||
</view>
|