提交修改
CI / Server (Go) (push) Has been cancelled
CI / Web (Next.js) (push) Has been cancelled
CI / Mobile (React Native) (push) Has been cancelled
CI / Admin (React) (push) Has been cancelled
CI / Docker Build (push) Has been cancelled

This commit is contained in:
zeronline
2026-06-29 16:49:54 +08:00
parent 545329ac40
commit b01a5f91c3
43 changed files with 740 additions and 338 deletions
+24 -23
View File
@@ -1,31 +1,32 @@
<view wx:if="{{!loading}}">
<view class="header-card">
<view class="avatar">{{user.nickname ? user.nickname[0] : (user.phone ? user.phone.slice(-4) : '?')}}</view>
<view class="header-info">
<text class="header-name">{{user.nickname || '用户'}}</text>
<text class="header-sub">积分 {{user.points}} · {{items.filter(i=>i.status==='active').length}} 个活跃项</text>
<view data-theme="{{themeMode}}">
<view class="header-card">
<view class="avatar">{{user.nickname ? user.nickname[0] : (user.phone ? user.phone.slice(-4) : '?')}}</view>
<view class="header-info">
<text class="header-name">{{user.nickname || '用户'}}</text>
<text class="header-sub">积分 {{user.points}} · {{items.filter(i=>i.status==='active').length}} 个活跃项</text>
</view>
</view>
<button class="profile-btn" bindtap="goProfile">我的</button>
</view>
<view class="section-header">
<text class="section-title">今日打卡</text>
<button class="create-btn" bindtap="goCreate">+ 创建</button>
</view>
<view wx:for="{{items}}" wx:key="id" class="checkin-card" data-id="{{item.id}}" bindtap="goDetail" wx:for-item="item">
<view class="card-icon">{{item.icon || '📋'}}</view>
<view class="card-body">
<text class="card-name">{{item.name}}</text>
<text class="card-meta">{{item.category}} · {{item.cycleType}}</text>
<view class="section-header">
<text class="section-title">今日打卡</text>
<button class="create-btn" bindtap="goCreate">+ 创建</button>
</view>
<text class="card-streak" wx:if="{{streaks[item.id]}}">🔥 {{streaks[item.id]}}天</text>
</view>
<view class="empty" wx:if="{{items.length===0}}">
<text class="empty-icon">📋</text>
<text class="empty-text">还没有打卡项</text>
<text class="empty-sub">点击上方"创建"开始</text>
<view wx:for="{{items}}" wx:key="id" class="checkin-card" data-id="{{item.id}}" bindtap="goDetail" wx:for-item="item">
<view class="card-icon">{{item.icon || '📋'}}</view>
<view class="card-body">
<text class="card-name">{{item.name}}</text>
<text class="card-meta">{{item.category}} · {{item.cycleType}}</text>
</view>
<text class="card-streak" wx:if="{{streaks[item.id]}}">🔥 {{streaks[item.id]}}天</text>
</view>
<view class="empty" wx:if="{{items.length===0}}">
<text class="empty-icon">📋</text>
<text class="empty-text">还没有打卡项</text>
<text class="empty-sub">点击上方"创建"开始</text>
</view>
</view>
</view>
<view wx:if="{{loading}}" class="loading">加载中...</view>