整理项目结构

Change-Id: I14b059f2c462100581d2acfef6efbee130bed861
diff --git a/TRM/front/src/UserManagement.js b/TRM/front/src/UserManagement.js
new file mode 100644
index 0000000..ec7cbc2
--- /dev/null
+++ b/TRM/front/src/UserManagement.js
@@ -0,0 +1,44 @@
+import React, { useState, useEffect } from 'react';
+import './Admin.css';
+
+function UserManagement() {
+  const [users, setUsers] = useState([]);
+
+  useEffect(() => {
+    fetch('/api/users')
+      .then(res => res.json())
+      .then(data => setUsers(data))
+      .catch(console.error);
+  }, []);
+
+  const handleUserAction = (id, action) => {
+    fetch(`/api/users/${id}/${action}`, { method: 'POST' })
+      .then(res => res.ok && setUsers(us => us.filter(u => u.id !== id)))
+      .catch(console.error);
+  };
+
+  return (
+    <div className="admin-container">
+      <h2>用户管理</h2>
+      <table className="admin-table">
+        <thead>
+          <tr><th>用户名</th><th>角色</th><th>操作</th></tr>
+        </thead>
+        <tbody>
+          {users.map(u => (
+            <tr key={u.id}>
+              <td>{u.username}</td>
+              <td>{u.role}</td>
+              <td>
+                <button onClick={() => handleUserAction(u.id, 'ban')}>封禁</button>
+                <button onClick={() => handleUserAction(u.id, 'promote')}>提升权限</button>
+              </td>
+            </tr>
+          ))}
+        </tbody>
+      </table>
+    </div>
+  );
+}
+
+export default UserManagement;