From d1c9004ffa51f27fd8ef6cf336a042b35d835e62 Mon Sep 17 00:00:00 2001 From: augushong Date: Sat, 29 Oct 2022 11:29:25 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=BB=98=E8=AE=A4=E5=AF=86?= =?UTF-8?q?=E7=A0=81=EF=BC=9B=E4=BF=AE=E6=94=B9curd=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E4=BF=A1=E6=81=AF=EF=BC=9B=E5=8E=BB=E9=99=A4?= =?UTF-8?q?admin=E8=A1=A8username=E5=94=AF=E4=B8=80=E5=80=BC=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/BaseController.php | 2 ++ app/admin/controller/system/Admin.php | 17 +++++++++++++++-- app/admin/traits/Curd.php | 6 +++--- app/admin/view/system/config/site.html | 7 +++++++ .../migrations/20220419022952_system_admin.php | 4 ++-- 5 files changed, 29 insertions(+), 7 deletions(-) diff --git a/app/BaseController.php b/app/BaseController.php index 951f66f..7980d44 100644 --- a/app/BaseController.php +++ b/app/BaseController.php @@ -74,6 +74,8 @@ abstract class BaseController if (is_array($validate)) { $v = new Validate(); $v->rule($validate); + } else if ($validate instanceof Validate) { + $v = $validate; } else { if (strpos($validate, '.')) { // 支持场景 diff --git a/app/admin/controller/system/Admin.php b/app/admin/controller/system/Admin.php index cbdd35b..4635f53 100644 --- a/app/admin/controller/system/Admin.php +++ b/app/admin/controller/system/Admin.php @@ -11,6 +11,8 @@ use app\common\controller\AdminController; use app\admin\service\annotation\ControllerAnnotation; use app\admin\service\annotation\NodeAnotation; use think\App; +use think\facade\Validate; +use think\validate\ValidateRule; /** * Class Admin @@ -76,12 +78,23 @@ class Admin extends AdminController $post = $this->request->post(); $authIds = $this->request->post('auth_ids', []); $post['auth_ids'] = implode(',', array_keys($authIds)); - $rule = []; + $rule = Validate::rule('username|用户登录名', ValidateRule::isRequire()); + $post['password'] = password(sysconfig('site', 'site_default_password', '123456')); $this->validate($post, $rule); + + + try { + + $model_admin = SystemAdmin::where('username', $post['username'])->find(); + + if (!empty($model_admin)) { + throw new \Exception('同名用户已存在'); + } + $save = $this->model->save($post); } catch (\Exception $e) { - $this->error('保存失败'); + $this->error('保存失败:' . $e->getMessage()); } $save ? $this->success('保存成功') : $this->error('保存失败'); } diff --git a/app/admin/traits/Curd.php b/app/admin/traits/Curd.php index 44ebcf1..304461a 100644 --- a/app/admin/traits/Curd.php +++ b/app/admin/traits/Curd.php @@ -79,7 +79,7 @@ trait Curd try { $save = $row->save($post); } catch (\Exception $e) { - $this->error('保存失败'); + $this->error('保存失败:' . $e->getMessage()); } $save ? $this->success('保存成功') : $this->error('保存失败'); } @@ -98,7 +98,7 @@ trait Curd try { $save = $row->delete(); } catch (\Exception $e) { - $this->error('删除失败'); + $this->error('删除失败:' . $e->getMessage()); } $save ? $this->success('删除成功') : $this->error('删除失败'); } @@ -156,7 +156,7 @@ trait Curd $post['field'] => $post['value'], ]); } catch (\Exception $e) { - $this->error($e->getMessage()); + $this->error('修改失败:' . $e->getMessage()); } $this->success('保存成功'); } diff --git a/app/admin/view/system/config/site.html b/app/admin/view/system/config/site.html index 18e61c3..512f0c6 100644 --- a/app/admin/view/system/config/site.html +++ b/app/admin/view/system/config/site.html @@ -49,6 +49,13 @@ 填写站点域名。以http://或https://开头,内置的定时任务用到了这个配置项,修改之后需要重启定时任务 +
+ +
+ + 添加账号时自动填充的密码,默认为:123456 。建议填写为您系统特有的默认密码规则,比如:ul-aa@@123 +
+
diff --git a/database/migrations/20220419022952_system_admin.php b/database/migrations/20220419022952_system_admin.php index ac28b93..2143d14 100644 --- a/database/migrations/20220419022952_system_admin.php +++ b/database/migrations/20220419022952_system_admin.php @@ -32,13 +32,13 @@ class SystemAdmin extends Migrator ->setComment('系统用户表') ->addColumn(Column::char('auth_ids')->setDefault('')->setComment('角色权限ID')) ->addColumn(Column::char('head_img')->setDefault('')->setComment('头像')) - ->addColumn(Column::char('username', 50)->setDefault('')->setUnique()->setComment('用户登录名')) + ->addColumn(Column::char('username', 50)->setDefault('')->setComment('用户登录名')) ->addColumn(Column::char('password', 40)->setDefault('')->setComment('用户密码')) ->addColumn(Column::char('phone',16)->setDefault('')->setComment('联系手机号')) ->addColumn(Column::char('remark')->setDefault('')->setComment('备注说明')) ->addColumn(Column::bigInteger('login_num')->setUnsigned()->setDefault(0)->setComment('登录次数')) ->addColumn(Column::integer('sort')->setDefault(0)->setComment('排序')) - ->addColumn(Column::tinyInteger('status')->setLimit(1)->setUnsigned()->setDefault(0)->setComment('状态 {radio} (0:禁用,1:启用,)')) + ->addColumn(Column::tinyInteger('status')->setLimit(1)->setUnsigned()->setDefault(1)->setComment('状态 {radio} (0:禁用,1:启用,)')) ->addColumn(Column::integer('create_time')->setLimit(11)->setUnsigned()->setDefault(0)->setComment('创建时间')) ->addColumn(Column::integer('update_time')->setLimit(11)->setUnsigned()->setDefault(0)) ->addColumn(Column::integer('delete_time')->setLimit(11)->setUnsigned()->setDefault(0))