feat: add gift points toast and refactor useTemplate layout

Add a new gift points notification toast to the AIGC home page for new user signup rewards.
Restructure the useTemplate page's layout and SCSS, split the content container and add dedicated popup host for modal steps.
Remove the unused UploadTemplatePreview component and all related references from the codebase.
This commit is contained in:
duanshuwen
2026-07-05 20:06:18 +08:00
parent b381c712df
commit d95e90127e
7 changed files with 148 additions and 161 deletions

View File

@@ -8,11 +8,8 @@
@recharge="handleRecharge"
/>
<view
class="aigc-use-template-content"
:class="{ 'is-upload-guide': currentStep !== 'version' }"
>
<template v-if="currentStep === 'version'">
<view class="aigc-use-template-body">
<view class="aigc-use-template-content">
<TemplateVersionHero :template="currentTemplate" />
<VersionOptionList
@@ -24,28 +21,24 @@
<text class="aigc-use-template-note">
动效视频版会先生成图片底图再升级为 5秒内动效视频
</text>
</template>
</view>
</view>
<template v-else>
<UploadTemplatePreview
:template="currentTemplate"
:version="currentVersion"
/>
<PhotoGuidePanel
v-if="currentStep === 'uploadGuide'"
:avatar-src="guideAvatar"
:positive-examples="positiveExamples"
:negative-examples="negativeExamples"
@close="handleCloseGuide"
@confirm="handleConfirmGuide"
/>
<PhotoPickDrawer
v-else
@close="handleCloseGuide"
@camera="handlePickCamera"
@album="handlePickAlbum"
/>
</template>
<view v-if="currentStep === 'uploadGuide'" class="aigc-use-template-popup-host">
<PhotoGuidePanel
:avatar-src="guideAvatar"
:positive-examples="positiveExamples"
:negative-examples="negativeExamples"
@close="handleCloseGuide"
@confirm="handleConfirmGuide"
/>
</view>
<view v-if="currentStep === 'photoPick'" class="aigc-use-template-popup-host">
<PhotoPickDrawer
@close="handleCloseGuide"
@camera="handlePickCamera"
@album="handlePickAlbum"
/>
</view>
</view>
</template>
@@ -59,7 +52,6 @@ import guideAvatar from "./assets/xiaoqi-avatar.png";
import PhotoGuidePanel from "./components/PhotoGuidePanel/index.vue";
import PhotoPickDrawer from "./components/PhotoPickDrawer/index.vue";
import TemplateVersionHero from "./components/TemplateVersionHero/index.vue";
import UploadTemplatePreview from "./components/UploadTemplatePreview/index.vue";
import VersionOptionList from "./components/VersionOptionList/index.vue";
import { negativeExamples, positiveExamples } from "./data/photoGuideExamples.js";
import { versionOptions } from "./data/versionOptions.js";
@@ -73,10 +65,6 @@ const currentTemplate = computed(() => {
return aigcTemplates.find((item) => item.id === templateId.value) || aigcTemplates[0] || {};
});
const currentVersion = computed(() => {
return versionOptions.find((item) => item.value === selectedVersion.value) || versionOptions[0] || {};
});
onLoad((query = {}) => {
templateId.value = query.templateId || "";
});