95 lines
3.3 KiB
Plaintext
95 lines
3.3 KiB
Plaintext
<view class="page up-page">
|
|
<navigation-bar title="上传衣物" scrolled="{{navScrolled}}" />
|
|
|
|
<!-- 初始态:巨大虚线发丝线方框 + 细描边相机 -->
|
|
<view wx:if="{{state === 'idle'}}">
|
|
<view class="head">
|
|
<view class="eyebrow">Upload</view>
|
|
<view class="display">上传衣物</view>
|
|
</view>
|
|
|
|
<view class="up-drop" hover-class="up-drop-press" bindtap="onChoose">
|
|
<view class="icon icon-camera up-drop-ic"></view>
|
|
<view class="up-drop-t">拍照或从相册选择</view>
|
|
<view class="up-drop-d">支持 JPG / PNG,单张不超过 20MB</view>
|
|
<view class="up-drop-d">上传消耗 1 次上传额度</view>
|
|
</view>
|
|
|
|
<view class="up-note">AI 将自动抠图并识别 15 项属性</view>
|
|
</view>
|
|
|
|
<!-- 处理中:实际图片 + 三段发丝线进度轨(排队中 / AI 抠图 / 智能分类) -->
|
|
<view wx:elif="{{state === 'processing'}}">
|
|
<view class="head">
|
|
<view class="eyebrow">Processing</view>
|
|
<view class="display">AI 正在识别你的衣物…</view>
|
|
<view wx:if="{{slowHint}}" class="up-note-left">处理时间较长,可先返回衣橱,结果会自动更新</view>
|
|
<view wx:else class="up-note-left">通常需要 10 秒左右,请稍候</view>
|
|
</view>
|
|
|
|
<view class="up-preview">
|
|
<image wx:if="{{imagePath}}" class="pic" src="{{imagePath}}" mode="aspectFit" />
|
|
<view wx:else class="ph icon icon-hanger"></view>
|
|
</view>
|
|
|
|
<view class="up-steps">
|
|
<view class="up-step {{step > 0 ? 'is-done' : ''}} {{step === 0 ? 'is-on' : ''}}">
|
|
<view class="up-dot"></view>
|
|
<text class="up-lb">排队中</text>
|
|
</view>
|
|
<view class="up-step {{step > 1 ? 'is-done' : ''}} {{step === 1 ? 'is-on' : ''}}">
|
|
<view class="up-dot"></view>
|
|
<text class="up-lb">AI 抠图</text>
|
|
</view>
|
|
<view class="up-step {{step === 2 ? 'is-on' : ''}}">
|
|
<view class="up-dot"></view>
|
|
<text class="up-lb">智能分类</text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<!-- 失败态:极简「!」+ 衬线标题 + 双按钮 -->
|
|
<view wx:else class="up-failed">
|
|
<view class="up-bang">!</view>
|
|
<view class="head">
|
|
<view class="display">识别失败</view>
|
|
<view class="up-note-left">{{failReason || '未知原因'}}{{quotaRefunded ? ' · 本次上传额度已自动退回' : ''}}</view>
|
|
</view>
|
|
<view class="up-duo">
|
|
<view class="btn btn--ghost" bindtap="onRetry">重新上传</view>
|
|
<view class="btn btn--ink" bindtap="onManualEdit">手动填写信息</view>
|
|
</view>
|
|
</view>
|
|
|
|
<!-- 图片来源选择 -->
|
|
<v2-overlay
|
|
visible="{{srcVisible}}"
|
|
type="actionsheet"
|
|
items="{{srcItems}}"
|
|
bind:select="onSourceSelect"
|
|
bind:cancel="onSourceCancel"
|
|
/>
|
|
|
|
<!-- 上传完成 -->
|
|
<v2-overlay
|
|
visible="{{doneVisible}}"
|
|
type="modal"
|
|
title="衣物已上传"
|
|
content="AI 正在识别中,可在衣橱查看进度"
|
|
buttons="{{doneButtons}}"
|
|
bind:confirm="onDoneConfirm"
|
|
bind:cancel="onDoneCancel"
|
|
/>
|
|
|
|
<!-- 额度不足 -->
|
|
<v2-overlay
|
|
visible="{{quotaVisible}}"
|
|
type="modal"
|
|
title="上传额度不足"
|
|
content="当前剩余 0 次,购买额度包后可继续上传"
|
|
buttons="{{quotaButtons}}"
|
|
bind:confirm="onQuotaConfirm"
|
|
bind:cancel="onQuotaCancel"
|
|
/>
|
|
</view>
|