65 lines
1.5 KiB
Go
65 lines
1.5 KiB
Go
package common
|
||
|
||
import (
|
||
"dubbo.apache.org/dubbo-go/v3/common/constant"
|
||
"fmt"
|
||
"fonchain-fiee/pkg/e"
|
||
"os"
|
||
)
|
||
|
||
type Result struct {
|
||
IP string `json:"ip"`
|
||
Location Location `json:"location"`
|
||
AdInfo AdInfo `json:"ad_info"`
|
||
}
|
||
|
||
type Location struct {
|
||
Lat float64 `json:"lat"`
|
||
Lng float64 `json:"lng"`
|
||
}
|
||
|
||
type AdInfo struct {
|
||
Nation string `json:"nation"`
|
||
Province string `json:"province"`
|
||
City string `json:"city"`
|
||
District string `json:"district"`
|
||
AdcodE int `json:"adcode"`
|
||
}
|
||
|
||
type IpResult struct {
|
||
Status int `json:"status"`
|
||
Message string `json:"message"`
|
||
RequestID string `json:"request_id"`
|
||
Result Result `json:"result"`
|
||
}
|
||
|
||
type IPDict struct {
|
||
fileData []byte //文件数据
|
||
offset uint32 //当前下标定位
|
||
firstOffset uint32 //第一条IP记录的偏移地址
|
||
lastOffset uint32 //最后一条IP记录的偏移地址
|
||
totalIPNum uint32 //IP记录的总条数(不包含版本信息记录)
|
||
}
|
||
|
||
type IPLocation struct {
|
||
IP string `json:"ip"`
|
||
BeginIP string `json:"begin_ip"`
|
||
EndIP string `json:"end_ip"`
|
||
Country string `json:"country"`
|
||
Area string `json:"area"`
|
||
}
|
||
|
||
func GetConf() (iniConf string, err error) {
|
||
if os.Getenv(e.MODE_ENV) != "" {
|
||
if err = os.Setenv(constant.ConfigFileEnvKey, fmt.Sprintf("./conf/%s/%s", os.Getenv(e.MODE_ENV), e.SERVER_DUBBOGO_CONFIG)); err != nil {
|
||
return
|
||
}
|
||
}
|
||
if os.Getenv(e.MODE_ENV) == "" {
|
||
iniConf = fmt.Sprintf("../conf/%s", e.SERVER_CONFIG)
|
||
} else {
|
||
iniConf = fmt.Sprintf("./conf/%s/%s", os.Getenv(e.MODE_ENV), e.SERVER_CONFIG)
|
||
}
|
||
return
|
||
}
|