43 lines
777 B
Go
43 lines
777 B
Go
package controller
|
|
|
|
import (
|
|
"github.com/gin-gonic/gin"
|
|
"net"
|
|
"service/bizcommon/util"
|
|
"strings"
|
|
"time"
|
|
)
|
|
|
|
func Healthcheck(ctx *gin.Context) {
|
|
data := map[string]interface{}{
|
|
"time": time.Now().Unix(),
|
|
"time_str": util.GetTodayZeroTime().Format(time.RFC3339),
|
|
}
|
|
ReplyOk(ctx, data)
|
|
}
|
|
|
|
func TestIp(ctx *gin.Context) {
|
|
ReplyOk(ctx, getIp())
|
|
}
|
|
|
|
func getIp() string {
|
|
addrs, err := net.InterfaceAddrs()
|
|
if err != nil {
|
|
return "127.0.0.1"
|
|
}
|
|
retIp := ""
|
|
for _, address := range addrs {
|
|
// 检查ip地址判断是否回环地址
|
|
if ipnet, ok := address.(*net.IPNet); ok && !ipnet.IP.IsLoopback() {
|
|
if ipnet.IP.To4() != nil {
|
|
ip := ipnet.IP.String()
|
|
if strings.HasPrefix(ip, "172.") {
|
|
retIp = ip
|
|
break
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return retIp
|
|
}
|