feat(aigc): add travel postcard AIGC feature

Add complete travel postcard AIGC creation workflow including:
- New AIGC pages: template selection home, result detail, and history records
- Reusable UI components: template card, flow steps, result preview, action buttons, record lists
- Static assets including template images, fonts and styles
- Updated TopNavBar component to support menu button alignment
- Register new AIGC page routes in pages.json
- Add mock data for templates, user records and result details
This commit is contained in:
duanshuwen
2026-07-05 17:47:37 +08:00
parent ca680ab41b
commit f47f68e19b
35 changed files with 1716 additions and 18 deletions

View File

@@ -0,0 +1,25 @@
<template>
<view class="flow-steps">
<view
v-for="(step, index) in steps"
:key="step"
class="flow-step"
>
<text class="flow-index">{{ index + 1 }}</text>
<text class="flow-label">{{ step }}</text>
</view>
</view>
</template>
<script setup>
defineProps({
steps: {
type: Array,
default: () => [],
},
});
</script>
<style scoped lang="scss">
@import "./styles/index.scss";
</style>

View File

@@ -0,0 +1,50 @@
.flow-steps {
height: 55px;
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 0;
align-items: center;
margin: 12px 16px 0;
padding: 4px;
border-radius: 18px;
background: rgba(255, 255, 255, 0.62);
box-shadow: 0 8px 18px rgba(18, 48, 56, 0.05);
box-sizing: border-box;
}
.flow-step {
min-width: 0;
height: 38px;
display: flex;
align-items: center;
justify-content: center;
gap: 5px;
padding: 0 4px;
border-radius: 14px;
background: transparent;
color: #576276;
font-size: 12px;
line-height: 14px;
font-weight: 900;
white-space: nowrap;
box-sizing: border-box;
}
.flow-index {
flex: 0 0 18px;
width: 18px;
height: 18px;
border-radius: 50%;
background: #20cf75;
color: #ffffff;
font-size: 12px;
line-height: 18px;
text-align: center;
}
.flow-label {
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}