fix
This commit is contained in:
+29
-2
@@ -3,6 +3,7 @@ package main
|
||||
import (
|
||||
"admin/admin"
|
||||
"flag"
|
||||
"fmt"
|
||||
"net"
|
||||
"os"
|
||||
"strconv"
|
||||
@@ -59,7 +60,6 @@ func main() {
|
||||
listenOn := utils.GetConfigString("base.listenOn")
|
||||
mode := utils.GetConfigString("base.mode")
|
||||
serviceName := utils.GetConfigString("base.name")
|
||||
registerIP := utils.GetConfigString("base.registerIP")
|
||||
|
||||
// 初始化服务发现
|
||||
if err := discovery.Init(discovery.Config{
|
||||
@@ -80,13 +80,14 @@ func main() {
|
||||
// 注册服务
|
||||
if err := discovery.Register(discovery.Instance{
|
||||
ServiceName: serviceName,
|
||||
IP: registerIP,
|
||||
IP: c.Nacos.RegisterIP,
|
||||
Port: port,
|
||||
Group: c.Nacos.Group,
|
||||
}); err != nil {
|
||||
logx.Errorf("nacos register: %v", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
logx.Infof("服务注册成功: %s:%d", c.Nacos.RegisterIP, port)
|
||||
|
||||
defer func() {
|
||||
if err := discovery.Deregister(); err != nil {
|
||||
@@ -149,6 +150,7 @@ func main() {
|
||||
s.Start()
|
||||
}
|
||||
|
||||
// listenPort 拆分端口
|
||||
func listenPort(listenOn string) (uint64, error) {
|
||||
_, portStr, err := net.SplitHostPort(listenOn)
|
||||
if err != nil {
|
||||
@@ -156,3 +158,28 @@ func listenPort(listenOn string) (uint64, error) {
|
||||
}
|
||||
return strconv.ParseUint(portStr, 10, 64)
|
||||
}
|
||||
|
||||
// getContainerIntranetIP 获取容器内网IPv4(排除回环地址)
|
||||
func getContainerIntranetIP() (string, error) {
|
||||
addrs, err := net.InterfaceAddrs()
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
for _, addr := range addrs {
|
||||
ipNet, ok := addr.(*net.IPNet)
|
||||
if !ok {
|
||||
continue
|
||||
}
|
||||
// 跳过127.0.0.1回环地址
|
||||
if ipNet.IP.IsLoopback() {
|
||||
continue
|
||||
}
|
||||
// 只取IPv4地址
|
||||
ipv4 := ipNet.IP.To4()
|
||||
if ipv4 != nil {
|
||||
return ipv4.String(), nil
|
||||
}
|
||||
}
|
||||
return "", fmt.Errorf("未检测到可用内网IPv4地址")
|
||||
}
|
||||
|
||||
@@ -16,8 +16,9 @@ type JwtInfo struct {
|
||||
}
|
||||
|
||||
type Token struct {
|
||||
Token string `json:"token"`
|
||||
Refresh string `json:"refresh"`
|
||||
Token string `json:"token"`
|
||||
Refresh string `json:"refresh"`
|
||||
Info JwtInfo `json:"info"`
|
||||
}
|
||||
|
||||
type JwtInfoServices struct {
|
||||
|
||||
@@ -64,21 +64,20 @@ func (l *AdminLoginLogic) AdminLogin(in *admin.AdminLoginRequest) (*admin.Respon
|
||||
}
|
||||
|
||||
data := dao.JwtInfo{
|
||||
Id: info.Id,
|
||||
Name: info.Name,
|
||||
Email: info.Email,
|
||||
Phone: info.Phone,
|
||||
Avatar: info.Avatar,
|
||||
//Roles: info.Roles,
|
||||
Id: info.Id,
|
||||
Name: info.Name,
|
||||
Email: info.Email,
|
||||
Phone: info.Phone,
|
||||
Avatar: info.Avatar,
|
||||
LastTime: utils.Now(),
|
||||
}
|
||||
retData := dao.Token{
|
||||
Token: utils.MD5Encrypt(data.Phone + utils.Now().String()),
|
||||
Info: data,
|
||||
}
|
||||
retData.Refresh = utils.MD5Encrypt(data.Phone + retData.Token)
|
||||
|
||||
l.setLogin(retData.Token, retData.Refresh, data)
|
||||
|
||||
return l.ok(retData), nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user