feat(aigc/useTemplate): add multi-step template generation confirmation workflow

- add PhotoConfirmDrawer component for post-photo-pick quality verification
- add GenerateConfirmPanel to display generation point cost and available balance
- extend TemplateVersionHero to support custom variant styles
- refactor useTemplate page to use step-based workflow flow
This commit is contained in:
duanshuwen
2026-07-05 21:16:30 +08:00
parent d95e90127e
commit 4b77df11a8
8 changed files with 430 additions and 11 deletions

View File

@@ -0,0 +1,57 @@
<template>
<view class="generate-confirm-panel">
<view class="generate-points-summary">
<view class="generate-point-card">
<text class="generate-point-label">本次消耗</text>
<text class="generate-point-value">{{ cost }}积分</text>
</view>
<view class="generate-point-card">
<text class="generate-point-label">当前可用</text>
<text class="generate-point-value">{{ balance }}积分</text>
</view>
</view>
<view class="generate-freeze-note">
<text class="generate-freeze-title">积分冻结规则</text>
<text class="generate-freeze-desc">
开始生成后将先冻结 {{ cost }} 积分生成成功后扣除失败会自动退回
</text>
</view>
<view class="generate-confirm-actions">
<view
class="generate-action is-primary"
hover-class="is-pressed"
@tap="emit('generate')"
>
开始生成
</view>
<view
class="generate-action is-secondary"
hover-class="is-pressed"
@tap="emit('recharge')"
>
充值积分
</view>
</view>
</view>
</template>
<script setup>
defineProps({
cost: {
type: [Number, String],
default: 100,
},
balance: {
type: [Number, String],
default: 300,
},
});
const emit = defineEmits(["generate", "recharge"]);
</script>
<style scoped lang="scss">
@import "./styles/index.scss";
</style>