kydc/me/me.wxml

104 lines
4.5 KiB
Plaintext
Raw Normal View History

2026-04-18 17:16:49 +08:00
<view class="page">
2026-04-19 11:56:49 +08:00
<scroll-view scroll-y class="content">
2026-04-23 11:34:54 +08:00
<canvas canvas-id="avatar-canvas" class="avatar-canvas"></canvas>
2026-04-19 11:56:49 +08:00
<view wx:if="{{loading}}" class="empty-state">
<text class="empty-title">登录中...</text>
<text class="empty-subtitle">正在获取你的登录态</text>
2026-04-18 17:16:49 +08:00
</view>
2026-04-19 11:56:49 +08:00
<view wx:elif="{{error}}" class="error-banner">
<text class="error-text">{{error}}</text>
<button class="secondary-btn error-btn" bindtap="loadProfile">重试登录</button>
</view>
<view wx:else class="hero-section">
2026-04-23 11:34:54 +08:00
<view class="hero-avatar-wrap" bindtap="chooseAvatar">
2026-04-18 17:16:49 +08:00
<view class="hero-avatar-border">
2026-04-23 11:34:54 +08:00
<image class="hero-avatar" src="{{avatarUrl || '/assets/images/default-avatar.png'}}" mode="aspectFill" binderror="onAvatarError" />
<view class="avatar-mask">
<text class="avatar-mask-text">点击更换</text>
</view>
2026-04-18 17:16:49 +08:00
</view>
</view>
<view class="hero-info">
2026-04-23 11:34:54 +08:00
<text class="hero-name" bindtap="openNicknameModal">{{name}}</text>
2026-04-18 17:16:49 +08:00
<view class="hero-badge">
<view class="pulse-dot"></view>
<text class="badge-text">累计学习 {{days}} 天</text>
</view>
</view>
</view>
2026-04-19 11:56:49 +08:00
<view wx:if="{{openid && badges === 0}}" class="empty-state small">
<text class="empty-title">还没有勋章</text>
<text class="empty-subtitle">完成复习和打卡后就会逐渐点亮</text>
</view>
2026-04-23 11:34:54 +08:00
<view wx:if="{{openid}}" class="grid-2">
2026-04-18 17:16:49 +08:00
<view class="glass-card accent-tertiary" bindtap="goTo" data-url="/pages/achievements/achievements">
<view class="card-glow"></view>
<view class="card-icon icon-tertiary">🏅</view>
<text class="card-title">成就墙</text>
<text class="card-subtitle">已点亮 {{badges}} 枚勋章</text>
</view>
<view class="glass-card accent-secondary" bindtap="goTo" data-url="/pages/checkin-detail/checkin-detail">
<view class="card-glow"></view>
<view class="card-icon icon-secondary">📅</view>
<text class="card-title">打卡详情</text>
2026-04-19 11:56:49 +08:00
<text class="card-subtitle">查看坚持记录</text>
2026-04-18 17:16:49 +08:00
</view>
</view>
<view class="divider-row">
<view class="divider"></view>
<text class="section-kicker">数据管理</text>
<view class="divider"></view>
</view>
<view class="grid-2 management-grid">
<view class="small-action" bindtap="goTo" data-url="/pages/vocab-manage/vocab-manage">
<view class="small-icon primary">📚</view>
<text class="small-text">词库管理</text>
</view>
<view class="small-action" bindtap="goTo" data-url="/pages/entry-edit/entry-edit">
<view class="small-icon secondary"></view>
<text class="small-text">手动新增</text>
</view>
<view class="small-action" bindtap="goTo" data-url="/pages/batch-upload/batch-upload">
<view class="small-icon tertiary">☁</view>
<text class="small-text">批量上传</text>
</view>
<view class="small-action" bindtap="goTo" data-url="/pages/progress-list/progress-list">
<view class="small-icon primary-fixed">≡</view>
<text class="small-text">进度列表</text>
</view>
</view>
<view class="settings-card" bindtap="goTo" data-url="/pages/settings/settings">
<view class="settings-icon">⚙</view>
<text class="settings-text">个性化设置</text>
<view class="chevron"></view>
</view>
</scroll-view>
2026-04-19 16:39:02 +08:00
2026-04-23 11:34:54 +08:00
<view wx:if="{{showNicknameModal}}" class="modal-mask" bindtap="closeNicknameModal">
<view class="modal-card" catchtap="noop">
<view class="modal-header">
<text class="modal-title">修改昵称</text>
<text class="modal-close" bindtap="closeNicknameModal">×</text>
</view>
<input class="modal-input" value="{{nicknameDraft}}" placeholder="请输入昵称" maxlength="100" focus="true" bindinput="onNicknameInput" />
<view class="modal-actions">
<button class="modal-btn ghost" bindtap="closeNicknameModal">取消</button>
<button class="modal-btn primary" bindtap="saveNickname">保存</button>
</view>
</view>
</view>
2026-04-19 16:39:02 +08:00
<view class="bottom-nav">
<view class="nav-item" bindtap="goHome"><text class="nav-icon">⌂</text><text class="nav-label">首页</text></view>
<view class="nav-item" bindtap="goToReview"><text class="nav-icon">📖</text><text class="nav-label">复习</text></view>
<view class="nav-item active"><text class="nav-icon">☺</text><text class="nav-label">我的</text></view>
</view>
2026-04-18 17:16:49 +08:00
</view>