sifangpay/app/Http/Controllers/Admin/BaseDefaultController.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);
}
}