|
|
@@ -2164,6 +2164,47 @@ class AnimeService
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
+ public function applySegment($data) {
|
|
|
+ $segment_id = getProp($data, 'segment_id');
|
|
|
+ $url = getProp($data, 'url');
|
|
|
+ if (!$segment_id) Utils::throwError('20003:请选择分镜');
|
|
|
+ if (!$url) Utils::throwError('20003:URL不能为空');
|
|
|
+
|
|
|
+ // 获取URL的文件扩展名
|
|
|
+ $urlPath = parse_url($url, PHP_URL_PATH);
|
|
|
+ $extension = strtolower(pathinfo($urlPath, PATHINFO_EXTENSION));
|
|
|
+
|
|
|
+ // 定义图片和视频的扩展名
|
|
|
+ $imageExtensions = ['jpg', 'jpeg', 'png', 'gif', 'bmp', 'webp', 'svg'];
|
|
|
+ $videoExtensions = ['mp4', 'avi', 'mov', 'wmv', 'flv', 'mkv', 'webm', 'm4v'];
|
|
|
+
|
|
|
+ // 判断是图片还是视频
|
|
|
+ $updateData = ['updated_at' => date('Y-m-d H:i:s')];
|
|
|
+
|
|
|
+ if (in_array($extension, $imageExtensions)) {
|
|
|
+ // 图片类型
|
|
|
+ $updateData['img_url'] = $url;
|
|
|
+ $updateData['current_type'] = 1;
|
|
|
+ } elseif (in_array($extension, $videoExtensions)) {
|
|
|
+ // 视频类型
|
|
|
+ $updateData['video_url'] = $url;
|
|
|
+ $updateData['current_type'] = 2;
|
|
|
+ } else {
|
|
|
+ Utils::throwError('20003:不支持的文件类型');
|
|
|
+ }
|
|
|
+
|
|
|
+ // 更新分镜表
|
|
|
+ $result = DB::table('mp_episode_segments')
|
|
|
+ ->where('segment_id', $segment_id)
|
|
|
+ ->update($updateData);
|
|
|
+
|
|
|
+ if (!$result) {
|
|
|
+ Utils::throwError('20003:更新分镜失败');
|
|
|
+ }
|
|
|
+
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
public function segmentHistory($data) {
|
|
|
$segment_id = getProp($data, 'segment_id');
|
|
|
|