修改论坛、促销、登录,增加测试
Change-Id: I71883fc1da46a94db47f90a4cd61474c274a5b2c
diff --git a/src/pages/Forum/posts-create/CreatePost.jsx b/src/pages/Forum/posts-create/CreatePost.jsx
index e38c29a..b8e8c2a 100644
--- a/src/pages/Forum/posts-create/CreatePost.jsx
+++ b/src/pages/Forum/posts-create/CreatePost.jsx
@@ -1,89 +1,78 @@
-// // src/pages/Forum/CreatePost.jsx
// import React, { useState } from 'react';
// import axios from 'axios';
+// import './CreatePost.css'; // 如果你打算加样式
// const API_BASE = process.env.REACT_APP_API_BASE;
-// const CreatePost = ({ userId }) => {
+// const CreatePost = ({ user_id }) => {
// const [title, setTitle] = useState('');
// const [content, setContent] = useState('');
-// const [imgUrl, setImageUrl] = useState('');
-// const [isAnonymous, setIsAnonymous] = useState(false);
+// const [imageUrl, setImageUrl] = useState('');
+// const [message, setMessage] = useState('');
+// const [error, setError] = useState('');
// const handleSubmit = async (e) => {
// e.preventDefault();
+// setMessage('');
+// setError('');
+
+// if (!title.trim() || !content.trim()) {
+// setError('标题和内容不能为空');
+// return;
+// }
// try {
-// const postData = {
+// const res = await axios.post(`${API_BASE}/echo/forum/posts/${user_id}/createPost`, {
// title,
-// postContent: content,
-// postType: isAnonymous,
-// };
+// post_content: content,
+// image_url: imageUrl
+// });
-// if (imgUrl.trim()) {
-// postData.imgUrl = imgUrl;
-// }
-
-// const response = await axios.post(
-// `${API_BASE}/echo/forum/posts/${userId}/createPost`,
-// postData
-// );
-
-
-// if (response.status === 201) {
-// alert('帖子创建成功!');
-// setTitle('');
-// setContent('');
-// setImageUrl('');
-// setIsAnonymous(false);
-// }
-// } catch (error) {
-// console.error('帖子创建失败:', error.response?.data || error.message);
-// alert('创建失败,请重试');
-// }
+// setMessage(`发帖成功,帖子ID:${res.data.post_id}`);
+// setTitle('');
+// setContent('');
+// setImageUrl('');
+// } catch (err) {
+// console.error(err);
+// setError(err.response?.data?.error || '发帖失败,请稍后重试');
+// }
// };
// return (
-// <div className="create-post">
-// <h2>创建新帖子</h2>
-// <form onSubmit={handleSubmit}>
-// <div>
+// <div className="create-post-container">
+// <h2>发表新帖子</h2>
+// <form onSubmit={handleSubmit} className="create-post-form">
+// <div className="form-group">
// <label>标题:</label>
// <input
// type="text"
// value={title}
// onChange={(e) => setTitle(e.target.value)}
-// required
+// placeholder="输入帖子标题"
// />
// </div>
-// <div>
+// <div className="form-group">
// <label>内容:</label>
// <textarea
// value={content}
// onChange={(e) => setContent(e.target.value)}
-// required
+// placeholder="输入帖子内容"
// />
// </div>
-// <div>
-// <label>图片 URL(可选):</label>
+// <div className="form-group">
+// <label>图片链接(可选):</label>
// <input
// type="text"
-// value={imgUrl}
+// value={imageUrl}
// onChange={(e) => setImageUrl(e.target.value)}
+// placeholder="例如:https://example.com/img.jpg"
// />
// </div>
-// <div>
-// <label>
-// <input
-// type="checkbox"
-// checked={isAnonymous}
-// onChange={(e) => setIsAnonymous(e.target.checked)}
-// />
-// 匿名发布
-// </label>
-// </div>
// <button type="submit">发布</button>
// </form>
+
+// {message && <p className="success-text">{message}</p>}
+// {error && <p className="error-text">{error}</p>}
// </div>
// );
// };
@@ -96,7 +85,7 @@
const API_BASE = process.env.REACT_APP_API_BASE;
-const CreatePost = ({ userId }) => {
+const CreatePost = ({ user_id }) => {
const [title, setTitle] = useState('');
const [content, setContent] = useState('');
const [imageUrl, setImageUrl] = useState('');
@@ -114,7 +103,7 @@
}
try {
- const res = await axios.post(`${API_BASE}/echo/forum/posts/${userId}/createPost`, {
+ const res = await axios.post(`${API_BASE}/echo/forum/posts/${user_id}/createPost`, {
title,
post_content: content,
image_url: imageUrl
@@ -135,8 +124,10 @@
<h2>发表新帖子</h2>
<form onSubmit={handleSubmit} className="create-post-form">
<div className="form-group">
- <label>标题:</label>
+ {/* 这里加上htmlFor,并给input加id */}
+ <label htmlFor="title">标题:</label>
<input
+ id="title" // 加id
type="text"
value={title}
onChange={(e) => setTitle(e.target.value)}
@@ -144,16 +135,20 @@
/>
</div>
<div className="form-group">
- <label>内容:</label>
+ {/* 同理,内容 */}
+ <label htmlFor="content">内容:</label>
<textarea
+ id="content" // 加id
value={content}
onChange={(e) => setContent(e.target.value)}
placeholder="输入帖子内容"
/>
</div>
<div className="form-group">
- <label>图片链接(可选):</label>
+ {/* 图片链接 */}
+ <label htmlFor="imageUrl">图片链接(可选):</label>
<input
+ id="imageUrl" // 加id
type="text"
value={imageUrl}
onChange={(e) => setImageUrl(e.target.value)}