package CommonUtil import ( "crypto/md5" "crypto/sha1" "dsSzxy/Utils/ConfigUtil" "encoding/hex" "encoding/json" "fmt" uuid "github.com/satori/go.uuid" "github.com/spf13/viper" "math/rand" "os" "strconv" "strings" "time" ) /** 功能:获取UUID 作者:黄海 时间:2020-02-03 */ func GetUUID() string { u2 := strings.ToUpper(uuid.NewV4().String()) return u2 } /** 功能:将JSON字符串转化为map数组 作者: 黄海 时间:2020-04-17 */ func ConvertJsonStringToMapArray(data string) []map[string]interface{} { var m = make([]map[string]interface{}, 0) str := []byte(data) json.Unmarshal(str, &m) return m } func MD5(v string) string { d := []byte(v) m := md5.New() m.Write(d) return hex.EncodeToString(m.Sum(nil)) } // 判断所给路径文件/文件夹是否存在 func Exists(path string) bool { _, err := os.Stat(path) //os.Stat获取文件信息 if err != nil { if os.IsExist(err) { return true } return false } return true } //json字符串转map func JsonStringToMap(jsonStr string) (map[string]string, error) { m := make(map[string]string) err := json.Unmarshal([]byte(jsonStr), &m) if err != nil { fmt.Printf("Unmarshal with error: %+v\n", err) return nil, err } return m, nil } //将字符串转为int32整数 func ConvertStringToInt32(s string) int32 { i, _ := strconv.Atoi(s) return int32(i) } //将整数64转为字符串 func ConvertInt64ToString(i int64) string { s := strconv.FormatInt(i, 10) return s } /** 功能: 获取扩展名 */ func Ext(path string) string { for i := len(path) - 1; i >= 0 && path[i] != '/'; i-- { if path[i] == '.' { return path[i:] } } return "" } /** 功能:获取6位随机数 作者:吴缤 */ func GetSixRandom() string { return fmt.Sprintf("%v", rand.New(rand.NewSource(time.Now().UnixNano())).Int31n(1000000)) } /** 功能:获取毫秒时间戳 作者:吴缤 */ func GetTimeStamp() string { return fmt.Sprintf("%v", time.Now().UnixNano()/1e6) } /** 功能:字符串SHA1加密 作者:吴缤 */ func SHA1(s string) string { o := sha1.New() o.Write([]byte(s)) return hex.EncodeToString(o.Sum(nil)) } /** 功能:获取融云配置信息 作者:吴缤 */ func GetRongYunConfig() (map[string]string, error) { m := make(map[string]string) viper.SetConfigFile(ConfigUtil.RongYunConfigPath) if err := viper.ReadInConfig(); err != nil { return nil, err } m["suffix"] = viper.GetString("rong_server_name") m["app_key"] = viper.GetString("rong_key") m["app_secret"] = viper.GetString("rong_secret") return m, nil }