超管后台 - 删除管理员

This commit is contained in:
柳清爽
2025-04-10 16:34:02 +08:00
parent e81a75b67e
commit 8e5a636893
5 changed files with 173 additions and 7 deletions

View File

@@ -264,4 +264,65 @@ class Administrator extends Controller
'data' => null
]);
}
/**
* 删除管理员
* @return \think\response\Json
*/
public function deleteAdmin()
{
if (!$this->request->isPost()) {
return json(['code' => 405, 'msg' => '请求方法不允许']);
}
// 获取当前登录的管理员信息
$currentAdmin = $this->request->adminInfo;
// 获取请求参数
$id = $this->request->post('id/d');
// 参数验证
if (empty($id)) {
return json(['code' => 400, 'msg' => '参数不完整']);
}
// 不能删除自己的账号
if ($currentAdmin->id == $id) {
return json(['code' => 403, 'msg' => '不能删除自己的账号']);
}
// 只有超级管理员(ID为1)可以删除管理员
if ($currentAdmin->id != 1) {
return json(['code' => 403, 'msg' => '您没有权限删除管理员']);
}
// 不能删除超级管理员账号
if ($id == 1) {
return json(['code' => 403, 'msg' => '不能删除超级管理员账号']);
}
// 查询管理员
$admin = AdminModel::where('id', $id)->where('deleteTime', 0)->find();
if (!$admin) {
return json(['code' => 404, 'msg' => '管理员不存在']);
}
// 执行软删除
$admin->deleteTime = time();
$result = $admin->save();
if ($result) {
return json([
'code' => 200,
'msg' => '删除成功',
'data' => null
]);
} else {
return json([
'code' => 500,
'msg' => '删除失败',
'data' => null
]);
}
}
}