优化网站性能;

This commit is contained in:
2022-03-18 23:09:28 +08:00
parent d2cb402f71
commit 370a6cdc4d
6 changed files with 437 additions and 404 deletions

View File

@@ -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)
{
//
}
}