|
|
@@ -6,6 +6,7 @@ use App\Models\Manager\AdminUser;
|
|
|
use App\Http\Requests\Manager\Login as Request;
|
|
|
use App\Models\Manager\AuthRule;
|
|
|
use App\Facades\Servers\Encrypts\AccessToken;
|
|
|
+use App\Models\Manager\Personnel\Employee as EmployeeModel;
|
|
|
|
|
|
/**
|
|
|
* 管理后台登录控制器
|
|
|
@@ -26,7 +27,7 @@ class Login extends Manager
|
|
|
* @param string password 登录密码
|
|
|
*
|
|
|
* */
|
|
|
- public function index(Request $Request, AdminUser $AdminUser, AuthRule $AuthRule)
|
|
|
+ public function index(Request $Request, AdminUser $AdminUser, AuthRule $AuthRule, EmployeeModel $EmployeeModel)
|
|
|
{
|
|
|
// 验证规则
|
|
|
$Request->scene('login')->validate();
|
|
|
@@ -34,24 +35,44 @@ class Login extends Manager
|
|
|
$username = $Request->input('username', '');
|
|
|
// 接收数据
|
|
|
$password = $Request->input('password', '');
|
|
|
- // 查询用户
|
|
|
- $admin = $AdminUser->orWhere('username', $username)->first(['uid', 'username', 'phone', 'status', 'password', 'insert_time', 'update_time']);
|
|
|
- // 用户不存在
|
|
|
- if (!$admin || $admin['status']) return json_send(['code' => 'error', 'msg' => '密码错误或账号不存在']);
|
|
|
- // 用户不存在
|
|
|
- if ($admin['status']) return json_send(['code' => 'error', 'msg' => '该账号已停用']);
|
|
|
- // 转数组
|
|
|
- $admin = $admin->toArray();
|
|
|
- // 比对密码
|
|
|
- if (md5($password) != $admin['password']) return json_send(['code' => 'error', 'msg' => '密码错误或账号不存在']);
|
|
|
- // 登录
|
|
|
- $accessToken = $AdminUser->Login($admin['uid'], 'manager');
|
|
|
- // 比对密码
|
|
|
- if (isset($accessToken['error'])) return json_send(['code' => 'error', 'msg' => '登录失败', 'data' => $accessToken['data']]);
|
|
|
- // 获取权限列表
|
|
|
- $accessToken['username'] = $admin['username'];
|
|
|
- // 获取权限列表
|
|
|
- $accessToken['auth_rules'] = $AuthRule->getAuthList($admin['uid'], 'manager');;
|
|
|
+ if (strtolower($username) == 'admin') {
|
|
|
+ // 查询用户
|
|
|
+ $admin = $AdminUser->orWhere('username', $username)->first(['uid', 'username', 'phone', 'status', 'password', 'insert_time', 'update_time']);
|
|
|
+ // 用户不存在
|
|
|
+ if (!$admin || $admin['status']) return json_send(['code' => 'error', 'msg' => '密码错误或账号不存在']);
|
|
|
+ // 用户不存在
|
|
|
+ if ($admin['status']) return json_send(['code' => 'error', 'msg' => '该账号已停用']);
|
|
|
+ // 转数组
|
|
|
+ $admin = $admin->toArray();
|
|
|
+ // 比对密码
|
|
|
+ if (md5($password) != $admin['password']) return json_send(['code' => 'error', 'msg' => '密码错误或账号不存在']);
|
|
|
+ // 登录
|
|
|
+ $accessToken = $AdminUser->Login($admin['uid'],'manager');
|
|
|
+ // 比对密码
|
|
|
+ if (isset($accessToken['error'])) return json_send(['code' => 'error', 'msg' => '登录失败', 'data' => $accessToken['data']]);
|
|
|
+ // 获取权限列表
|
|
|
+ $accessToken['username'] = $admin['username'];
|
|
|
+ // 获取权限列表
|
|
|
+ $accessToken['auth_rules'] = $AuthRule->getAuthList($admin['uid'], 'manager');
|
|
|
+ } else {
|
|
|
+ $admin = $EmployeeModel->where('employee_code', $username)->first(['id as uid', 'name as username', 'mobile as phone', 'status', 'password', 'insert_time', 'update_time']);
|
|
|
+ // 用户不存在
|
|
|
+ if (!$admin || $admin['status']) return json_send(['code' => 'error', 'msg' => '密码错误或账号不存在']);
|
|
|
+ // 用户不存在
|
|
|
+ if ($admin['status']) return json_send(['code' => 'error', 'msg' => '该账号已停用']);
|
|
|
+ // 转数组
|
|
|
+ $admin = $admin->toArray();
|
|
|
+ // 比对密码
|
|
|
+ if (md5($password) != $admin['password']) return json_send(['code' => 'error', 'msg' => '密码错误或账号不存在']);
|
|
|
+ // 登录
|
|
|
+ $accessToken = $EmployeeModel->Login($admin['uid'],'manager');
|
|
|
+ // 比对密码
|
|
|
+ if (isset($accessToken['error'])) return json_send(['code' => 'error', 'msg' => '登录失败', 'data' => $accessToken['data']]);
|
|
|
+ // 获取权限列表
|
|
|
+ $accessToken['username'] = $admin['username'];
|
|
|
+ $accessToken['auth_rules'] = $AuthRule->getAuthList($admin['uid'], 'manager');
|
|
|
+ }
|
|
|
+
|
|
|
// 表单令牌
|
|
|
return json_send(['code' => 'success', 'msg' => '登录成功', 'data' => $accessToken]);
|
|
|
}
|
|
|
@@ -67,15 +88,21 @@ class Login extends Manager
|
|
|
* @param string password 登录密码
|
|
|
*
|
|
|
* */
|
|
|
- public function out(Request $Request, AdminUser $AdminUser)
|
|
|
+ public function out(Request $Request, AdminUser $AdminUser, EmployeeModel $EmployeeModel)
|
|
|
{
|
|
|
$token = $Request->input('access_token_manager', '');
|
|
|
// 解码
|
|
|
$userInfo = AccessToken::decode($token);
|
|
|
// 验证规则
|
|
|
$uid = $userInfo['uid'];
|
|
|
- // 退出登录
|
|
|
- $AdminUser->LoginOut($uid, 'manager');
|
|
|
+ $is_admin = $userInfo['is_admin'];
|
|
|
+ if ($is_admin == '0') {
|
|
|
+ // 退出登录
|
|
|
+ $AdminUser->LoginOut($uid, 'manager');
|
|
|
+ }else{
|
|
|
+ $EmployeeModel->LoginOut($uid, 'manager');
|
|
|
+ }
|
|
|
+
|
|
|
// 表单令牌
|
|
|
return json_send(['code' => 'success', 'msg' => '退出成功', 'data' => '']);
|
|
|
}
|
|
|
@@ -90,7 +117,7 @@ class Login extends Manager
|
|
|
* @param string password 登录密码
|
|
|
*
|
|
|
*/
|
|
|
- public function mobile(Request $Request, AdminUser $AdminUser, AuthRule $AuthRule)
|
|
|
+ public function mobile(Request $Request,AuthRule $AuthRule, EmployeeModel $EmployeeModel)
|
|
|
{
|
|
|
// 验证规则
|
|
|
$Request->scene('mobile')->validate();
|
|
|
@@ -99,7 +126,7 @@ class Login extends Manager
|
|
|
// 接收数据
|
|
|
$password = $Request->input('password', '');
|
|
|
// 查询用户
|
|
|
- $admin = $AdminUser->where('phone', $phone)->first(['uid', 'username', 'phone', 'status', 'password', 'insert_time', 'update_time']);
|
|
|
+ $admin = $EmployeeModel->where('mobile', $phone)->first(['id as uid', 'name as username', 'mobile as phone', 'status', 'password', 'insert_time', 'update_time']);
|
|
|
// 用户不存在
|
|
|
if (!$admin || $admin['status']) return json_send(['code' => 'error', 'msg' => '密码错误或账号不存在']);
|
|
|
// 用户不存在
|
|
|
@@ -109,7 +136,7 @@ class Login extends Manager
|
|
|
// 比对密码
|
|
|
if (md5($password) != $admin['password']) return json_send(['code' => 'error', 'msg' => '密码错误或账号不存在']);
|
|
|
// 登录
|
|
|
- $accessToken = $AdminUser->Login($admin['uid'], 'manager');
|
|
|
+ $accessToken = $EmployeeModel->Login($admin['uid'], 'manager');
|
|
|
// 比对密码
|
|
|
if (isset($accessToken['error'])) return json_send(['code' => 'error', 'msg' => '登录失败', 'data' => $accessToken['data']]);
|
|
|
// 获取权限列表
|
|
|
@@ -118,6 +145,5 @@ class Login extends Manager
|
|
|
$accessToken['auth_rules'] = $AuthRule->getAuthList($admin['uid'], 'manager');;
|
|
|
// 表单令牌
|
|
|
return json_send(['code' => 'success', 'msg' => '登录成功', 'data' => $accessToken]);
|
|
|
-
|
|
|
}
|
|
|
}
|