作者 Your Name

gx

... ... @@ -23,6 +23,7 @@ class BaseController extends Controller
protected $order = 'id';
protected $map = [];//处理后的参数
protected $uid = 0;
protected $user = [];//当前登录用户详情
/**
* 获取所有参数
*/
... ... @@ -44,6 +45,7 @@ class BaseController extends Controller
public function auth_token(){
$info = Cache::get($this->token);
if(isset($info) && !empty($info)){
$this->user = $info;
$this->uid = $info['id'];
}
}
... ... @@ -74,7 +76,7 @@ class BaseController extends Controller
$response = [
'p' => (new EncryptUtils())->openssl_en($response, $k, $i)];
}
return response()->json($response)->header($this->header);
return response()->json($response,200,$this->header);
}
/**
... ... @@ -99,12 +101,12 @@ class BaseController extends Controller
case 'row':
$this->row = $v;
break;
case "create_at":
case "created_at":
$this->_btw[0] = $v;
$this->_btw[1] = date('Y-m-d H:i:s',time());
$this->map['create_at'] = ['between', $this->_btw];
break;
case "update_at":
case "updated_at":
$this->_btw[1] = $v;
$this->map['update_at'] = ['between', $this->_btw];
break;
... ... @@ -158,4 +160,26 @@ class BaseController extends Controller
$this->header['Per-Page'] = $this->row; //每页条数
return $this->header;
}
/**
* @name :上传图片
* @return void
* @author :liyuhang
* @method
*/
public function uploads(){
$files = $this->request->file('file');
if(empty($files)){
return $this->response('没有上传文件',Code::USER_ERROR);
}
$url = './uploads/images/';
$param = $this->request->post();
if($this->request->hasFile('image') && $files->isValid()){
$filename = date('ymdHis').rand(10000,99999).$this->request->file('image');
$this->request->file('image')->move('./uploads/images/',$filename);
}else{
return false;
}
return $url.$filename;
}
}
... ...
<?php
namespace App\Http\Controllers\Aside;
use App\Http\Controllers\Aside\BaseController;
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\Controllers\Aside;
use App\Enums\Common\Code;
use App\Http\Controllers\Aside\BaseController;
class MenuController extends BaseController
{
public function lists(){
//TODO::搜索参数处理
}
}
... ...
<?php
namespace App\Http\Controllers\Aside;
use App\Enums\Common\Code;
use App\Models\ProjectMenu as ProjectMenuModel;
use Illuminate\Support\Facades\Validator;
class ProjectMenuController extends BaseController
{
/**
* @name :用户组菜单列表(带分页)
* @return void
* @author :liyuhang
* @method
*/
public function lists(){
//根据角色获取菜单列表
$projectMenuModel = new ProjectMenuModel();
$lists = $projectMenuModel->lists($this->map,$this->p,$this->row,$this->order);
$this->allCount = $projectMenuModel->allCount;
$this->result($lists);
}
/**
* @name :添加用户组菜单
* @return void
* @author :liyuhang
* @method
*/
public function add(){
//参数验证
$rules = [
'name'=>'required|max:11',
'rules'=>'required',
];
//验证的提示信息
$message = [
'name.required'=>'名称必须填写',
'name.max' => '名称不大于16字符.',
'rules.required'=>'路由必须填写',
];
$validate = Validator::make($this->param, $rules, $message);
if($validate->fails()){
return $this->response($validate->errors()->first(),Code::USER_PARAMS_ERROE,$this->param);
}
$projectMenuModel = new ProjectMenuModel();
$rs = $projectMenuModel->add($this->param);
if($rs === false){
$this->response('请求失败',Code::USER_ERROR,[]);
}
$this->response('success',Code::SUCCESS);
}
/**
* @name :编辑用户组菜单
* @return void
* @author :liyuhang
* @method
*/
public function edit(){
//参数验证
$rules = [
'id'=>'required',
'name'=>'required|max:11',
'rules'=>'required',
];
//验证的提示信息
$message = [
'id.required'=>'服务器id错误',
'name.required'=>'名称必须填写',
'name.max' => '名称不大于16字符.',
'rules.required'=>'路由必须填写',
];
$validate = Validator::make($this->param, $rules, $message);
if($validate->fails()){
return $this->response($validate->errors()->first(),Code::USER_PARAMS_ERROE,$this->param);
}
$projectMenuModel = new ProjectMenuModel();
$rs = $projectMenuModel->edit($this->param,['id'=>$this->param['id']]);
if($rs === false){
$this->response('请求失败',Code::USER_ERROR);
}
$this->response('success',Code::SUCCESS);
}
/**
* @name :编辑状态
* @return void
* @author :liyuhang
* @method
*/
public function status(){
//参数验证
$rules = [
'id'=>'required',
'status'=>'required',
];
//验证的提示信息
$message = [
'id.required'=>'主键必须填写',
'status.required'=>'状态必须填写',
];
$validate = Validator::make($this->param, $rules, $message);
if($validate->fails()){
return $this->response($validate->errors()->first(),Code::USER_PARAMS_ERROE,$this->param);
}
$projectMenuModel = new ProjectMenuModel();
$rs = $projectMenuModel->edit(['status'=>$this->param['status']],['id'=>$this->param['id']]);
if($rs === false){
$this->response('编辑失败',Code::USER_PARAMS_ERROE);
}
$this->response($this->param['status'] == 0 ? '启用成功' : '禁用成功',Code::SUCCESS);
}
}
... ...
... ... @@ -58,7 +58,7 @@ class ComController extends BaseController
$info = $projectRoleModel->read(['id'=>$this->user['role_id']]);
$projectMenuModel = new ProjectMenuModel();
$info['role_menu'] = trim($info['role_menu'],',');
$lists = DB::table($projectMenuModel->getTable())->where(['status'=>0])->whereIn('id',explode(',',$info['role_menu']))->get();
$lists = $this->where(['status'=>0])->whereIn('id',explode(',',$info['role_menu']))->get();
$lists = $lists->toArray();
$menu = array();
foreach ($lists as $k => $v){
... ...
... ... @@ -19,6 +19,8 @@ class ProjectRoleController extends BaseController
//TODO::根据当前登录用户返回
$projectRoleModel = new ProjectRoleModel();
$this->map['status'] = 0;
$this->map['project_id'] = $this->user['project_id'];
//获取当前登录用户自己的菜单栏
$lists = $projectRoleModel->lists($this->map,$this->p,$this->row,$this->order);
$this->allCount = $projectRoleModel->allCount;
$this->result($lists);
... ...
... ... @@ -18,7 +18,7 @@ class Base extends Model
public function lists($map, $p, $row, $order = 'id', $fields = ['*']){
//TODO::where(['id'=>'','name'=>''])
$lists = $this->select($fields)->where($map)->forPage($p,$row)->orderBy($order)->get();
if ($lists->isEmpty() === false) {
if ($lists->isEmpty() !== false) {
return false;
}
$lists = $lists->toArray();
... ... @@ -38,7 +38,7 @@ class Base extends Model
*/
public function list($map,$order = 'id',$fields = ['*']){
$lists = $this->select($fields)->where($map)->orderBy($order)->get();
if ($lists->isEmpty() === false) {
if ($lists->isEmpty() !== false) {
return false;
}
$lists = $lists->toArray();
... ... @@ -54,9 +54,10 @@ class Base extends Model
public function read($condition,$files = ['*'])
{
$info = $this->select($files)->where($condition)->first();
if (!empty($info)) {
$info = $info->toArray();
if ($info->isEmpty() !== false) {
return false;
}
$info = $info->toArray();
return $info;
}
... ... @@ -68,8 +69,6 @@ class Base extends Model
* @method post
*/
public function add($data){
// $data['created_at'] = date('Y-m-d H:i:s',time());
// $data['updated_at'] = date('Y-m-d H:i:s',time());
return $this->insert($data);
}
... ... @@ -83,7 +82,6 @@ class Base extends Model
if(isset($data['id']) && !empty($data['id'])){
unset($data['id']);
}
// $data['updated_at'] = date('Y-m-d H:i:s',time());
return $this->where($condition)->update($data);
}
... ...
... ... @@ -14,8 +14,12 @@ Route::group([], function () {
Route::any('/login', [\App\Http\Controllers\Bside\ComController::class, 'login'])->name('login');
Route::any('/get_menu', [\App\Http\Controllers\Bside\ComController::class, 'get_menu'])->name('get_menu');
Route::any('/get_project', [\App\Http\Controllers\Bside\ComController::class, 'get_project'])->name('get_project');
//用户相关路由
Route::any('/user/add', [\App\Http\Controllers\Bside\UserController::class, 'add'])->name('user_add');
Route::any('/user/edit', [\App\Http\Controllers\Bside\UserController::class, 'edit'])->name('user_edit');
Route::any('/user/status', [\App\Http\Controllers\Bside\UserController::class, 'status'])->name('user_status');
Route::any('/user/lists', [\App\Http\Controllers\Bside\UserController::class, 'lists'])->name('user_lists');
Route::any('/project/page_lists', [\App\Http\Controllers\Bside\ProjectController::class, 'page_lists'])->name('page_lists');
Route::any('/user/del', [\App\Http\Controllers\Bside\UserController::class, 'del'])->name('user_del');
//用户角色相关路由
Route::any('/project_role/lists', [\App\Http\Controllers\Bside\ProjectRoleController::class, 'lists'])->name('project_role_lists');
Route::any('/project_role/add', [\App\Http\Controllers\Bside\ProjectRoleController::class, 'add'])->name('project_role_add');
... ...