Files
vf_react/community_admin_setup.sql
2026-01-06 12:36:37 +08:00

60 lines
1.8 KiB
SQL

-- 社区管理员权限设置
-- 在 MySQL 中执行
-- 1. 创建管理员表(如果不存在)
CREATE TABLE IF NOT EXISTS community_admins (
id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT NOT NULL UNIQUE,
role ENUM('admin', 'moderator') DEFAULT 'moderator',
permissions JSON,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
INDEX idx_user_id (user_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 2. 添加用户 ID=65 为管理员
INSERT INTO community_admins (user_id, role, permissions)
VALUES (65, 'admin', JSON_OBJECT(
'manage_channels', true,
'manage_messages', true,
'manage_users', true,
'manage_posts', true,
'pin_messages', true,
'delete_messages', true,
'announce', true,
'ban_users', true
))
ON DUPLICATE KEY UPDATE
role = 'admin',
permissions = JSON_OBJECT(
'manage_channels', true,
'manage_messages', true,
'manage_users', true,
'manage_posts', true,
'pin_messages', true,
'delete_messages', true,
'announce', true,
'ban_users', true
);
-- 3. 查看管理员列表
SELECT ca.*, u.username
FROM community_admins ca
LEFT JOIN users u ON ca.user_id = u.id;
-- 管理员权限说明:
-- admin (管理员): 拥有所有权限
-- - manage_channels: 创建/编辑/删除频道
-- - manage_messages: 编辑/删除任何消息
-- - manage_users: 踢出/禁言用户
-- - manage_posts: 编辑/删除任何帖子
-- - pin_messages: 置顶消息
-- - delete_messages: 删除消息
-- - announce: 在公告频道发布消息
-- - ban_users: 封禁用户
-- moderator (版主): 拥有部分权限
-- - pin_messages: 置顶消息
-- - delete_messages: 删除消息
-- - manage_posts: 管理帖子(锁定/置顶)