当前位置: 首页 > news >正文

自己创网站美发营销型网站

自己创网站,美发营销型网站,wordpress 定制缩略图,wordpress表单联系背景:主 project 页面中会将视频存储到云端后获得 ID ,然后用 ID 调用 后端API POST到数据库后拿到挂载页面URL,接着传入视频分享组件(由于视频分享子组件的目标是分享视频挂载页面,所以前置步骤不能少)con…

背景:主 project 页面中会将视频存储到云端后获得 ID ,然后用 ID 调用 后端API POST到数据库后拿到挂载页面URL,接着传入视频分享组件(由于视频分享子组件的目标是分享视频挂载页面,所以前置步骤不能少)

            const recordBlob = await projectRunnerRef.value?.stopRecording?.()await projectRunnerRef.value?.pauseGame()console.log('录制已停止,获得 Blob:', recordBlob)if (!recordBlob) {toaster.error('录制失败,未获得录制数据')isRecording.value = falsereturn}// 将 Blob 转换为 File 对象const fileExtension = recordBlob.type?.includes('webm') ? 'webm' : 'mp4'const recordFile = new globalThis.File([recordBlob], `recording_${Date.now()}.${fileExtension}`, { type: recordBlob.type || 'video/webm' })recording.value = recordFiletry {const projectFile = createProjectFile(recordFile)const RecordingURL = await saveFile(projectFile) // 存储到云端获得视频存储URL

遇到问题:通过查看网络通信发现传输到云端时间很长,所以页面上就像卡住了一样一直等待视频分享弹窗弹出

解决思路:惰性异步处理-不让阻塞其他执行。将原先先把所有必须的内容拿到再弹出弹框变成先加载弹窗,具体里面要用到视频挂载URL的地方其实就是生成二维码的地方,那么写成 'generating' 来优化交互体验,那么就需要将原先 props 传输 recording 变成一个 Promise 来异步处理

const props = defineProps<{recording: Promise<RecordData>,

那么接收的是一个 Promise 而非直接的数据,从而允许异步加载,避免阻塞UI渲染,实现了数据与UI的解耦

那么从 project 父组件获得video(可选值,用于首屏展示),同时传入Promise实例用于并行处理

在云端 cloud.ts 中

export async function saveFiles(files: Files,signal?: AbortSignal
): Promise<{ fileCollection: FileCollection; fileCollectionHash: string }> {const fileCollection = Object.fromEntries(await Promise.all(Object.keys(files).map(async (path) => [path, await saveFile(files[path]!, signal)] as const)))const fileCollectionHash = await hashFileCollection(fileCollection)return { fileCollection, fileCollectionHash }
}

通过 Promise.all 处理多文件上传

然后在 录屏组件中写一个副作用回调函数用于更新

async function loadRecordingData() {if (currentRecording.value) returntry {currentRecording.value = await props.recordingawait updateVideoSrc()} catch (error) {console.error('加载录制数据失败:', error)}
}

在 watch 中回调

watch(() => props.visible, (newVisible) => {if (newVisible) {// 重置状态jumpUrl.value = ''qrCodeData.value = ''// 立即更新视频源(优先使用 props.video)updateVideoSrc()// 加载录制数据(用于分享参数)loadRecordingData()

http://www.dtcms.com/a/413583.html

相关文章:

  • 做外贸网站建设电商网站建设计入什么科目
  • jeecms做企业网站如何快速做h5网站
  • 孝感建设银行官网站中国新闻社是什么级别媒体
  • 哈尔滨网络公司网站建设会员制营销的优缺点
  • 怎样可以查看网站是由哪个公司做的网站降权投诉
  • 酒店如何做网站深圳卓富通做网站
  • 云服务器网站文件夹网站建设维护招聘
  • 网站建好了seo怎么做成都广告设计公司有哪些
  • 看想看的做想做的电影网站浙江做网站多少钱
  • 大学里读网站建设高校移动门户网站建设
  • 首页网站模板wordpress不同列表页
  • 深圳企业网站app开发wordpress引用jquery
  • 网站做直播需要什么资质美橙网站建设经典案例
  • 定制网站建设流程国家企业网
  • 制作个人网站怎么做湖南企业app
  • 网站改版404页面网站项目计划说明书
  • 美食美客网站建设项目规划书怎样做网站的用户分析
  • 怎么做视频网站推广赚钱平台有哪些
  • 网站社区的建设百盛联合建设集团网站
  • 网页搭建系统框图长春关键词排名优化
  • 响应式网站的优势有那些的呢wordpress微信公众号模板
  • 织梦网站统计代码网页美工薪酬范围
  • 自己弄个网站家政服务公司网站建设方案策划书
  • 浙江建设网站网站运营与公司
  • DNF做钓鱼网站网络营销是什么内容
  • 网站建设的基本流程是什么应用商店手机版下载
  • 网站设计展示个人信息怎么在百度推广
  • 用科讯cms做网站的步骤一个虚拟主机多个网站
  • 网站排名的重要性网络推广方案最新
  • 如何做家教网站企业做的网站计入什么科目