修改密码、管理员删帖、促销、退出登录

Change-Id: I2cc0e211ac5a04f9e89d0736fadd25541a5fccb9
diff --git a/src/pages/PromotionsPage/PromotionsPage.jsx b/src/pages/PromotionsPage/PromotionsPage.jsx
index 834ad73..ff01ef3 100644
--- a/src/pages/PromotionsPage/PromotionsPage.jsx
+++ b/src/pages/PromotionsPage/PromotionsPage.jsx
@@ -1,435 +1,435 @@
-import React, { useState, useEffect } from 'react';
-import './PromotionsPage.css';
+// import React, { useState, useEffect } from 'react';
+// import './PromotionsPage.css';
 
 
-function PromotionsPage() {
-  const [promotions, setPromotions] = useState([]);
-  const [currentPromotion, setCurrentPromotion] = useState(null);
-  const [isAdmin, setIsAdmin] = useState(false);
-  const [isLoading, setIsLoading] = useState(false);
-  const [error, setError] = useState(null);
-  const [formData, setFormData] = useState({
-    name: '',
-    uploadCoeff: 1,
-    downloadCoeff: 1,
-    timeRange: 0,
-    criteria: 1,
-    pStartTime: '',
-    pEndTime: ''
-  });
-  const [isCreating, setIsCreating] = useState(false);
-  const [currentPage, setCurrentPage] = useState(1);
-  const [perPage] = useState(10);
-  const [totalPromotions, setTotalPromotions] = useState(0);
+// function PromotionsPage() {
+//   const [promotions, setPromotions] = useState([]);
+//   const [currentPromotion, setCurrentPromotion] = useState(null);
+//   const [isAdmin, setIsAdmin] = useState(false);
+//   const [isLoading, setIsLoading] = useState(false);
+//   const [error, setError] = useState(null);
+//   const [formData, setFormData] = useState({
+//     name: '',
+//     uploadCoeff: 1,
+//     downloadCoeff: 1,
+//     timeRange: 0,
+//     criteria: 1,
+//     pStartTime: '',
+//     pEndTime: ''
+//   });
+//   const [isCreating, setIsCreating] = useState(false);
+//   const [currentPage, setCurrentPage] = useState(1);
+//   const [perPage] = useState(10);
+//   const [totalPromotions, setTotalPromotions] = useState(0);
 
-  const getAuthHeaders = () => {
-    const token = localStorage.getItem('token');
-    return {
-      'Authorization': token ? `Bearer ${token}` : '',
-      'Content-Type': 'application/json'
-    };
-  };
+//   const getAuthHeaders = () => {
+//     const token = localStorage.getItem('token');
+//     return {
+//       'Authorization': token ? `Bearer ${token}` : '',
+//       'Content-Type': 'application/json'
+//     };
+//   };
 
-  const fetchPromotions = async (page = 1) => {
-    setIsLoading(true);
-    try {
-      const response = await fetch(`/promotions/list?page=${page}&per_page=${perPage}`, {
-        headers: getAuthHeaders()
-      });
+//   const fetchPromotions = async (page = 1) => {
+//     setIsLoading(true);
+//     try {
+//       const response = await fetch(`/promotions/list?page=${page}&per_page=${perPage}`, {
+//         headers: getAuthHeaders()
+//       });
 
-      if (!response.ok) {
-        throw new Error('获取促销活动失败');
-      }
+//       if (!response.ok) {
+//         throw new Error('获取促销活动失败');
+//       }
 
-      const data = await response.json();
-      if (data.code === 0 && data.result) {
-        setPromotions(data.rows || []);
-        setTotalPromotions(data.total || 0);
-      } else {
-        throw new Error(data.msg || '获取促销活动失败');
-      }
-    } catch (err) {
-      console.error('获取促销活动错误:', err);
-      setError(err.message);
-    } finally {
-      setIsLoading(false);
-    }
-  };
+//       const data = await response.json();
+//       if (data.code === 0 && data.result) {
+//         setPromotions(data.rows || []);
+//         setTotalPromotions(data.total || 0);
+//       } else {
+//         throw new Error(data.msg || '获取促销活动失败');
+//       }
+//     } catch (err) {
+//       console.error('获取促销活动错误:', err);
+//       setError(err.message);
+//     } finally {
+//       setIsLoading(false);
+//     }
+//   };
 
-  const fetchPromotionDetails = async (promoId) => {
-    setIsLoading(true);
-    try {
-      const response = await fetch(`/promotions/${promoId}`, {
-        headers: getAuthHeaders()
-      });
+//   const fetchPromotionDetails = async (promoId) => {
+//     setIsLoading(true);
+//     try {
+//       const response = await fetch(`/promotions/${promoId}`, {
+//         headers: getAuthHeaders()
+//       });
 
-      if (!response.ok) {
-        throw new Error('获取促销详情失败');
-      }
+//       if (!response.ok) {
+//         throw new Error('获取促销详情失败');
+//       }
 
-      const data = await response.json();
-      if (data.code === 0 && data.result) {
-        setCurrentPromotion(data.rows);
-      } else {
-        throw new Error(data.msg || '获取促销详情失败');
-      }
-    } catch (err) {
-      console.error('获取促销详情错误:', err);
-      setError(err.message);
-    } finally {
-      setIsLoading(false);
-    }
-  };
+//       const data = await response.json();
+//       if (data.code === 0 && data.result) {
+//         setCurrentPromotion(data.rows);
+//       } else {
+//         throw new Error(data.msg || '获取促销详情失败');
+//       }
+//     } catch (err) {
+//       console.error('获取促销详情错误:', err);
+//       setError(err.message);
+//     } finally {
+//       setIsLoading(false);
+//     }
+//   };
 
-  const createPromotion = async () => {
-    if (!formData.name || !formData.pStartTime || !formData.pEndTime) {
-      alert('请填写完整活动信息');
-      return;
-    }
+//   const createPromotion = async () => {
+//     if (!formData.name || !formData.pStartTime || !formData.pEndTime) {
+//       alert('请填写完整活动信息');
+//       return;
+//     }
 
-    if (new Date(formData.pStartTime) >= new Date(formData.pEndTime)) {
-      alert('活动时间设置不正确,请重新设定');
-      return;
-    }
+//     if (new Date(formData.pStartTime) >= new Date(formData.pEndTime)) {
+//       alert('活动时间设置不正确,请重新设定');
+//       return;
+//     }
 
-    setIsLoading(true);
-    try {
-      const response = await fetch('/promotions/add', {
-        method: 'POST',
-        headers: getAuthHeaders(),
-        body: JSON.stringify(formData)
-      });
+//     setIsLoading(true);
+//     try {
+//       const response = await fetch('/promotions/add', {
+//         method: 'POST',
+//         headers: getAuthHeaders(),
+//         body: JSON.stringify(formData)
+//       });
 
-      if (!response.ok) {
-        throw new Error('创建促销活动失败');
-      }
+//       if (!response.ok) {
+//         throw new Error('创建促销活动失败');
+//       }
 
-      const data = await response.json();
-      if (data.code === 0 && data.result) {
-        alert(`活动创建成功!活动ID: ${data.msg}`);
-        setIsCreating(false);
-        setFormData({
-          name: '',
-          uploadCoeff: 1,
-          downloadCoeff: 1,
-          timeRange: 0,
-          criteria: 1,
-          pStartTime: '',
-          pEndTime: ''
-        });
-        fetchPromotions();
-      } else {
-        throw new Error(data.msg || '创建促销活动失败');
-      }
-    } catch (err) {
-      console.error('创建促销活动错误:', err);
-      alert(err.message);
-    } finally {
-      setIsLoading(false);
-    }
-  };
+//       const data = await response.json();
+//       if (data.code === 0 && data.result) {
+//         alert(`活动创建成功!活动ID: ${data.msg}`);
+//         setIsCreating(false);
+//         setFormData({
+//           name: '',
+//           uploadCoeff: 1,
+//           downloadCoeff: 1,
+//           timeRange: 0,
+//           criteria: 1,
+//           pStartTime: '',
+//           pEndTime: ''
+//         });
+//         fetchPromotions();
+//       } else {
+//         throw new Error(data.msg || '创建促销活动失败');
+//       }
+//     } catch (err) {
+//       console.error('创建促销活动错误:', err);
+//       alert(err.message);
+//     } finally {
+//       setIsLoading(false);
+//     }
+//   };
 
-  const deletePromotion = async (promoId) => {
-    if (!window.confirm('确定要删除这个促销活动吗?')) {
-      return;
-    }
+//   const deletePromotion = async (promoId) => {
+//     if (!window.confirm('确定要删除这个促销活动吗?')) {
+//       return;
+//     }
 
-    setIsLoading(true);
-    try {
-      const response = await fetch(`/promotions/delete/${promoId}`, {
-        method: 'DELETE',
-        headers: getAuthHeaders()
-      });
+//     setIsLoading(true);
+//     try {
+//       const response = await fetch(`/promotions/delete/${promoId}`, {
+//         method: 'DELETE',
+//         headers: getAuthHeaders()
+//       });
 
-      if (!response.ok) {
-        throw new Error('删除促销活动失败');
-      }
+//       if (!response.ok) {
+//         throw new Error('删除促销活动失败');
+//       }
 
-      const data = await response.json();
-      if (data.code === 0 && data.result) {
-        alert('促销活动删除成功');
-        fetchPromotions();
-        if (currentPromotion && currentPromotion.promoId === promoId) {
-          setCurrentPromotion(null);
-        }
-      } else {
-        throw new Error(data.msg || '删除促销活动失败');
-      }
-    } catch (err) {
-      console.error('删除促销活动错误:', err);
-      alert(err.message);
-    } finally {
-      setIsLoading(false);
-    }
-  };
+//       const data = await response.json();
+//       if (data.code === 0 && data.result) {
+//         alert('促销活动删除成功');
+//         fetchPromotions();
+//         if (currentPromotion && currentPromotion.promoId === promoId) {
+//           setCurrentPromotion(null);
+//         }
+//       } else {
+//         throw new Error(data.msg || '删除促销活动失败');
+//       }
+//     } catch (err) {
+//       console.error('删除促销活动错误:', err);
+//       alert(err.message);
+//     } finally {
+//       setIsLoading(false);
+//     }
+//   };
 
-  const checkAdminStatus = () => {
-    const role = localStorage.getItem('role');
-    setIsAdmin(role === 'admin');
-  };
+//   const checkAdminStatus = () => {
+//     const role = localStorage.getItem('role');
+//     setIsAdmin(role === 'admin');
+//   };
 
-  useEffect(() => {
-    checkAdminStatus();
-    fetchPromotions();
-  }, []);
+//   useEffect(() => {
+//     checkAdminStatus();
+//     fetchPromotions();
+//   }, []);
 
-  const handleInputChange = (e) => {
-    const { name, value } = e.target;
-    setFormData(prev => ({
-      ...prev,
-      [name]: name === 'uploadCoeff' || name === 'downloadCoeff' || name === 'timeRange' || name === 'criteria'
-          ? parseFloat(value)
-          : value
-    }));
-  };
+//   const handleInputChange = (e) => {
+//     const { name, value } = e.target;
+//     setFormData(prev => ({
+//       ...prev,
+//       [name]: name === 'uploadCoeff' || name === 'downloadCoeff' || name === 'timeRange' || name === 'criteria'
+//           ? parseFloat(value)
+//           : value
+//     }));
+//   };
 
-  const handlePageChange = (newPage) => {
-    setCurrentPage(newPage);
-    fetchPromotions(newPage);
-  };
+//   const handlePageChange = (newPage) => {
+//     setCurrentPage(newPage);
+//     fetchPromotions(newPage);
+//   };
 
-  const getPromotionType = (promo) => {
-    if (promo.downloadCoeff === 0 && promo.uploadCoeff > 1) {
-      return '免费';
-    } else if (promo.downloadCoeff < 1 && promo.uploadCoeff > 1) {
-      return '折扣+上传奖励';
-    } else if (promo.downloadCoeff < 1) {
-      return '折扣';
-    } else if (promo.uploadCoeff > 1) {
-      return '上传奖励';
-    }
-    return '普通';
-  };
+//   const getPromotionType = (promo) => {
+//     if (promo.downloadCoeff === 0 && promo.uploadCoeff > 1) {
+//       return '免费';
+//     } else if (promo.downloadCoeff < 1 && promo.uploadCoeff > 1) {
+//       return '折扣+上传奖励';
+//     } else if (promo.downloadCoeff < 1) {
+//       return '折扣';
+//     } else if (promo.uploadCoeff > 1) {
+//       return '上传奖励';
+//     }
+//     return '普通';
+//   };
 
-  return (
-      <div className="promotions-page">
-        <div className="promotions-container">
-          <h1>促销活动</h1>
+//   return (
+//       <div className="promotions-page">
+//         <div className="promotions-container">
+//           <h1>促销活动</h1>
 
-          {isAdmin && (
-              <div className="admin-actions">
-                <button
-                    className="create-button"
-                    onClick={() => setIsCreating(!isCreating)}
-                >
-                  {isCreating ? '取消创建' : '创建新活动'}
-                </button>
-              </div>
-          )}
+//           {isAdmin && (
+//               <div className="admin-actions">
+//                 <button
+//                     className="create-button"
+//                     onClick={() => setIsCreating(!isCreating)}
+//                 >
+//                   {isCreating ? '取消创建' : '创建新活动'}
+//                 </button>
+//               </div>
+//           )}
 
-          {isCreating && isAdmin && (
-              <div className="create-promotion-form">
-                <h2>创建新促销活动</h2>
-                <div className="form-group">
-                  <label>活动名称</label>
-                  <input
-                      type="text"
-                      name="name"
-                      value={formData.name}
-                      onChange={handleInputChange}
-                      placeholder="例如: 春节特惠"
-                  />
-                </div>
+//           {isCreating && isAdmin && (
+//               <div className="create-promotion-form">
+//                 <h2>创建新促销活动</h2>
+//                 <div className="form-group">
+//                   <label>活动名称</label>
+//                   <input
+//                       type="text"
+//                       name="name"
+//                       value={formData.name}
+//                       onChange={handleInputChange}
+//                       placeholder="例如: 春节特惠"
+//                   />
+//                 </div>
 
-                <div className="form-row">
-                  <div className="form-group">
-                    <label>上传量系数</label>
-                    <input
-                        type="number"
-                        name="uploadCoeff"
-                        min="0"
-                        step="0.1"
-                        value={formData.uploadCoeff}
-                        onChange={handleInputChange}
-                    />
-                  </div>
+//                 <div className="form-row">
+//                   <div className="form-group">
+//                     <label>上传量系数</label>
+//                     <input
+//                         type="number"
+//                         name="uploadCoeff"
+//                         min="0"
+//                         step="0.1"
+//                         value={formData.uploadCoeff}
+//                         onChange={handleInputChange}
+//                     />
+//                   </div>
 
-                  <div className="form-group">
-                    <label>下载量系数</label>
-                    <input
-                        type="number"
-                        name="downloadCoeff"
-                        min="0"
-                        step="0.1"
-                        value={formData.downloadCoeff}
-                        onChange={handleInputChange}
-                    />
-                  </div>
-                </div>
+//                   <div className="form-group">
+//                     <label>下载量系数</label>
+//                     <input
+//                         type="number"
+//                         name="downloadCoeff"
+//                         min="0"
+//                         step="0.1"
+//                         value={formData.downloadCoeff}
+//                         onChange={handleInputChange}
+//                     />
+//                   </div>
+//                 </div>
 
-                <div className="form-row">
-                  <div className="form-group">
-                    <label>资源时间范围</label>
-                    <select
-                        name="timeRange"
-                        value={formData.timeRange}
-                        onChange={handleInputChange}
-                    >
-                      <option value="0">全站资源</option>
-                      <option value="1">当天上传</option>
-                      <option value="2">最近两天</option>
-                      <option value="7">最近一周</option>
-                      <option value="30">最近一个月</option>
-                    </select>
-                  </div>
+//                 <div className="form-row">
+//                   <div className="form-group">
+//                     <label>资源时间范围</label>
+//                     <select
+//                         name="timeRange"
+//                         value={formData.timeRange}
+//                         onChange={handleInputChange}
+//                     >
+//                       <option value="0">全站资源</option>
+//                       <option value="1">当天上传</option>
+//                       <option value="2">最近两天</option>
+//                       <option value="7">最近一周</option>
+//                       <option value="30">最近一个月</option>
+//                     </select>
+//                   </div>
 
-                  <div className="form-group">
-                    <label>最低用户等级</label>
-                    <input
-                        type="number"
-                        name="criteria"
-                        min="1"
-                        value={formData.criteria}
-                        onChange={handleInputChange}
-                    />
-                  </div>
-                </div>
+//                   <div className="form-group">
+//                     <label>最低用户等级</label>
+//                     <input
+//                         type="number"
+//                         name="criteria"
+//                         min="1"
+//                         value={formData.criteria}
+//                         onChange={handleInputChange}
+//                     />
+//                   </div>
+//                 </div>
 
-                <div className="form-row">
-                  <div className="form-group">
-                    <label>开始时间</label>
-                    <input
-                        type="datetime-local"
-                        name="pStartTime"
-                        value={formData.pStartTime}
-                        onChange={handleInputChange}
-                    />
-                  </div>
+//                 <div className="form-row">
+//                   <div className="form-group">
+//                     <label>开始时间</label>
+//                     <input
+//                         type="datetime-local"
+//                         name="pStartTime"
+//                         value={formData.pStartTime}
+//                         onChange={handleInputChange}
+//                     />
+//                   </div>
 
-                  <div className="form-group">
-                    <label>结束时间</label>
-                    <input
-                        type="datetime-local"
-                        name="pEndTime"
-                        value={formData.pEndTime}
-                        onChange={handleInputChange}
-                    />
-                  </div>
-                </div>
+//                   <div className="form-group">
+//                     <label>结束时间</label>
+//                     <input
+//                         type="datetime-local"
+//                         name="pEndTime"
+//                         value={formData.pEndTime}
+//                         onChange={handleInputChange}
+//                     />
+//                   </div>
+//                 </div>
 
-                <button
-                    className="submit-button"
-                    onClick={createPromotion}
-                    disabled={isLoading}
-                >
-                  {isLoading ? '创建中...' : '提交创建'}
-                </button>
-              </div>
-          )}
+//                 <button
+//                     className="submit-button"
+//                     onClick={createPromotion}
+//                     disabled={isLoading}
+//                 >
+//                   {isLoading ? '创建中...' : '提交创建'}
+//                 </button>
+//               </div>
+//           )}
 
-          {error && <div className="error-message">{error}</div>}
+//           {error && <div className="error-message">{error}</div>}
 
-          <div className="promotions-grid">
-            {/* 促销活动列表 */}
-            <div className="promotions-list">
-              <h2>当前促销活动</h2>
-              {isLoading && promotions.length === 0 ? (
-                  <div className="loading">加载中...</div>
-              ) : promotions.length === 0 ? (
-                  <div className="no-promotions">暂无促销活动</div>
-              ) : (
-                  <div className="promotion-items">
-                    {promotions.map(promo => (
-                        <div
-                            key={promo.promoId}
-                            className={`promotion-item ${currentPromotion && currentPromotion.promoId === promo.promoId ? 'active' : ''}`}
-                            onClick={() => fetchPromotionDetails(promo.promoId)}
-                        >
-                          <div className="promotion-header">
-                            <h3>{promo.name}</h3>
-                            <span className="promotion-type">{getPromotionType(promo)}</span>
-                          </div>
-                          <div className="promotion-dates">
-                            {new Date(promo.pStartTime).toLocaleString()} - {new Date(promo.pEndTime).toLocaleString()}
-                          </div>
-                          <div className="promotion-coeffs">
-                            <span>上传: {promo.uploadCoeff}x</span>
-                            <span>下载: {promo.downloadCoeff}x</span>
-                          </div>
-                          {isAdmin && (
-                              <button
-                                  className="delete-button"
-                                  onClick={(e) => {
-                                    e.stopPropagation();
-                                    deletePromotion(promo.promoId);
-                                  }}
-                                  disabled={isLoading}
-                              >
-                                删除
-                              </button>
-                          )}
-                        </div>
-                    ))}
-                  </div>
-              )}
+//           <div className="promotions-grid">
+//             {/* 促销活动列表 */}
+//             <div className="promotions-list">
+//               <h2>当前促销活动</h2>
+//               {isLoading && promotions.length === 0 ? (
+//                   <div className="loading">加载中...</div>
+//               ) : promotions.length === 0 ? (
+//                   <div className="no-promotions">暂无促销活动</div>
+//               ) : (
+//                   <div className="promotion-items">
+//                     {promotions.map(promo => (
+//                         <div
+//                             key={promo.promoId}
+//                             className={`promotion-item ${currentPromotion && currentPromotion.promoId === promo.promoId ? 'active' : ''}`}
+//                             onClick={() => fetchPromotionDetails(promo.promoId)}
+//                         >
+//                           <div className="promotion-header">
+//                             <h3>{promo.name}</h3>
+//                             <span className="promotion-type">{getPromotionType(promo)}</span>
+//                           </div>
+//                           <div className="promotion-dates">
+//                             {new Date(promo.pStartTime).toLocaleString()} - {new Date(promo.pEndTime).toLocaleString()}
+//                           </div>
+//                           <div className="promotion-coeffs">
+//                             <span>上传: {promo.uploadCoeff}x</span>
+//                             <span>下载: {promo.downloadCoeff}x</span>
+//                           </div>
+//                           {isAdmin && (
+//                               <button
+//                                   className="delete-button"
+//                                   onClick={(e) => {
+//                                     e.stopPropagation();
+//                                     deletePromotion(promo.promoId);
+//                                   }}
+//                                   disabled={isLoading}
+//                               >
+//                                 删除
+//                               </button>
+//                           )}
+//                         </div>
+//                     ))}
+//                   </div>
+//               )}
 
-              {totalPromotions > perPage && (
-                  <div className="pagination">
-                    <button
-                        disabled={currentPage === 1}
-                        onClick={() => handlePageChange(currentPage - 1)}
-                    >
-                      上一页
-                    </button>
-                    <span>第 {currentPage} 页</span>
-                    <button
-                        disabled={currentPage * perPage >= totalPromotions}
-                        onClick={() => handlePageChange(currentPage + 1)}
-                    >
-                      下一页
-                    </button>
-                  </div>
-              )}
-            </div>
+//               {totalPromotions > perPage && (
+//                   <div className="pagination">
+//                     <button
+//                         disabled={currentPage === 1}
+//                         onClick={() => handlePageChange(currentPage - 1)}
+//                     >
+//                       上一页
+//                     </button>
+//                     <span>第 {currentPage} 页</span>
+//                     <button
+//                         disabled={currentPage * perPage >= totalPromotions}
+//                         onClick={() => handlePageChange(currentPage + 1)}
+//                     >
+//                       下一页
+//                     </button>
+//                   </div>
+//               )}
+//             </div>
 
-            {/* 促销活动详情 */}
-            <div className="promotion-details">
-              {currentPromotion ? (
-                  <>
-                    <h2>{currentPromotion.name}</h2>
-                    <div className="detail-item">
-                      <label>活动ID:</label>
-                      <span>{currentPromotion.promoId}</span>
-                    </div>
-                    <div className="detail-item">
-                      <label>活动时间:</label>
-                      <span>
-                    {new Date(currentPromotion.pStartTime).toLocaleString()} - {new Date(currentPromotion.pEndTime).toLocaleString()}
-                  </span>
-                    </div>
-                    <div className="detail-item">
-                      <label>促销类型:</label>
-                      <span>{getPromotionType(currentPromotion)}</span>
-                    </div>
-                    <div className="detail-item">
-                      <label>上传量系数:</label>
-                      <span>{currentPromotion.uploadCoeff}x</span>
-                    </div>
-                    <div className="detail-item">
-                      <label>下载量系数:</label>
-                      <span>{currentPromotion.downloadCoeff}x</span>
-                    </div>
-                    <div className="detail-item">
-                      <label>适用资源:</label>
-                      <span>
-                    {currentPromotion.timeRange === 0
-                        ? '全站资源'
-                        : `最近${currentPromotion.timeRange}天内上传的资源`}
-                  </span>
-                    </div>
-                    <div className="detail-item">
-                      <label>参与条件:</label>
-                      <span>用户等级 ≥ {currentPromotion.criteria}</span>
-                    </div>
-                  </>
-              ) : (
-                  <div className="no-selection">请从左侧选择一个促销活动查看详情</div>
-              )}
-            </div>
-          </div>
-        </div>
-      </div>
-  );
-}
+//             {/* 促销活动详情 */}
+//             <div className="promotion-details">
+//               {currentPromotion ? (
+//                   <>
+//                     <h2>{currentPromotion.name}</h2>
+//                     <div className="detail-item">
+//                       <label>活动ID:</label>
+//                       <span>{currentPromotion.promoId}</span>
+//                     </div>
+//                     <div className="detail-item">
+//                       <label>活动时间:</label>
+//                       <span>
+//                     {new Date(currentPromotion.pStartTime).toLocaleString()} - {new Date(currentPromotion.pEndTime).toLocaleString()}
+//                   </span>
+//                     </div>
+//                     <div className="detail-item">
+//                       <label>促销类型:</label>
+//                       <span>{getPromotionType(currentPromotion)}</span>
+//                     </div>
+//                     <div className="detail-item">
+//                       <label>上传量系数:</label>
+//                       <span>{currentPromotion.uploadCoeff}x</span>
+//                     </div>
+//                     <div className="detail-item">
+//                       <label>下载量系数:</label>
+//                       <span>{currentPromotion.downloadCoeff}x</span>
+//                     </div>
+//                     <div className="detail-item">
+//                       <label>适用资源:</label>
+//                       <span>
+//                     {currentPromotion.timeRange === 0
+//                         ? '全站资源'
+//                         : `最近${currentPromotion.timeRange}天内上传的资源`}
+//                   </span>
+//                     </div>
+//                     <div className="detail-item">
+//                       <label>参与条件:</label>
+//                       <span>用户等级 ≥ {currentPromotion.criteria}</span>
+//                     </div>
+//                   </>
+//               ) : (
+//                   <div className="no-selection">请从左侧选择一个促销活动查看详情</div>
+//               )}
+//             </div>
+//           </div>
+//         </div>
+//       </div>
+//   );
+// }
 
-export default PromotionsPage;
\ No newline at end of file
+// export default PromotionsPage;
\ No newline at end of file