Showing
6 changed files
with
110 additions
and
105 deletions
... | @@ -3,6 +3,7 @@ | ... | @@ -3,6 +3,7 @@ |
3 | namespace App\Http\Controllers\V1; | 3 | namespace App\Http\Controllers\V1; |
4 | 4 | ||
5 | use App\Http\Controllers\Controller; | 5 | use App\Http\Controllers\Controller; |
6 | +use App\Models\PackPoem; | ||
6 | use Illuminate\Http\Request; | 7 | use Illuminate\Http\Request; |
7 | use Jiannei\Response\Laravel\Support\Facades\Response; | 8 | use Jiannei\Response\Laravel\Support\Facades\Response; |
8 | 9 | ||
... | @@ -19,70 +20,12 @@ class HomeController extends Controller | ... | @@ -19,70 +20,12 @@ class HomeController extends Controller |
19 | return Response::success(); | 20 | return Response::success(); |
20 | } | 21 | } |
21 | 22 | ||
22 | - /** | ||
23 | - * Show the form for creating a new resource. | ||
24 | - * | ||
25 | - * @return \Illuminate\Http\Response | ||
26 | - */ | ||
27 | - public function create() | ||
28 | - { | ||
29 | - // | ||
30 | - } | ||
31 | 23 | ||
32 | - /** | 24 | + public function packpoem(Request $request) |
33 | - * Store a newly created resource in storage. | ||
34 | - * | ||
35 | - * @param \Illuminate\Http\Request $request | ||
36 | - * @return \Illuminate\Http\Response | ||
37 | - */ | ||
38 | - public function store(Request $request) | ||
39 | { | 25 | { |
40 | - // | 26 | + $packpoems = PackPoem::query()->simplePaginate(); |
41 | - } | ||
42 | 27 | ||
43 | - /** | 28 | + return Response::success($packpoems); |
44 | - * Display the specified resource. | ||
45 | - * | ||
46 | - * @param int $id | ||
47 | - * @return \Illuminate\Http\Response | ||
48 | - */ | ||
49 | - public function show($id) | ||
50 | - { | ||
51 | - // | ||
52 | - } | ||
53 | - | ||
54 | - /** | ||
55 | - * Show the form for editing the specified resource. | ||
56 | - * | ||
57 | - * @param int $id | ||
58 | - * @return \Illuminate\Http\Response | ||
59 | - */ | ||
60 | - public function edit($id) | ||
61 | - { | ||
62 | - // | ||
63 | - } | ||
64 | - | ||
65 | - /** | ||
66 | - * Update the specified resource in storage. | ||
67 | - * | ||
68 | - * @param \Illuminate\Http\Request $request | ||
69 | - * @param int $id | ||
70 | - * @return \Illuminate\Http\Response | ||
71 | - */ | ||
72 | - public function update(Request $request, $id) | ||
73 | - { | ||
74 | - // | ||
75 | - } | ||
76 | - | ||
77 | - /** | ||
78 | - * Remove the specified resource from storage. | ||
79 | - * | ||
80 | - * @param int $id | ||
81 | - * @return \Illuminate\Http\Response | ||
82 | - */ | ||
83 | - public function destroy($id) | ||
84 | - { | ||
85 | - // | ||
86 | } | 29 | } |
87 | 30 | ||
88 | } | 31 | } | ... | ... |
... | @@ -5,6 +5,9 @@ namespace App\Http\Controllers\V1; | ... | @@ -5,6 +5,9 @@ namespace App\Http\Controllers\V1; |
5 | use App\Http\Controllers\Controller; | 5 | use App\Http\Controllers\Controller; |
6 | 6 | ||
7 | use App\Models\Setting; | 7 | use App\Models\Setting; |
8 | +use Illuminate\Http\Request; | ||
9 | +use Illuminate\Support\Facades\Storage; | ||
10 | +use Illuminate\Support\Facades\Validator; | ||
8 | use Jiannei\Response\Laravel\Support\Facades\Response; | 11 | use Jiannei\Response\Laravel\Support\Facades\Response; |
9 | 12 | ||
10 | class SettingController extends Controller | 13 | class SettingController extends Controller |
... | @@ -33,4 +36,39 @@ class SettingController extends Controller | ... | @@ -33,4 +36,39 @@ class SettingController extends Controller |
33 | 36 | ||
34 | return Response::success($array); | 37 | return Response::success($array); |
35 | } | 38 | } |
39 | + | ||
40 | + public function upload(Request $request) | ||
41 | + { | ||
42 | + $validator = Validator::make($request->all(),[ | ||
43 | + 'image' => 'mimes:jpeg,png,bmp,gif' | ||
44 | + ]); | ||
45 | + | ||
46 | + if ($validator->fails()){ | ||
47 | + return Response::fail('',500,$validator->errors()); | ||
48 | + } | ||
49 | + | ||
50 | + $hashName = $request->file('image')->hashName(); | ||
51 | + | ||
52 | + $hash_hex = md5($hashName); | ||
53 | + | ||
54 | + // 16进制表示的字符串一共32字节,表示16个二进制字节。 | ||
55 | + // 前16个字符用来第一级求摸,后16个用做第二级 | ||
56 | + $hash_hex_l1 = substr($hash_hex, 0, 8); | ||
57 | + $hash_hex_l2 = substr($hash_hex, 8, 8); | ||
58 | + $dir_l1 = hexdec($hash_hex_l1) % 256; | ||
59 | + $dir_l2 = hexdec($hash_hex_l2) % 512; | ||
60 | + $dir = 'uploads/'. $dir_l1. '/' . $dir_l2; | ||
61 | + | ||
62 | + if( !Storage::disk('public')->exists($dir)) { | ||
63 | + | ||
64 | + Storage::disk('public')->makeDirectory($dir); | ||
65 | + } | ||
66 | + | ||
67 | + $file = $request->file('image')->store($dir,'public'); | ||
68 | + | ||
69 | + return Response::success([ | ||
70 | + 'relative_path' => $file, | ||
71 | + 'absolute_path' => Storage::disk('public')->url('file.jpg'), | ||
72 | + ]); | ||
73 | + } | ||
36 | } | 74 | } | ... | ... |
... | @@ -6,6 +6,7 @@ use App\Http\Controllers\Controller; | ... | @@ -6,6 +6,7 @@ use App\Http\Controllers\Controller; |
6 | use App\Jobs\SendVerificationMessage; | 6 | use App\Jobs\SendVerificationMessage; |
7 | use App\Models\User; | 7 | use App\Models\User; |
8 | use Illuminate\Http\Request; | 8 | use Illuminate\Http\Request; |
9 | +use Illuminate\Support\Facades\Auth; | ||
9 | use Illuminate\Support\Facades\Hash; | 10 | use Illuminate\Support\Facades\Hash; |
10 | use Illuminate\Support\Facades\Mail; | 11 | use Illuminate\Support\Facades\Mail; |
11 | use Illuminate\Support\Facades\Redis; | 12 | use Illuminate\Support\Facades\Redis; |
... | @@ -91,6 +92,22 @@ class UserController extends Controller | ... | @@ -91,6 +92,22 @@ class UserController extends Controller |
91 | 92 | ||
92 | SendVerificationMessage::dispatch($request->email); | 93 | SendVerificationMessage::dispatch($request->email); |
93 | 94 | ||
94 | - return Response::success(['message'=>'发送成功'],'send success'); | 95 | + return Response::success(['message' => 'Has been sent to your email: ' . $request->email], |
96 | + 'Has been sent to your email: ' . $request->email); | ||
97 | + } | ||
98 | + | ||
99 | + public function avatar(Request $request) | ||
100 | + { | ||
101 | + $validator = Validator::make($request->all(), [ | ||
102 | + 'avatar' => 'required|string', | ||
103 | + ]); | ||
104 | + | ||
105 | + if ($validator->fails()){ | ||
106 | + return Response::fail('',500,$validator->errors()); | ||
107 | + } | ||
108 | + | ||
109 | + $user = Auth::guard('sanctum')->user(); | ||
110 | + | ||
111 | + return Response::success($user); | ||
95 | } | 112 | } |
96 | } | 113 | } | ... | ... |
... | @@ -95,44 +95,39 @@ class MakeVideo implements ShouldQueue | ... | @@ -95,44 +95,39 @@ class MakeVideo implements ShouldQueue |
95 | escapeshellarg($video); | 95 | escapeshellarg($video); |
96 | 96 | ||
97 | // 执行合成 | 97 | // 执行合成 |
98 | - if ($this->execmd($cmd)){ | 98 | + $this->execmd($cmd); |
99 | - $video2 = $this->getTempPath(); | 99 | + |
100 | - $cmd = $this->ffmpeg . ' -y -i ' . escapeshellarg($video) . | 100 | + $video2 = $this->getTempPath(); |
101 | - ' -vf '. | 101 | + $cmd = $this->ffmpeg . ' -y -i ' . escapeshellarg($video) . |
102 | - 'drawtext="'. | 102 | + ' -vf '. |
103 | - 'fontfile=' . escapeshellarg($font) . ':'. | 103 | + 'drawtext="'. |
104 | - 'text=' . escapeshellarg($content) . ':'. | 104 | + 'fontfile=' . escapeshellarg($font) . ':'. |
105 | - 'fontsize=43:'. | 105 | + 'text=' . escapeshellarg($content) . ':'. |
106 | - 'fontcolor=white@1.0:'. | 106 | + 'fontsize=43:'. |
107 | - 'x=main_w/2' . '-260' . ':'. | 107 | + 'fontcolor=white@1.0:'. |
108 | - 'y=main_h/2' . '-20' . ':'. | 108 | + 'x=main_w/2' . '-260' . ':'. |
109 | - 'box=1:boxcolor=0xd0cdcc@0.5'. | 109 | + 'y=main_h/2' . '-20' . ':'. |
110 | - '" ' . escapeshellarg($video2); | 110 | + 'box=1:boxcolor=0xd0cdcc@0.5'. |
111 | - | 111 | + '" ' . escapeshellarg($video2); |
112 | - if ($this->execmd($cmd)) { | 112 | + |
113 | - // 全部合成以后创建 临境 | 113 | + $this->execmd($cmd); |
114 | - $video_info = $this->mediainfo($video2); | 114 | + |
115 | - | 115 | + // 全部合成以后创建 临境 |
116 | - Immerse::query()->create([ | 116 | + $video_info = $this->mediainfo($video2); |
117 | - 'user_id' => 1, | 117 | + |
118 | - 'title' => '', | 118 | + Immerse::query()->create([ |
119 | - 'content' => $this->adminMakeVideo->feel ?? '', | 119 | + 'user_id' => 1, |
120 | - 'url' => $video2, | 120 | + 'title' => '', |
121 | - 'type' => $this->adminMakeVideo->type == 1 ? 2 : 1, | 121 | + 'content' => $this->adminMakeVideo->feel ?? '', |
122 | - 'duration' => $video_info['format']['duration'], | 122 | + 'url' => $video2, |
123 | - 'size' => $video_info['format']['size'], | 123 | + 'type' => $this->adminMakeVideo->type == 1 ? 2 : 1, |
124 | - 'poem_id' => $this->adminMakeVideo->poem_id, | 124 | + 'duration' => $video_info['format']['duration'], |
125 | - 'temp_id' => $this->adminMakeVideo->temp_id, | 125 | + 'size' => $video_info['format']['size'], |
126 | - 'thumbnail' => $this->adminMakeVideo->thumbnail_url, | 126 | + 'poem_id' => $this->adminMakeVideo->poem_id, |
127 | - 'bgm' => $this->adminMakeVideo->bgm_url, | 127 | + 'temp_id' => $this->adminMakeVideo->temp_id, |
128 | - ]); | 128 | + 'thumbnail' => $this->adminMakeVideo->thumbnail_url, |
129 | - } else { | 129 | + 'bgm' => $this->adminMakeVideo->bgm_url, |
130 | - Log::info('退出1'); | 130 | + ]); |
131 | - return; | ||
132 | - } | ||
133 | - }else{ | ||
134 | - Log::info('退出2'); | ||
135 | - } | ||
136 | 131 | ||
137 | } | 132 | } |
138 | 133 | ... | ... |
... | @@ -18,7 +18,7 @@ Route::prefix('v1')->namespace('App\Http\Controllers\V1')->group(function (Route | ... | @@ -18,7 +18,7 @@ Route::prefix('v1')->namespace('App\Http\Controllers\V1')->group(function (Route |
18 | /** 用户账密登录*/ | 18 | /** 用户账密登录*/ |
19 | $api->post('/login', 'UserController@login'); | 19 | $api->post('/login', 'UserController@login'); |
20 | $api->post('/register', 'UserController@register'); | 20 | $api->post('/register', 'UserController@register'); |
21 | - $api->post('/verify', 'UserController@verify'); | 21 | + $api->get('/verify', 'UserController@verify'); |
22 | }); | 22 | }); |
23 | 23 | ||
24 | Route::prefix('v1')->namespace('App\Http\Controllers\V1')->group(function (Router $api){ | 24 | Route::prefix('v1')->namespace('App\Http\Controllers\V1')->group(function (Router $api){ |
... | @@ -26,17 +26,26 @@ Route::prefix('v1')->namespace('App\Http\Controllers\V1')->group(function (Route | ... | @@ -26,17 +26,26 @@ Route::prefix('v1')->namespace('App\Http\Controllers\V1')->group(function (Route |
26 | $api->get('login/{service}/callback', 'AuthController@apiHandleProviderCallback'); | 26 | $api->get('login/{service}/callback', 'AuthController@apiHandleProviderCallback'); |
27 | }); | 27 | }); |
28 | 28 | ||
29 | -//Route::prefix('v1')->middleware('auth:sanctum')->group(function ($api){ | 29 | +//Route::prefix('v1')->namespace('App\Http\Controllers\V1')->middleware('auth:sanctum')->group(function ($api){ |
30 | Route::prefix('v1')->namespace('App\Http\Controllers\V1')->group(function (Router $api) { | 30 | Route::prefix('v1')->namespace('App\Http\Controllers\V1')->group(function (Router $api) { |
31 | 31 | ||
32 | /**首页*/ | 32 | /**首页*/ |
33 | $api->apiResource('/home', 'HomeController'); | 33 | $api->apiResource('/home', 'HomeController'); |
34 | 34 | ||
35 | + /** 系统设置*/ | ||
35 | $api->get('/setting', 'SettingController@index'); | 36 | $api->get('/setting', 'SettingController@index'); |
36 | 37 | ||
38 | + /** 设置头像*/ | ||
39 | + $api->post('/avatar', 'UserController@avatar')->middleware('auth:sanctum'); | ||
40 | + | ||
41 | + | ||
42 | + | ||
37 | /** 临境 */ | 43 | /** 临境 */ |
38 | $api->apiResource('/immersive', 'ImmerseController'); | 44 | $api->apiResource('/immersive', 'ImmerseController'); |
39 | 45 | ||
46 | + /** 众妙 */ | ||
47 | + $api->get('/packpoem', 'HomeController@packpoem'); | ||
48 | + | ||
40 | /** 模板 */ | 49 | /** 模板 */ |
41 | $api->apiResource('/template', 'TemplateController'); | 50 | $api->apiResource('/template', 'TemplateController'); |
42 | 51 | ||
... | @@ -48,4 +57,7 @@ Route::prefix('v1')->namespace('App\Http\Controllers\V1')->group(function (Route | ... | @@ -48,4 +57,7 @@ Route::prefix('v1')->namespace('App\Http\Controllers\V1')->group(function (Route |
48 | 57 | ||
49 | /** 会员页 */ | 58 | /** 会员页 */ |
50 | $api->apiResource('/membership', 'MembershipController'); | 59 | $api->apiResource('/membership', 'MembershipController'); |
60 | + | ||
61 | + /** 文件上传 */ | ||
62 | + $api->post('/upload', 'SettingController@upload'); | ||
51 | }); | 63 | }); |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
... | @@ -24,9 +24,9 @@ Route::get('/', function () { | ... | @@ -24,9 +24,9 @@ Route::get('/', function () { |
24 | return view('welcome'); | 24 | return view('welcome'); |
25 | }); | 25 | }); |
26 | 26 | ||
27 | -Route::get('/phpinfo', function () { | 27 | +//Route::get('/phpinfo', function () { |
28 | - phpinfo(); | 28 | +// phpinfo(); |
29 | -}); | 29 | +//}); |
30 | 30 | ||
31 | 31 | ||
32 | Route::get('/create_overlay', function () { | 32 | Route::get('/create_overlay', function () { | ... | ... |
-
Please register or login to post a comment