chengkun
2025-08-29 a370f8c298c691b18f713d4db19919162fbd3299
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<?php
 
namespace app\admin\controller;
 
use think\Exception;
use think\exception\ValidateException;
use think\facade\Filesystem;
use think\facade\View;
use think\response\Json;
 
class Blog extends Common {
    public function index(): string {
        return View::fetch('index');
    }
    
    public function add(): string {
        header('Content-Type:text/html;charset=utf-8');
        View::assign('menuitem', strtolower('Blog-index'));
        return View::fetch('add');
    }
    
    /**
     * 上传图片
     * @return Json
     */
    public function upload_img(): Json {
        try {
            if (!request()->isPost()) {
                throw new Exception('请求方式错误');
            }
            
            $file    = request()->file('image');
            $files[] = $file;
            validate(['image' => 'fileSize:10240|fileExt:jpg'])->check($files);
            // 上传到本地服务器
            $savename = (new Filesystem)::disk('public')->putFile('/images', $file);
            $savename = (new Filesystem)::disk('public')->url($savename); // 获取上传后的文件路径
            if (!$savename) {
                throw new Exception('上传失败');
            }
            
            $result = [
                'errno' => 0,
                'data'  => [
                    'url' => $savename,
                ],
            ];
        } catch (ValidateException $e) {
            return Json([
                'errno'   => 1,
                'message' => $e->getMessage(),
            ]);
        } catch (Exception $exc) {
            $result = [
                'errno'   => 1,
                'message' => $exc->getMessage(),
            ];
        }
        return json($result);
    }
    
    /**
     * 上传封面图片
     * @return Json
     */
    public function upload_cover_img(): Json {
        try {
            if (!request()->isPost()) {
                throw new Exception('请求方式错误');
            }
            
            $file    = request()->file('file');
            $files[] = $file;
            validate(['image' => 'fileSize:10240|fileExt:jpg'])->check($files);
            // 上传到本地服务器
            $savename = (new Filesystem)::disk('public')->putFile('/images', $file);
            $savename = (new Filesystem)::disk('public')->url($savename); // 获取上传后的文件路径
            if (!$savename) {
                throw new Exception('上传失败');
            }
            
            $result = [
                'code' => 200,
                'data' => [
                    'url' => $savename,
                ],
            ];
        } catch (ValidateException $e) {
            return Json([
                'code'    => $e->getCode(),
                'message' => $e->getMessage(),
            ]);
        } catch (Exception $exc) {
            $result = [
                'code'    => $exc->getCode(),
                'message' => $exc->getMessage(),
            ];
        }
        return json($result);
    }
    
    public function save_blog() {
        try {
            if (!request()->isPost()) {
                throw new Exception('请求方式错误');
            }
            $data = request()->post();
            
        } catch (Exception $exc) {
            $result = [
                'code'    => $exc->getCode(),
                'message' => $exc->getMessage(),
            ];
        }
        return json($result);
    }
}