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-07-07 17:50:07 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
2efe5b7079ed699d1139b45a7bb59b467cc6c8c7
2efe5b70
1 parent
0f79a1d9
1.临境新增字段。
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
55 additions
and
0 deletions
app/Http/Controllers/V1/HomeController.php
app/Http/Controllers/V1/SettingController.php
app/Models/Immerse.php
routes/api.php
app/Http/Controllers/V1/HomeController.php
View file @
2efe5b7
...
...
@@ -4,6 +4,7 @@ namespace App\Http\Controllers\V1;
use
App\Http\Controllers\Controller
;
use
App\Models\Immerse
;
use
App\Models\OnePoem
;
use
App\Models\PackPoem
;
use
Illuminate\Http\Request
;
use
Jiannei\Response\Laravel\Support\Facades\Response
;
...
...
@@ -69,4 +70,13 @@ class HomeController extends Controller
return
Response
::
success
(
$packpoems
);
}
public
function
poem
(
$id
)
{
try
{
return
Response
::
success
(
OnePoem
::
query
()
->
find
(
$id
));
}
catch
(
\Exception
$exception
){
return
Response
::
fail
(
$exception
->
getMessage
());
}
}
}
...
...
app/Http/Controllers/V1/SettingController.php
View file @
2efe5b7
...
...
@@ -101,6 +101,38 @@ class SettingController extends Controller
]);
}
public
function
uploadAudio
(
Request
$request
)
{
$validator
=
Validator
::
make
(
$request
->
all
(),[
'audio'
=>
'required|mimes:aac,mp3,wav,m4a,amr'
]);
if
(
$validator
->
fails
()){
return
Response
::
fail
(
''
,
500
,
$validator
->
errors
());
}
$hashName
=
$request
->
file
(
'audio'
)
->
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
(
'audio'
)
->
store
(
$dir
,
'public'
);
return
Response
::
success
([
'relative_path'
=>
$file
,
'absolute_path'
=>
Storage
::
disk
(
'public'
)
->
url
(
$file
),
]);
}
public
function
protocol
()
{
...
...
app/Models/Immerse.php
View file @
2efe5b7
...
...
@@ -46,6 +46,13 @@ class Immerse extends Model
return
Storage
::
disk
(
'public'
)
->
url
(
$url
);
}
public
function
getHuangliAttribute
(
$huangli
)
{
if
(
$huangli
==
null
)
return
''
;
return
$huangli
;
}
public
function
poem
()
{
return
$this
->
hasOne
(
OnePoem
::
class
,
'id'
,
'poem_id'
);
...
...
routes/api.php
View file @
2efe5b7
...
...
@@ -45,6 +45,9 @@ Route::prefix('v1')->namespace('App\Http\Controllers\V1')->group(function (Route
/** 视频上传 */
$api
->
post
(
'/upload/video'
,
'SettingController@uploadVideo'
);
/** 音频上传 */
$api
->
post
(
'/upload/audio'
,
'SettingController@uploadAudio'
);
/** 会员页 */
$api
->
get
(
'/membership'
,
'MembershipController@index'
);
});
...
...
@@ -73,6 +76,9 @@ Route::prefix('v1')->namespace('App\Http\Controllers\V1')->middleware('auth:sanc
/** 作品详情 */
$api
->
delete
(
'/my/videos/{id}'
,
'UserController@deleteVideo'
);
/** 查询一言 */
$api
->
get
(
'/poem/{id}'
,
'HomeController@poem'
);
/** 临境 */
$api
->
apiResource
(
'/immersive'
,
'ImmerseController'
);
...
...
Please
register
or
login
to post a comment