56 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
| <?php
 | |
| 
 | |
| namespace app\controller;
 | |
| 
 | |
| use app\model\{DownloadModel, Category};
 | |
| use page\DxtcPageA;
 | |
| use think\Paginator;
 | |
| 
 | |
| class Download extends Base
 | |
| {
 | |
|     //列表页
 | |
|     public function index($categoryId = 0)
 | |
|     {
 | |
|         $rule       = Category::RULE_DOWNLOAD;
 | |
|         $categoryId = empty($categoryId) ? $this->request->param("category_id") : $categoryId;
 | |
| 
 | |
|         $category = Category::getById($categoryId);
 | |
| 
 | |
|         //没有category_id  则通过路由查询
 | |
|         $category = $category ?: Category::getByRuleAlias($rule);
 | |
| 
 | |
|         $description = $category['seo_description'] ?: $category['title'];
 | |
|         $keywords    = $category['seo_keywords'] ?: $category['title'];
 | |
|         $title       = $category['seo_title'] ?: $category['title'].' | '.$this->system['seo_title'];
 | |
|         $this->setSeo($title, $keywords, $description);
 | |
|         $listSort = ['a.sort' => 'desc'];
 | |
| 
 | |
|         // 自定义分页驱动
 | |
|         app('think\App')->bind(Paginator::class, DxtcPageA::class);
 | |
| 
 | |
|         $items = DownloadModel::getList($category['id'], $category['number'], '', [], 1, $listSort, false);
 | |
|         $items->each(function ($item) {
 | |
|             $item->size_text = sizeToStr($item->size);
 | |
|         });
 | |
|         $this->data['items']      = $items;
 | |
|         $this->data['category']   = $category;
 | |
|         $this->data['categoryId'] = $category['id'];
 | |
|         $this->data['bodyClass']  = 'main';
 | |
| 
 | |
|         return $this->view();
 | |
|     }
 | |
| 
 | |
|     public function file()
 | |
|     {
 | |
|         $id = input('id');
 | |
|         if (!$file = DownloadModel::getById($id)) {
 | |
|             return $this->error('文件不存在');
 | |
|         }
 | |
| 
 | |
|         if (!file_exists(public_path().$file['file'])) {
 | |
|             return $this->error('文件不存在');
 | |
|         }
 | |
|         return download(public_path().$file['file'], $file['title'].'.'.$file['suffix']);
 | |
|     }
 | |
| 
 | |
| } |