NimBuild 文档
后台管理

管理后台

用户管理、积分调整和订阅控制。

概述

管理后台位于 /admin,需要 user.role = 'admin'

设置

创建管理员账户:

ADMIN_EMAIL=your@email.com pnpm admin:setup

或手动在数据库中将已有用户的 role 设为 'admin'

功能

用户管理(/admin/users

  • 按姓名或邮箱搜索用户
  • 分页用户列表(每页 20 条)
  • 查看:姓名、邮箱、积分、角色、封禁状态、计划

用户操作

操作端点说明
调整积分PUT /api/admin/users/[userId]/credits增加或减少积分
修改订阅PUT /api/admin/users/[userId]/subscription更新用户计划
封禁用户通过管理面板临时或永久封禁

订阅管理(/admin/subscriptions

  • 查看所有活跃订阅
  • 按计划和状态筛选

积分账本(/admin/credits

  • 查看所有用户的积分交易记录
  • 按原因、日期范围筛选

权限控制

管理页面由 app/[locale]/(admin)/layout.tsx 中的 admin route group layout 保护,它会调用 modules/auth 导出的 requireAdmin()

// 检查 user.role === "admin"
// 非管理员会被重定向离开管理区域

管理员 API 路由同样会调用 modules/auth 中的 requireAdmin()。底层实现位于 modules/auth/admin.ts

On this page