hku-class/miniprogram/pages/module/index.wxml
2026-05-12 23:10:05 +08:00

65 lines
3.0 KiB
Plaintext

<view class="page">
<view class="hero">
<view class="eyebrow">MODULE</view>
<view class="hero-title">{{title}}</view>
<view class="hero-subtitle">当前内容来自已开放的班级模块,关闭后会自动隐藏入口。</view>
</view>
<button wx:if="{{canPostTimeline}}" class="button" bindtap="openTimelineCreate">发布动态</button>
<button wx:if="{{canManage}}" class="button" bindtap="openManage">新增{{title}}</button>
<view class="section">
<view wx:for="{{items}}" wx:key="id" class="card" data-id="{{item.id || item.user_id}}" bindtap="openItem">
<view wx:if="{{isTimeline}}" class="feed-card">
<view class="feed-head">
<view class="row-mark">动</view>
<view class="row-body">
<view class="card-title">{{item.title}}</view>
<view class="muted">{{item.author_name}} · {{item.created_at}}</view>
</view>
<view wx:if="{{item.can_delete}}" class="more-dot" data-id="{{item.id}}" catchtap="openTimelineActions">···</view>
</view>
<view wx:if="{{item.content}}" class="feed-content">{{item.content}}</view>
<view wx:if="{{item.image_urls && item.image_urls.length}}" class="feed-images">
<image wx:for="{{item.image_urls}}" wx:for-item="img" wx:key="*this" src="{{img}}" mode="aspectFill" data-src="{{img}}" data-post-id="{{item.id}}" catchtap="previewImage" />
</view>
<view class="feed-actions">
<view>赞 {{item.like_count}}</view>
<view>评论 {{item.comment_count}}</view>
</view>
</view>
<view wx:elif="{{isDirectory}}" class="member-row">
<view class="avatar">{{item.initial}}</view>
<view class="row-body">
<view class="card-title">{{item.name}}</view>
<view class="muted">{{item.company || "公司未填写"}} · {{item.position || "职位未填写"}}</view>
<view class="muted">{{item.industry || "行业未填写"}}{{item.committee_text}}</view>
</view>
</view>
<view wx:elif="{{isSchedule}}" class="schedule-row">
<view class="date-badge">
<view class="date-day">{{item.schedule_day}}</view>
<view class="date-month">{{item.schedule_month}}</view>
</view>
<view class="row-body">
<view class="card-title">{{item.title}}</view>
<view class="muted">{{item.location || "地点待定"}}</view>
<view class="muted">{{item.start_time}}</view>
</view>
<view class="pill">{{item.type}}</view>
</view>
<view wx:else class="list-row">
<view class="row-mark">{{moduleIcon}}</view>
<view class="row-body">
<view class="card-title">{{item.title || item.name || item.book_title || item.category}}</view>
<view class="muted">{{item.description || item.content || item.author_name || item.recorder_name || item.location || ""}}</view>
</view>
</view>
</view>
</view>
<view wx:if="{{!loading && !items.length}}" class="empty">
<view class="muted">暂无内容</view>
</view>
</view>