| import React, { useState, useEffect } from 'react'; |
| const [posts, setPosts] = useState([]); |
| .then(data => setPosts(data)) |
| const handleAction = (id, action) => { |
| // action: 'approve' | 'ban' | ... |
| fetch(`/api/posts/${id}/${action}`, { method: 'POST' }) |
| setPosts(ps => ps.filter(p => p.id !== id)); |
| <div className="admin-container"> |
| <h1 className="admin-title">小红书 · 管理员审核</h1> |
| <table className="admin-table"> |
| ? p.content.slice(0, 80) + '...' |
| <td>{new Date(p.createdAt).toLocaleString()}</td> |
| <td className={`status ${p.status}`}>{p.status}</td> |
| className="btn btn-approve" |
| onClick={() => handleAction(p.id, 'approve')} |
| onClick={() => handleAction(p.id, 'ban')} |
| export default AdminPage; |