mirror of
https://gitee.com/ulthon/ulthon_information.git
synced 2026-03-03 16:24:28 +08:00
优化网站性能;
This commit is contained in:
@@ -5,136 +5,151 @@ namespace app\index\controller;
|
||||
use app\model\Category;
|
||||
use app\model\Post;
|
||||
use app\model\PostCategory;
|
||||
use think\facade\Cache;
|
||||
use think\facade\Session;
|
||||
use think\facade\View;
|
||||
use think\Request;
|
||||
|
||||
class Index extends Common
|
||||
{
|
||||
/**
|
||||
* 显示资源列表
|
||||
*
|
||||
* @return \think\Response
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
//
|
||||
$sub_category = [];
|
||||
$current_category = [];
|
||||
/**
|
||||
* 显示资源列表
|
||||
*
|
||||
* @return \think\Response
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
|
||||
if (!empty($this->request->param('category_id'))) {
|
||||
$sub_category = Category::where('pid', $this->request->param('category_id'))->where('type', 3)->order('sort asc')->select();
|
||||
$current_category = Category::find($this->request->param('category_id'));
|
||||
if (empty($this->request->param('sub_category_id'))) {
|
||||
$categorys = [$this->request->param('category_id')];
|
||||
|
||||
$categorys = array_merge($categorys, array_column((array)Category::getListLevel($this->request->param('category_id')), 3));
|
||||
$page_cache_key = md5($this->request->url());
|
||||
|
||||
$categorys_where = PostCategory::whereIn('category_id', $categorys);
|
||||
|
||||
$model_post = Post::hasWhere('categorys', $categorys_where)->where('status', 1)->order('id desc');
|
||||
} else {
|
||||
$model_post = Post::hasWhere('categorys', ['category_id' => $this->request->param('sub_category_id')])->where('status', 1)->order('id desc');
|
||||
}
|
||||
} else {
|
||||
$content = Cache::get($page_cache_key);
|
||||
|
||||
$model_post = Post::where('status', 1)->order('id desc');
|
||||
}
|
||||
if (!empty($content)) {
|
||||
return $content;
|
||||
}
|
||||
|
||||
$model_post->where('type', 3);
|
||||
//
|
||||
$sub_category = [];
|
||||
$current_category = [];
|
||||
|
||||
$keywords = $this->request->param('keywords');
|
||||
if (!empty($this->request->param('category_id'))) {
|
||||
$sub_category = Category::where('pid', $this->request->param('category_id'))->where('type', 3)->order('sort asc')->select();
|
||||
$current_category = Category::find($this->request->param('category_id'));
|
||||
if (empty($this->request->param('sub_category_id'))) {
|
||||
$categorys = [$this->request->param('category_id')];
|
||||
|
||||
if (!empty($keywords)) {
|
||||
$model_post->whereLike('title|desc', "%$keywords%");
|
||||
$categorys = array_merge($categorys, array_column((array)Category::getListLevel($this->request->param('category_id')), 3));
|
||||
|
||||
$categorys_where = PostCategory::whereIn('category_id', $categorys);
|
||||
|
||||
$model_post = Post::hasWhere('categorys', $categorys_where)->where('status', 1)->order('id desc');
|
||||
} else {
|
||||
$model_post = Post::hasWhere('categorys', ['category_id' => $this->request->param('sub_category_id')])->where('status', 1)->order('id desc');
|
||||
}
|
||||
} else {
|
||||
|
||||
$model_post = Post::where('status', 1)->order('id desc');
|
||||
}
|
||||
|
||||
$model_post->where('type', 3);
|
||||
|
||||
$keywords = $this->request->param('keywords');
|
||||
|
||||
if (!empty($keywords)) {
|
||||
$model_post->whereLike('title|desc', "%$keywords%");
|
||||
}
|
||||
|
||||
|
||||
$list_post = $model_post->paginate([
|
||||
'url' => 'Index/index',
|
||||
'query' => $this->request->get(),
|
||||
'list_rows' => 10
|
||||
]);
|
||||
|
||||
View::assign('current_category', $current_category);
|
||||
View::assign('sub_category', $sub_category);
|
||||
|
||||
View::assign('list_post', $list_post);
|
||||
|
||||
$content = View::fetch();
|
||||
|
||||
Cache::tag('page_cache')->set($page_cache_key, $content);
|
||||
}
|
||||
|
||||
|
||||
$list_post = $model_post->paginate([
|
||||
'url' => 'Index/index',
|
||||
'query' => $this->request->get()
|
||||
]);
|
||||
public function logout()
|
||||
{
|
||||
Session::clear();
|
||||
|
||||
View::assign('current_category', $current_category);
|
||||
View::assign('sub_category', $sub_category);
|
||||
$back_url = $this->request->param('back_url', '/');
|
||||
return $this->success('退出成功', $back_url);
|
||||
}
|
||||
|
||||
View::assign('list_post', $list_post);
|
||||
/**
|
||||
* 显示创建资源表单页.
|
||||
*
|
||||
* @return \think\Response
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
return View::fetch();
|
||||
}
|
||||
/**
|
||||
* 保存新建的资源
|
||||
*
|
||||
* @param \think\Request $request
|
||||
* @return \think\Response
|
||||
*/
|
||||
public function save(Request $request)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* 显示指定的资源
|
||||
*
|
||||
* @param int $id
|
||||
* @return \think\Response
|
||||
*/
|
||||
public function read($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
public function logout()
|
||||
{
|
||||
Session::clear();
|
||||
/**
|
||||
* 显示编辑资源表单页.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \think\Response
|
||||
*/
|
||||
public function edit($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
$back_url = $this->request->param('back_url','/');
|
||||
return $this->success('退出成功',$back_url);
|
||||
}
|
||||
/**
|
||||
* 保存更新的资源
|
||||
*
|
||||
* @param \think\Request $request
|
||||
* @param int $id
|
||||
* @return \think\Response
|
||||
*/
|
||||
public function update(Request $request, $id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* 显示创建资源表单页.
|
||||
*
|
||||
* @return \think\Response
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存新建的资源
|
||||
*
|
||||
* @param \think\Request $request
|
||||
* @return \think\Response
|
||||
*/
|
||||
public function save(Request $request)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* 显示指定的资源
|
||||
*
|
||||
* @param int $id
|
||||
* @return \think\Response
|
||||
*/
|
||||
public function read($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* 显示编辑资源表单页.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \think\Response
|
||||
*/
|
||||
public function edit($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存更新的资源
|
||||
*
|
||||
* @param \think\Request $request
|
||||
* @param int $id
|
||||
* @return \think\Response
|
||||
*/
|
||||
public function update(Request $request, $id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除指定资源
|
||||
*
|
||||
* @param int $id
|
||||
* @return \think\Response
|
||||
*/
|
||||
public function delete($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
/**
|
||||
* 删除指定资源
|
||||
*
|
||||
* @param int $id
|
||||
* @return \think\Response
|
||||
*/
|
||||
public function delete($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user