作者 lyh

Merge branch 'develop' of http://47.244.231.31:8099/zhl/globalso-v6 into develop

... ... @@ -18,4 +18,6 @@ final class Common extends Enum
//端
const A='a';
const B='b';
const MANAGE_TOKEN = 'manage_token:';
}
... ...
... ... @@ -18,7 +18,6 @@ class LoginController extends BaseController
function login(Request $request, LoginLogic $logic)
{
if ($request->isMethod('POST')) {
$request->validate([
'mobile' => ['required', new Mobile()],
'password' => 'required',
... ... @@ -27,18 +26,14 @@ class LoginController extends BaseController
'password.required' => '请输入密码',
]);
$logic->login();
$data = $logic->login();
return $this->success();
}
if($logic->manage()){
return redirect(route('admin.home.white'));
}
return view('admin.login');
return $this->success($data);
}
public function logout(LoginLogic $logic)
{
return $logic->logout();
$logic->logout();
return $this->success();
}
}
... ...
... ... @@ -27,7 +27,7 @@ class DeptController extends BaseController
$sort = ['id' => 'desc'];
$data = $logic->getList($map, $sort, ['id', 'pid', 'title'],0);
return view("admin.dept", ["list" => Arr::listToTree($data)]);
return $this->success(Arr::listToTree($data));
}
public function info(Request $request, DeptLogic $logic){
... ...
... ... @@ -22,7 +22,7 @@ class GroupController extends BaseController
public function list(Request $request, GroupLogic $logic)
{
$list = $logic->getList();
return view("admin.group", ["list" => $list]);
return $this->success($list);
}
public function info(Request $request, GroupLogic $logic){
... ...
... ... @@ -22,7 +22,7 @@ class ManageController extends BaseController
public function list(Request $request, ManageLogic $logic)
{
$list = $logic->getList();
return view("admin.manage", ["list" => $list]);
return $this->success($list);
}
public function info(Request $request, ManageLogic $logic){
... ...
... ... @@ -24,7 +24,7 @@ class MenuController extends BaseController
$map = [];
$sort = ['id' => 'desc'];
$list = $logic->getList($map, $sort, ['*'],0);
return view("admin.menu", ["list" => Arr::listToTree($list)]);
return $this->success(Arr::listToTree($list));
}
public function info(Request $request, MenuLogic $logic){
... ...
... ... @@ -30,7 +30,7 @@ class ProjectController extends BaseController
$sort = ['id' => 'desc'];
$data = $logic->getList($map, $sort);
return view("admin.project", ["list" => $data]);
return $this->success($data);
}
public function info(Request $request, ProjectLogic $logic){
... ...
... ... @@ -31,7 +31,7 @@ class TaskController extends BaseController
$sort = ['id' => 'desc'];
$data = $logic->getList($map, $sort);
return view("admin.task", ["list" => $data]);
return $this->success($data);
}
public function info(Request $request, TaskLogic $logic){
... ...
... ... @@ -90,4 +90,9 @@ class ProductController extends BaseController
return $this->success($data);
}
public function getStatusNumber(ProductLogic $logic){
$data = $logic->getStatusNumber();
$this->response('success',Code::SUCCESS,$data);
}
}
... ...
... ... @@ -188,7 +188,7 @@ class RankDataController extends BaseController
'video_position' => 0,
];
$client = new Client([
'base_uri' => 'http://45.136.131.71:8000',
'base_uri' => 'http://rank.waimaoq.com',
'timeout' => '20'
]);
... ... @@ -208,7 +208,7 @@ class RankDataController extends BaseController
$data = [
'position' => 0,
];
$res = HttpUtils::get('http://45.136.131.71:8000/luminati_rank', $param);
$res = HttpUtils::get('http://rank.waimaoq.com/luminati_rank', $param);
if ($res) {
$res = Arr::s2a($res);
$data['position'] = $res['position'];
... ...
... ... @@ -5,7 +5,7 @@ namespace App\Http\Logic\Aside;
use App\Enums\Common\Common;
use App\Http\Logic\Logic;
use Illuminate\Support\Facades\Session;
use Illuminate\Support\Facades\Cache;
/**
* @notes: 逻辑层基类 控制器调用 统一返回 统一抛出异常
... ... @@ -18,12 +18,9 @@ class BaseLogic extends Logic
protected $side = Common::A;
protected $user = [];
public function __construct()
{
$this->requestAll = request()->all();
$this->user = Session::get('manage');
}
... ...
... ... @@ -2,10 +2,11 @@
namespace App\Http\Logic\Aside;
use App\Enums\Common\Common;
use App\Models\Manage\Manage;
use App\Models\Manage\LoginLog;
use Illuminate\Support\Facades\Cache;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Session;
/**
... ... @@ -26,7 +27,7 @@ class LoginLogic extends BaseLogic
public function login()
{
$manage = $this->model->where('mobile', $this->requestAll['mobile'])->first();
$manage = $this->model->select('id', 'name', 'password', 'token')->where('mobile', $this->requestAll['mobile'])->first();
if (!$manage){
$this->fail('登录用户名不存在');
... ... @@ -37,21 +38,33 @@ class LoginLogic extends BaseLogic
if (!Hash::check($this->requestAll['password'], $manage->password)) {
$this->fail('登录密码不正确');
}
Session::put('manage', $manage->toArray());
if(!empty($manage['token'])){
//清除上一次用户缓存
Cache::pull(Common::MANAGE_TOKEN . $manage['token']);
}
//生成新token
$token = md5(uniqid().$manage['id']);
//存储缓存
$manage['token'] = $token;
Cache::add(Common::MANAGE_TOKEN . $token,$manage);
//更新用户信息
$manage->token = $token;
$res = $manage->save();
if(!$res){
$this->fail('系统错误,请联系管理员');
}
LoginLog::addLog($manage->id);
return $this->success();
return $this->success($manage->toArray());
}
public function logout(){
Session::forget('manage');
return redirect(route('admin.login'));
Cache::pull(request()->header('token'));
return $this->success();
}
public static function manage($field = ''){
$manage = Session::get('manage');
$manage = Manage::find(1)->toArray();
$manage = Cache::get(Common::MANAGE_TOKEN . request()->header('token'));
$manage = Manage::find($manage['id'] ?? 0);
if($field){
return $manage[$field] ?? '';
}
... ...
... ... @@ -119,4 +119,17 @@ class ProductLogic extends BaseLogic
return $this->success();
}
public function getStatusNumber(){
//三种状态 0:草稿 1:发布 2:回收站
$data = ['dra'=>0,'pub'=>1,'del'=>2,'tal'=>3];
foreach ($data as $k => $v){
if($v == 3){
$data[$k] = $this->model->count();
}else{
$data[$k] = $this->model->where(['status'=>$v])->count();
}
}
return $this->success($data);
}
}
... ...
... ... @@ -80,9 +80,6 @@ class Logic
}else{
$result = $query->with($this->with)->select($columns)->get();
}
if($this->side == Common::A){
return $result;
}
return $this->success($result ? $result->toArray() : []);
}
... ...
... ... @@ -6,11 +6,9 @@ use App\Enums\Common\Code;
use App\Http\Logic\Aside\LoginLogic;
use App\Models\Manage\Group;
use App\Models\Manage\Manage;
use App\Models\Manage\Menu;
use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
use Illuminate\Support\Facades\Session;
use Illuminate\Support\Str;
class LoginAuthMiddleware
... ... @@ -26,11 +24,7 @@ class LoginAuthMiddleware
{
$manage = LoginLogic::manage();
if (!$manage) {
if($request->ajax()){
return response(['status'=> Code::USER_ERROR,'msg'=>'当前用户未登录']);
}else{
return redirect(route('admin.login.white'));
}
}
//权限
if($manage['id'] != Manage::ADMINISTRATOR_ID){ //排除超级管理员
... ... @@ -38,11 +32,7 @@ class LoginAuthMiddleware
if(!Str::endsWith($route, '.white')){ //排除白名单路由
$routes = Group::getRouteByGroupId($manage['gid']);
if(!in_array($route, $routes)){
if($request->ajax()){
return response(['status'=> Code::USER_ERROR,'msg'=>'无权限']);
}else{
return response(view('admin/no_auth'));
}
}
}
}
... ...
... ... @@ -21,7 +21,6 @@ class LoginLog extends Base
public function addLog($manage_id){
$log = new self();
$log->manage_id = $manage_id;
$log->session_id = Session::getId();
$log->ip = request()->ip();
$log->save();
}
... ...
... ... @@ -9,10 +9,10 @@ class Manage extends Base
//设置关联表名
protected $table = 'gl_manage';
protected $hidden = ['password'];
protected $hidden = ['password', 'token'];
const STATUS_ACTIVE = 0;
const STATUS_DISABLE = 1;
const STATUS_ACTIVE = 1;
const STATUS_DISABLE = 0;
/**
* 超级管理员ID, 当前ID拥有所有权限, 不能进行修改
... ...
... ... @@ -24,7 +24,7 @@ class ManageLog extends Base
$log = new self();
$log->title = $menu ? $menu['title'] : '';
$log->manage_id = LoginLogic::manage('id') ? : 0;
$log->manage_id = LoginLogic::manage('id') ?: 0;
$log->route_name = request()->route()->getName();
$log->action = request()->path();
$log->method = request()->method();
... ...
... ... @@ -6,8 +6,7 @@ use \Illuminate\Support\Facades\Route;
use \App\Http\Controllers\Aside;
//必须登录验证的路由组
Route::middleware(['web','accesstoken'])->group(function (){ //admin用渲染默认要加上web的中间件
Route::middleware(['aloginauth'])->group(function () {
Route::middleware(['aloginauth'])->group(function () {
Route::get('/', [Aside\IndexController::class, 'index'])->name('admin.home.white');
Route::get('/logout', [Aside\LoginController::class, 'logout'])->name('admin.logout.white');
//会员相关
... ... @@ -94,6 +93,12 @@ Route::middleware(['web','accesstoken'])->group(function (){ //admin用渲染é»
Route::post('/save', [Aside\Manage\DeptController::class, 'save'])->name('admin.dept_save');
Route::any('/delete', [Aside\Manage\DeptController::class, 'delete'])->name('admin.dept_delete');
});
//优化gsc账号记录表
Route::prefix('gsc')->group(function () {
Route::any('/', [Aside\Project\ProjectGscController::class, 'lists'])->name('admin.lists');
Route::any('/read', [Aside\Project\ProjectGscController::class, 'domainLists'])->name('admin.domainLists');
});
});
//项目管理
... ... @@ -155,33 +160,27 @@ Route::middleware(['web','accesstoken'])->group(function (){ //admin用渲染é»
Route::get('/', [\App\Http\Controllers\Aside\TemplateController::class, 'index'])->name('admin.template');
Route::post('/edit', [\App\Http\Controllers\Aside\TemplateController::class, 'save'])->name('admin.template_edit');
Route::post('/insert', [\App\Http\Controllers\Aside\TemplateController::class, 'save'])->name('admin.template_insert');
Route::delete('/delete/{id}', [\App\Http\Controllers\Aside\TemplateController::class, 'delete'])->where('id','\d+')->name('admin.template_delete');
Route::delete('/delete/{id}', [\App\Http\Controllers\Aside\TemplateController::class, 'delete'])->where('id', '\d+')->name('admin.template_delete');
Route::get('/html/{template_id}', [\App\Http\Controllers\Aside\TemplateController::class, 'html_index'])->where('template_id','\d+')->name('admin.template.html');
Route::post('/html/{template_id}/edit', [\App\Http\Controllers\Aside\TemplateController::class, 'html_edit'])->where('template_id','\d+')->name('admin.template_edit.html');
Route::post('/html/{template_id}/insert', [\App\Http\Controllers\Aside\TemplateController::class, 'html_insert'])->where('template_id','\d+')->name('admin.template_insert.html');
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');
Route::get('/html/{template_id}', [\App\Http\Controllers\Aside\TemplateController::class, 'html_index'])->where('template_id', '\d+')->name('admin.template.html');
Route::post('/html/{template_id}/edit', [\App\Http\Controllers\Aside\TemplateController::class, 'html_edit'])->where('template_id', '\d+')->name('admin.template_edit.html');
Route::post('/html/{template_id}/insert', [\App\Http\Controllers\Aside\TemplateController::class, 'html_insert'])->where('template_id', '\d+')->name('admin.template_insert.html');
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');
Route::get('/html/type', [\App\Http\Controllers\Aside\TemplateController::class, 'html_type'])->name('admin.template_type.html');
// 自定义块,模板块
Route::get('/chunk/lists', [\App\Http\Controllers\Aside\TemplateController::class, 'chunk_lists'])->name('admin.template.chunk_lists');
Route::post('/chunk/create', [\App\Http\Controllers\Aside\TemplateController::class, 'chunk_save'])->name('admin.template.chunk_create');
Route::post('/chunk/update', [\App\Http\Controllers\Aside\TemplateController::class, 'chunk_save'])->name('admin.template.chunk_update');
Route::delete('/chunk/delete/{chunk_id}', [\App\Http\Controllers\Aside\TemplateController::class, 'chunk_delete'])->where('chunk_id','\d+')->name('admin.template.chunk_delete');
});
//优化gsc账号记录表
Route::prefix('gsc')->group(function () {
Route::any('/', [Aside\Project\ProjectGscController::class, 'lists'])->name('admin.lists');
Route::any('/read', [Aside\Project\ProjectGscController::class, 'domainLists'])->name('admin.domainLists');
});
Route::delete('/chunk/delete/{chunk_id}', [\App\Http\Controllers\Aside\TemplateController::class, 'chunk_delete'])->where('chunk_id', '\d+')->name('admin.template.chunk_delete');
});
});
//无需登录验证的路由组
Route::group([], function () {
Route::group([], function () {
Route::any('/login', [Aside\LoginController::class, 'login'])->name('admin.login.white');
Route::any('/image/{hash}/{w?}/{h?}', [\App\Http\Controllers\File\ImageController::class, 'index'])->name('image_show');
Route::any('/file/{hash}', [\App\Http\Controllers\File\FileController::class, 'index'])->name('file_show');
});
});
... ...
... ... @@ -149,6 +149,7 @@ Route::middleware(['bloginauth'])->group(function () {
Route::get('/info', [\App\Http\Controllers\Bside\Product\ProductController::class, 'info'])->name('product_info');
Route::post('/save', [\App\Http\Controllers\Bside\Product\ProductController::class, 'save'])->name('product_save');
Route::any('/delete', [\App\Http\Controllers\Bside\Product\ProductController::class, 'delete'])->name('product_delete');
Route::any('/statusNum', [\App\Http\Controllers\Bside\Product\ProductController::class, 'getStatusNumber'])->name('product_statusNum');
//产品分类
Route::get('category', [\App\Http\Controllers\Bside\Product\CategoryController::class, 'index'])->name('product_category');
... ...