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