录入新员工手机号唯一,邮箱唯一的方法优化,支持通过手机号码+密码登录
This commit is contained in:
parent
1a84a02feb
commit
868b54fb1a
@ -36,7 +36,7 @@ function get_system_config($name, $key = '')
|
||||
$config = get_cache('system_config' . $name);
|
||||
} else {
|
||||
$conf = Db::name('config')->where('name', $name)->find();
|
||||
if ($conf['content']) {
|
||||
if (isset($conf['content'])) {
|
||||
$config = unserialize($conf['content']);
|
||||
}
|
||||
set_cache('system_config' . $name, $config);
|
||||
|
@ -36,12 +36,12 @@ class Login
|
||||
if (empty($admin)) {
|
||||
$admin = Db::name('Admin')->where(['mobile' => $param['username']])->find();
|
||||
if (empty($admin)) {
|
||||
return to_assign(1, '用户名或密码错误');
|
||||
return to_assign(1, '用户名或手机号码错误');
|
||||
}
|
||||
}
|
||||
$param['pwd'] = set_password($param['password'], $admin['salt']);
|
||||
if ($admin['pwd'] !== $param['pwd']) {
|
||||
return to_assign(1, '用户名或密码错误');
|
||||
return to_assign(1, '用户或密码错误');
|
||||
}
|
||||
if ($admin['status'] != 1) {
|
||||
return to_assign(1, '该用户禁止登录,请与管理者联系');
|
||||
|
@ -47,7 +47,7 @@
|
||||
<div class="bottom">
|
||||
<form class="layui-form" id="gougu-login">
|
||||
<div class="layui-form-item">
|
||||
<input type="text" name="username" lay-verify="required" value="" placeholder="请输入账户" lay-reqText="请输入账户" autocomplete="off" class="layui-input">
|
||||
<input type="text" name="username" lay-verify="required" value="" placeholder="请输入账户或手机号码" lay-reqText="请输入账户或手机号码" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<input type="password" name="password" lay-verify="required" value="" placeholder="请输入密码" lay-reqText="请输入密码" autocomplete="off" class="layui-input">
|
||||
|
@ -13,17 +13,26 @@ class AdminCheck extends Validate
|
||||
{
|
||||
protected $regex = [ 'checkUser' => '/^[A-Za-z]{1}[A-Za-z0-9_-]{3,19}$/'];
|
||||
// 自定义验证规则
|
||||
protected function checkone($value,$rule,$data=[])
|
||||
{
|
||||
$count = Db::name('Admin')->where([['username','=',$data['username']],['id','<>',$data['id']],['status','>=',0]])->count();
|
||||
return $count == 0 ? true : false;
|
||||
}
|
||||
protected function checkUnique($value, $rule, $data)
|
||||
{
|
||||
[$table, $field, $id] = explode(',', $rule);
|
||||
$idField = $id ?: 'id';
|
||||
$idValue = $data[$idField] ?? null;
|
||||
$map = [
|
||||
[$field, '=', $value],
|
||||
];
|
||||
if (!is_null($idValue)) {
|
||||
$map[] = [$idField, '<>', $idValue];
|
||||
}
|
||||
$map[] = ['status', '>=', 0];
|
||||
return !Db::name($table)->where($map)->count();
|
||||
}
|
||||
|
||||
protected $rule = [
|
||||
'name' => 'require|chs',
|
||||
'username' => 'require|regex:checkUser',
|
||||
'mobile' => 'require|mobile|unique:admin',
|
||||
'email' => 'require|email|unique:admin',
|
||||
'mobile' => 'require|mobile|checkUnique:Admin,mobile,id',
|
||||
'email' => 'require|email|checkUnique:Admin,email,id',
|
||||
'reg_pwd' => 'require|min:6',
|
||||
'did' => 'require',
|
||||
'position_id' => 'require',
|
||||
@ -40,13 +49,12 @@ class AdminCheck extends Validate
|
||||
'name.chs' => '员工姓名只能是汉字',
|
||||
'username.require' => '登录账号不能为空',
|
||||
'username.regex' => '登录账号必须是以字母开头,只能包含字母数字下划线和减号,4到20位',
|
||||
'username.checkone' => '同样的登录账号已经存在,建议增加数字,如:xxx123',
|
||||
'mobile.require' => '手机不能为空',
|
||||
'mobile.mobile' => '手机格式错误',
|
||||
'mobile.unique' => '同样的手机号码已经存在,请检查一下是否被离职或者禁用员工占用',
|
||||
'mobile.checkUnique' => '同样的手机号码已经存在,请检查一下是否被离职或者禁用员工占用',
|
||||
'email.require' => '邮箱不能为空',
|
||||
'email.email' => '邮箱格式错误',
|
||||
'email.unique' => '同样的邮箱已经存在,请检查一下是否被离职或者禁用员工占用',
|
||||
'email.checkUnique' => '同样的邮箱已经存在,请检查一下是否被离职或者禁用员工占用',
|
||||
'reg_pwd.require' => '密码不能为空',
|
||||
'reg_pwd.min' => '密码至少要6个字符',
|
||||
'did.require' => '请选择所在部门',
|
||||
|
Loading…
x
Reference in New Issue
Block a user