Bladeren bron

Merge branches 'develop' and 'gva_gormv2_dev' of https://github.com/flipped-aurora/gin-vue-admin into gva_gormv2_dev

QM303176530 4 jaren geleden
bovenliggende
commit
a203985bbb
5 gewijzigde bestanden met toevoegingen van 65 en 33 verwijderingen
  1. 6 3
      server/service/exa_simple_uploader.go
  2. 7 3
      server/utils/breakpoint_continue.go
  3. 36 27
      server/utils/zipfiles.go
  4. 5 0
      web/public/index.html
  5. 11 0
      web/vue.config.js

+ 6 - 3
server/service/exa_simple_uploader.go

@@ -51,7 +51,12 @@ func MergeFileMd5(md5 string, fileName string) (err error) {
 	rd, err := ioutil.ReadDir(dir)
 	_ = os.MkdirAll(finishDir, os.ModePerm)
 	//创建目标文件
-	fd, _ := os.OpenFile(finishDir+fileName, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0644)
+	fd, err := os.OpenFile(finishDir+fileName, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0644)
+	if err != nil {
+		return
+	}
+	//关闭文件
+	defer fd.Close()
 	//将切片文件按照顺序写入
 	for k := range rd {
 		content, _ := ioutil.ReadFile(dir + "/" + fileName + strconv.Itoa(k+1))
@@ -60,8 +65,6 @@ func MergeFileMd5(md5 string, fileName string) (err error) {
 			_ = os.Remove(finishDir + fileName)
 		}
 	}
-	//关闭文件
-	defer fd.Close()
 
 	if err != nil {
 		return err

+ 7 - 3
server/utils/breakpoint_continue.go

@@ -55,7 +55,6 @@ func CheckMd5(content []byte, chunkMd5 string) (CanUpload bool) {
 func makeFileContent(content []byte, fileName string, FileDir string, contentNumber int) (error, string) {
 	path := FileDir + fileName + "_" + strconv.Itoa(contentNumber)
 	f, err := os.Create(path)
-	defer f.Close()
 	if err != nil {
 		return err, path
 	} else {
@@ -64,6 +63,7 @@ func makeFileContent(content []byte, fileName string, FileDir string, contentNum
 			return err, path
 		}
 	}
+	defer f.Close()
 	return nil, path
 }
 
@@ -79,7 +79,11 @@ func MakeFile(fileName string, FileMd5 string) (error, string) {
 		return err, finishDir + fileName
 	}
 	_ = os.MkdirAll(finishDir, os.ModePerm)
-	fd, _ := os.OpenFile(finishDir+fileName, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0644)
+	fd, err := os.OpenFile(finishDir+fileName, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0644)
+	if err != nil {
+		return err, finishDir + fileName
+	}
+	defer fd.Close()
 	for k := range rd {
 		content, _ := ioutil.ReadFile(breakpointDir + FileMd5 + "/" + fileName + "_" + strconv.Itoa(k))
 		_, err = fd.Write(content)
@@ -88,7 +92,7 @@ func MakeFile(fileName string, FileMd5 string) (error, string) {
 			return err, finishDir + fileName
 		}
 	}
-	defer fd.Close()
+
 	return nil, finishDir + fileName
 }
 

+ 36 - 27
server/utils/zipfiles.go

@@ -13,51 +13,60 @@ import (
 //@param: filename string, files []string, oldform, newform string
 //@return: error
 
-func ZipFiles(filename string, files []string, oldform, newform string) error {
+func ZipFiles(filename string, files []string, oldForm, newForm string) error {
 
 	newZipFile, err := os.Create(filename)
 	if err != nil {
 		return err
 	}
-	defer newZipFile.Close()
+	defer func() {
+		_ = newZipFile.Close()
+	}()
 
 	zipWriter := zip.NewWriter(newZipFile)
-	defer zipWriter.Close()
+	defer func() {
+		_ = zipWriter.Close()
+	}()
 
 	// 把files添加到zip中
 	for _, file := range files {
 
-		zipfile, err := os.Open(file)
-		if err != nil {
-			return err
-		}
-		defer zipfile.Close()
-
-		// 获取file的基础信息
-		info, err := zipfile.Stat()
-		if err != nil {
-			return err
-		}
+		err = func(file string) error {
+			zipFile, err := os.Open(file)
+			if err != nil {
+				return err
+			}
+			defer zipFile.Close()
+			// 获取file的基础信息
+			info, err := zipFile.Stat()
+			if err != nil {
+				return err
+			}
 
-		header, err := zip.FileInfoHeader(info)
-		if err != nil {
-			return err
-		}
+			header, err := zip.FileInfoHeader(info)
+			if err != nil {
+				return err
+			}
 
-		// 使用上面的FileInforHeader() 就可以把文件保存的路径替换成我们自己想要的了,如下面
-		header.Name = strings.Replace(file, oldform, newform, -1)
+			// 使用上面的FileInforHeader() 就可以把文件保存的路径替换成我们自己想要的了,如下面
+			header.Name = strings.Replace(file, oldForm, newForm, -1)
 
-		// 优化压缩
-		// 更多参考see http://golang.org/pkg/archive/zip/#pkg-constants
-		header.Method = zip.Deflate
+			// 优化压缩
+			// 更多参考see http://golang.org/pkg/archive/zip/#pkg-constants
+			header.Method = zip.Deflate
 
-		writer, err := zipWriter.CreateHeader(header)
+			writer, err := zipWriter.CreateHeader(header)
+			if err != nil {
+				return err
+			}
+			if _, err = io.Copy(writer, zipFile); err != nil {
+				return err
+			}
+			return nil
+		}(file)
 		if err != nil {
 			return err
 		}
-		if _, err = io.Copy(writer, zipfile); err != nil {
-			return err
-		}
 	}
 	return nil
 }

+ 5 - 0
web/public/index.html

@@ -8,6 +8,11 @@
     <meta name="viewport" content="width=device-width,initial-scale=1.0">
     <link rel="icon" href="<%= BASE_URL %>favicon.ico">
     <title>GIN-VUE-ADMIN</title>
+    <% if(process.env.NODE_ENV!=='development'){ %>
+    <script src="//cdn.staticfile.org/vue/2.6.10/vue.min.js"></script>
+    <script src="//cdn.staticfile.org/axios/0.19.0/axios.min.js"></script>
+    <script src="//cdn.staticfile.org/echarts/4.7.0/echarts.min.js"></script>    
+    <% } %>  
 </head>
 
 <body>

+ 11 - 0
web/vue.config.js

@@ -59,6 +59,17 @@ module.exports = {
         config
             .when(process.env.NODE_ENV !== 'development',
                 config => {
+
+                    // 不打包 begin
+                    // 1.目前已经测试通过[vue,axios,echarts]可以cdn引用,其它组件测试通过后可继续添加
+                    // 2.此处添加不打包后,需在public/index.html head中添加相应cdn资源链接
+                    config.set('externals', {
+                        vue: 'Vue',
+                        axios: 'axios',
+                        echarts: 'echarts'
+                    })
+                    // 不打包 end
+
                     config
                         .plugin('ScriptExtHtmlWebpackPlugin')
                         .after('html')