diff --git a/front/src/PublishPage.js b/front/src/PublishPage.js
index a1a0e8f..81ac790 100644
--- a/front/src/PublishPage.js
+++ b/front/src/PublishPage.js
@@ -9,17 +9,6 @@
     title: '',
     subtitle: ''
   });
-  const [subType, setSubType] = useState('');
-
-  const typeOptions = {
-    '电影': ['大陆', '港台', '欧美', '日韩'],
-    '剧集': ['国产电视剧', '港剧', '欧美剧', '日韩剧'],
-    '音乐': ['古典音乐', '流行音乐', '摇滚', '电子音乐', '说唱'],
-    '动漫': ['国创', '日漫', '欧美动漫', '韩漫'],
-    '游戏': ['PC', '主机', '移动', '掌机', '视频'],
-    '体育': ['篮球', '足球', '羽毛球', '排球', '电竞'],
-    '资料': ['出版物', '学习教程', '素材模板', '演讲交流', '日常娱乐'],
-  };
 
   const handleChange = (e) => {
     const { name, value } = e.target;
@@ -36,37 +25,9 @@
     }
   };
 
-  const handleSubmit = async (e) => {
+  const handleSubmit = (e) => {
     e.preventDefault();
-    // 假设userid和tag可以从表单或用户信息中获取，这里用示例数据
-    const userid = '550e8400-e29b-41d4-a716-446655440000';
-    const tag = formData.type ? formData.type : '高清';
-    if (!formData.torrentFile) {
-      alert('请上传.torrent文件');
-      return;
-    }
-    const data = new FormData();
-    data.append('userid', userid);
-    data.append('title', formData.title);
-    data.append('tag', subType);
-    data.append('file', formData.torrentFile);
-    data.append('subtitle', formData.subtitle);
-    // data.append('subtype', subType);
-    // console.log(data.get('tag'));
-
-    try {
-      const response = await fetch('http://192.168.5.9:8080/api/save-torrent', {
-        method: 'POST',
-        body: data,
-      });
-      if (response.ok) {
-        alert('上传成功！');
-      } else {
-        alert('上传失败');
-      }
-    } catch (err) {
-      alert('网络错误');
-    }
+    console.log('Form Data Submitted:', formData);
   };
 
   return (
@@ -75,7 +36,7 @@
       <form onSubmit={handleSubmit} className="publish-form">
         <div className="form-row">
           <label htmlFor="type">类型</label>
-          <select name="type" id="type" value={formData.type} onChange={e => { handleChange(e); setSubType(''); }} required>
+          <select name="type" id="type" value={formData.type} onChange={handleChange} required>
             <option value="">请选择类型</option>
             <option value="电影">电影</option>
             <option value="剧集">剧集</option>
@@ -86,17 +47,6 @@
             <option value="资料">资料</option>
           </select>
         </div>
-        {formData.type && typeOptions[formData.type] && (
-          <div className="form-row">
-            <label htmlFor="subtype">具体类型</label>
-            <select name="subtype" id="subtype" value={subType} onChange={e => setSubType(e.target.value)} required>
-              <option value="">请选择具体类型</option>
-              {typeOptions[formData.type].map(opt => (
-                <option key={opt} value={opt}>{opt}</option>
-              ))}
-            </select>
-          </div>
-        )}
 
         <div className="form-row">
           <label htmlFor="torrentFile">种子文件</label>
@@ -123,7 +73,7 @@
         </div>
 
         <div className="form-row">
-          <label htmlFor="subtitle">副标题</label>
+          <label htmlFor="subtitle">种子简介</label>
           <input
             type="text"
             id="subtitle"
