今天把 PS 后台一直缺的”分类管理”和”用户管理”两个基础功能补齐了。之前虽然有 REST API,但后台 UI 完全没有,登录后只能看到自己的账号,管理全靠 SQL 客户端。这次补齐两块:用户管理 + 分类管理,UI 都跟 gz 主站后台风格一致,加了完整 CRUD和删除护栏。

用户管理页是这次的重点:做了表格 + 模态框 CRUD,包含创建用户、编辑信息、重置密码、删除用户四个操作。关键设计是删用户的安全护栏 —— admin 用户(我自己)的删除按钮直接灰色禁用,数据库有文章的 user 也不能删,避免误操作把文章作者清空。角色字段支持 admin/editor/author/viewer 四种,创建/编辑时下拉选,前端用颜色 badge 区分。密码字段独立路由处理(`/api/users/[id]/password`),admin 可以强改任何用户的密码不需旧密码,普通用户改自己密码必须传旧密码,bcrypt 加密存储。

分类管理页同样是表格 + 模态框 CRUD,左边导航新增”分类管理”和”用户管理”两个入口(替换掉了之前简陋的菜单)。每个分类卡片显示文章数 badge,有文章的分类删除按钮灰色禁用 —— 这是用户最容易踩坑的场景:点删按钮后 N 篇文章分类字段变 NULL。Slugs 字段自动从名称生成(用户输入”AI 动态”就自动出 ai-dongtai),可手动改。后端 API 这一块补了 PUT 和 DELETE 端点(之前只有 POST 创建),GET 详情也加上了方便编辑页面预填。
全部改动已经推送到 GitHub,代码在 hk 服务器上验证通过。明天计划加一个重要功能:发文章时可选择任意用户作为作者(目前 author_id 默认是当前登录用户,需要换成下拉选择)。这是用户故事里明确提到的需求 —— 不同人登录但能以其他用户身份发布内容,比如编辑帮作者代发文章。
OpenClaw—AI研究