42 lines
1.3 KiB
Plaintext
42 lines
1.3 KiB
Plaintext
<view class="page">
|
|
<block wx:if="{{loading}}">
|
|
<view class="hero hero-skeleton"></view>
|
|
<view class="grid">
|
|
<view class="module module-skeleton" wx:for="{{skeletonItems}}" wx:key="*this">
|
|
<view class="sk sk-circle"></view>
|
|
<view class="sk sk-line w-70"></view>
|
|
<view class="sk sk-line w-40"></view>
|
|
</view>
|
|
</view>
|
|
</block>
|
|
|
|
<block wx:else>
|
|
<view class="hero">
|
|
<view class="hero-chip" wx:if="{{greeting}}">{{greeting}}</view>
|
|
<view class="hero-name">{{displayName || '欢迎回来'}}</view>
|
|
<view class="hero-enc" wx:if="{{encouragement}}">{{encouragement}}</view>
|
|
</view>
|
|
|
|
<view class="error-bar" wx:if="{{error}}">
|
|
<text class="error-text">{{error}}</text>
|
|
<view class="error-retry" hover-class="link-hover" bindtap="onRetry">重试</view>
|
|
</view>
|
|
|
|
<view class="grid">
|
|
<view
|
|
class="module"
|
|
wx:for="{{modules}}"
|
|
wx:key="id"
|
|
hover-class="module-hover"
|
|
data-url="{{item.url}}"
|
|
bindtap="onModuleTap"
|
|
>
|
|
<view class="module-icon">{{item.icon}}</view>
|
|
<view class="module-label">{{item.label}}</view>
|
|
<view class="module-desc">{{item.desc}}</view>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="empty" wx:if="{{modules.length === 0 && !error}}">暂无功能入口</view>
|
|
</block>
|
|
</view> |