Browse Source

删除无用函数,整洁结构目录

main
pixel 4 years ago
parent
commit
772bdabcb2
  1. 3
      server/main.go
  2. 10
      server/utils/array_to_string.go
  3. 40
      server/utils/des.go
  4. 11
      server/utils/fmt_plus.go
  5. 54
      server/utils/upload_avatar_local.go

3
server/main.go

@ -4,10 +4,7 @@ import (
"gin-vue-admin/core" "gin-vue-admin/core"
"gin-vue-admin/global" "gin-vue-admin/global"
"gin-vue-admin/gva/init_data" "gin-vue-admin/gva/init_data"
//"gin-vue-admin/gva/init_data"
"gin-vue-admin/initialize" "gin-vue-admin/initialize"
//"runtime"
) )
// @title Swagger Example API // @title Swagger Example API

10
server/utils/array_to_string.go

@ -1,10 +0,0 @@
package utils
import (
"fmt"
"strings"
)
func ArrayToString(array []interface{}) string {
return strings.Replace(strings.Trim(fmt.Sprint(array), "[]"), " ", ",", -1)
}

40
server/utils/des.go

@ -1,40 +0,0 @@
package utils
import (
"bytes"
"crypto/cipher"
"crypto/des"
)
func padding(src []byte, blocksize int) []byte {
n := len(src)
padnum := blocksize - n%blocksize
pad := bytes.Repeat([]byte{byte(padnum)}, padnum)
dst := append(src, pad...)
return dst
}
func unpadding(src []byte) []byte {
n := len(src)
unpadnum := int(src[n-1])
dst := src[:n-unpadnum]
return dst
}
func EncryptDES(src []byte) []byte {
key := []byte("qimiao66")
block, _ := des.NewCipher(key)
src = padding(src, block.BlockSize())
blockmode := cipher.NewCBCEncrypter(block, key)
blockmode.CryptBlocks(src, src)
return src
}
func DecryptDES(src []byte) []byte {
key := []byte("qimiao66")
block, _ := des.NewCipher(key)
blockmode := cipher.NewCBCDecrypter(block, key)
blockmode.CryptBlocks(src, src)
src = unpadding(src)
return src
}

11
server/utils/struct_to_map.go → server/utils/fmt_plus.go

@ -1,6 +1,10 @@
package utils package utils
import "reflect"
import (
"fmt"
"reflect"
"strings"
)
// 利用反射将结构体转化为map // 利用反射将结构体转化为map
func StructToMap(obj interface{}) map[string]interface{} { func StructToMap(obj interface{}) map[string]interface{} {
@ -13,3 +17,8 @@ func StructToMap(obj interface{}) map[string]interface{} {
} }
return data return data
} }
//将数组格式化为字符串
func ArrayToString(array []interface{}) string {
return strings.Replace(strings.Trim(fmt.Sprint(array), "[]"), " ", ",", -1)
}

54
server/utils/upload_avatar_local.go

@ -1,54 +0,0 @@
package utils
import (
"gin-vue-admin/global"
"go.uber.org/zap"
"io"
"mime/multipart"
"os"
"path"
"strings"
"time"
)
func UploadAvatarLocal(file *multipart.FileHeader) (err error, localPath string, key string) {
// 读取文件后缀
ext := path.Ext(file.Filename)
// 读取文件名并加密
fileName := strings.TrimSuffix(file.Filename, ext)
fileName = MD5V([]byte(fileName))
// 拼接新文件名
lastName := fileName + "_" + time.Now().Format("20060102150405") + ext
// 读取全局变量的定义路径
savePath := global.GVA_CONFIG.LocalUpload.AvatarPath
// 尝试创建此路径
err = os.MkdirAll(savePath, os.ModePerm)
if err != nil{
global.GVA_LOG.Error("upload local file fail:", zap.Any("err", err))
return err, "", ""
}
// 拼接路径和文件名
dst := savePath + "/" + lastName
// 下面为上传逻辑
// 打开文件 defer 关闭
src, err := file.Open()
if err != nil {
global.GVA_LOG.Error("upload local file fail:", zap.Any("err", err))
return err, "", ""
}
defer src.Close()
// 创建文件 defer 关闭
out, err := os.Create(dst)
if err != nil {
global.GVA_LOG.Error("upload local file fail:", zap.Any("err", err))
return err, "", ""
}
defer out.Close()
// 传输(拷贝)文件
_, err = io.Copy(out, src)
if err != nil {
global.GVA_LOG.Error("upload local file fail:", zap.Any("err", err))
return err, "", ""
}
return nil, dst, lastName
}
Loading…
Cancel
Save