作者 zhl

Merge branch 'master' of 47.244.231.31:zhl/globalso-v6

... ... @@ -5,10 +5,24 @@ namespace App\Http\Controllers\Bside;
use App\Enums\Common\Code;
use App\Http\Controllers\Controller;
use App\Utils\EncryptUtils;
use \Illuminate\Http\Request;
use Illuminate\Http\JsonResponse;
class BaseController extends Controller
{
protected $param = [];//所有请求参数
protected $token = ''; //token
protected $request = [];//助手函数
/**
* 获取所有参数
*/
public function __construct(Request $request)
{
$this->request = $request;
$this->param = $request->post();
$this->token = $request->header('token');
}
/**
* 成功返回
* @param array $data
... ...
<?php
namespace App\Http\Controllers\Bside;
use App\Enums\Common\Code;
use App\Http\Logic\Bside\ComLogic;
use Illuminate\Support\Facades\Validator;
/***
* 当前为公共类 所有方法均不需要验证登录token
*/
class ComController extends BaseController
{
/**
* @name :管理员登录
* @return void
* @author :liyuhang
* @method
*/
public function login(){
//当前为账号密码登录
if($this->param['login_method'] == 1){
$rules = [
'account'=>'required|string|max:32',
'password'=>'required|string|min:6',
];
//验证的提示信息
$message = [
'account.required'=>'标题必须填写',
'account.string'=>'标题中含有非法文字',
'password.required'=>'内容必须填写',
'password.string'=>'内容中含有非法文字',
'account.max' => 'account不大于32字符.',
'password.min' => 'password不小于6字符.',
];
}
$validate = Validator::make($this->param, $rules, $message);
if($validate->errors()->first()){
return $this->success($validate->errors(),Code::USER_PARAMS_ERROE);
}
//TODO::参数验证
$comLogic = new ComLogic();
$rs = $comLogic->login($this->param);
if($rs === false){
$this->success([],Code::USER_LOGIN_ERROE);
}
$this->success();
}
}
... ...
<?php
namespace App\Http\Controllers\Bside;
class ManagerController extends BaseController
{
/**
* @name :管理员列表
* @return void
* @author :liyuhang
* @method
*/
public function lists(){
}
/**
* @name:新增
* @return void
* @author :liyuhang
* @method
*/
public function add(){
}
/**
* @name :编辑管理员
* @return void
* @author :liyuhang
* @method
*/
public function edit(){
}
public function del(){
}
}
... ...
<?php
namespace App\Http\Logic\Bside;
use App\Models\Manager as ManagerModel;
use Illuminate\Support\Facades\Cache;
class ComLogic extends BaseLogic
{
/***
* @name :登录
* @return void
* @author :liyuhang
* @method
*/
public function login($param){
$managerModel = new ManagerModel();
$info = $managerModel->read($param,'id,account,mobile,name');
if(empty($info)){
return false;
}
//清楚上一次用户缓存
Cache::pull($info['token']);
//生成新token
$token = md5(uniqid().$info['id']);
//存储缓存
Cache::add($token,$info);
//更新数据库
$data = [
'token'=>$token,
];
$rs = $managerModel->edit($data,['id'=>$info['id']]);
if($rs === false){
return false;
}
return true;
}
}
... ...
... ... @@ -7,6 +7,7 @@ use Illuminate\Http\Request;
class ParamMiddleware
{
protected $param = [];
/**
* Handle an incoming request.
*
... ... @@ -16,6 +17,7 @@ class ParamMiddleware
*/
public function handle(Request $request, Closure $next)
{
$this->param = $request->all();
return $next($request);
}
}
... ...
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Base extends Model
{
public $allCount = 1;
/**
* @name 列表数据
* @return void
* @author :liyuhang
* @method
*/
public function lists($map, $p, $row, $order = 'id desc', $fields = true){
//TODO::where(['id'=>'','name'=>''])
$lists = $this::select($fields)->forPage($p,$row)->where($map)->orderBy($order)->get()->toArray();
if (!empty($lists)) {
$this->allCount = $this->where($map)->count();
}
return $lists;
}
/**
* @param array:$condition
* @name :获取单条数据详情
* @return mixed
* @author :liyuhang
* @method get
*/
public function read($condition,$files)
{
$info = $this->select($files)->where($condition)->find();
if (!empty($info)) {
$info = $info->toArray();
}
return $info;
}
/**
* @name :新增
* @return void
* @author :liyuhang
* @method post
*/
public function add($data){
return $this->insert($data);
}
/**
* @name :编辑
* @return void
* @author :liyuhang
* @method post
*/
public function edit($data,$condition){
return $this->where($condition)->update($data);
}
/**
* @name :删除数据
* @return bool|void|null
* @author :liyuhang
* @method post
*/
public function delete($condition){
return $this->where($condition)->delete();
}
}
... ...
<?php
namespace App\Models;
class Manager extends Base
{
//设置关联表名
protected $table = 'manager';
//自动维护create_at创建时间 updated_at修改时间
public $timestamps = true;
}
... ...
... ... @@ -54,7 +54,7 @@ return [
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix' => 'gl_',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
... ...