Эх сурвалжийг харах

[智价云] 补充手机号+密码登录接口

tangyuanwang 1 долоо хоног өмнө
parent
commit
920b6611c2

+ 10 - 0
app/Http/Controllers/Manager/AdminUser.php

@@ -70,6 +70,11 @@ class AdminUser extends Manager
             $data['password']       = request('password', '');
             $data['password']       = md5($data['password']);
             $groups             = (array) request('groups', []);
+            //校验手机号码是否存在
+            $phone_exist = $Model->query()->where('phone', $data['phone'])->first();
+            if ($phone_exist) {
+                return json_send(['code' => 'error', 'msg' => '手机号码已存在']);
+            }
             // 写入数据表
             $uid = $Model->add($data);
             // 如果操作失败
@@ -147,6 +152,11 @@ class AdminUser extends Manager
             $password           = request('password', '');
             if ($password)      $data['password'] = md5($password);
             $groups      = (array) request('groups', []);
+            //校验手机号码是否存在
+            $phone_exist = $Model->query()->where('phone', $data['phone'])->where('uid', '!=', $id)->first();
+            if ($phone_exist) {
+                return json_send(['code' => 'error', 'msg' => '手机号码已存在']);
+            }
             // 写入数据表
             $uid         = $Model->edit($id, $data);
             // 如果操作失败

+ 41 - 0
app/Http/Controllers/Manager/Login.php

@@ -75,4 +75,45 @@ class Login extends Manager
 		// 表单令牌
 		return    	json_send(['code' => 'success', 'msg' => '退出成功', 'data' => '']);
 	}
+
+
+	/**
+	 * 手机号码登录			/manager/login/mobile
+	 * @author 唐远望
+	 * @version   1.0
+	 * @date      2025-12-04
+	 * @param string 	mobile		手机号码
+	 * @param string 	password	登录密码
+	 * 
+	 */
+	public function mobile(Request $Request, AdminUser $AdminUser, AuthRule $AuthRule)
+	{
+		// 验证规则
+		$Request->scene('mobile')->validate();
+		// 接收数据
+		$mobile    = $Request->input('mobile', '');
+		// 接收数据
+		$password    = $Request->input('password', '');
+		// 查询用户
+		$admin    	= $AdminUser->where('phone', $mobile)->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');;
+		// 表单令牌
+		return    	json_send(['code' => 'success', 'msg' => '登录成功', 'data' => $accessToken]);
+
+	}
 }

+ 1 - 0
app/Http/Middleware/Manager/AccessAuth.php

@@ -12,6 +12,7 @@ class AccessAuth
     // 无需验证的路径
     protected   $except     = [
         'manager/login/index',
+        'manager/login/mobile',
     ];
     //默认配置
     protected   $_config    = [

+ 1 - 2
app/Http/Middleware/Manager/Login.php

@@ -11,8 +11,7 @@ class Login
     // 无需验证的路径
     protected   $except     = [
                                 'manager/login/index',
-                                'manager/website_potential/send_code',
-                                'manager/website_potential/add'
+                                'manager/login/mobile',
                             ];
     //默认配置
     protected   $_config    = [

+ 2 - 0
routes/manager.php

@@ -15,6 +15,8 @@ use Illuminate\Support\Facades\Route;
 
 // 登录
 Route::any('login/index', [App\Http\Controllers\Manager\Login::class, 'index']);
+//手机密码登录
+Route::any('login/mobile', [App\Http\Controllers\Manager\Login::class, 'mobile']);
 // 退出登录
 Route::any('login/out', [App\Http\Controllers\Manager\Login::class, 'out']);