From 79f2f2e2f811387d3571d038076c91d61cf16a47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=94=B2=E8=BE=B0=E7=94=9F=E4=BA=A7?= Date: Sun, 29 Mar 2026 01:21:03 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=9F=BA=E6=9C=AC=E5=AE=8C?= =?UTF-8?q?=E5=96=84=E7=89=88=E6=9C=AC=20v1.2.22=20-=20=E8=A1=8C=E6=83=85?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/pages/Info.jsx | 41 +++++++++++++++++++++---------------- 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/frontend/src/pages/Info.jsx b/frontend/src/pages/Info.jsx index a93782d..c9b4a77 100644 --- a/frontend/src/pages/Info.jsx +++ b/frontend/src/pages/Info.jsx @@ -1,9 +1,10 @@ import React, { useState, useEffect } from 'react' export default function Info() { - const [activeTab, setActiveTab] = useState('publish') + const [activeTab, setActiveTab] = useState('deal') const [showPublish, setShowPublish] = useState(false) const [myList, setMyList] = useState([]) + const [listFilter, setListFilter] = useState('all') const [loading, setLoading] = useState(false) const [editingItem, setEditingItem] = useState(null) @@ -13,15 +14,21 @@ export default function Info() { // content使用原生DOM useEffect(() => { - if (activeTab === 'manage') fetchMyList() + if (activeTab === 'deal') fetchMyList() }, [activeTab]) + + // Auto-fetch on mount (only if logged in) + useEffect(() => { + const token = localStorage.getItem('token') + if (token) fetchMyList() + }, []) // 自动生成标题 useEffect(() => { const now = new Date() const date = `${now.getFullYear()}/${now.getMonth() + 1}/${now.getDate()}` const gradeNote = formData.isGraded ? '(评级币)' : '(裸钞)' - const title = `「${date} ${formData.edition} ${formData.type} ${formData.category} 行情信息${gradeNote}」` + const title = `「${date} ${formData.edition} ${formData.type} ${formData.category} ${gradeNote}」` setFormData(prev => ({...prev, title})) }, [formData.edition, formData.type, formData.isGraded, formData.category]) @@ -43,7 +50,7 @@ export default function Info() { const token = localStorage.getItem('token') const res = await fetch(`${API_BASE}/api/information/`, { method: 'POST', headers: { 'Authorization': `Bearer ${token}`, 'Content-Type': 'application/json' }, - body: JSON.stringify({ title: formData.title, content: document.getElementById('publishContent')?.value || '', info_type: formData.category === '成交' ? 'deal' : 'seek' }) + body: JSON.stringify({ title: formData.title, content: document.getElementById('publishContent')?.value || '', info_type: 'deal' }) }) const data = await res.json() if (data.id || data.code === 0) { @@ -110,16 +117,8 @@ export default function Info() { return (
{/* 顶部标签 */} -
-
- {[{ key: 'publish', label: '📝 寻配号发布' }, { key: 'manage', label: '📋 发布管理' }].map(t => ( -
setActiveTab(t.key)} - style={{ flex: 1, padding: '12px 16px', borderRadius: '10px', background: activeTab === t.key ? 'linear-gradient(135deg, #3b82f6 0%, #2563eb 100%)' : 'transparent', - color: activeTab === t.key ? '#fff' : '#9ca3af', cursor: 'pointer', textAlign: 'center', fontSize: '14px', fontWeight: '600', transition: 'all 0.3s' }}> - {t.label} -
- ))} -
+
+

💰 行情管理

@@ -133,7 +132,7 @@ export default function Info() { )} {/* 发布管理 */} - {activeTab === 'manage' && ( + {true && (
@@ -173,7 +172,7 @@ export default function Info() {
setFormData({...formData, category: v})} />
@@ -202,12 +201,18 @@ export default function Info() {
暂无发布记录
) : (
- {myList.map(item => ( +
+ + + +
+ + {myList.filter(i => listFilter === 'all' || i.info_type === listFilter).map(item => (
{item.title}
- {item.info_type === 'deal' ? '💰 成交' : '🔍 求购'} + {item.info_type === 'deal' ? '💰 行情' : '🔍 求购'}
{item.content &&
{item.content}
}