diff --git a/app/home/BaseController.php b/app/home/BaseController.php index 48764ac..552d19d 100644 --- a/app/home/BaseController.php +++ b/app/home/BaseController.php @@ -89,6 +89,11 @@ abstract class BaseController View::assign('login_user', $this->uid); // 验证用户访问权限 if ($this->controller !== 'index' && $this->controller !== 'api') { + $reg_pwd = Db::name('Admin')->where(['id' => $this->uid])->value('reg_pwd'); + if($reg_pwd!==''){ + redirect('/home/api/edit_password.html')->send(); + exit; + } if (!$this->checkAuth()) { if ($this->request->isAjax()) { return to_assign(202, '你没有权限,请联系管理员或者人事部'); diff --git a/app/home/controller/Admin.php b/app/home/controller/Admin.php index 0d67886..b8e121b 100644 --- a/app/home/controller/Admin.php +++ b/app/home/controller/Admin.php @@ -67,6 +67,10 @@ class Admin extends BaseController $username = $pinyin->name($param['name'], PINYIN_UMLAUT_V); $param['username'] = implode('', $username); if (!empty($param['id']) && $param['id'] > 0) { + $count = Db::name('Admin')->where([['username', '=', $param['username']], ['id', '<>', $param['id']]])->count(); + if ($count > 0) { + $param['username'] = implode('', $username) . $count; + } try { validate(AdminCheck::class)->scene('edit')->check($param); } catch (ValidateException $e) { @@ -76,10 +80,6 @@ class Admin extends BaseController // 启动事务 Db::startTrans(); try { - $count = Db::name('Admin')->where([['username', '=', $param['username']], ['id', '<>', $param['id']]])->count(); - if ($count > 0) { - $param['username'] = implode('', $username) . $count; - } Db::name('Admin')->where(['id' => $param['id']])->strict(false)->field(true)->update($param); if (!isset($param['thumb']) || $param['thumb'] == '') { $char = mb_substr($param['name'], 0, 1, 'utf-8'); @@ -97,16 +97,16 @@ class Admin extends BaseController return to_assign(1, '提交失败:' . $e->getMessage()); } } else { + $count = Db::name('Admin')->where('username', $param['username'])->count(); + if ($count > 0) { + $param['username'] = implode('', $username) . $count; + } try { validate(AdminCheck::class)->scene('add')->check($param); } catch (ValidateException $e) { // 验证失败 输出错误信息 return to_assign(1, $e->getError()); } - $count = Db::name('Admin')->where('username', $param['username'])->count(); - if ($count > 0) { - $param['username'] = implode('', $username) . $count; - } $param['salt'] = set_salt(20); $param['pwd'] = set_password($param['reg_pwd'], $param['salt']); // 启动事务 diff --git a/app/home/view/admin/edit_password.html b/app/home/view/admin/edit_password.html index d56aeff..e66d710 100644 --- a/app/home/view/admin/edit_password.html +++ b/app/home/view/admin/edit_password.html @@ -2,27 +2,30 @@ {block name="body"}