forked from 77media/video-flow
更新 pricing说明
This commit is contained in:
parent
153d0d49f8
commit
928c666305
@ -163,9 +163,26 @@ function HomeModule5() {
|
|||||||
xl:text-[3.375rem] xl:leading-[110%] xl:mb-[1.5rem]
|
xl:text-[3.375rem] xl:leading-[110%] xl:mb-[1.5rem]
|
||||||
2xl:text-[3.5rem] 2xl:leading-[110%] 2xl:mb-[1.5rem]"
|
2xl:text-[3.5rem] 2xl:leading-[110%] 2xl:mb-[1.5rem]"
|
||||||
>
|
>
|
||||||
Pick a plan and make it yours
|
CREATE FOR $0.
|
||||||
</h2>
|
</h2>
|
||||||
|
|
||||||
|
<p
|
||||||
|
className="text-white font-normal text-center
|
||||||
|
/* 移动端字体 */
|
||||||
|
text-[1rem] leading-[140%]
|
||||||
|
/* 平板字体 */
|
||||||
|
sm:text-[1.25rem] sm:leading-[140%]
|
||||||
|
/* 小屏笔记本字体 */
|
||||||
|
md:text-[1.5rem] md:leading-[140%]
|
||||||
|
/* 大屏笔记本字体 */
|
||||||
|
lg:text-[1.6rem] lg:leading-[140%]
|
||||||
|
/* 桌面端字体 */
|
||||||
|
xl:text-[1.7rem] xl:leading-[140%]
|
||||||
|
/* 大屏显示器字体 */
|
||||||
|
2xl:text-[1.8rem] 2xl:leading-[140%]"
|
||||||
|
>
|
||||||
|
Remove watermark with Credits.
|
||||||
|
</p>
|
||||||
{/* 计费切换 */}
|
{/* 计费切换 */}
|
||||||
<div
|
<div
|
||||||
className="flex bg-black rounded-full border border-white/20
|
className="flex bg-black rounded-full border border-white/20
|
||||||
|
|||||||
@ -1315,9 +1315,26 @@ function HomeModule5() {
|
|||||||
/* 大屏显示器字体 */
|
/* 大屏显示器字体 */
|
||||||
2xl:text-[3.5rem] 2xl:leading-[110%] 2xl:mb-[1.5rem]"
|
2xl:text-[3.5rem] 2xl:leading-[110%] 2xl:mb-[1.5rem]"
|
||||||
>
|
>
|
||||||
Pick a plan and make it yours
|
CREATE FOR $0.
|
||||||
</h2>
|
</h2>
|
||||||
|
|
||||||
|
<p
|
||||||
|
className="text-white font-normal text-center
|
||||||
|
/* 移动端字体 */
|
||||||
|
text-[1rem] leading-[140%]
|
||||||
|
/* 平板字体 */
|
||||||
|
sm:text-[1.25rem] sm:leading-[140%]
|
||||||
|
/* 小屏笔记本字体 */
|
||||||
|
md:text-[1.5rem] md:leading-[140%]
|
||||||
|
/* 大屏笔记本字体 */
|
||||||
|
lg:text-[1.6rem] lg:leading-[140%]
|
||||||
|
/* 桌面端字体 */
|
||||||
|
xl:text-[1.7rem] xl:leading-[140%]
|
||||||
|
/* 大屏显示器字体 */
|
||||||
|
2xl:text-[1.8rem] 2xl:leading-[140%]"
|
||||||
|
>
|
||||||
|
Remove watermark with Credits.
|
||||||
|
</p>
|
||||||
{/* 计费切换 */}
|
{/* 计费切换 */}
|
||||||
<div
|
<div
|
||||||
className="flex bg-black rounded-full border border-white/20
|
className="flex bg-black rounded-full border border-white/20
|
||||||
|
|||||||
@ -13,6 +13,7 @@ import ScriptLoading from './script-loading';
|
|||||||
import { TaskObject } from '@/api/DTO/movieEdit';
|
import { TaskObject } from '@/api/DTO/movieEdit';
|
||||||
import { Button, Tooltip } from 'antd';
|
import { Button, Tooltip } from 'antd';
|
||||||
import { downloadVideo, downloadAllVideos, getFirstFrame } from '@/utils/tools';
|
import { downloadVideo, downloadAllVideos, getFirstFrame } from '@/utils/tools';
|
||||||
|
import { post } from '@/api/request';
|
||||||
import { VideoEditOverlay } from './video-edit/VideoEditOverlay';
|
import { VideoEditOverlay } from './video-edit/VideoEditOverlay';
|
||||||
import { EditPoint as EditPointType } from './video-edit/types';
|
import { EditPoint as EditPointType } from './video-edit/types';
|
||||||
import { isVideoModificationEnabled } from '@/lib/server-config';
|
import { isVideoModificationEnabled } from '@/lib/server-config';
|
||||||
@ -518,18 +519,21 @@ export const MediaViewer = React.memo(function MediaViewer({
|
|||||||
totalVideos: totalVideos + 1,
|
totalVideos: totalVideos + 1,
|
||||||
isCurrentVideoFailed: false,
|
isCurrentVideoFailed: false,
|
||||||
isFinalStage: true,
|
isFinalStage: true,
|
||||||
onDownloadCurrent: async () => {
|
projectId: projectId || '',
|
||||||
|
onDownloadCurrent: async (withWatermark: boolean) => {
|
||||||
setIsLoadingDownloadBtn(true);
|
setIsLoadingDownloadBtn(true);
|
||||||
await downloadVideo(taskObject.final.url);
|
try {
|
||||||
setIsLoadingDownloadBtn(false);
|
const json: any = await post('/movie/download_video', {
|
||||||
|
project_id: projectId || '',
|
||||||
|
watermark: !withWatermark
|
||||||
|
});
|
||||||
|
const url = json?.data?.download_url as string | undefined;
|
||||||
|
if (url) await downloadVideo(url);
|
||||||
|
} finally {
|
||||||
|
setIsLoadingDownloadBtn(false);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
onDownloadAll: async () => {
|
onDownloadAll: () => {}
|
||||||
setIsLoadingDownloadAllVideosBtn(true);
|
|
||||||
const all = taskObject.videos.data.flatMap((video: any) => video.urls);
|
|
||||||
all.push(taskObject.final.url);
|
|
||||||
await downloadAllVideos(all);
|
|
||||||
setIsLoadingDownloadAllVideosBtn(false);
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
@ -675,22 +679,24 @@ export const MediaViewer = React.memo(function MediaViewer({
|
|||||||
totalVideos: taskObject.final.url ? totalVideos + 1 : totalVideos,
|
totalVideos: taskObject.final.url ? totalVideos + 1 : totalVideos,
|
||||||
isCurrentVideoFailed: isCurrentVideoFailed,
|
isCurrentVideoFailed: isCurrentVideoFailed,
|
||||||
isFinalStage: false,
|
isFinalStage: false,
|
||||||
onDownloadCurrent: async () => {
|
projectId: projectId || '',
|
||||||
if (currentVideo && currentVideo.urls && currentVideo.urls.length > 0) {
|
videoId: currentVideo?.video_id,
|
||||||
setIsLoadingDownloadBtn(true);
|
onDownloadCurrent: async (withWatermark: boolean) => {
|
||||||
await downloadVideo(currentVideo.urls[0]);
|
if (!currentVideo?.video_id) return;
|
||||||
|
setIsLoadingDownloadBtn(true);
|
||||||
|
try {
|
||||||
|
const json: any = await post('/movie/download_video', {
|
||||||
|
project_id: projectId || '',
|
||||||
|
video_id: currentVideo.video_id,
|
||||||
|
watermark: !withWatermark
|
||||||
|
});
|
||||||
|
const url = json?.data?.download_url as string | undefined;
|
||||||
|
if (url) await downloadVideo(url);
|
||||||
|
} finally {
|
||||||
setIsLoadingDownloadBtn(false);
|
setIsLoadingDownloadBtn(false);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onDownloadAll: async () => {
|
onDownloadAll: () => {}
|
||||||
setIsLoadingDownloadAllVideosBtn(true);
|
|
||||||
const all = taskObject.videos.data.flatMap((video: any) => video.urls);
|
|
||||||
if (taskObject.final.url) {
|
|
||||||
all.push(taskObject.final.url);
|
|
||||||
}
|
|
||||||
await downloadAllVideos(all);
|
|
||||||
setIsLoadingDownloadAllVideosBtn(false);
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user