81 lines
2.3 KiB
PHP
81 lines
2.3 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Admin;
|
|
|
|
use Illuminate\Http\Request;
|
|
use App\Http\Controllers\Controller;
|
|
|
|
class BaseDefaultController extends BaseController
|
|
{
|
|
//
|
|
public function index()
|
|
{
|
|
$this->setTitle();
|
|
return $this->display($this->indexData());
|
|
}
|
|
|
|
public function store(Request $request)
|
|
{
|
|
$permission = $this->setModel();
|
|
$this->beforeStore($request);
|
|
$saveData = $this->saveData($request, $permission);
|
|
$this->afterStore($request);
|
|
return $saveData;
|
|
|
|
}
|
|
public function show($id)
|
|
{
|
|
return $this->getShow($id);
|
|
}
|
|
public function create(){
|
|
return $this->display($this->shareData());
|
|
}
|
|
public function edit($id){
|
|
return $this->getShow($id);
|
|
}
|
|
public function update(Request $request, $id)
|
|
{
|
|
$model = $this->setModel();
|
|
$model = $model->findOrFail($id);
|
|
$this->beforeSave($request,$id);
|
|
$saveData= $this->saveData($request,$model,$id);
|
|
$this->afterUpdate();
|
|
return $saveData;
|
|
}
|
|
public function apiJson(Request $request)
|
|
{
|
|
$offset = $request->input('page', 1);
|
|
$pagesize = $request->input('limit', 1);
|
|
$offset = ($offset - 1) * $pagesize;
|
|
$order_id = $request->input('sort', 'id');
|
|
$order_type = $request->input('order', 'desc');
|
|
$debug = $request->input('debug', 0);
|
|
|
|
//如果开始没有数据,直接返回空的
|
|
if(!$this->setModel())
|
|
{
|
|
$json= [
|
|
"status" => 1,
|
|
'code' => 1,
|
|
'msg' => '暂无数据',
|
|
'count' => 0,
|
|
'data' => []
|
|
];
|
|
return response()->json($json);
|
|
}
|
|
|
|
$model=$this->getSearchModel($this->setApiSearchParam($request->all()));
|
|
|
|
$model=$this->apiSetModelRel($model);
|
|
$total = $model->count();
|
|
//是否是否关联数据等操作
|
|
$model=$this->apiSetResult($model);
|
|
$result = $model->skip($offset)->orderBy($order_id, $order_type)->orderBy('id', 'desc')->take($pagesize)->get();
|
|
|
|
//显示内容设置
|
|
$arr_data= $this->apiJsonData($result,$total,$debug,$request);
|
|
return $this->returnJson($total,$arr_data,$debug);
|
|
|
|
}
|
|
}
|