From 03d0e80d217724ddcce3d8e82cf9e9470cc57b5a Mon Sep 17 00:00:00 2001 From: Wenzhe Date: Mon, 2 Feb 2026 21:57:32 +0800 Subject: [PATCH] v1.1.7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1、移除页面加载favicon 2、合并api请求方法 3、完成抽奖留资于ai春联生成功能,都采用组件方式进行调用 4、完成当次留资后,不能进行第二次留资 5、生成海报后,点击ai春联直接展示已经生成的海报 6、移除一些无效的样式代码 --- api/api.js | 92 +++--- api/user.js | 22 -- api/visit.js | 27 -- components/AICoupletForm.vue | 292 ++++++++++++++++++ components/CoupletDisplay.vue | 115 +++++++ components/EndPage.vue | 11 +- components/SinglePageContainer.vue | 473 +++-------------------------- index.html | 1 + pages/info.vue | 143 +++++++++ static/info/couplet_info_box.png | Bin 0 -> 41922 bytes 10 files changed, 652 insertions(+), 524 deletions(-) delete mode 100644 api/user.js delete mode 100644 api/visit.js create mode 100644 components/AICoupletForm.vue create mode 100644 components/CoupletDisplay.vue create mode 100644 pages/info.vue create mode 100644 static/info/couplet_info_box.png diff --git a/api/api.js b/api/api.js index cd1127d..0363317 100644 --- a/api/api.js +++ b/api/api.js @@ -1,56 +1,54 @@ -import axios from 'axios' +/** + * API 统一入口 + * 所有 API 函数都从此文件导入 + */ +import { post } from './request.js' -const API_BASE_URL = import.meta.env.PROD ? '' : 'http://localhost:8080' - -const api = axios.create({ - baseURL: API_BASE_URL, - timeout: 60000, - headers: { - 'Content-Type': 'application/json' - } -}) - -export const generatePoster = async (posterData) => { - try { - const response = await api.post('/api/posters', posterData) - return response.data - } catch (error) { - throw new Error(error.response?.data?.error || '生成海报失败') - } +/** + * 保存用户信息 + * @param {Object} data - 用户数据 + * @param {string} data.name - 用户姓名 + * @param {string} data.phone - 用户手机号码 + * @param {string} data.address - 用户地址 + * @param {string} data.msg - 用户留言 + * @param {string} data.page_visit_uuid - 页面访问UUID + * @returns {Promise} + */ +export const saveUserInfo = (data) => { + return post('/api/user-info', data) } -export const getPoster = async (posterId) => { - try { - const response = await api.get(`/api/posters/${posterId}`) - return response.data - } catch (error) { - throw new Error(error.response?.data?.error || '获取海报失败') - } +/** + * 生成对联海报 + * @param {Object} data - 请求数据 + * @param {string} data.title - 两个汉字,用于生成对联(如"新春") + * @param {string} data.page_visit_uuid - 页面访问UUID,用于关联页面访问记录 + * @returns {Promise} - 返回包含 share_url, poster_id, image_url 的 Promise + */ +export const generateCoupletPoster = (data) => { + return post('/api/couplets', data) } -export const generateCoupletPoster = async (coupletData) => { - try { - const response = await api.post('/api/couplets', coupletData) - return response.data - } catch (error) { - throw new Error(error.response?.data?.error || '生成对联海报失败') +/** + * 记录页面访问 + * @param {Object} data - 访问数据 + * @param {string} data.page - 页面标识 + * @param {string} data.source - 访问来源 + * @param {Object} data.extra - 额外数据 + * @returns {Promise} + */ +export const recordPageVisit = (data = {}) => { + const defaultData = { + page: 'index', + timestamp: Date.now(), + ...data } + + return post('/api/page-visit', defaultData) } -export const saveUserInfo = async (userInfo) => { - try { - const response = await api.post('/api/user-info', userInfo) - return response.data - } catch (error) { - throw new Error(error.response?.data?.error || '保存用户信息失败') - } +export default { + saveUserInfo, + generateCoupletPoster, + recordPageVisit } - -export const recordPageVisit = async (pageVisitData) => { - try { - const response = await api.post('/api/page-visit', pageVisitData) - return response.data - } catch (error) { - console.error('Failed to record page visit:', error) - } -} \ No newline at end of file diff --git a/api/user.js b/api/user.js deleted file mode 100644 index 9403da4..0000000 --- a/api/user.js +++ /dev/null @@ -1,22 +0,0 @@ -/** - * 用户信息相关 API - */ -import { post } from './request.js' - -/** - * 保存用户信息 - * @param {Object} data - 用户数据 - * @param {string} data.name - 用户姓名 - * @param {string} data.phone - 用户手机号码 - * @param {string} data.address - 用户地址 - * @param {string} data.msg - 用户留言 - * @param {string} data.page_visit_uuid - 页面访问UUID - * @returns {Promise} - */ -export const saveUserInfo = (data) => { - return post('/api/user-info', data) -} - -export default { - saveUserInfo -} diff --git a/api/visit.js b/api/visit.js deleted file mode 100644 index 95cb783..0000000 --- a/api/visit.js +++ /dev/null @@ -1,27 +0,0 @@ -/** - * 页面访问相关 API - */ -import { post } from './request.js' - -/** - * 记录页面访问 - * @param {Object} data - 访问数据 - * @param {string} data.page - 页面标识 - * @param {string} data.source - 访问来源 - * @param {Object} data.extra - 额外数据 - * @returns {Promise} - */ -export const recordPageVisit = (data = {}) => { - const defaultData = { - page: 'index', - timestamp: Date.now(), - ...data - } - - return post('/api/page-visit', defaultData) -} - - -export default { - recordPageVisit -} diff --git a/components/AICoupletForm.vue b/components/AICoupletForm.vue new file mode 100644 index 0000000..a5a7c7e --- /dev/null +++ b/components/AICoupletForm.vue @@ -0,0 +1,292 @@ + + + + + \ No newline at end of file diff --git a/components/CoupletDisplay.vue b/components/CoupletDisplay.vue new file mode 100644 index 0000000..f834caa --- /dev/null +++ b/components/CoupletDisplay.vue @@ -0,0 +1,115 @@ + + + + + \ No newline at end of file diff --git a/components/EndPage.vue b/components/EndPage.vue index f7e61dd..bc909dc 100644 --- a/components/EndPage.vue +++ b/components/EndPage.vue @@ -126,10 +126,14 @@ const props = defineProps({ hasSubmitted: { type: Boolean, default: false + }, + generatedCouplet: { + type: Object, + default: () => null } }) -const emit = defineEmits(['lottery', 'couplet', 'restart']) +const emit = defineEmits(['lottery', 'couplet', 'restart', 'showCouplet']) const handleLottery = () => { // 如果已经提交过,直接提示 @@ -145,6 +149,11 @@ const handleLottery = () => { } const handleCouplet = () => { + // 如果已经生成过海报,直接显示海报 + if (props.generatedCouplet && props.generatedCouplet.image_url) { + emit('showCouplet') + return + } emit('couplet') } diff --git a/components/SinglePageContainer.vue b/components/SinglePageContainer.vue index 7cabcbf..db912f7 100644 --- a/components/SinglePageContainer.vue +++ b/components/SinglePageContainer.vue @@ -2,8 +2,7 @@ import { ref, onMounted, onUnmounted, computed, watch, nextTick } from 'vue' import { useSceneStore } from '../store/scene' import { useCollectionStore } from '../store/collection' -import { recordPageVisit } from '../api/visit.js' -import { saveUserInfo } from '../api/user.js' +import { recordPageVisit, saveUserInfo, generateCoupletPoster } from '../api/api.js' import LongImageViewer from './LongImageViewer.vue' import MediaPlayer from './MediaPlayer.vue' import QianmenScene from './QianmenScene.vue' @@ -13,6 +12,8 @@ import WangfujingScene from './WangfujingScene.vue' import ChongwenScene from './ChongwenScene.vue' import EndPage from './EndPage.vue' import LotteryFormModal from './LotteryFormModal.vue' +import AICoupletForm from './AICoupletForm.vue' +import CoupletDisplay from './CoupletDisplay.vue' const sceneStore = useSceneStore() const collectionStore = useCollectionStore() @@ -427,54 +428,46 @@ const openAICoupletForm = () => { showAICoupletForm.value = true } -// 选择推荐关键词 -const selectRecommendedKeyword = (word) => { - coupletKeyword.value = word -} - -// 生成春联 -const generateCouplet = () => { - if (!coupletKeyword.value || coupletKeyword.value.length < 2) { - uni.showToast({ - title: '请输入两个字的关键词', - icon: 'none', - duration: 2000 - }) - return - } - +// 处理生成春联 +const handleGenerateCouplet = async (keyword) => { uni.showLoading({ title: '生成中...', mask: true }) - // 模拟AI生成春联 - setTimeout(() => { + try { + // 调用后端 API 生成春联海报 + const response = await generateCoupletPoster({ + title: keyword, + page_visit_uuid: pageVisitUuid.value + }) + uni.hideLoading() - // 生成春联(这里使用预设模板) - const coupletTemplates = [ - { - top: `${coupletKeyword.value.charAt(0)}气盈门添福寿`, - bottom: `${coupletKeyword.value.charAt(1)}光满院报平安`, - 横批: '新春大吉' - }, - { - top: `${coupletKeyword.value.charAt(0)}祥如意年年好`, - bottom: `${coupletKeyword.value.charAt(1)}事顺心步步高`, - 横批: '万事如意' - }, - { - top: `${coupletKeyword.value.charAt(0)}星高照家昌盛`, - bottom: `${coupletKeyword.value.charAt(1)}运亨通福满堂`, - 横批: '吉星高照' - } - ] + // 构建春联数据 - 使用 API 返回的参数 + generatedCouplet.value = { + share_url: response.share_url, + image_url: response.image_url + } - generatedCouplet.value = coupletTemplates[Math.floor(Math.random() * coupletTemplates.length)] showCoupletDisplay.value = true showAICoupletForm.value = false - }, 1500) + } catch (error) { + uni.hideLoading() + + // 显示错误信息 + uni.showToast({ + title: error.message || '生成春联失败,请稍后重试', + icon: 'none', + duration: 2000 + }) + } +} + +// 处理分享春联 +const handleShareCouplet = () => { + // 分享逻辑可以在这里扩展 + console.log('分享春联:', generatedCouplet.value) } // 返回顶部 @@ -537,8 +530,10 @@ onUnmounted(() => { :total-count="scenes.length - 1" :collected-seals="collectedSeals" :has-submitted="hasSubmittedUserInfo" + :generated-couplet="generatedCouplet" @lottery="openLotteryForm" @couplet="openAICoupletForm" + @show-couplet="showCoupletDisplay = true" @restart="scrollToTop" /> @@ -624,55 +619,19 @@ onUnmounted(() => { /> -
- - -
+ -
- - -
+ @@ -794,346 +753,6 @@ onUnmounted(() => { background-color: #f5f5f5; } -.scene-section.active { - /* 当前活动场景样式 */ -} - -.scene-content { - width: 100%; - max-width: 640px; - padding: 20px; - box-sizing: border-box; -} - -.scene-title { - font-size: 28px; - color: #333; - margin-bottom: 10px; - text-align: center; -} - -.scene-description { - font-size: 16px; - color: #666; - margin-bottom: 20px; - text-align: center; -} - -.long-image-container { - position: relative; - width: 100%; - height: 50vh; - margin-bottom: 20px; - background-color: #000; - border-radius: 10px; - overflow: hidden; -} - -.interaction-tip { - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - background-color: rgba(0, 0, 0, 0.7); - color: #fff; - padding: 15px 25px; - border-radius: 10px; - z-index: 10; - animation: pulse 1.5s infinite; -} - -@keyframes pulse { - 0% { - transform: translate(-50%, -50%) scale(1); - } - 50% { - transform: translate(-50%, -50%) scale(1.1); - } - 100% { - transform: translate(-50%, -50%) scale(1); - } -} - -.tip-icon { - font-size: 36px; - margin-bottom: 5px; -} - -.seal-collect-tip { - position: absolute; - top: 20px; - right: 20px; - display: flex; - align-items: center; - background-color: rgba(255, 107, 53, 0.9); - color: #fff; - padding: 8px 15px; - border-radius: 20px; - font-size: 14px; - z-index: 10; -} - -.seal-icon { - font-size: 24px; - margin-right: 5px; -} - -.media-section { - margin-top: 20px; -} - -/* 弹窗样式 */ -.form-modal, -.couplet-display-modal { - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; - z-index: 1000; - display: flex; - align-items: center; - justify-content: center; -} - -.modal-overlay { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background-color: rgba(0, 0, 0, 0.7); -} - -.modal-content { - position: relative; - background-color: white; - border-radius: 15px; - padding: 20px; - width: 90%; - max-width: 500px; - max-height: 80vh; - overflow-y: auto; - z-index: 1001; -} - -.close-btn { - position: absolute; - top: 10px; - right: 15px; - background: none; - border: none; - font-size: 24px; - cursor: pointer; - color: #666; -} - -.modal-header { - display: flex; - justify-content: space-between; - align-items: center; - margin-bottom: 20px; - border-bottom: 1px solid #eee; - padding-bottom: 10px; -} - -.modal-header h3 { - margin: 0; - font-size: 20px; - color: #333; -} - -.modal-body { - padding-bottom: 10px; -} - -.modal-description { - font-size: 16px; - color: #666; - margin-bottom: 20px; - text-align: center; -} - -.form-group { - margin-bottom: 20px; -} - -.form-input, -.keyword-input, -.form-textarea { - width: 100%; - padding: 12px; - border: 1px solid #ddd; - border-radius: 8px; - font-size: 16px; - box-sizing: border-box; -} - -.form-textarea { - resize: vertical; - min-height: 80px; -} - -.recommended-keywords { - display: flex; - flex-wrap: wrap; - gap: 10px; - margin-bottom: 20px; - justify-content: center; -} - -.keyword-tag { - padding: 8px 15px; - background-color: #f0f0f0; - border-radius: 20px; - font-size: 14px; - cursor: pointer; - transition: all 0.3s ease; -} - -.keyword-tag:hover { - background-color: #e0e0e0; -} - -.form-actions { - text-align: center; -} - -.submit-btn { - padding: 12px 30px; - font-size: 16px; - background-color: #FF6B35; - color: white; - border: none; - border-radius: 25px; - cursor: pointer; - transition: all 0.3s ease; -} - -.submit-btn:hover:not(:disabled) { - background-color: #E65A2B; - transform: translateY(-2px); -} - -.submit-btn:disabled { - background-color: #ccc; - cursor: not-allowed; -} - -.modal-video { - width: 100%; - max-height: 70vh; - border-radius: 10px; -} - -/* 春联展示样式 */ -.couplet-content { - max-width: 600px; -} - -.couplet-display { - text-align: center; - margin-bottom: 30px; - padding: 20px; - background-color: #f9f9f9; - border-radius: 15px; -} - -.couplet-item { - font-family: 'SimSun', 'STSong', serif; - font-size: 24px; - line-height: 1.8; - margin: 10px 0; -} - -.top-couplet { - transform: rotate(90deg); - transform-origin: right center; - display: inline-block; - margin-right: 40px; -} - -.bottom-couplet { - transform: rotate(-90deg); - transform-origin: left center; - display: inline-block; - margin-left: 40px; -} - -.横批 { - font-size: 28px; - font-weight: bold; - color: #FF6B35; - margin-top: 20px; -} - -.collected-items-section { - margin-top: 20px; - padding-top: 20px; - border-top: 1px solid #eee; -} - -.items-title { - font-size: 16px; - color: #333; - margin-bottom: 15px; -} - -.collected-items { - display: flex; - flex-wrap: wrap; - gap: 10px; - justify-content: center; -} - -.item-tag { - padding: 8px 15px; - background-color: #fff3e0; - border: 1px solid #ffb74d; - border-radius: 20px; - font-size: 14px; - color: #e65100; -} - -.couplet-actions { - display: flex; - gap: 15px; - justify-content: center; - margin-top: 20px; -} - -.share-btn { - padding: 10px 20px; - background-color: #2196F3; - color: white; - border: none; - border-radius: 20px; - cursor: pointer; - transition: all 0.3s ease; -} - -.share-btn:hover { - background-color: #1976D2; -} - -.close-couplet-btn { - padding: 10px 20px; - background-color: #9E9E9E; - color: white; - border: none; - border-radius: 20px; - cursor: pointer; - transition: all 0.3s ease; -} - -.close-couplet-btn:hover { - background-color: #757575; -} - /* 首页样式 */ .home-section { position: relative; diff --git a/index.html b/index.html index b5d330d..1fab2cc 100644 --- a/index.html +++ b/index.html @@ -2,6 +2,7 @@ + + + \ No newline at end of file diff --git a/static/info/couplet_info_box.png b/static/info/couplet_info_box.png new file mode 100644 index 0000000000000000000000000000000000000000..ac0f518e9729ac2df17a1e27393e13f623b949c1 GIT binary patch literal 41922 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 bb%x@GnZDdRsS_vu$Hvu^wUwX>HqrkDfVZJd literal 0 HcmV?d00001