Toggle navigation
Toggle navigation
This project
Loading...
Sign in
OnePoem
/
OnePoem-Server
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
李帅
2022-03-23 19:31:30 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
e0064442dbbf198bbc072f754211ae9e93b27ba3
e0064442
1 parent
9c35fe7c
1.sanctum报错,忘记是哪里的问题了,再调试
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
110 additions
and
105 deletions
app/Http/Controllers/V1/HomeController.php
app/Http/Controllers/V1/SettingController.php
app/Http/Controllers/V1/UserController.php
app/Jobs/MakeVideo.php
routes/api.php
routes/web.php
app/Http/Controllers/V1/HomeController.php
View file @
e006444
...
...
@@ -3,6 +3,7 @@
namespace
App\Http\Controllers\V1
;
use
App\Http\Controllers\Controller
;
use
App\Models\PackPoem
;
use
Illuminate\Http\Request
;
use
Jiannei\Response\Laravel\Support\Facades\Response
;
...
...
@@ -19,70 +20,12 @@ class HomeController extends Controller
return
Response
::
success
();
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public
function
create
()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public
function
store
(
Request
$request
)
public
function
packpoem
(
Request
$request
)
{
//
}
$packpoems
=
PackPoem
::
query
()
->
simplePaginate
();
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public
function
show
(
$id
)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public
function
edit
(
$id
)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public
function
update
(
Request
$request
,
$id
)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public
function
destroy
(
$id
)
{
//
return
Response
::
success
(
$packpoems
);
}
}
...
...
app/Http/Controllers/V1/SettingController.php
View file @
e006444
...
...
@@ -5,6 +5,9 @@ namespace App\Http\Controllers\V1;
use
App\Http\Controllers\Controller
;
use
App\Models\Setting
;
use
Illuminate\Http\Request
;
use
Illuminate\Support\Facades\Storage
;
use
Illuminate\Support\Facades\Validator
;
use
Jiannei\Response\Laravel\Support\Facades\Response
;
class
SettingController
extends
Controller
...
...
@@ -33,4 +36,39 @@ class SettingController extends Controller
return
Response
::
success
(
$array
);
}
public
function
upload
(
Request
$request
)
{
$validator
=
Validator
::
make
(
$request
->
all
(),[
'image'
=>
'mimes:jpeg,png,bmp,gif'
]);
if
(
$validator
->
fails
()){
return
Response
::
fail
(
''
,
500
,
$validator
->
errors
());
}
$hashName
=
$request
->
file
(
'image'
)
->
hashName
();
$hash_hex
=
md5
(
$hashName
);
// 16进制表示的字符串一共32字节,表示16个二进制字节。
// 前16个字符用来第一级求摸,后16个用做第二级
$hash_hex_l1
=
substr
(
$hash_hex
,
0
,
8
);
$hash_hex_l2
=
substr
(
$hash_hex
,
8
,
8
);
$dir_l1
=
hexdec
(
$hash_hex_l1
)
%
256
;
$dir_l2
=
hexdec
(
$hash_hex_l2
)
%
512
;
$dir
=
'uploads/'
.
$dir_l1
.
'/'
.
$dir_l2
;
if
(
!
Storage
::
disk
(
'public'
)
->
exists
(
$dir
))
{
Storage
::
disk
(
'public'
)
->
makeDirectory
(
$dir
);
}
$file
=
$request
->
file
(
'image'
)
->
store
(
$dir
,
'public'
);
return
Response
::
success
([
'relative_path'
=>
$file
,
'absolute_path'
=>
Storage
::
disk
(
'public'
)
->
url
(
'file.jpg'
),
]);
}
}
...
...
app/Http/Controllers/V1/UserController.php
View file @
e006444
...
...
@@ -6,6 +6,7 @@ use App\Http\Controllers\Controller;
use
App\Jobs\SendVerificationMessage
;
use
App\Models\User
;
use
Illuminate\Http\Request
;
use
Illuminate\Support\Facades\Auth
;
use
Illuminate\Support\Facades\Hash
;
use
Illuminate\Support\Facades\Mail
;
use
Illuminate\Support\Facades\Redis
;
...
...
@@ -91,6 +92,22 @@ class UserController extends Controller
SendVerificationMessage
::
dispatch
(
$request
->
email
);
return
Response
::
success
([
'message'
=>
'发送成功'
],
'send success'
);
return
Response
::
success
([
'message'
=>
'Has been sent to your email: '
.
$request
->
email
],
'Has been sent to your email: '
.
$request
->
email
);
}
public
function
avatar
(
Request
$request
)
{
$validator
=
Validator
::
make
(
$request
->
all
(),
[
'avatar'
=>
'required|string'
,
]);
if
(
$validator
->
fails
()){
return
Response
::
fail
(
''
,
500
,
$validator
->
errors
());
}
$user
=
Auth
::
guard
(
'sanctum'
)
->
user
();
return
Response
::
success
(
$user
);
}
}
...
...
app/Jobs/MakeVideo.php
View file @
e006444
...
...
@@ -95,44 +95,39 @@ class MakeVideo implements ShouldQueue
escapeshellarg
(
$video
);
// 执行合成
if
(
$this
->
execmd
(
$cmd
)){
$video2
=
$this
->
getTempPath
();
$cmd
=
$this
->
ffmpeg
.
' -y -i '
.
escapeshellarg
(
$video
)
.
' -vf '
.
'drawtext="'
.
'fontfile='
.
escapeshellarg
(
$font
)
.
':'
.
'text='
.
escapeshellarg
(
$content
)
.
':'
.
'fontsize=43:'
.
'fontcolor=white@1.0:'
.
'x=main_w/2'
.
'-260'
.
':'
.
'y=main_h/2'
.
'-20'
.
':'
.
'box=1:boxcolor=0xd0cdcc@0.5'
.
'" '
.
escapeshellarg
(
$video2
);
if
(
$this
->
execmd
(
$cmd
))
{
// 全部合成以后创建 临境
$video_info
=
$this
->
mediainfo
(
$video2
);
Immerse
::
query
()
->
create
([
'user_id'
=>
1
,
'title'
=>
''
,
'content'
=>
$this
->
adminMakeVideo
->
feel
??
''
,
'url'
=>
$video2
,
'type'
=>
$this
->
adminMakeVideo
->
type
==
1
?
2
:
1
,
'duration'
=>
$video_info
[
'format'
][
'duration'
],
'size'
=>
$video_info
[
'format'
][
'size'
],
'poem_id'
=>
$this
->
adminMakeVideo
->
poem_id
,
'temp_id'
=>
$this
->
adminMakeVideo
->
temp_id
,
'thumbnail'
=>
$this
->
adminMakeVideo
->
thumbnail_url
,
'bgm'
=>
$this
->
adminMakeVideo
->
bgm_url
,
]);
}
else
{
Log
::
info
(
'退出1'
);
return
;
}
}
else
{
Log
::
info
(
'退出2'
);
}
$this
->
execmd
(
$cmd
);
$video2
=
$this
->
getTempPath
();
$cmd
=
$this
->
ffmpeg
.
' -y -i '
.
escapeshellarg
(
$video
)
.
' -vf '
.
'drawtext="'
.
'fontfile='
.
escapeshellarg
(
$font
)
.
':'
.
'text='
.
escapeshellarg
(
$content
)
.
':'
.
'fontsize=43:'
.
'fontcolor=white@1.0:'
.
'x=main_w/2'
.
'-260'
.
':'
.
'y=main_h/2'
.
'-20'
.
':'
.
'box=1:boxcolor=0xd0cdcc@0.5'
.
'" '
.
escapeshellarg
(
$video2
);
$this
->
execmd
(
$cmd
);
// 全部合成以后创建 临境
$video_info
=
$this
->
mediainfo
(
$video2
);
Immerse
::
query
()
->
create
([
'user_id'
=>
1
,
'title'
=>
''
,
'content'
=>
$this
->
adminMakeVideo
->
feel
??
''
,
'url'
=>
$video2
,
'type'
=>
$this
->
adminMakeVideo
->
type
==
1
?
2
:
1
,
'duration'
=>
$video_info
[
'format'
][
'duration'
],
'size'
=>
$video_info
[
'format'
][
'size'
],
'poem_id'
=>
$this
->
adminMakeVideo
->
poem_id
,
'temp_id'
=>
$this
->
adminMakeVideo
->
temp_id
,
'thumbnail'
=>
$this
->
adminMakeVideo
->
thumbnail_url
,
'bgm'
=>
$this
->
adminMakeVideo
->
bgm_url
,
]);
}
...
...
routes/api.php
View file @
e006444
...
...
@@ -18,7 +18,7 @@ Route::prefix('v1')->namespace('App\Http\Controllers\V1')->group(function (Route
/** 用户账密登录*/
$api
->
post
(
'/login'
,
'UserController@login'
);
$api
->
post
(
'/register'
,
'UserController@register'
);
$api
->
pos
t
(
'/verify'
,
'UserController@verify'
);
$api
->
ge
t
(
'/verify'
,
'UserController@verify'
);
});
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
$api
->
get
(
'login/{service}/callback'
,
'AuthController@apiHandleProviderCallback'
);
});
//Route::prefix('v1')->middleware('auth:sanctum')->group(function ($api){
//Route::prefix('v1')->
namespace('App\Http\Controllers\V1')->
middleware('auth:sanctum')->group(function ($api){
Route
::
prefix
(
'v1'
)
->
namespace
(
'App\Http\Controllers\V1'
)
->
group
(
function
(
Router
$api
)
{
/**首页*/
$api
->
apiResource
(
'/home'
,
'HomeController'
);
/** 系统设置*/
$api
->
get
(
'/setting'
,
'SettingController@index'
);
/** 设置头像*/
$api
->
post
(
'/avatar'
,
'UserController@avatar'
)
->
middleware
(
'auth:sanctum'
);
/** 临境 */
$api
->
apiResource
(
'/immersive'
,
'ImmerseController'
);
/** 众妙 */
$api
->
get
(
'/packpoem'
,
'HomeController@packpoem'
);
/** 模板 */
$api
->
apiResource
(
'/template'
,
'TemplateController'
);
...
...
@@ -48,4 +57,7 @@ Route::prefix('v1')->namespace('App\Http\Controllers\V1')->group(function (Route
/** 会员页 */
$api
->
apiResource
(
'/membership'
,
'MembershipController'
);
/** 文件上传 */
$api
->
post
(
'/upload'
,
'SettingController@upload'
);
});
\ No newline at end of file
...
...
routes/web.php
View file @
e006444
...
...
@@ -24,9 +24,9 @@ Route::get('/', function () {
return
view
(
'welcome'
);
});
Route
::
get
(
'/phpinfo'
,
function
()
{
phpinfo
();
});
//
Route::get('/phpinfo', function () {
//
phpinfo();
//
});
Route
::
get
(
'/create_overlay'
,
function
()
{
...
...
Please
register
or
login
to post a comment