作者 赵彬吉

update

@@ -18,4 +18,6 @@ final class Common extends Enum @@ -18,4 +18,6 @@ final class Common extends Enum
18 //端 18 //端
19 const A='a'; 19 const A='a';
20 const B='b'; 20 const B='b';
  21 +
  22 + const MANAGE_TOKEN = 'manage_token:';
21 } 23 }
@@ -18,7 +18,6 @@ class LoginController extends BaseController @@ -18,7 +18,6 @@ class LoginController extends BaseController
18 18
19 function login(Request $request, LoginLogic $logic) 19 function login(Request $request, LoginLogic $logic)
20 { 20 {
21 - if ($request->isMethod('POST')) {  
22 $request->validate([ 21 $request->validate([
23 'mobile' => ['required', new Mobile()], 22 'mobile' => ['required', new Mobile()],
24 'password' => 'required', 23 'password' => 'required',
@@ -27,18 +26,14 @@ class LoginController extends BaseController @@ -27,18 +26,14 @@ class LoginController extends BaseController
27 'password.required' => '请输入密码', 26 'password.required' => '请输入密码',
28 ]); 27 ]);
29 28
30 - $logic->login(); 29 + $data = $logic->login();
31 30
32 - return $this->success();  
33 - }  
34 - if($logic->manage()){  
35 - return redirect(route('admin.home.white'));  
36 - }  
37 - return view('admin.login'); 31 + return $this->success($data);
38 } 32 }
39 33
40 public function logout(LoginLogic $logic) 34 public function logout(LoginLogic $logic)
41 { 35 {
42 - return $logic->logout(); 36 + $logic->logout();
  37 + return $this->success();
43 } 38 }
44 } 39 }
@@ -188,7 +188,7 @@ class RankDataController extends BaseController @@ -188,7 +188,7 @@ class RankDataController extends BaseController
188 'video_position' => 0, 188 'video_position' => 0,
189 ]; 189 ];
190 $client = new Client([ 190 $client = new Client([
191 - 'base_uri' => 'http://45.136.131.71:8000', 191 + 'base_uri' => 'http://rank.waimaoq.com',
192 'timeout' => '20' 192 'timeout' => '20'
193 ]); 193 ]);
194 194
@@ -208,7 +208,7 @@ class RankDataController extends BaseController @@ -208,7 +208,7 @@ class RankDataController extends BaseController
208 $data = [ 208 $data = [
209 'position' => 0, 209 'position' => 0,
210 ]; 210 ];
211 - $res = HttpUtils::get('http://45.136.131.71:8000/luminati_rank', $param); 211 + $res = HttpUtils::get('http://rank.waimaoq.com/luminati_rank', $param);
212 if ($res) { 212 if ($res) {
213 $res = Arr::s2a($res); 213 $res = Arr::s2a($res);
214 $data['position'] = $res['position']; 214 $data['position'] = $res['position'];
@@ -5,7 +5,7 @@ namespace App\Http\Logic\Aside; @@ -5,7 +5,7 @@ namespace App\Http\Logic\Aside;
5 5
6 use App\Enums\Common\Common; 6 use App\Enums\Common\Common;
7 use App\Http\Logic\Logic; 7 use App\Http\Logic\Logic;
8 -use Illuminate\Support\Facades\Session; 8 +use Illuminate\Support\Facades\Cache;
9 9
10 /** 10 /**
11 * @notes: 逻辑层基类 控制器调用 统一返回 统一抛出异常 11 * @notes: 逻辑层基类 控制器调用 统一返回 统一抛出异常
@@ -18,12 +18,9 @@ class BaseLogic extends Logic @@ -18,12 +18,9 @@ class BaseLogic extends Logic
18 18
19 protected $side = Common::A; 19 protected $side = Common::A;
20 20
21 - protected $user = [];  
22 -  
23 public function __construct() 21 public function __construct()
24 { 22 {
25 $this->requestAll = request()->all(); 23 $this->requestAll = request()->all();
26 - $this->user = Session::get('manage');  
27 } 24 }
28 25
29 26
@@ -2,10 +2,11 @@ @@ -2,10 +2,11 @@
2 2
3 namespace App\Http\Logic\Aside; 3 namespace App\Http\Logic\Aside;
4 4
  5 +use App\Enums\Common\Common;
5 use App\Models\Manage\Manage; 6 use App\Models\Manage\Manage;
6 use App\Models\Manage\LoginLog; 7 use App\Models\Manage\LoginLog;
  8 +use Illuminate\Support\Facades\Cache;
7 use Illuminate\Support\Facades\Hash; 9 use Illuminate\Support\Facades\Hash;
8 -use Illuminate\Support\Facades\Session;  
9 10
10 11
11 /** 12 /**
@@ -26,7 +27,7 @@ class LoginLogic extends BaseLogic @@ -26,7 +27,7 @@ class LoginLogic extends BaseLogic
26 27
27 public function login() 28 public function login()
28 { 29 {
29 - $manage = $this->model->where('mobile', $this->requestAll['mobile'])->first(); 30 + $manage = $this->model->select('id', 'name', 'password', 'token')->where('mobile', $this->requestAll['mobile'])->first();
30 31
31 if (!$manage){ 32 if (!$manage){
32 $this->fail('登录用户名不存在'); 33 $this->fail('登录用户名不存在');
@@ -37,21 +38,33 @@ class LoginLogic extends BaseLogic @@ -37,21 +38,33 @@ class LoginLogic extends BaseLogic
37 if (!Hash::check($this->requestAll['password'], $manage->password)) { 38 if (!Hash::check($this->requestAll['password'], $manage->password)) {
38 $this->fail('登录密码不正确'); 39 $this->fail('登录密码不正确');
39 } 40 }
40 - Session::put('manage', $manage->toArray());  
41 - 41 + if(!empty($manage['token'])){
  42 + //清除上一次用户缓存
  43 + Cache::pull(Common::MANAGE_TOKEN . $manage['token']);
  44 + }
  45 + //生成新token
  46 + $token = md5(uniqid().$manage['id']);
  47 + //存储缓存
  48 + $manage['token'] = $token;
  49 + Cache::add(Common::MANAGE_TOKEN . $token,$manage);
  50 + //更新用户信息
  51 + $manage->token = $token;
  52 + $res = $manage->save();
  53 + if(!$res){
  54 + $this->fail('系统错误,请联系管理员');
  55 + }
42 LoginLog::addLog($manage->id); 56 LoginLog::addLog($manage->id);
43 -  
44 - return $this->success(); 57 + return $this->success($manage->toArray());
45 } 58 }
46 59
47 public function logout(){ 60 public function logout(){
48 - Session::forget('manage');  
49 - return redirect(route('admin.login')); 61 + Cache::pull(request()->header('token'));
  62 + return $this->success();
50 } 63 }
51 64
52 public static function manage($field = ''){ 65 public static function manage($field = ''){
53 - $manage = Session::get('manage');  
54 - $manage = Manage::find(1)->toArray(); 66 + $manage = Cache::get(Common::MANAGE_TOKEN . request()->header('token'));
  67 + $manage = Manage::find($manage['id'] ?? 0);
55 if($field){ 68 if($field){
56 return $manage[$field] ?? ''; 69 return $manage[$field] ?? '';
57 } 70 }
@@ -6,11 +6,9 @@ use App\Enums\Common\Code; @@ -6,11 +6,9 @@ use App\Enums\Common\Code;
6 use App\Http\Logic\Aside\LoginLogic; 6 use App\Http\Logic\Aside\LoginLogic;
7 use App\Models\Manage\Group; 7 use App\Models\Manage\Group;
8 use App\Models\Manage\Manage; 8 use App\Models\Manage\Manage;
9 -use App\Models\Manage\Menu;  
10 use Closure; 9 use Closure;
11 use Illuminate\Http\Request; 10 use Illuminate\Http\Request;
12 use Illuminate\Support\Facades\Route; 11 use Illuminate\Support\Facades\Route;
13 -use Illuminate\Support\Facades\Session;  
14 use Illuminate\Support\Str; 12 use Illuminate\Support\Str;
15 13
16 class LoginAuthMiddleware 14 class LoginAuthMiddleware
@@ -26,11 +24,7 @@ class LoginAuthMiddleware @@ -26,11 +24,7 @@ class LoginAuthMiddleware
26 { 24 {
27 $manage = LoginLogic::manage(); 25 $manage = LoginLogic::manage();
28 if (!$manage) { 26 if (!$manage) {
29 - if($request->ajax()){  
30 return response(['status'=> Code::USER_ERROR,'msg'=>'当前用户未登录']); 27 return response(['status'=> Code::USER_ERROR,'msg'=>'当前用户未登录']);
31 - }else{  
32 - return redirect(route('admin.login.white'));  
33 - }  
34 } 28 }
35 //权限 29 //权限
36 if($manage['id'] != Manage::ADMINISTRATOR_ID){ //排除超级管理员 30 if($manage['id'] != Manage::ADMINISTRATOR_ID){ //排除超级管理员
@@ -38,11 +32,7 @@ class LoginAuthMiddleware @@ -38,11 +32,7 @@ class LoginAuthMiddleware
38 if(!Str::endsWith($route, '.white')){ //排除白名单路由 32 if(!Str::endsWith($route, '.white')){ //排除白名单路由
39 $routes = Group::getRouteByGroupId($manage['gid']); 33 $routes = Group::getRouteByGroupId($manage['gid']);
40 if(!in_array($route, $routes)){ 34 if(!in_array($route, $routes)){
41 - if($request->ajax()){  
42 return response(['status'=> Code::USER_ERROR,'msg'=>'无权限']); 35 return response(['status'=> Code::USER_ERROR,'msg'=>'无权限']);
43 - }else{  
44 - return response(view('admin/no_auth'));  
45 - }  
46 } 36 }
47 } 37 }
48 } 38 }
@@ -21,7 +21,6 @@ class LoginLog extends Base @@ -21,7 +21,6 @@ class LoginLog extends Base
21 public function addLog($manage_id){ 21 public function addLog($manage_id){
22 $log = new self(); 22 $log = new self();
23 $log->manage_id = $manage_id; 23 $log->manage_id = $manage_id;
24 - $log->session_id = Session::getId();  
25 $log->ip = request()->ip(); 24 $log->ip = request()->ip();
26 $log->save(); 25 $log->save();
27 } 26 }
@@ -24,7 +24,7 @@ class ManageLog extends Base @@ -24,7 +24,7 @@ class ManageLog extends Base
24 24
25 $log = new self(); 25 $log = new self();
26 $log->title = $menu ? $menu['title'] : ''; 26 $log->title = $menu ? $menu['title'] : '';
27 - $log->manage_id = LoginLogic::manage('id') ? : 0; 27 + $log->manage_id = LoginLogic::manage('id') ?: 0;
28 $log->route_name = request()->route()->getName(); 28 $log->route_name = request()->route()->getName();
29 $log->action = request()->path(); 29 $log->action = request()->path();
30 $log->method = request()->method(); 30 $log->method = request()->method();
@@ -6,8 +6,7 @@ use \Illuminate\Support\Facades\Route; @@ -6,8 +6,7 @@ use \Illuminate\Support\Facades\Route;
6 use \App\Http\Controllers\Aside; 6 use \App\Http\Controllers\Aside;
7 7
8 //必须登录验证的路由组 8 //必须登录验证的路由组
9 -Route::middleware(['web','accesstoken'])->group(function (){ //admin用渲染默认要加上web的中间件  
10 - Route::middleware(['aloginauth'])->group(function () { 9 +Route::middleware(['aloginauth'])->group(function () {
11 Route::get('/', [Aside\IndexController::class, 'index'])->name('admin.home.white'); 10 Route::get('/', [Aside\IndexController::class, 'index'])->name('admin.home.white');
12 Route::get('/logout', [Aside\LoginController::class, 'logout'])->name('admin.logout.white'); 11 Route::get('/logout', [Aside\LoginController::class, 'logout'])->name('admin.logout.white');
13 //会员相关 12 //会员相关
@@ -155,27 +154,27 @@ Route::middleware(['web','accesstoken'])->group(function (){ //adminç”¨ć¸˛ćź“é» @@ -155,27 +154,27 @@ Route::middleware(['web','accesstoken'])->group(function (){ //admin用渲染é»
155 Route::get('/', [\App\Http\Controllers\Aside\TemplateController::class, 'index'])->name('admin.template'); 154 Route::get('/', [\App\Http\Controllers\Aside\TemplateController::class, 'index'])->name('admin.template');
156 Route::post('/edit', [\App\Http\Controllers\Aside\TemplateController::class, 'save'])->name('admin.template_edit'); 155 Route::post('/edit', [\App\Http\Controllers\Aside\TemplateController::class, 'save'])->name('admin.template_edit');
157 Route::post('/insert', [\App\Http\Controllers\Aside\TemplateController::class, 'save'])->name('admin.template_insert'); 156 Route::post('/insert', [\App\Http\Controllers\Aside\TemplateController::class, 'save'])->name('admin.template_insert');
158 - Route::delete('/delete/{id}', [\App\Http\Controllers\Aside\TemplateController::class, 'delete'])->where('id','\d+')->name('admin.template_delete'); 157 + Route::delete('/delete/{id}', [\App\Http\Controllers\Aside\TemplateController::class, 'delete'])->where('id', '\d+')->name('admin.template_delete');
159 158
160 - Route::get('/html/{template_id}', [\App\Http\Controllers\Aside\TemplateController::class, 'html_index'])->where('template_id','\d+')->name('admin.template.html');  
161 - Route::post('/html/{template_id}/edit', [\App\Http\Controllers\Aside\TemplateController::class, 'html_edit'])->where('template_id','\d+')->name('admin.template_edit.html');  
162 - Route::post('/html/{template_id}/insert', [\App\Http\Controllers\Aside\TemplateController::class, 'html_insert'])->where('template_id','\d+')->name('admin.template_insert.html');  
163 - Route::delete('/html/{template_id}/delete/{id}', [\App\Http\Controllers\Aside\TemplateController::class, 'html_delete'])->where('template_id','\d+')->where('id','\d+')->name('admin.template_delete.html'); 159 + Route::get('/html/{template_id}', [\App\Http\Controllers\Aside\TemplateController::class, 'html_index'])->where('template_id', '\d+')->name('admin.template.html');
  160 + Route::post('/html/{template_id}/edit', [\App\Http\Controllers\Aside\TemplateController::class, 'html_edit'])->where('template_id', '\d+')->name('admin.template_edit.html');
  161 + Route::post('/html/{template_id}/insert', [\App\Http\Controllers\Aside\TemplateController::class, 'html_insert'])->where('template_id', '\d+')->name('admin.template_insert.html');
  162 + Route::delete('/html/{template_id}/delete/{id}', [\App\Http\Controllers\Aside\TemplateController::class, 'html_delete'])->where('template_id', '\d+')->where('id', '\d+')->name('admin.template_delete.html');
164 Route::get('/html/type', [\App\Http\Controllers\Aside\TemplateController::class, 'html_type'])->name('admin.template_type.html'); 163 Route::get('/html/type', [\App\Http\Controllers\Aside\TemplateController::class, 'html_type'])->name('admin.template_type.html');
165 164
166 // 自定义块,模板块 165 // 自定义块,模板块
167 Route::get('/chunk/lists', [\App\Http\Controllers\Aside\TemplateController::class, 'chunk_lists'])->name('admin.template.chunk_lists'); 166 Route::get('/chunk/lists', [\App\Http\Controllers\Aside\TemplateController::class, 'chunk_lists'])->name('admin.template.chunk_lists');
168 Route::post('/chunk/create', [\App\Http\Controllers\Aside\TemplateController::class, 'chunk_save'])->name('admin.template.chunk_create'); 167 Route::post('/chunk/create', [\App\Http\Controllers\Aside\TemplateController::class, 'chunk_save'])->name('admin.template.chunk_create');
169 Route::post('/chunk/update', [\App\Http\Controllers\Aside\TemplateController::class, 'chunk_save'])->name('admin.template.chunk_update'); 168 Route::post('/chunk/update', [\App\Http\Controllers\Aside\TemplateController::class, 'chunk_save'])->name('admin.template.chunk_update');
170 - Route::delete('/chunk/delete/{chunk_id}', [\App\Http\Controllers\Aside\TemplateController::class, 'chunk_delete'])->where('chunk_id','\d+')->name('admin.template.chunk_delete');  
171 - }); 169 + Route::delete('/chunk/delete/{chunk_id}', [\App\Http\Controllers\Aside\TemplateController::class, 'chunk_delete'])->where('chunk_id', '\d+')->name('admin.template.chunk_delete');
172 }); 170 });
  171 +});
173 172
174 //无需登录验证的路由组 173 //无需登录验证的路由组
175 - Route::group([], function () { 174 +Route::group([], function () {
176 Route::any('/login', [Aside\LoginController::class, 'login'])->name('admin.login.white'); 175 Route::any('/login', [Aside\LoginController::class, 'login'])->name('admin.login.white');
177 Route::any('/image/{hash}/{w?}/{h?}', [\App\Http\Controllers\File\ImageController::class, 'index'])->name('image_show'); 176 Route::any('/image/{hash}/{w?}/{h?}', [\App\Http\Controllers\File\ImageController::class, 'index'])->name('image_show');
178 Route::any('/file/{hash}', [\App\Http\Controllers\File\FileController::class, 'index'])->name('file_show'); 177 Route::any('/file/{hash}', [\App\Http\Controllers\File\FileController::class, 'index'])->name('file_show');
179 - });  
180 }); 178 });
181 179
  180 +