Browse Source

优化下载和解压进度

sun-pc 7 months ago
parent
commit
d12ad75710
3 changed files with 31 additions and 15 deletions
  1. 31 11
      src/api/index.go
  2. 0 1
      src/go.mod
  3. 0 3
      src/go.sum

+ 31 - 11
src/api/index.go

@@ -6,8 +6,6 @@ import (
 	"fmt"
 	"io"
 	"launcher/conf"
-	"launcher/mproto/entity"
-	"launcher/socket"
 	"os"
 	"os/exec"
 	"path"
@@ -250,21 +248,34 @@ func RegApi(event *cef.BrowserEvent, window cef.IBrowserWindow, bw *cef.LCLBrows
 			timeout = 60 * 20
 		}
 		go func() {
-			eventName := sid
+			// eventName := sid
 			DownFile(url, fpath, time.Duration(timeout)*time.Second, func(w *WriteCounter) {
 				fmt.Println("on start=>")
-				socket.BroadMsgObj(&entity.NormMsg{Sub: eventName, Type: "start"})
+				// socket.BroadMsgObj(&entity.NormMsg{Sub: eventName, Type: "start"})
+				downloadStartJsFunc := fmt.Sprintf("DownloadStartJsFunc('%s','%s')", sid, "start")
+				fmt.Println("DownloadStartJsFunc:", downloadStartJsFunc)
+				window.Chromium().ExecuteJavaScript(downloadStartJsFunc, "", 0)
 
 			}, func(w *WriteCounter) {
-				socket.BroadMsgObj(&entity.NormMsg{Sub: eventName, Type: "progress", Fva11: float32(w.Curr) / float32(w.Total)})
+				// socket.BroadMsgObj(&entity.NormMsg{Sub: eventName, Type: "progress", Fva11: float32(w.Curr) / float32(w.Total)})
+				downloadProgressJsFunc := fmt.Sprintf("DownloadProgressJsFunc('%s','%s',%f)", sid, "progress", float32(w.Curr)/float32(w.Total))
+				fmt.Println("DownloadProgressJsFunc:", downloadProgressJsFunc)
+				window.Chromium().ExecuteJavaScript(downloadProgressJsFunc, "", 0)
+
 			}, func(err string) {
 				fmt.Println("on error=>", err)
 				delete(downingMap, fpath)
-				socket.BroadMsgObj(&entity.NormMsg{Sub: eventName, Type: "error", Error: err})
+				// socket.BroadMsgObj(&entity.NormMsg{Sub: eventName, Type: "error", Error: err})
+				downloadErrorJsFunc := fmt.Sprintf("DownloadErrorJsFunc('%s','%s')", sid, "error")
+				fmt.Println("DownloadErrorJsFunc:", downloadErrorJsFunc)
+				window.Chromium().ExecuteJavaScript(downloadErrorJsFunc, "", 0)
 			}, func() {
 				fmt.Println("on succ=>")
 				delete(downingMap, fpath)
-				socket.BroadMsgObj(&entity.NormMsg{Sub: eventName, Type: "succ"})
+				// socket.BroadMsgObj(&entity.NormMsg{Sub: eventName, Type: "succ"})
+				downloadSuccJsFunc := fmt.Sprintf("DownloadSuccJsFunc('%s','%s')", sid, "succ")
+				fmt.Println("DownloadSuccJsFunc:", downloadSuccJsFunc)
+				window.Chromium().ExecuteJavaScript(downloadSuccJsFunc, "", 0)
 			})
 		}()
 		return ""
@@ -363,15 +374,24 @@ func RegApi(event *cef.BrowserEvent, window cef.IBrowserWindow, bw *cef.LCLBrows
 
 	ipc.On("Unzip", func(sid, fpath string, distDir string) bool {
 		go func() {
-			eventName := sid
+			// eventName := sid
 			err := Unzip(fpath, distDir, func(per1000 int) {
-				socket.BroadMsgObj(&entity.NormMsg{Sub: eventName, Type: "progress", Fva11: float32(per1000 / 100.0)})
+				// socket.BroadMsgObj(&entity.NormMsg{Sub: eventName, Type: "progress", Fva11: float32(per1000 / 100.0)})
+				unzipProgressJsFunc := fmt.Sprintf("UnzipProgressJsFunc('%s','%s',%f)", sid, "progress", float32(per1000/100.0))
+				fmt.Println("UnzipProgressJsFunc:", unzipProgressJsFunc)
+				window.Chromium().ExecuteJavaScript(unzipProgressJsFunc, "", 0)
 			})
 			if err != nil {
-				socket.BroadMsgObj(&entity.NormMsg{Sub: eventName, Type: "error", Error: err.Error()})
+				// socket.BroadMsgObj(&entity.NormMsg{Sub: eventName, Type: "error", Error: err.Error()})
+				unzipErrorJsFunc := fmt.Sprintf("UnzipErrorJsFunc('%s','%s')", sid, "error")
+				fmt.Println("UnzipErrorJsFunc:", unzipErrorJsFunc)
+				window.Chromium().ExecuteJavaScript(unzipErrorJsFunc, "", 0)
 				return
 			}
-			socket.BroadMsgObj(&entity.NormMsg{Sub: eventName, Type: "succ"})
+			// socket.BroadMsgObj(&entity.NormMsg{Sub: eventName, Type: "succ"})
+			unzipSuccJsFunc := fmt.Sprintf("UnzipSuccJsFunc('%s','%s')", sid, "succ")
+			fmt.Println("UnzipSuccJsFunc:", unzipSuccJsFunc)
+			window.Chromium().ExecuteJavaScript(unzipSuccJsFunc, "", 0)
 		}()
 		return true
 	})

+ 0 - 1
src/go.mod

@@ -23,7 +23,6 @@ require (
 )
 
 require (
-	github.com/StackExchange/wmi v1.2.1 // indirect
 	github.com/cenkalti/backoff/v4 v4.2.0 // indirect
 	github.com/cespare/xxhash/v2 v2.2.0 // indirect
 	github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect

+ 0 - 3
src/go.sum

@@ -113,8 +113,6 @@ github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbt
 github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
 github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
 github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d/go.mod h1:HI8ITrYtUY+O+ZhtlqUnD8+KwNPOyugEhfP9fdUIaEQ=
-github.com/StackExchange/wmi v1.2.1 h1:VIkavFPXSjcnS+O8yTq7NI32k0R5Aj+v39y29VYDOSA=
-github.com/StackExchange/wmi v1.2.1/go.mod h1:rcmrprowKIVzvc+NUiLncP2uuArMWLCbu9SBzvHz7e8=
 github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw=
 github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
 github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
@@ -471,7 +469,6 @@ github.com/go-logr/logr v1.2.1/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbV
 github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
 github.com/go-logr/stdr v1.2.0/go.mod h1:YkVgnZu1ZjjL7xTxrfm/LLZBfkhTqSR1ydtm6jTKKwI=
 github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
-github.com/go-ole/go-ole v1.2.5/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
 github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY=
 github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
 github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0=