Browse Source

评卷员主界面增加图片加载的loading过渡效果,防止网速慢

刘洋 1 year ago
parent
commit
1a0bd1a822
3 changed files with 8 additions and 3 deletions
  1. 2 2
      server.config.ts
  2. 4 0
      src/hooks/useSetImgBg.ts
  3. 2 1
      src/modules/marking/mark/index.vue

+ 2 - 2
server.config.ts

@@ -3,11 +3,11 @@ import type { ServerOptions } from 'vite'
 const server: ServerOptions = {
 const server: ServerOptions = {
   proxy: {
   proxy: {
     '^/?(api|file)/': {
     '^/?(api|file)/': {
-      target: 'http://192.168.10.41:8200',
+      // target: 'http://192.168.10.41:8200',
       // target: 'http://192.168.10.178:8200',
       // target: 'http://192.168.10.178:8200',
       // target: 'http://192.168.10.108:8200',
       // target: 'http://192.168.10.108:8200',
       // target: 'http://cet-test.markingtool.cn',
       // target: 'http://cet-test.markingtool.cn',
-      // target: 'http://192.168.10.136:80',
+      target: 'http://192.168.10.136:80',
       // target: 'http://cet-dev.markingtool.cn:8200',
       // target: 'http://cet-dev.markingtool.cn:8200',
     },
     },
   },
   },

+ 4 - 0
src/hooks/useSetImgBg.ts

@@ -139,10 +139,12 @@ export const useSetImgBg = (option: Ref<SetImgBgOption>, frontColor?: Ref<string
   const imageWorker = new TintImageWorker()
   const imageWorker = new TintImageWorker()
   const drawing = ref<boolean>(false)
   const drawing = ref<boolean>(false)
   const dataUrl = ref('')
   const dataUrl = ref('')
+  const imgLoading = ref(false)
   imageWorker.addEventListener('message', (e) => {
   imageWorker.addEventListener('message', (e) => {
     const data = e.data as MessageData
     const data = e.data as MessageData
     drawing.value = data.drawing
     drawing.value = data.drawing
     dataUrl.value = data.blob ? URL.createObjectURL(data.blob) : ''
     dataUrl.value = data.blob ? URL.createObjectURL(data.blob) : ''
+    imgLoading.value = false
   })
   })
 
 
   watch(
   watch(
@@ -153,6 +155,7 @@ export const useSetImgBg = (option: Ref<SetImgBgOption>, frontColor?: Ref<string
       () => option.value?.enableSharpen,
       () => option.value?.enableSharpen,
     ],
     ],
     () => {
     () => {
+      imgLoading.value = true
       nextTick(() => {
       nextTick(() => {
         const opt = unref(option)
         const opt = unref(option)
         if (!opt.image) {
         if (!opt.image) {
@@ -228,5 +231,6 @@ export const useSetImgBg = (option: Ref<SetImgBgOption>, frontColor?: Ref<string
   return {
   return {
     drawing,
     drawing,
     dataUrl,
     dataUrl,
+    imgLoading,
   }
   }
 }
 }

+ 2 - 1
src/modules/marking/mark/index.vue

@@ -34,6 +34,7 @@
       </div>
       </div>
       <div
       <div
         v-else-if="!!currentTask"
         v-else-if="!!currentTask"
+        v-loading="imgLoading"
         class="flex flex-1 direction-column radius-base full fill-blank mark-content"
         class="flex flex-1 direction-column radius-base full fill-blank mark-content"
         :style="{ 'background-color': backgroundColor }"
         :style="{ 'background-color': backgroundColor }"
       >
       >
@@ -594,7 +595,7 @@ const imgOption = computed<SetImgBgOption>(() => {
   }
   }
 })
 })
 
 
-const { drawing, dataUrl } = useSetImgBg(imgOption, frontColor, setFrontColor)
+const { drawing, dataUrl, imgLoading } = useSetImgBg(imgOption, frontColor, setFrontColor)
 
 
 const getEnableRemark = () => {
 const getEnableRemark = () => {
   useFetch('getMarkHistory')
   useFetch('getMarkHistory')