utils.go 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. package utils
  2. import (
  3. "crypto/md5"
  4. "encoding/base64"
  5. "encoding/hex"
  6. uuid "github.com/satori/go.uuid"
  7. "io/ioutil"
  8. "os"
  9. "strings"
  10. "time"
  11. )
  12. func Hmac(data string) string {
  13. h := md5.New()
  14. h.Write([]byte(data))
  15. return hex.EncodeToString(h.Sum(nil))
  16. }
  17. func IsStringEmpty(str string) bool {
  18. return strings.Trim(str, " ") == ""
  19. }
  20. func GetUUID() string {
  21. u := uuid.NewV4()
  22. return strings.ReplaceAll(u.String(), "-", "")
  23. }
  24. func PathExists(path string) bool {
  25. _, err := os.Stat(path)
  26. if err == nil {
  27. return true
  28. }
  29. if os.IsNotExist(err) {
  30. return false
  31. }
  32. return false
  33. }
  34. func Base64ToImage(imageBase64 string) ([]byte, error) {
  35. image, err := base64.StdEncoding.DecodeString(imageBase64)
  36. if err != nil {
  37. return nil, err
  38. }
  39. return image, nil
  40. }
  41. func GetDirFiles(dir string) ([]string, error) {
  42. dirList, err := ioutil.ReadDir(dir)
  43. if err != nil {
  44. return nil, err
  45. }
  46. filesRet := make([]string, 0)
  47. for _, file := range dirList {
  48. if file.IsDir() {
  49. files, err := GetDirFiles(dir + string(os.PathSeparator) + file.Name())
  50. if err != nil {
  51. return nil, err
  52. }
  53. filesRet = append(filesRet, files...)
  54. } else {
  55. filesRet = append(filesRet, dir+string(os.PathSeparator)+file.Name())
  56. }
  57. }
  58. return filesRet, nil
  59. }
  60. func GetCurrentTimeStamp() int64 {
  61. return time.Now().UnixNano() / 1e6
  62. }
  63. //slice去重
  64. func RemoveRepByMap(slc []string) []string {
  65. result := []string{}
  66. tempMap := map[string]byte{}
  67. for _, e := range slc {
  68. l := len(tempMap)
  69. tempMap[e] = 0
  70. if len(tempMap) != l {
  71. result = append(result, e)
  72. }
  73. }
  74. return result
  75. }