50 lines
3.7 KiB
Plaintext
50 lines
3.7 KiB
Plaintext
<view class="app-shell app-shell--secondary" style="{{layoutStyle}}">
|
||
<launch-transition />
|
||
<!-- pages/albums/albums.wxml - 相册列表 -->
|
||
<app-nav title="{{uploadMode ? '选择相册' : '相册'}}" back="{{true}}" />
|
||
|
||
<scroll-view class="page-bg" scroll-y bindscrolltolower="loadMore" lower-threshold="120" show-scrollbar="{{false}}" bounces="{{true}}">
|
||
<view class="j-body"><view class="j-row"><view><text class="j-eyebrow">MOMENTS WE KEEP</text><text class="j-page-title">{{uploadMode ? '选择上传照片的相册' : '照片里的日常'}}</text></view><button class="j-button j-button-small" bindtap="goToPublish">+ 建相册</button></view>
|
||
<page-state wx:if="{{loading}}" kind="loading" title="正在打开相册" /><page-state wx:elif="{{loadError}}" kind="error" title="加载失败" action="重试" bind:action="loadAlbums" />
|
||
<view class="j-album-list" wx:else><view class="j-album-print" wx:for="{{albums}}" wx:key="id" bindtap="openAlbum" data-id="{{item.id}}"><image wx:if="{{item.cover}}" src="{{item.cover}}" mode="aspectFill" /><view wx:else class="j-album-placeholder"><image src="/images/album.svg" /><text>还没有照片</text></view><view class="j-row"><view><text class="j-story-title">{{item.title || '我们的相册'}}</text><text class="j-caption">{{item.photo_count || 0}} 张照片</text></view><view class="j-link j-album-menu" catchtap="showMoreMenu" data-id="{{item.id}}" data-title="{{item.title}}" data-desc="{{item.description}}" data-cover="{{item.cover}}">•••</view></view><text wx:if="{{item.description}}" class="j-caption">{{item.description}}</text></view></view>
|
||
<page-state wx:if="{{!loading && !loadError && !albums.length}}" title="相册还空着" description="为旅行、周末或日常,留一本相册" action="创建相册" bind:action="goToPublish" />
|
||
</view>
|
||
<!-- 操作菜单弹窗 -->
|
||
<view class="modal-overlay" wx:if="{{showMoreModal}}" bindtap="hideMoreMenu">
|
||
<view class="action-sheet" catchtap="noop">
|
||
<view class="action-item" bindtap="editAlbum">
|
||
<image src="/images/edit.svg" mode="aspectFit" class="action-icon" />
|
||
<text>编辑相册信息</text>
|
||
</view>
|
||
<view class="action-item danger" bindtap="deleteAlbum">
|
||
<image src="/images/delete.svg" mode="aspectFit" class="action-icon" />
|
||
<text>删除相册</text>
|
||
</view>
|
||
<view class="action-cancel" bindtap="hideMoreMenu">取消</view>
|
||
</view>
|
||
</view>
|
||
|
||
<!-- 编辑相册弹窗 -->
|
||
<view class="modal-overlay" wx:if="{{showEditModal}}" bindtap="hideEditModal">
|
||
<view class="modal" catchtap="noop" style="width:90%;max-width:560rpx;">
|
||
<button class="modal-close" bindtap="hideEditModal"><image src="/images/close.svg" mode="aspectFit" /></button>
|
||
<text class="title">编辑相册</text>
|
||
<view class="input-group">
|
||
<label>相册标题</label>
|
||
<input placeholder-class="handwritten-placeholder" class="input" placeholder="例如:旅行记录" value="{{editForm.title}}" bindinput="onEditTitleInput" />
|
||
</view>
|
||
<view class="input-group">
|
||
<label>描述(选填)</label>
|
||
<input placeholder-class="handwritten-placeholder" class="input" placeholder="简单描述这个相册" value="{{editForm.desc}}" bindinput="onEditDescInput" />
|
||
</view>
|
||
<button class="btn btn-primary" bindtap="saveAlbumEdit" hover-class="none">保存</button>
|
||
</view>
|
||
</view>
|
||
|
||
<view class="j-pagination" wx:if="{{!loading && !loadError && total > 0}}"><text wx:if="{{loadingMore}}">正在加载…</text><text wx:elif="{{moreError}}" bindtap="loadMore">加载失败,点击重试</text><text wx:elif="{{hasMore}}" bindtap="loadMore">加载更多</text><text wx:else>已加载全部</text></view>
|
||
</scroll-view>
|
||
|
||
|
||
|
||
</view>
|