From 536052932786cbe73b7bc0ba5cd29d8fb0edf42c Mon Sep 17 00:00:00 2001 From: tim Date: Mon, 11 Aug 2025 09:56:15 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=8A=BD=E5=A5=96ui?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend_nuxt/main.js | 4 ++-- frontend_nuxt/pages/new-post.vue | 19 +++++++++++++------ frontend_nuxt/pages/posts/[id]/index.vue | 20 ++++++++++++++++++-- 3 files changed, 33 insertions(+), 10 deletions(-) diff --git a/frontend_nuxt/main.js b/frontend_nuxt/main.js index 8bf35d832..82933ef5e 100644 --- a/frontend_nuxt/main.js +++ b/frontend_nuxt/main.js @@ -1,5 +1,5 @@ -export const API_BASE_URL = 'https://www.open-isle.com' -// export const API_BASE_URL = 'http://127.0.0.1:8081' +// export const API_BASE_URL = 'https://www.open-isle.com' +export const API_BASE_URL = 'http://127.0.0.1:8081' // export const API_BASE_URL = 'http://30.211.97.238:8081' export const GOOGLE_CLIENT_ID = '777830451304-nt8afkkap18gui4f9entcha99unal744.apps.googleusercontent.com' export const GITHUB_CLIENT_ID = 'Ov23liVkO1NPAX5JyWxJ' diff --git a/frontend_nuxt/pages/new-post.vue b/frontend_nuxt/pages/new-post.vue index 8a5ddabf2..3319f0d0e 100644 --- a/frontend_nuxt/pages/new-post.vue +++ b/frontend_nuxt/pages/new-post.vue @@ -49,8 +49,8 @@
- 奖品名称 - + 奖品描述 +
奖品数量 @@ -98,7 +98,9 @@ export default { const showPrizeCropper = ref(false) const prizeName = ref('') const prizeCount = ref(1) + const prizeDescription = ref('') const endTime = ref(null) + const startTime = ref(null) const dateConfig = { enableTime: true, time_24hr: true, dateFormat: 'Y-m-d H:i' } const isWaitingPosting = ref(false) const isAiLoading = ref(false) @@ -158,8 +160,10 @@ export default { prizeIconFile.value = null tempPrizeIcon.value = '' showPrizeCropper.value = false + prizeDescription.value = '' prizeCount.value = 1 endTime.value = null + startTime.value = null // 删除草稿 const token = getToken() @@ -297,8 +301,8 @@ export default { toast.error('奖品数量必须大于0') return } - if (!prizeName.value) { - toast.error('请输入奖品名称') + if (!prizeDescription.value) { + toast.error('请输入奖品描述') return } if (!endTime.value) { @@ -341,7 +345,10 @@ export default { prizeIcon: postType.value === 'LOTTERY' ? prizeIconUrl : undefined, prizeName: postType.value === 'LOTTERY' ? prizeName.value : undefined, prizeCount: postType.value === 'LOTTERY' ? prizeCount.value : undefined, - endTime: postType.value === 'LOTTERY' ? new Date(endTime.value).toISOString() : undefined + prizeDescription: postType.value === 'LOTTERY' ? prizeDescription.value : undefined, + startTime: postType.value === 'LOTTERY' ? new Date(startTime.value).toISOString() : undefined, + // 将时间转换为 UTC+8.5 时区 todo: 需要优化 + endTime: postType.value === 'LOTTERY' ? new Date(new Date(endTime.value).getTime() + 8.02 * 60 * 60 * 1000).toISOString() : undefined }) }) const data = await res.json() @@ -365,7 +372,7 @@ export default { isWaitingPosting.value = false } } - return { title, content, selectedCategory, selectedTags, postType, prizeIcon, prizeCount, endTime, submitPost, saveDraft, clearPost, isWaitingPosting, aiGenerate, isAiLoading, isLogin, onPrizeIconChange, onPrizeCropped, showPrizeCropper, tempPrizeIcon, dateConfig, prizeName } + return { title, content, selectedCategory, selectedTags, postType, prizeIcon, prizeCount, endTime, submitPost, saveDraft, clearPost, isWaitingPosting, aiGenerate, isAiLoading, isLogin, onPrizeIconChange, onPrizeCropped, showPrizeCropper, tempPrizeIcon, dateConfig, prizeName, prizeDescription } } } diff --git a/frontend_nuxt/pages/posts/[id]/index.vue b/frontend_nuxt/pages/posts/[id]/index.vue index 180a87a2d..dec958de9 100644 --- a/frontend_nuxt/pages/posts/[id]/index.vue +++ b/frontend_nuxt/pages/posts/[id]/index.vue @@ -82,7 +82,7 @@
- prize + prize
{{ lottery.prizeDescription }}
@@ -94,7 +94,7 @@
参与抽奖
-
+
已参与
@@ -1137,6 +1137,11 @@ export default { opacity: 0.5; } +.prize-icon-img { + width: 100%; + height: 100%; +} + .prize-name { font-size: 13px; opacity: 0.7; @@ -1192,9 +1197,20 @@ export default { background-color: var(--primary-color-hover); } +.join-prize-button.disabled { + background-color: var(--background-color-disabled); + cursor: not-allowed; +} + +.join-prize-button.disabled:hover { + background-color: var(--background-color-disabled); + cursor: not-allowed; +} + .prize-member-avatar { width: 30px; height: 30px; + margin-left: 3px; border-radius: 50%; }