作者 liyuhang

gx

... ... @@ -13,16 +13,19 @@ class BaseController extends Controller
protected $param = [];//所有请求参数
protected $token = ''; //token
protected $request = [];//助手函数
protected $allCount = 10;//总条数
protected $p = 1;//当前页
protected $row = 20;//每页条数
protected $header = [];//设置请求头参数
/**
* 获取所有参数
*/
public function __construct(Request $request)
{
$this->request = $request;
$this->param = $request->post();
$this->param = $request->all();
$this->token = $request->header('token');
}
/**
* 成功返回
* @param array $data
... ... @@ -50,6 +53,28 @@ class BaseController extends Controller
$response = [
'p' => (new EncryptUtils())->openssl_en($response, $k, $i)];
}
return response()->json($response);
return response()->json($response)->header($this->header);
}
/**
* post方法请求输出数据
* @param type $data
* @return type
*/
protected function result($list) {
$data['data'] = $list;
$data['page'] = $this->setPages();
$this->success($data);
}
/**
* 设置分页返回参数()
*/
protected function setPages() {
$page_count = $this->allCount > $this->row ? ceil($this->allCount / $this->row) : 1;
$this->header['Total-Count'] = $this->allCount; //总条数
$this->header['Page-Count'] = $page_count; //总页数
$this->header['Current-Page'] = $this->p; //当前页数
$this->header['Per-Page'] = $this->row; //每页条数
return $this->header;
}
}
... ...
... ... @@ -4,6 +4,7 @@ namespace App\Http\Controllers\Bside;
use App\Enums\Common\Code;
use App\Http\Logic\Bside\ComLogic;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;
/***
... ... @@ -18,22 +19,19 @@ class ComController extends BaseController
* @method
*/
public function login(){
//当前为账号密码登录
if($this->param['login_method'] == 1){
$rules = [
$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字符.',
];
}
$message = [
'mobile.required'=>'标题必须填写',
'mobile.string'=>'标题中含有非法文字',
'password.required'=>'内容必须填写',
'password.string'=>'内容中含有非法文字',
'mobile.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);
... ...
<?php
namespace App\Http\Controllers\Bside;
use App\Enums\Common\Code;
use App\Http\Logic\Bside\UserLogic;
class UserController extends BaseController
{
/**
* @name :name
* @return void
* @author :liyuhang
* @method
*/
public function lists(){
//TODO::搜索参数处理
$userLogic = new UserLogic();
$lists = $userLogic->lists($this->param,$this->p,$this->row);
if(empty($lists)){
$this->success([],Code::USER_ERROR);
}
$this->result($lists);
}
}
... ...
... ... @@ -37,21 +37,4 @@ class BaseLogic
throw new BsideGlobalException($code, $message);
}
/**
* @notes: 统一格式化分页返回
* @return array
* @author:wlj
* @date: 2022/7/11 15:34
*/
function getPageData($pagninate): array
{
$p = $pagninate->toArray();
$result['list'] = $p ['data'];
$result['pager']['total'] = $p ['total'];
$result['pager']['page'] = $p ['current_page'];
$result['pager']['pagesize'] = $p ['per_page'];
return $result;
}
}
... ...
... ... @@ -2,7 +2,7 @@
namespace App\Http\Logic\Bside;
use App\Models\Manager as ManagerModel;
use App\Models\User as UserModel;
use Illuminate\Support\Facades\Cache;
class ComLogic extends BaseLogic
... ... @@ -14,13 +14,16 @@ class ComLogic extends BaseLogic
* @method
*/
public function login($param){
$managerModel = new ManagerModel();
$info = $managerModel->read($param,'id,account,mobile,name');
#TODO 查询mobile, 验证密码 true->return; false-> 查询sms发送记录 验证code
$user = new UserModel();
$info = $user->read($param,'id,account,mobile,name');
if(empty($info)){
return false;
}
//清楚上一次用户缓存
Cache::pull($info['token']);
if(isset($info['token']) && !empty($info['token'])){
//清除上一次用户缓存
Cache::pull($info['token']);
}
//生成新token
$token = md5(uniqid().$info['id']);
//存储缓存
... ... @@ -28,11 +31,12 @@ class ComLogic extends BaseLogic
//更新数据库
$data = [
'token'=>$token,
//TODO::返回信息
];
$rs = $managerModel->edit($data,['id'=>$info['id']]);
$rs = UserModel->edit($data,['id'=>$info['id']]);
if($rs === false){
return false;
}
return true;
return $data;
}
}
... ...
<?php
namespace App\Http\Logic\Bside;
use App\Models\User as UserModel;
class UserLogic extends BaseLogic
{
//获取用户列表
public function lists($map, $p, $row, $order = 'id desc', $fields = true){
$userModel = new UserModel();
$lists = $userModel->lists($map, $p, $row);
if(empty($lists)){
return [];
}
return $lists;
}
}
... ...
... ... @@ -29,7 +29,7 @@ class Base extends Model
* @author :liyuhang
* @method get
*/
public function read($condition,$files)
public function read($condition,$files = '*')
{
$info = $this->select($files)->where($condition)->find();
if (!empty($info)) {
... ...
... ... @@ -2,13 +2,14 @@
namespace App\Models;
use Illuminate\Contracts\Auth\MustVerifyEmail;
//use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Database\Eloquent\Model;
//use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Laravel\Sanctum\HasApiTokens;
class User extends Authenticatable
class User extends Base
{
use HasApiTokens, HasFactory, Notifiable;
... ...