feat(aigc): implement travel AIGC feature and clean up legacy assets

- Replace all local static AIGC assets with OSS hosted URLs to reduce bundle size
- Add travelAIGC command to ChatModel and update quick access menu to link to AIGC home
- Implement AIGC user consent flow with local storage persistence for compliance
- Refactor Discovery page layout, remove unused HeritageDiscoverySection component
- Update ChatTopNavBar to support dynamic navigation bar height based on system info
- Restructure ChatMainList layout for better discovery panel interaction
- Remove deprecated local asset files and clean up unused imports across codebase
This commit is contained in:
duanshuwen
2026-07-06 22:40:36 +08:00
parent bfda50e14a
commit 191ba48b9d
20 changed files with 268 additions and 383 deletions

View File

@@ -1,9 +1,7 @@
import glassBoatPostcard from "../../home/assets/glass-boat-postcard.gif";
export const aigcDetailResult = {
id: "glass-boat-postcard-result",
title: "鸳鸯湖明信片",
cover: glassBoatPostcard,
cover: "https://oss.nianxx.cn/mp/static/xiaoqi/glass-boat-postcard.gif",
accent: "#0a4d46",
variantLabel: "图片版",
resultLabel: "图片版",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 772 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 MiB

View File

@@ -1,8 +1,3 @@
import glassBoatPostcard from "../assets/glass-boat-postcard.gif";
import bridgeCover from "../assets/card-bridge.png";
import waterfallCover from "../assets/card-waterfall.png";
import cultureCover from "../assets/card-culture-1.png";
export const aigcTemplates = [
{
id: "glass-boat-postcard",
@@ -11,7 +6,7 @@ export const aigcTemplates = [
note: "图片版100积分 · 动效视频版200积分/5秒内",
badge: "同源双版本",
buttonText: "选这个模板",
cover: glassBoatPostcard,
cover: "https://oss.nianxx.cn/mp/static/xiaoqi/glass-boat-postcard.gif",
tone: "postcard",
accent: "#0a4d46",
},
@@ -22,7 +17,7 @@ export const aigcTemplates = [
note: "图片版100积分 · 动效视频版200积分/5秒内",
badge: "同源双版本",
buttonText: "选这个模板",
cover: bridgeCover,
cover: "https://oss.nianxx.cn/mp/static/xiaoqi/card-bridge.png",
tone: "emerald",
accent: "#0f7069",
},
@@ -33,7 +28,7 @@ export const aigcTemplates = [
note: "图片版100积分 · 动效视频版200积分/5秒内",
badge: "同源双版本",
buttonText: "选这个模板",
cover: waterfallCover,
cover: "https://oss.nianxx.cn/mp/static/xiaoqi/card-waterfall.png",
tone: "aqua",
accent: "#155e75",
},
@@ -44,7 +39,7 @@ export const aigcTemplates = [
note: "图片版100积分 · 动效视频版200积分/5秒内",
badge: "同源双版本",
buttonText: "选这个模板",
cover: cultureCover,
cover: "https://oss.nianxx.cn/mp/static/xiaoqi/card-culture-1.png",
tone: "forest",
accent: "#36563d",
},

View File

@@ -3,10 +3,7 @@
<AigcTopBar :points="pointBalance" @back="handleBack" @history="handleHistory" @recharge="handleRecharge" />
<view class="aigc-home-browser">
<GiftPointsToast
:visible="giftToastVisible"
@close="handleCloseGiftToast"
/>
<GiftPointsToast :visible="giftToastVisible" @close="handleCloseGiftToast" />
<TemplateCarousel v-model="activeIndex" :templates="templates" @select="handleSelectTemplate" />
@@ -29,13 +26,6 @@ const giftToastVisible = ref(true);
const templates = aigcTemplates;
const steps = aigcFlowSteps;
const showPlaceholderToast = (title) => {
uni.showToast({
title,
icon: "none",
});
};
const handleBack = () => {
const pages = getCurrentPages();
if (pages.length > 1) {
@@ -44,11 +34,15 @@ const handleBack = () => {
};
const handleHistory = () => {
showPlaceholderToast("最近任务");
uni.navigateTo({
url: "/pages-aigc/record/record"
});
};
const handleRecharge = () => {
showPlaceholderToast("积分充值");
uni.navigateTo({
url: "/pages-aigc/recharge/recharge"
});
};
const handleCloseGiftToast = () => {
@@ -57,8 +51,7 @@ const handleCloseGiftToast = () => {
const handleSelectTemplate = (template) => {
uni.navigateTo({
url: `/pages-aigc/useTemplate/useTemplate?templateId=${encodeURIComponent(template.id || "")}`,
fail: () => showPlaceholderToast(template.title),
url: `/pages-aigc/useTemplate/useTemplate?templateId=${encodeURIComponent(template.id || "")}`
});
};
</script>

View File

@@ -1,18 +1,16 @@
import glassBoatPostcard from "@/pages-aigc/home/assets/glass-boat-postcard.gif";
export const aigcRecords = [
{
id: "record-lake-postcard",
title: "鸳鸯湖明信片",
time: "2026-06-29 15:46:12",
status: "图片版 · 已完成 · 可升级动效视频",
image: glassBoatPostcard,
image: "https://oss.nianxx.cn/mp/static/xiaoqi/glass-boat-postcard.gif",
},
{
id: "record-lake-postcard-video",
title: "鸳鸯湖明信片",
time: "2026-06-29 15:58:40",
status: "动效视频版 · 5秒内 · 由图片版升级",
image: glassBoatPostcard,
image: "https://oss.nianxx.cn/mp/static/xiaoqi/glass-boat-postcard.gif",
},
];

Binary file not shown.

Before

Width:  |  Height:  |  Size: 556 KiB

After

Width:  |  Height:  |  Size: 123 KiB