Files
Blizzard 8be6d9b1ab feat: add account deletion, announcements and subscription renewal
Support personal records and persistent smoking visibility. Add upload quota preflight, file cleanup, privacy entry, image caching and revision-based page refresh across the backend, admin and mini program.
2026-11-03 22:06:47 +08:00

111 lines
5.4 KiB
Plaintext

<view capture-bind:tap="onLoginSubscribeTap" class="app-shell app-shell--secondary" style="{{layoutStyle}}">
<launch-transition />
<!-- pages/unbind/unbind.wxml - 情侣解绑确认页 -->
<app-nav title="解绑" back="{{true}}" />
<scroll-view class="page-bg" scroll-y show-scrollbar="{{false}}" bounces="{{true}}">
<view class="container" style="padding-top:120rpx;">
<!-- 加载中 -->
<page-state wx:if="{{loading}}" kind="loading" title="正在获取解绑状态" /><page-state wx:elif="{{loadError}}" kind="error" title="解绑状态加载失败" action="重试" bind:action="loadStatus" />
<!-- 无解绑请求 -->
<view class="empty-state" wx:elif="{{!loading && !loadError && status == 'none'}}">
<text class="empty-icon">💕</text>
<text class="empty-title">当前没有解绑请求</text>
<text class="empty-desc">在设置页面可以发起解绑</text>
</view>
<!-- 待对方确认(我是发起方) -->
<view class="unbind-card" wx:elif="{{!loading && !loadError && status == 'pending' && isRequester}}">
<view class="unbind-icon">⏳</view>
<text class="unbind-title">解绑请求已发送</text>
<text class="unbind-desc">等待对方确认同意解绑</text>
<view class="unbind-timer" wx:if="{{remaining > 0}}">
<text class="timer-label">剩余时间</text>
<text class="timer-value">{{timerText}}</text>
</view>
<view class="unbind-info">
<text>发起时间:{{createdTime}}</text>
<text>状态:待对方确认</text>
</view>
<button class="btn btn-outline" bindtap="cancelUnbind" style="margin-top:32rpx;border-color:#FF4757;color:#FF4757;">撤销解绑请求</button>
</view>
<!-- 待我确认(我是对方) -->
<view class="unbind-card" wx:elif="{{!loading && !loadError && status == 'pending' && !isRequester}}">
<view class="unbind-icon">💔</view>
<text class="unbind-title">{{requesterName}} 发起了解绑请求</text>
<text class="unbind-desc">对方希望解除情侣绑定,请确认或拒绝</text>
<view class="unbind-timer" wx:if="{{remaining > 0}}">
<text class="timer-label">剩余时间</text>
<text class="timer-value">{{timerText}}</text>
</view>
<view class="unbind-info">
<text>发起时间:{{createdTime}}</text>
<text>同意后进入72小时冷静期,期间任一方可取消</text>
</view>
<view class="unbind-actions" style="margin-top:32rpx;">
<button class="btn btn-primary" bindtap="agreeUnbind" style="background:#FF4757;">💔 同意解绑</button>
<button class="btn btn-outline" bindtap="rejectUnbind" style="margin-top:16rpx;">拒绝解绑</button>
</view>
</view>
<view class="unbind-card" wx:elif="{{!loading && !loadError && status == 'cooling'}}">
<view class="unbind-icon">⏳</view><text class="unbind-title">72小时冷静期</text>
<text class="unbind-desc">冷静期内关系保留,双方均可撤销解绑;到期自动解绑并永久删除共同数据。个人抽烟记录保留。</text>
<view class="unbind-timer"><text class="timer-label">距正式解绑</text><text class="timer-value">{{timerText}}</text></view>
<button class="btn btn-outline" bindtap="cancelUnbind">撤销解绑,继续保留关系</button>
</view>
<!-- 已同意解绑 -->
<view class="unbind-card" wx:elif="{{!loading && !loadError && status == 'completed'}}">
<view class="unbind-icon">💔</view>
<text class="unbind-title">解绑完成</text>
<text class="unbind-desc">冷静期已结束,已解除关系并删除共同数据。个人抽烟记录保留。</text>
<view class="unbind-info">
<text>完成时间:{{completedTime}}</text>
</view>
<button class="btn btn-primary" bindtap="goHome" style="margin-top:32rpx;">返回首页</button>
</view>
<!-- 已拒绝解绑 -->
<view class="unbind-card" wx:elif="{{!loading && !loadError && status == 'rejected'}}">
<view class="unbind-icon">💕</view>
<text class="unbind-title">解绑请求已被拒绝</text>
<text class="unbind-desc">对方拒绝了你的解绑请求</text>
<view class="unbind-info">
<text>拒绝时间:{{respondedTime}}</text>
</view>
<button class="btn btn-primary" bindtap="goBack" style="margin-top:32rpx;">返回</button>
</view>
<!-- 已撤销 -->
<view class="unbind-card" wx:elif="{{!loading && !loadError && status == 'cancelled'}}">
<view class="unbind-icon">💕</view>
<text class="unbind-title">解绑请求已撤销</text>
<text class="unbind-desc">解绑已取消,关系继续保留</text>
<view class="unbind-info">
<text>撤销时间:{{respondedTime}}</text>
</view>
<button class="btn btn-primary" bindtap="goBack" style="margin-top:32rpx;">返回</button>
</view>
<!-- 已过期 -->
<view class="unbind-card" wx:elif="{{!loading && !loadError && status == 'expired'}}">
<view class="unbind-icon">⏰</view>
<text class="unbind-title">解绑请求已过期</text>
<text class="unbind-desc">超过72小时未回应,解绑请求已自动取消</text>
<view class="unbind-info">
<text>发起时间:{{createdTime}}</text>
</view>
<button class="btn btn-primary" bindtap="goBack" style="margin-top:32rpx;">返回</button>
</view>
</view>
</scroll-view>
</view>