ソースを参照

fix:动图问题

ananzhusen 1 年間 前
コミット
fb00aa371a

+ 2 - 1
src/services/utils.ts

@@ -149,7 +149,8 @@ export async function isGif(url: string): Promise<boolean> {
     //   return false;
     // }
   } else {
-    return url.endsWith('.gif');
+    let arr = url.split('?');
+    return arr[0].endsWith('.gif');
   }
 }
 

+ 1 - 1
src/views/components/Graphics.vue

@@ -162,7 +162,7 @@
                 <!-- img 路径这样拼凑避免更新后路径一致图片使用缓存不更新 -->
                   <t-image
                     v-if="!elem.svg && elem.image"
-                    :src="elem.image + '?' + Math.random()"
+                    :src="elem.image +(activeAssets === 'user'?'':('?' + Math.random()))"
                     :lazy="true"
                     fit="contain"
                     @load="loadImage(elem)"

+ 12 - 4
src/views/components/PenProps.vue

@@ -1076,10 +1076,10 @@
 
                   <t-checkbox
                     class="ml-8"
-                    v-model="data.pen.isBottom"
-                    @change="changeValue('isBottom')"
+                    v-model="data.pen.toGif"
+                    @change="changeValue('toGif')"
                   >
-                    置底
+                    转动图
                   </t-checkbox>
                 </div>
                 <div class="form-item">
@@ -1201,7 +1201,7 @@
               </t-space>
             </t-collapse-panel> -->
           </t-collapse>
-          <template v-if="!data.pen.externElement && data.pen.name !== 'image'">
+          <template v-if="!data.pen.externElement && data.pen.name !== 'image'&& data.pen.name !== 'gif'">
             <t-divider style="margin: -8px 0" />
 
             <div class="form-item px-16">
@@ -1617,6 +1617,14 @@ const changeValue = (prop: string) => {
       }
     })
   }
+  if(prop === 'toGif'){
+    if(data.pen.toGif){
+      meta2d.setValue({id:data.pen.id,name:'gif'});
+    }else{
+      meta2d.setValue({id:data.pen.id,name:'image'});
+    }
+    return;
+  }
   updatePen(data.pen, prop);
   selections.pen[prop] = getter(data.pen, prop);
   if (prop === 'iframe') {