- 修改数据库配置将MYSQL_DB从mys_info_v3改为mys_info_test - 新增auth_users表wechat_openid字段并建立唯一索引 - 为plan_checkins表添加计划性能索引(idx_plan_period_student) - 将checkin_records_old表关联方式从student_id改为user_id - 将plan_checkins表关联方式从student_id改为user_id并更新附件路径 - 移除routes/auth.py中的uuid导入使用安全token生成函数 - 重构routes/checkin.py打卡逻辑去除course_type字段并优化返回结构 - 添加打卡时间限制验证功能防止过期打卡操作 - 实现小组统计功能支持老师查看各组打卡情况 - 更新主页index.html界面适配新的打卡和计划功能 - 调整计划提交时间规则为周五至周四周期 - 添加月度和年度计划提交状态验证机制
51 lines
1.9 KiB
Plaintext
51 lines
1.9 KiB
Plaintext
<view class="page">
|
||
<!-- 已登录:web-view 模式 -->
|
||
<block wx:if="{{isLoggedIn}}">
|
||
<web-view src="{{webviewUrl}}" wx:if="{{webviewUrl && !webviewError}}" key="{{webviewKey}}" binderror="onWebviewError"></web-view>
|
||
<view class="error-page" wx:if="{{webviewError}}">
|
||
<view class="error-icon">!</view>
|
||
<view class="error-title">页面加载失败</view>
|
||
<view class="error-desc">{{errorMsg}}</view>
|
||
<view class="error-retry" hover-class="btn-hover" bindtap="onRetry">重新加载</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 class="hero-login-tip" wx:if="{{!displayName || displayName === '游客'}}" hover-class="btn-hover" bindtap="goLogin">
|
||
登录账号解锁完整功能 ›
|
||
</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="intro-section" wx:if="{{introData && introData.sections}}">
|
||
<view class="intro-title">{{introData.title}}</view>
|
||
<view class="intro-card" wx:for="{{introData.sections}}" wx:key="heading">
|
||
<view class="intro-icon">{{item.icon}}</view>
|
||
<view class="intro-body">
|
||
<view class="intro-heading">{{item.heading}}</view>
|
||
<view class="intro-text">{{item.text}}</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</block>
|
||
</view>
|