bill hai 4 meses
pai
achega
72ce95fa0b

+ 1 - 1
src/components/bill-ui/assets/scss/_base-vars.scss

@@ -6,7 +6,7 @@
   --colors-primary-hover: #008B7A;
   --colors-primary-click: #005046;
 
-  --colors-color: #999;
+  --colors-color: rgba(255,255,255,0.7);
   --colors-border-color: rgba(var(--colors-primary-fill), 0.16);
   --colors-content-color: rgb(--colors-primary-fill);
   

+ 3 - 3
src/components/bill-ui/components/icon/iconfont/demo_index.html

@@ -732,9 +732,9 @@
 <pre><code class="language-css"
 >@font-face {
   font-family: 'iconfont';
-  src: url('iconfont.woff2?t=1743585764913') format('woff2'),
-       url('iconfont.woff?t=1743585764913') format('woff'),
-       url('iconfont.ttf?t=1743585764913') format('truetype');
+  src: url('iconfont.woff2?t=1743650860151') format('woff2'),
+       url('iconfont.woff?t=1743650860151') format('woff'),
+       url('iconfont.ttf?t=1743650860151') format('truetype');
 }
 </code></pre>
           <h3 id="-iconfont-">第二步:定义使用 iconfont 的样式</h3>

+ 3 - 3
src/components/bill-ui/components/icon/iconfont/iconfont.css

@@ -1,8 +1,8 @@
 @font-face {
   font-family: "iconfont"; /* Project id 4647199 */
-  src: url('iconfont.woff2?t=1743585764913') format('woff2'),
-       url('iconfont.woff?t=1743585764913') format('woff'),
-       url('iconfont.ttf?t=1743585764913') format('truetype');
+  src: url('iconfont.woff2?t=1743650860151') format('woff2'),
+       url('iconfont.woff?t=1743650860151') format('woff'),
+       url('iconfont.ttf?t=1743650860151') format('truetype');
 }
 
 .iconfont {

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
src/components/bill-ui/components/icon/iconfont/iconfont.js


BIN=BIN
src/components/bill-ui/components/icon/iconfont/iconfont.ttf


BIN=BIN
src/components/bill-ui/components/icon/iconfont/iconfont.woff


BIN=BIN
src/components/bill-ui/components/icon/iconfont/iconfont.woff2


+ 4 - 1
src/components/global-search/index.vue

@@ -183,7 +183,7 @@ const handleSearch = (val: string) => {
     background-color: var(--editor-toolbox-back);
     backdrop-filter: blur(4px);
 
-    box-shadow: inset 0px 0px 0px 2px rgba(255, 255, 255, 0.1);
+    box-shadow: inset 0px 0px 0px 1px rgba(255, 255, 255, 0.1);
     border-radius: 4px;
 
     font-size: 14px;
@@ -213,6 +213,9 @@ const handleSearch = (val: string) => {
   .ant-select-arrow {
     font-size: 16px;
   }
+  .ant-select-arrow {
+    display: none !important;
+  }
 }
 
 .global-search-menu {

+ 1 - 1
src/layout/left-pano.vue

@@ -8,7 +8,7 @@
     >
       <ui-icon type="extend" class="icon"></ui-icon>
     </span>
-    <div class="left-pano strengthen">
+    <div class="left-pano strengthen-right">
       <slot></slot>
     </div>
   </div>

+ 2 - 1
src/sdk/sdk.ts

@@ -409,7 +409,8 @@ export type AnimationModel3D = {
     rotation?: SceneLocalPos;
     originPosition?: SceneLocalPos;
   };
-
+  
+  moveModelTo: (mouse: {x: number, y: number}, pos?: Pos) => void
   // 添加模型帧
   addFrame: (frame: AnimationModelFrame) => AnimationModelFrame3D;
   // 添加模型动作

+ 1 - 1
src/views/animation/bottom.vue

@@ -195,7 +195,7 @@ watch(
     justify-content: center;
 
     .icon {
-      font-size: 16px;
+      font-size: 20px;
     }
   }
 

+ 27 - 1
src/views/animation/index.vue

@@ -56,7 +56,7 @@ import { Message } from "bill/expose-common";
 import { mergeFuns, uuid } from "@/components/drawing/hook";
 import { title } from "./type";
 import { amMap, getAMKey, currentTime, play } from "@/sdk/association/animation";
-import { AnimationModel3D } from "@/sdk";
+import { sdk, AnimationModel3D } from "@/sdk";
 import {
   showBottomBarStack,
   showLeftCtrlPanoStack,
@@ -64,6 +64,8 @@ import {
   showRightPanoStack,
   showSearchStack,
 } from "@/env";
+import { clickListener } from "@/utils/event";
+import { useRMenus } from "@/components/right-menu";
 
 enterEdit(() => router.back());
 useViewStack(autoSaveAnimationModel);
@@ -260,6 +262,30 @@ const deleteAm = (am: AnimationModel) => {
   }
   ams.value.splice(ams.value.indexOf(am), 1);
 };
+
+let unMount: () => void;
+onUnmounted(
+  clickListener(
+    document.querySelector("#layout-app") as HTMLDivElement,
+    (pixel) => {
+      const pos = sdk.getPositionByScreen(pixel);
+      if (!focusAM.value) return;
+      unMount && unMount();
+      setTimeout(() => {
+        unMount = useRMenus(pixel, [
+          {
+            label: "移动到这里",
+            icon: "move",
+            handler() {
+              amMap[focusAM.value!.id]?.am?.moveModelTo(pixel, pos?.worldPos);
+            },
+          },
+        ]);
+      });
+    },
+    2
+  )
+);
 </script>
 
 <style lang="scss" scoped>

+ 1 - 0
src/views/animation/right/frame.vue

@@ -56,6 +56,7 @@ defineEmits<{
     display: flex;
     border-radius: 4px;
     align-items: center;
+    margin: 0 2px;
     cursor: pointer;
     justify-content: center;
 

+ 5 - 1
src/views/guide/path/edit-path.vue

@@ -234,8 +234,12 @@ const keepAdding = () => {
   node.value?.changeCanEdit(true);
   console.error(node.value?.changeCanEdit);
   // const hide = Message.show({ msg: "请在模型上单击选择路径点位置", type: "warning" });
-
+  const success = () => {
+    unKeepAdding.value && unKeepAdding.value();
+  };
+  node.value?.bus.on("drawed", success);
   unKeepAdding.value = () => {
+    node.value?.bus.off("drawed", success);
     node.value?.changeCanEdit(false);
     // hide();
     unKeepAdding.value = void 0;