更新日志
ytdevblog 2026-08

项目成员范围:列表过滤、重建与桌面端裁剪

「能做什么」由权限组决定;「在哪些项目上做」由项目成员表约束。适合给产品负责人单独账号,只管自己的 changelog 目录。

Added

重点

  • 项目成员:用户编辑页勾选可管理项目;项目管理侧支持按用户名添加 / 移除成员(dv_project_members
  • 范围语义
  • projects.scope_all → 全部项目(成员表可空)
  • projects.scope_assigned → 仅成员表内项目
  • 项目列表、单项目重建、评论审核、条目与 docbase API 均按范围过滤
  • GET /api/admin/me:返回 permissions[]project_scopeall | assigned)、project_slugs[]
  • 侧栏按权限码显隐(设置 / 主题 / 用户 / 权限组 / 统计 / 日志等)
  • 桌面客户端:登录后 roots / 菜单与 Web 权限一致;无 docbase.write 或越权项目 → 403

细节

  • API:GET/PUT /api/admin/users/{id}/projectsGET/POST /api/admin/projects/{slug}/members、删除成员接口
  • 移除成员后立即不可再操作该项目
  • 项目 purge / missing 清理时级联删除成员行,避免孤儿数据
  • 仪表盘无对应权限的卡片默认隐藏

Changed

  • 原「登录即见全部项目、全部菜单」变为按有效权限与范围裁剪;超管升级后体验不变

Security

  • 对未分配项目调用重建 / docbase 写删 → 403
  • 递归删除等仍须既有确认参数;权限不能替代二次确认

Notes

  • 成员绑定以 已索引项目 为主;新建目录并重建后再拉人
  • 仍禁止无人确认的镜像删除远端多余文件(桌面端约定)
浏览 (1)

评论

还没有评论,来抢沙发吧