mirror of
https://github.com/go-admin-team/go-admin.git
synced 2026-09-20 17:57:54 +00:00
96 lines
1.9 KiB
Go
96 lines
1.9 KiB
Go
package utils
|
|
|
|
import (
|
|
"encoding/json"
|
|
"fmt"
|
|
"github.com/gin-gonic/gin"
|
|
"io/ioutil"
|
|
"net/http"
|
|
"strconv"
|
|
"strings"
|
|
"time"
|
|
)
|
|
|
|
func StringToInt64(e string) (int64, error) {
|
|
return strconv.ParseInt(e, 10, 64)
|
|
}
|
|
|
|
func IntToString(e int) string {
|
|
return strconv.Itoa(e)
|
|
}
|
|
|
|
func Float64ToString(e float64) string {
|
|
return strconv.FormatFloat(e, 'E', -1, 64)
|
|
}
|
|
|
|
func Int64ToString(e int64) string {
|
|
return strconv.FormatInt(e, 10)
|
|
}
|
|
|
|
//获取URL中批量id并解析
|
|
func IdsStrToIdsInt64Group(key string, c *gin.Context) []int64 {
|
|
IDS := make([]int64, 0)
|
|
ids := strings.Split(c.Param(key), ",")
|
|
for i := 0; i < len(ids); i++ {
|
|
ID, _ := strconv.ParseInt(ids[i], 10, 64)
|
|
IDS = append(IDS, ID)
|
|
}
|
|
return IDS
|
|
}
|
|
|
|
func GetCurrntTime() string {
|
|
return time.Now().Format("2006/01/02 15:04:05")
|
|
}
|
|
|
|
func GetLocation(ip string) string {
|
|
if ip == "127.0.0.1" || ip == "localhost" {
|
|
return "内部IP"
|
|
}
|
|
resp, err := http.Get("https://restapi.amap.com/v3/ip?ip=" + ip + "&key=3fabc36c20379fbb9300c79b19d5d05e")
|
|
if err != nil {
|
|
panic(err)
|
|
|
|
}
|
|
defer resp.Body.Close()
|
|
s, err := ioutil.ReadAll(resp.Body)
|
|
fmt.Printf(string(s))
|
|
|
|
m := make(map[string]string)
|
|
|
|
err = json.Unmarshal(s, &m)
|
|
if err != nil {
|
|
fmt.Println("Umarshal failed:", err)
|
|
}
|
|
if m["province"] == "" {
|
|
return "未知位置"
|
|
}
|
|
return m["province"] + "-" + m["city"]
|
|
}
|
|
|
|
func StructToJsonStr(e interface{}) (string, error) {
|
|
if b, err := json.Marshal(e); err == nil {
|
|
return string(b), err
|
|
} else {
|
|
return "", err
|
|
}
|
|
}
|
|
|
|
func GetBodyString(c *gin.Context) (string, error) {
|
|
body, err := ioutil.ReadAll(c.Request.Body)
|
|
if err != nil {
|
|
fmt.Printf("read body err, %v\n", err)
|
|
return string(body), nil
|
|
} else {
|
|
return "", err
|
|
}
|
|
}
|
|
|
|
func JsonStrToMap(e string) (map[string]interface{}, error) {
|
|
var dict map[string]interface{}
|
|
if err := json.Unmarshal([]byte(e), &dict); err == nil {
|
|
return dict, err
|
|
} else {
|
|
return nil, err
|
|
}
|
|
}
|