修复种子封面路径
Change-Id: I9e5560fbdf226bd0ede9e35b8dbc1249ed67ced4
diff --git a/src/pages/SeedList/SeedDetail/SeedDetail.jsx b/src/pages/SeedList/SeedDetail/SeedDetail.jsx
index 10cf65d..16c6d01 100644
--- a/src/pages/SeedList/SeedDetail/SeedDetail.jsx
+++ b/src/pages/SeedList/SeedDetail/SeedDetail.jsx
@@ -23,7 +23,7 @@
const formatImageUrl = (url) => {
if (!url) return '';
const filename = url.split('/').pop();
- return `http://localhost:8080/uploads/torrents/${filename}`;
+ return `http://localhost:5011/uploads/torrents/${filename}`;
};
useEffect(() => {
diff --git a/src/pages/SeedList/SeedList.css b/src/pages/SeedList/SeedList.css
index f53a9a3..cf5502c 100644
--- a/src/pages/SeedList/SeedList.css
+++ b/src/pages/SeedList/SeedList.css
@@ -1,235 +1,234 @@
-
- .seed-list-container {
- background: #333;
- }
-
- /* 搜索、排序控件 */
- .controls {
- display: flex;
- justify-content: center;
- gap: 16px;
- padding: 10px 20px;
- background-color: #5F4437;
- }
-
- .search-input {
- padding: 6px 10px;
- border-radius: 6px;
- border: none;
- width: 200px;
- }
-
- .sort-select {
- padding: 6px;
- border-radius: 6px;
- border: none;
- }
-
- /* 标签过滤 */
- .tag-filters {
- background-color: #5F4437;
- display: flex;
- justify-content: center;
- flex-wrap: wrap;
- gap: 8px;
- padding: 10px;
- }
-
- .tag-button {
- background-color: #b38867;
- color: white;
- border: none;
- border-radius: 20px;
- padding: 6px 12px;
- cursor: pointer;
- }
-
- .active-tag {
- background-color: #d17c4f;
- }
-
- .clear-filter-btn {
- background: transparent;
- border: none;
- color: #888;
- font-size: 1rem;
- cursor: pointer;
- margin-left: 4px;
- }
-
- /* 去除 Link 组件默认的下划线和文字颜色变化 */
- .seed-item-link {
- text-decoration: none;
- color: inherit;
- display: block; /* 确保整个卡片可点击 */
- }
-
- .clear-filter-btn:hover {
- color: red;
- }
-
- /* 卡片展示 */
- .seed-list-content {
- padding: 20px;
- background-color: #5F4437;
- }
-
- .seed-list-card {
- background-color: #e9ded2;
- color: #333;
- border-radius: 8px;
- box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
- overflow: hidden;
- }
-
- .seed-list-header {
- display: grid;
- grid-template-columns: 180px 2fr 1fr 1fr 1fr 1fr;
- align-items: center;
- justify-items: center; /* 新增:水平居中 */
- padding: 12px 16px;
- background-color: #BA929A;
- font-weight: bold;
- }
-
- .seed-list-body {
- display: flex;
- flex-direction: column;
- }
-
- .seed-item {
- display: grid;
- grid-template-columns: 180px 2fr 1fr 1fr 1fr 1fr;
- align-items: center;
- justify-items: center; /* 新增:水平居中 */
- padding: 12px 16px;
- border-top: 1px solid #ccc;
- }
-
- .seed-item-cover {
- margin-left: -50px;
- width: 100px;
- height: 140px;
- object-fit: cover;
- border-radius: 6px;
- flex-shrink: 0;
- }
-
- .seed-item-title {
- width: 100%;
- margin-left: -100px;
- text-align: center;
- }
-
- .seed-title-row {
- display: flex;
- flex-direction: column;
- align-items: center; /* 新增:垂直居中 */
- gap: 8px;
- }
-
- .seed-title {
- font-size: 1.1rem;
- margin: 0;
- font-weight: bold;
- }
-
- .seed-tags {
- margin-top: 4px;
- display: flex;
- flex-wrap: wrap;
- gap: 4px;
- justify-content: center; /* 标签水平居中 */
- max-width: 100%; /* 限制最大宽度以触发换行 */
- word-break: break-word; /* 避免长标签溢出 */
- }
-
-
- .seed-item-actions {
- display: flex;
- flex-direction: row;
- gap: 8px;
- justify-content: center; /* 新增:操作按钮水平居中 */
- }
-
- .seed-header-cover {
- width: 180px;
- flex-shrink: 0;
- text-align: center;
- }
-
- .seed-header-title {
- margin-left: -100px;
- }
+.seed-list-container {
+ background: #333;
+}
- .seed-header-size,
- .seed-header-upload-time,
- .seed-header-downloads,
- .seed-header-actions {
- text-align: center; /* 新增:文字居中 */
- }
-
- .seed-info {
- display: flex;
- justify-content: space-between;
- font-size: 0.9rem;
- color: #666;
- margin-bottom: 8px;
- }
-
- .tag-label {
- background-color: #eee;
- border-radius: 4px;
- padding: 2px 6px;
- font-size: 12px;
- }
-
- .btn-primary,
- .btn-secondary,
- .btn-outline {
- padding: 6px 12px;
- border: none;
- border-radius: 6px;
- cursor: pointer;
- font-size: 0.9rem;
- text-align: center;
- white-space: nowrap;
- transition: background-color 0.2s ease;
- }
-
- .btn-primary {
- background-color: #007bff;
- color: white;
- }
-
- .btn-primary:hover {
- background-color: #0056b3;
- }
-
- .btn-secondary {
- background-color: #28a745;
- color: white;
- }
-
- .btn-secondary:hover {
- background-color: #218838;
- }
-
- .btn-outline {
- background-color: transparent;
- border: 1px solid #ccc;
- color: #333;
- }
-
- .btn-outline:hover {
- background-color: #f8f9fa;
- }
- .seed-cover {
- width: 100%;
- height: 180px;
- object-fit: cover;
- border-radius: 8px;
- margin-bottom: 12px;
- }
+/* 搜索、排序控件 */
+.controls {
+ display: flex;
+ justify-content: center;
+ gap: 16px;
+ padding: 10px 20px;
+ background-color: #5F4437;
+}
-
\ No newline at end of file
+.search-input {
+ padding: 6px 10px;
+ border-radius: 6px;
+ border: none;
+ width: 200px;
+}
+
+.sort-select {
+ padding: 6px;
+ border-radius: 6px;
+ border: none;
+}
+
+/* 标签过滤 */
+.tag-filters {
+ background-color: #5F4437;
+ display: flex;
+ justify-content: center;
+ flex-wrap: wrap;
+ gap: 8px;
+ padding: 10px;
+}
+
+.tag-button {
+ background-color: #b38867;
+ color: white;
+ border: none;
+ border-radius: 20px;
+ padding: 6px 12px;
+ cursor: pointer;
+}
+
+.active-tag {
+ background-color: #d17c4f;
+}
+
+.clear-filter-btn {
+ background: transparent;
+ border: none;
+ color: #888;
+ font-size: 1rem;
+ cursor: pointer;
+ margin-left: 4px;
+}
+
+.clear-filter-btn:hover {
+ color: red;
+}
+
+/* 去除 Link 组件默认的下划线和文字颜色变化 */
+.seed-item-link {
+ text-decoration: none;
+ color: inherit;
+ display: block;
+}
+
+/* 卡片展示 */
+.seed-list-content {
+ padding: 20px;
+ background-color: #5F4437;
+}
+
+.seed-list-card {
+ background-color: #e9ded2;
+ color: #333;
+ border-radius: 8px;
+ box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
+ overflow: hidden;
+}
+
+.seed-list-header {
+ display: grid;
+ grid-template-columns: 180px 2fr 1fr 1fr 1fr 1fr;
+ align-items: center;
+ justify-items: center;
+ padding: 12px 16px;
+ background-color: #BA929A;
+ font-weight: bold;
+}
+
+.seed-list-body {
+ display: flex;
+ flex-direction: column;
+}
+
+.seed-item {
+ display: grid;
+ grid-template-columns: 180px 2fr 1fr 1fr 1fr 1fr;
+ align-items: center;
+ justify-items: center;
+ padding: 12px 16px;
+ border-top: 1px solid #ccc;
+}
+
+.seed-item-cover {
+ width: 100px;
+ height: 140px;
+ object-fit: cover;
+ border-radius: 6px;
+ flex-shrink: 0;
+}
+
+.seed-item-title {
+ width: 100%;
+ text-align: center;
+}
+
+.seed-title-row {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ gap: 8px;
+}
+
+.seed-title {
+ font-size: 1.1rem;
+ margin: 0;
+ font-weight: bold;
+}
+
+.seed-tags {
+ margin-top: 4px;
+ display: flex;
+ flex-wrap: wrap;
+ gap: 4px;
+ justify-content: center;
+ max-width: 100%;
+ word-break: break-word;
+}
+
+.seed-item-actions {
+ display: flex;
+ flex-direction: row;
+ gap: 8px;
+ justify-content: center;
+}
+
+.seed-header-cover {
+ width: 180px;
+ flex-shrink: 0;
+ text-align: center;
+}
+
+.seed-header-title,
+.seed-header-size,
+.seed-header-upload-time,
+.seed-header-downloads,
+.seed-header-actions {
+ text-align: center;
+}
+
+.seed-info {
+ display: flex;
+ justify-content: space-between;
+ font-size: 0.9rem;
+ color: #666;
+ margin-bottom: 8px;
+}
+
+.tag-label {
+ background-color: #eee;
+ border-radius: 4px;
+ padding: 2px 6px;
+ font-size: 12px;
+}
+
+.btn-primary,
+.btn-secondary,
+.btn-outline {
+ padding: 6px 12px;
+ border: none;
+ border-radius: 6px;
+ cursor: pointer;
+ font-size: 0.9rem;
+ text-align: center;
+ white-space: nowrap;
+ transition: background-color 0.2s ease;
+}
+
+.btn-primary {
+ background-color: #007bff;
+ color: white;
+}
+
+.btn-primary:hover {
+ background-color: #0056b3;
+}
+
+.btn-secondary {
+ background-color: #28a745;
+ color: white;
+}
+
+.btn-secondary:hover {
+ background-color: #218838;
+}
+
+.btn-outline {
+ background-color: transparent;
+ border: 1px solid #ccc;
+ color: #333;
+}
+
+.btn-outline:hover {
+ background-color: #f8f9fa;
+}
+
+.seed-cover {
+ width: 100%;
+ height: 180px;
+ object-fit: cover;
+ border-radius: 8px;
+ margin-bottom: 12px;
+}
+.seed-item-cover {
+ width: 100px;
+ height: auto;
+ object-fit: cover;
+ border-radius: 4px;
+ margin-right: 12px;
+}
diff --git a/src/pages/SeedList/SeedList.jsx b/src/pages/SeedList/SeedList.jsx
index be8d13f..a010840 100644
--- a/src/pages/SeedList/SeedList.jsx
+++ b/src/pages/SeedList/SeedList.jsx
@@ -72,7 +72,8 @@
setErrorMsg('');
try {
const params = buildQueryParams();
- const response = await axios.post('/seeds/list', params);
+ const response = await axios.get('/seeds/list', params);
+ // const response = await axios.get('/seeds/list', { params });
const data = response.data;
if (data.code !== 0) {
@@ -275,13 +276,14 @@
<Link to={`/seed/${seed.id}`} key={index} className="seed-item-link">
<div className="seed-item">
- {seed.image_url && (
+ {seed.imageUrl && (
<img
- src={seed.image_url}
+ src={seed.imageUrl}
alt={seed.title}
className="seed-item-cover"
/>
)}
+
<div className="seed-item-title">
<div className="seed-title-row">
<h3 className="seed-title">{seed.title}</h3>