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