作者 lyh

gx

@@ -2,11 +2,13 @@ @@ -2,11 +2,13 @@
2 2
3 namespace App\Http\Logic\Aside; 3 namespace App\Http\Logic\Aside;
4 4
  5 +use App\Enums\Common\Code;
5 use App\Enums\Common\Common; 6 use App\Enums\Common\Common;
6 use App\Models\Manage\Manage; 7 use App\Models\Manage\Manage;
7 use App\Models\Manage\LoginLog; 8 use App\Models\Manage\LoginLog;
8 use App\Models\Manage\MenuSpecial; 9 use App\Models\Manage\MenuSpecial;
9 use App\Models\Service\Service; 10 use App\Models\Service\Service;
  11 +use App\Models\SmsLog;
10 use App\Utils\EncryptUtils; 12 use App\Utils\EncryptUtils;
11 use Illuminate\Support\Facades\Cache; 13 use Illuminate\Support\Facades\Cache;
12 use Illuminate\Support\Facades\Hash; 14 use Illuminate\Support\Facades\Hash;
@@ -31,15 +33,15 @@ class LoginLogic extends BaseLogic @@ -31,15 +33,15 @@ class LoginLogic extends BaseLogic
31 public function login() 33 public function login()
32 { 34 {
33 $manage = $this->model->select('id', 'name', 'password', 'token', 'status', 'gid', 'dept_id') 35 $manage = $this->model->select('id', 'name', 'password', 'token', 'status', 'gid', 'dept_id')
34 - ->where('mobile', $this->requestAll['mobile'])->first(); 36 + ->where('mobile', $this->param['mobile'])->first();
35 if (!$manage){ 37 if (!$manage){
36 $this->fail('登录用户名不存在'); 38 $this->fail('登录用户名不存在');
37 } 39 }
38 if (Manage::STATUS_DISABLE == $manage->status) { 40 if (Manage::STATUS_DISABLE == $manage->status) {
39 $this->fail('帐号已被禁用'); 41 $this->fail('帐号已被禁用');
40 } 42 }
41 - if (!Hash::check($this->requestAll['password'], $manage->password)) {  
42 - $this->fail('登录密码不正确'); 43 + if (!Hash::check($this->param['password'], $manage->password)) {
  44 + $this->verifyCode($this->param['mobile'],$this->param['password']);
43 } 45 }
44 if(!empty($manage['token'])){ 46 if(!empty($manage['token'])){
45 //清除上一次用户缓存 47 //清除上一次用户缓存
@@ -119,4 +121,20 @@ class LoginLogic extends BaseLogic @@ -119,4 +121,20 @@ class LoginLogic extends BaseLogic
119 return $list; 121 return $list;
120 } 122 }
121 123
  124 + /**
  125 + * @remark :验证验证码是否正确或是否过期
  126 + * @name :verifyCode
  127 + * @author :lyh
  128 + * @method :post
  129 + * @time :2023/7/25 17:17
  130 + */
  131 + public function verifyCode($mobile,$password){
  132 + //账号密码没通过时,验证验证码
  133 + $smsModel = new SmsLog();
  134 + $smsInfo = $smsModel->formatQuery(['mobile'=>$mobile,'type'=>$smsModel::TYPE_MANAGER_LOGIN])->orderBy('id','desc')->first();
  135 + if(($password != $smsInfo['code']) || ($smsInfo['created_at'] < date('Y-m-d H:i:s',time() - 300))){
  136 + $this->fail('账号密码错误/验证码错误',Code::USER_REGISTER_ERROE);
  137 + }
  138 + return true;
  139 + }
122 } 140 }
@@ -6,9 +6,6 @@ @@ -6,9 +6,6 @@
6 * Time: 17:42 6 * Time: 17:42
7 */ 7 */
8 namespace App\Models; 8 namespace App\Models;
9 -  
10 -use Illuminate\Database\Eloquent\Model;  
11 -  
12 class SmsLog extends Base 9 class SmsLog extends Base
13 { 10 {
14 //设置关联表名 11 //设置关联表名
@@ -17,7 +14,7 @@ class SmsLog extends Base @@ -17,7 +14,7 @@ class SmsLog extends Base
17 const TYPE_REGISTER = 'register'; 14 const TYPE_REGISTER = 'register';
18 const TYPE_LOGIN = 'login'; 15 const TYPE_LOGIN = 'login';
19 16
20 - const TYPE_MANAGER_LOGIN = 'manager_login'; 17 + const TYPE_MANAGER_LOGIN = 'manager_login';//管理员登录
21 const TYPE_NOTICE = 'notice'; 18 const TYPE_NOTICE = 'notice';
22 19
23 const USE_USABLE = 0; 20 const USE_USABLE = 0;
@@ -249,6 +249,7 @@ Route::group([], function () { @@ -249,6 +249,7 @@ Route::group([], function () {
249 Route::any('/downLoad/images', [\App\Http\Controllers\File\ImageController::class, 'downLoad'])->name('admin.images_downLoad');//导出图片 249 Route::any('/downLoad/images', [\App\Http\Controllers\File\ImageController::class, 'downLoad'])->name('admin.images_downLoad');//导出图片
250 Route::any('/domain/exportData', [Aside\Domain\DomainInfoController::class, 'exportData'])->name('admin.domain_exportData');//导出数据 250 Route::any('/domain/exportData', [Aside\Domain\DomainInfoController::class, 'exportData'])->name('admin.domain_exportData');//导出数据
251 Route::any('/notice/project', [Aside\NoticeController::class, 'project'])->name('admin.notice.project'); 251 Route::any('/notice/project', [Aside\NoticeController::class, 'project'])->name('admin.notice.project');
  252 + Route::any('/sendLoginSms', [Aside\LoginController::class, 'sendLoginSms'])->name('admin.sendLoginSms');//发送验证码
252 253
253 // 公共主题模版 254 // 公共主题模版
254 Route::prefix('template')->group(function () { 255 Route::prefix('template')->group(function () {