瀏覽代碼

对接裁剪

bill 1 年之前
父節點
當前提交
f24e1cd2a8
共有 2 個文件被更改,包括 21 次插入14 次删除
  1. 9 1
      src/sdk/types/sdk.ts
  2. 12 13
      src/views/scene/covers/range.vue

+ 9 - 1
src/sdk/types/sdk.ts

@@ -313,7 +313,15 @@ export type Scene = Base & {
 
   getPose2: () => PoseVideoInfo;
 
-  enterCropSetting: () => { quit: () => void };
+  enterCropSetting: () => {
+    quit: () => void;
+    enterSetScale: () => void;
+    leaveSetScale: () => void;
+    enterSetTop: () => void;
+    leaveSetTop: () => void;
+    enterSetRotate: () => void;
+    leaveSetRotate: () => void;
+  };
   getSceneCropSetting: () => SceneCropSetting;
   setSceneCropSetting: (setting: SeSceneCropSetting) => void;
 };

+ 12 - 13
src/views/scene/covers/range.vue

@@ -44,8 +44,8 @@
 </template>
 
 <script setup lang="ts">
-import { Pos } from "@/sdk";
-import { computed, onMounted, onUnmounted, watchEffect } from "vue";
+import { Pos, SDK } from "@/sdk";
+import { computed, onMounted, onUnmounted, ref, watchEffect } from "vue";
 import { sceneSeting } from "@/store/sceneSeting";
 import { useSDK } from "@/hook";
 
@@ -73,27 +73,26 @@ const value = computed({
   },
 });
 
+const changeRange = (sp: Pos, cp: Pos, info: { start: number; locusWidth: number }) =>
+  info.start + (sp.y - cp.y) / info.locusWidth;
+
+const cropApi = ref<ReturnType<SDK["scene"]["enterCropSetting"]>>();
+
 watchEffect((onCleanup) => {
-  if (props.rangeKey) {
+  if (props.rangeKey && cropApi.value) {
     const name = `${props.rangeKey[0].toUpperCase()}${props.rangeKey.substring(1)}`;
-    useSDK().scene[`enterSet${name}`]();
+    cropApi.value[`enterSet${name}`]();
     onCleanup(() => {
-      useSDK().scene[`leaveSet${name}`]();
+      cropApi.value[`leaveSet${name}`]();
     });
   }
 });
 
-const changeRange = (sp: Pos, cp: Pos, info: { start: number; locusWidth: number }) =>
-  info.start + (sp.y - cp.y) / info.locusWidth;
-
-let quit: () => void;
 onMounted(() => {
-  console.log("进入裁剪");
-  quit = useSDK().scene.enterCropSetting().quit;
+  cropApi.value = useSDK().scene.enterCropSetting();
 });
 onUnmounted(() => {
-  console.log(quit);
-  quit && quit();
+  cropApi.value && cropApi.value.quit();
 });
 </script>