diff --git a/common/utils/qqwry b/common/utils/qqwry new file mode 160000 index 000000000..1dd385f77 --- /dev/null +++ b/common/utils/qqwry @@ -0,0 +1 @@ +Subproject commit 1dd385f77d98b00af714852037afb081b1fd15dd diff --git a/common/utils/tcpping.go b/common/utils/tcpping.go new file mode 100644 index 000000000..ac1c268cd --- /dev/null +++ b/common/utils/tcpping.go @@ -0,0 +1,17 @@ +package utils + +import ( + "net" + "time" +) + +func TcpPing(address string) (n int64, err error) { + s := time.Now() + tcpConn, err := net.Dial("tcp", address) + n = time.Now().Sub(s).Nanoseconds() + if err != nil { + return + } + tcpConn.Close() + return +} diff --git a/go.work b/go.work index 51d741e7f..51ee86589 100644 --- a/go.work +++ b/go.work @@ -15,6 +15,7 @@ use ( ./common/utils/goja ./common/utils/limit ./common/utils/log + ./common/utils/qqwry ./common/utils/sturc ./common/utils/xml ./logic diff --git a/logic/service/fight/node/PetSwitch.go b/logic/service/fight/node/PetSwitch.go index d11c4053b..0e1ec67e9 100644 --- a/logic/service/fight/node/PetSwitch.go +++ b/logic/service/fight/node/PetSwitch.go @@ -1,7 +1,6 @@ package node import ( - "blazing/logic/service/fight/info" "blazing/logic/service/fight/input" ) @@ -24,6 +23,6 @@ func (e *EffectNode) OnOwnerSwitchIn(ctx input.Ctx) bool { // 自身下场,清除掉技能效果 func (e *EffectNode) OnOwnerSwitchOut(ctx input.Ctx) bool { - e.Input.AttackValue = info.NewAttackValue(e.Input.UserID) +// e.Input.AttackValue = info.NewAttackValue(e.Input.UserID) return true } diff --git a/modules/base/service/base_sys_log.go b/modules/base/service/base_sys_log.go index fab2de926..bab78c4e7 100644 --- a/modules/base/service/base_sys_log.go +++ b/modules/base/service/base_sys_log.go @@ -2,12 +2,14 @@ package service import ( "blazing/cool" + "fmt" "blazing/modules/base/model" "github.com/gogf/gf/v2/frame/g" "github.com/gogf/gf/v2/os/gtime" "github.com/gogf/gf/v2/util/gconv" + "github.com/xiaoqidun/qqwry" ) type BaseSysLogService struct { @@ -44,7 +46,19 @@ func (s *BaseSysLogService) Record(ctx g.Ctx) { baseSysLog.UserID = admin.UserId baseSysLog.Action = r.Method + ":" + r.URL.Path baseSysLog.IP = r.GetClientIp() - baseSysLog.IPAddr = r.GetClientIp() + // 从内存或缓存查询IP + location, err := qqwry.QueryIP("119.29.29.29") + if err != nil { + fmt.Printf("错误:%v\n", err) + return + } + baseSysLog.IPAddr = fmt.Sprintf("国家:%s,省份:%s,城市:%s,区县:%s,运营商:%s\n", + location.Country, + location.Province, + location.City, + location.District, + location.ISP, + ) baseSysLog.Params = r.GetBodyString() m := cool.DBM(s.Model) m.Insert(g.Map{ @@ -68,3 +82,11 @@ func (s *BaseSysLogService) Clear(isAll bool) (err error) { } return } + +func init() { + // 从文件加载IP数据库 + if err := qqwry.LoadFile("public/qqwry.ipdb"); err != nil { + panic(err) + } + +} diff --git a/public/login b/public/login index 43cea5fd9..5eae8d12c 100755 Binary files a/public/login and b/public/login differ diff --git a/public/qqwry.ipdb b/public/qqwry.ipdb new file mode 100644 index 000000000..1931d34e0 Binary files /dev/null and b/public/qqwry.ipdb differ