Add 卓米会 mini program and admin server.

Initial commit of the WeChat mini program, Express backend, and admin console.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Michelle Zan
2026-09-29 19:01:36 +08:00
co-authored by Cursor
commit cd05113755
67 changed files with 4845 additions and 0 deletions
+46
View File
@@ -0,0 +1,46 @@
<view class="page">
<view wx:if="{{isAdmin}}" class="actions">
<view class="btn add" bindtap="onAdd">增加</view>
<view class="btn del {{deleting ? 'active' : ''}}" bindtap="onDelete">{{deleting ? '完成' : '删除'}}</view>
</view>
<view wx:if="{{loaded && !list.length}}" class="empty">还没有往期活动</view>
<view
class="card {{item.pinned ? 'pinned' : ''}}"
wx:for="{{list}}"
wx:key="id"
data-id="{{item.id}}"
bindtap="openDetail"
>
<view class="cover theme-{{item.theme}}">
<image wx:if="{{item.coverUrl}}" class="cover-image" src="{{item.coverUrl}}" mode="aspectFill" lazy-load />
<view wx:if="{{item.coverUrl}}" class="cover-shade"></view>
<text wx:if="{{item.pinned}}" class="pin-badge">置顶</text>
<text wx:if="{{item.video}}" class="video-badge">▶ 视频</text>
<text class="cover-title">{{item.title}}</text>
</view>
<view class="body">
<view class="title-row">
<text class="name">{{item.title}}</text>
<view wx:if="{{isAdmin}}" class="ops">
<text
wx:if="{{!deleting}}"
class="pin-btn"
data-id="{{item.id}}"
data-pinned="{{item.pinned ? 1 : 0}}"
catchtap="togglePin"
>{{item.pinned ? '取消置顶' : '置顶'}}</text>
<text
wx:else
class="remove"
data-id="{{item.id}}"
data-title="{{item.title}}"
catchtap="remove"
>删除</text>
</view>
</view>
<text class="time">{{item.startAt}}</text>
</view>
</view>
</view>