mirror of
https://github.com/TeaOSLab/EdgeCommon.git
synced 2025-11-14 04:40:54 +08:00
实现集成的IP库/初步完成IP库制作API
This commit is contained in:
9524
build/rpc.json
9524
build/rpc.json
File diff suppressed because it is too large
Load Diff
@@ -30,6 +30,7 @@ type MethodInfo struct {
|
|||||||
Code string `json:"code"`
|
Code string `json:"code"`
|
||||||
Doc string `json:"doc"`
|
Doc string `json:"doc"`
|
||||||
Roles []string `json:"roles"`
|
Roles []string `json:"roles"`
|
||||||
|
IsDeprecated bool `json:"isDeprecated"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type MessageInfo struct {
|
type MessageInfo struct {
|
||||||
@@ -197,7 +198,7 @@ func main() {
|
|||||||
// 先将rpc代码替换成临时代码
|
// 先将rpc代码替换成临时代码
|
||||||
var methodCodeMap = map[string][]byte{} // code => method
|
var methodCodeMap = map[string][]byte{} // code => method
|
||||||
var methodIndex = 0
|
var methodIndex = 0
|
||||||
var methodReg = regexp.MustCompile(`rpc\s+(\w+)\s*\(\s*(\w+)\s*\)\s*returns\s*\(\s*(\w+)\s*\)\s*;`)
|
var methodReg = regexp.MustCompile(`(?s)rpc\s+(\w+)\s*\(\s*(\w+)\s*\)\s*returns\s*\(\s*(\w+)\s*\)\s*(\{.+})?\s*;`)
|
||||||
data = methodReg.ReplaceAllFunc(data, func(methodData []byte) []byte {
|
data = methodReg.ReplaceAllFunc(data, func(methodData []byte) []byte {
|
||||||
methodIndex++
|
methodIndex++
|
||||||
var code = "METHOD" + types.String(methodIndex)
|
var code = "METHOD" + types.String(methodIndex)
|
||||||
@@ -236,6 +237,7 @@ func main() {
|
|||||||
Name: string(methodPieces[1]),
|
Name: string(methodPieces[1]),
|
||||||
RequestMessageName: string(methodPieces[2]),
|
RequestMessageName: string(methodPieces[2]),
|
||||||
ResponseMessageName: string(methodPieces[3]),
|
ResponseMessageName: string(methodPieces[3]),
|
||||||
|
IsDeprecated: strings.Contains(string(methodPieces[4]), "deprecated"),
|
||||||
Code: string(methodData),
|
Code: string(methodData),
|
||||||
Doc: readComments(serviceData[:methodCodePosition[0]]),
|
Doc: readComments(serviceData[:methodCodePosition[0]]),
|
||||||
Roles: roles,
|
Roles: roles,
|
||||||
|
|||||||
77
pkg/iplibrary/default_ip_library.go
Normal file
77
pkg/iplibrary/default_ip_library.go
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||||
|
|
||||||
|
package iplibrary
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bytes"
|
||||||
|
"compress/gzip"
|
||||||
|
_ "embed"
|
||||||
|
"github.com/iwind/TeaGo/logs"
|
||||||
|
"net"
|
||||||
|
)
|
||||||
|
|
||||||
|
//go:embed internal-ip-library.db
|
||||||
|
var ipLibraryData []byte
|
||||||
|
|
||||||
|
var library = NewIPLibrary()
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
err := library.Init()
|
||||||
|
if err != nil {
|
||||||
|
logs.Println("IP_LIBRARY", "initialized failed: "+err.Error())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func Lookup(ip net.IP) *QueryResult {
|
||||||
|
return library.Lookup(ip)
|
||||||
|
}
|
||||||
|
|
||||||
|
func LookupIP(ip string) *QueryResult {
|
||||||
|
return library.LookupIP(ip)
|
||||||
|
}
|
||||||
|
|
||||||
|
type IPLibrary struct {
|
||||||
|
reader *Reader
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewIPLibrary() *IPLibrary {
|
||||||
|
return &IPLibrary{}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *IPLibrary) Init() error {
|
||||||
|
var reader = bytes.NewReader(ipLibraryData)
|
||||||
|
gzipReader, err := gzip.NewReader(reader)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
defer func() {
|
||||||
|
_ = gzipReader.Close()
|
||||||
|
}()
|
||||||
|
|
||||||
|
libReader, err := NewReader(gzipReader)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
this.reader = libReader
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *IPLibrary) Lookup(ip net.IP) *QueryResult {
|
||||||
|
if this.reader == nil {
|
||||||
|
return &QueryResult{}
|
||||||
|
}
|
||||||
|
|
||||||
|
var result = this.reader.Lookup(ip)
|
||||||
|
if result == nil {
|
||||||
|
result = &QueryResult{}
|
||||||
|
}
|
||||||
|
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *IPLibrary) LookupIP(ip string) *QueryResult {
|
||||||
|
if this.reader == nil {
|
||||||
|
return &QueryResult{}
|
||||||
|
}
|
||||||
|
return this.Lookup(net.ParseIP(ip))
|
||||||
|
}
|
||||||
62
pkg/iplibrary/default_ip_library_test.go
Normal file
62
pkg/iplibrary/default_ip_library_test.go
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||||
|
|
||||||
|
package iplibrary_test
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/TeaOSLab/EdgeCommon/pkg/iplibrary"
|
||||||
|
"net"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestIPLibrary_Lookup(t *testing.T) {
|
||||||
|
var lib = iplibrary.NewIPLibrary()
|
||||||
|
err := lib.Init()
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
for _, ip := range []string{
|
||||||
|
"127.0.0.1",
|
||||||
|
"8.8.8.8",
|
||||||
|
"4.4.4.4",
|
||||||
|
"202.96.0.20",
|
||||||
|
"66.249.66.69",
|
||||||
|
"2222", // wrong ip
|
||||||
|
"2406:8c00:0:3401:133:18:168:70", // ipv6
|
||||||
|
} {
|
||||||
|
var result = lib.Lookup(net.ParseIP(ip))
|
||||||
|
t.Log(ip, "=>", result.IsOk(), "[", result.CountryName(), result.CountryId(), "][", result.ProvinceName(), result.ProvinceId(), "][", result.TownName(), result.TownId(), "][", result.ProviderName(), result.ProviderId(), "]")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestIPLibrary_LookupIP(t *testing.T) {
|
||||||
|
var lib = iplibrary.NewIPLibrary()
|
||||||
|
err := lib.Init()
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, ip := range []string{
|
||||||
|
"66.249.66.69",
|
||||||
|
} {
|
||||||
|
var result = lib.LookupIP(ip)
|
||||||
|
if result.IsOk() {
|
||||||
|
t.Log(ip, "=>", result.IsOk(), "[", result.CountryName(), result.CountryId(), "][", result.ProvinceName(), result.ProvinceId(), "][", result.TownName(), result.TownId(), "][", result.ProviderName(), result.ProviderId(), "]")
|
||||||
|
} else {
|
||||||
|
t.Log(ip, "=>", result.IsOk())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func BenchmarkIPLibrary_Lookup(b *testing.B) {
|
||||||
|
var lib = iplibrary.NewIPLibrary()
|
||||||
|
err := lib.Init()
|
||||||
|
if err != nil {
|
||||||
|
b.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
b.ResetTimer()
|
||||||
|
|
||||||
|
for i := 0; i < b.N; i++ {
|
||||||
|
_ = lib.LookupIP("66.249.66.69")
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
pkg/iplibrary/internal-ip-library.db
Normal file
BIN
pkg/iplibrary/internal-ip-library.db
Normal file
Binary file not shown.
@@ -102,6 +102,10 @@ func (this *Reader) load(reader io.Reader) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (this *Reader) Lookup(ip net.IP) *QueryResult {
|
func (this *Reader) Lookup(ip net.IP) *QueryResult {
|
||||||
|
if ip == nil {
|
||||||
|
return &QueryResult{}
|
||||||
|
}
|
||||||
|
|
||||||
var ipLong = configutils.IP2Long(ip)
|
var ipLong = configutils.IP2Long(ip)
|
||||||
var isV4 = configutils.IsIPv4(ip)
|
var isV4 = configutils.IsIPv4(ip)
|
||||||
var resultItem *ipItem
|
var resultItem *ipItem
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func TestNewFileReader(t *testing.T) {
|
func TestNewFileReader(t *testing.T) {
|
||||||
reader, err := iplibrary.NewFileReader("./ip.db")
|
reader, err := iplibrary.NewFileReader("./ip")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
@@ -37,6 +37,7 @@ func TestNewFileReader(t *testing.T) {
|
|||||||
"townName": result.TownName(),
|
"townName": result.TownName(),
|
||||||
"providerId": result.ProviderId(),
|
"providerId": result.ProviderId(),
|
||||||
"providerName": result.ProviderName(),
|
"providerName": result.ProviderName(),
|
||||||
|
"summary": result.Summary(),
|
||||||
}
|
}
|
||||||
dataJSON, err := json.MarshalIndent(data, "", " ")
|
dataJSON, err := json.MarshalIndent(data, "", " ")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -2,6 +2,11 @@
|
|||||||
|
|
||||||
package iplibrary
|
package iplibrary
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/iwind/TeaGo/lists"
|
||||||
|
"strings"
|
||||||
|
)
|
||||||
|
|
||||||
type QueryResult struct {
|
type QueryResult struct {
|
||||||
item *ipItem
|
item *ipItem
|
||||||
meta *Meta
|
meta *Meta
|
||||||
@@ -19,6 +24,9 @@ func (this *QueryResult) CountryId() int64 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (this *QueryResult) CountryName() string {
|
func (this *QueryResult) CountryName() string {
|
||||||
|
if this.item == nil {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
if this.item.countryId > 0 {
|
if this.item.countryId > 0 {
|
||||||
var country = this.meta.CountryWithId(this.item.countryId)
|
var country = this.meta.CountryWithId(this.item.countryId)
|
||||||
if country != nil {
|
if country != nil {
|
||||||
@@ -28,6 +36,19 @@ func (this *QueryResult) CountryName() string {
|
|||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (this *QueryResult) CountryCodes() []string {
|
||||||
|
if this.item == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
if this.item.countryId > 0 {
|
||||||
|
var country = this.meta.CountryWithId(this.item.countryId)
|
||||||
|
if country != nil {
|
||||||
|
return country.Codes
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
func (this *QueryResult) ProvinceId() int64 {
|
func (this *QueryResult) ProvinceId() int64 {
|
||||||
if this.item != nil {
|
if this.item != nil {
|
||||||
return this.item.provinceId
|
return this.item.provinceId
|
||||||
@@ -36,6 +57,9 @@ func (this *QueryResult) ProvinceId() int64 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (this *QueryResult) ProvinceName() string {
|
func (this *QueryResult) ProvinceName() string {
|
||||||
|
if this.item == nil {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
if this.item.provinceId > 0 {
|
if this.item.provinceId > 0 {
|
||||||
var province = this.meta.ProvinceWithId(this.item.provinceId)
|
var province = this.meta.ProvinceWithId(this.item.provinceId)
|
||||||
if province != nil {
|
if province != nil {
|
||||||
@@ -45,6 +69,19 @@ func (this *QueryResult) ProvinceName() string {
|
|||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (this *QueryResult) ProvinceCodes() []string {
|
||||||
|
if this.item == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
if this.item.provinceId > 0 {
|
||||||
|
var province = this.meta.ProvinceWithId(this.item.provinceId)
|
||||||
|
if province != nil {
|
||||||
|
return province.Codes
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
func (this *QueryResult) CityId() int64 {
|
func (this *QueryResult) CityId() int64 {
|
||||||
if this.item != nil {
|
if this.item != nil {
|
||||||
return this.item.cityId
|
return this.item.cityId
|
||||||
@@ -53,6 +90,9 @@ func (this *QueryResult) CityId() int64 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (this *QueryResult) CityName() string {
|
func (this *QueryResult) CityName() string {
|
||||||
|
if this.item == nil {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
if this.item.cityId > 0 {
|
if this.item.cityId > 0 {
|
||||||
var city = this.meta.CityWithId(this.item.cityId)
|
var city = this.meta.CityWithId(this.item.cityId)
|
||||||
if city != nil {
|
if city != nil {
|
||||||
@@ -70,6 +110,9 @@ func (this *QueryResult) TownId() int64 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (this *QueryResult) TownName() string {
|
func (this *QueryResult) TownName() string {
|
||||||
|
if this.item == nil {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
if this.item.townId > 0 {
|
if this.item.townId > 0 {
|
||||||
var town = this.meta.TownWithId(this.item.townId)
|
var town = this.meta.TownWithId(this.item.townId)
|
||||||
if town != nil {
|
if town != nil {
|
||||||
@@ -87,6 +130,9 @@ func (this *QueryResult) ProviderId() int64 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (this *QueryResult) ProviderName() string {
|
func (this *QueryResult) ProviderName() string {
|
||||||
|
if this.item == nil {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
if this.item.providerId > 0 {
|
if this.item.providerId > 0 {
|
||||||
var provider = this.meta.ProviderWithId(this.item.providerId)
|
var provider = this.meta.ProviderWithId(this.item.providerId)
|
||||||
if provider != nil {
|
if provider != nil {
|
||||||
@@ -95,3 +141,51 @@ func (this *QueryResult) ProviderName() string {
|
|||||||
}
|
}
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (this *QueryResult) ProviderCodes() []string {
|
||||||
|
if this.item == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
if this.item.providerId > 0 {
|
||||||
|
var provider = this.meta.ProviderWithId(this.item.providerId)
|
||||||
|
if provider != nil {
|
||||||
|
return provider.Codes
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *QueryResult) Summary() string {
|
||||||
|
if this.item == nil {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
var pieces = []string{}
|
||||||
|
var countryName = this.CountryName()
|
||||||
|
var provinceName = this.ProvinceName()
|
||||||
|
var cityName = this.CityName()
|
||||||
|
var townName = this.TownName()
|
||||||
|
var providerName = this.ProviderName()
|
||||||
|
|
||||||
|
if len(countryName) > 0 {
|
||||||
|
pieces = append(pieces, countryName)
|
||||||
|
}
|
||||||
|
if len(provinceName) > 0 && !lists.ContainsString(pieces, provinceName) {
|
||||||
|
pieces = append(pieces, provinceName)
|
||||||
|
}
|
||||||
|
if len(cityName) > 0 && !lists.ContainsString(pieces, cityName) && !lists.ContainsString(pieces, strings.TrimSuffix(cityName, "市")) {
|
||||||
|
pieces = append(pieces, cityName)
|
||||||
|
}
|
||||||
|
if len(townName) > 0 && !lists.ContainsString(pieces, townName) && !lists.ContainsString(pieces, strings.TrimSuffix(townName, "县")) {
|
||||||
|
pieces = append(pieces, cityName)
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(providerName) > 0 && !lists.ContainsString(pieces, providerName) {
|
||||||
|
if len(pieces) > 0 {
|
||||||
|
pieces = append(pieces, "|")
|
||||||
|
}
|
||||||
|
pieces = append(pieces, providerName)
|
||||||
|
}
|
||||||
|
|
||||||
|
return strings.Join(pieces, " ")
|
||||||
|
}
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ func (this *Template) Extract(text string, emptyValues []string) (values map[str
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
var v = matches[index]
|
var v = matches[index]
|
||||||
if name != "ipFrom" && name != "ipTo" && (v == "0" || v == "无" || lists.ContainsString(emptyValues, v)) {
|
if name != "ipFrom" && name != "ipTo" && (v == "0" || v == "无" || v == "空" || lists.ContainsString(emptyValues, v)) {
|
||||||
v = ""
|
v = ""
|
||||||
}
|
}
|
||||||
values[name] = v
|
values[name] = v
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func TestNewFileWriter(t *testing.T) {
|
func TestNewFileWriter(t *testing.T) {
|
||||||
writer, err := iplibrary.NewFileWriter("./ip.db", &iplibrary.Meta{
|
writer, err := iplibrary.NewFileWriter("./internal-ip-library.db", &iplibrary.Meta{
|
||||||
Author: "GoEdge",
|
Author: "GoEdge",
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -31,14 +31,19 @@ type IPLibraryFile struct {
|
|||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
|
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||||
FileId int64 `protobuf:"varint,2,opt,name=fileId,proto3" json:"fileId,omitempty"`
|
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
|
||||||
IsFinished bool `protobuf:"varint,3,opt,name=isFinished,proto3" json:"isFinished,omitempty"`
|
FileId int64 `protobuf:"varint,3,opt,name=fileId,proto3" json:"fileId,omitempty"`
|
||||||
CreatedAt int64 `protobuf:"varint,4,opt,name=createdAt,proto3" json:"createdAt,omitempty"`
|
Template string `protobuf:"bytes,4,opt,name=template,proto3" json:"template,omitempty"`
|
||||||
CountryNames []string `protobuf:"bytes,5,rep,name=countryNames,proto3" json:"countryNames,omitempty"`
|
EmptyValues []string `protobuf:"bytes,5,rep,name=emptyValues,proto3" json:"emptyValues,omitempty"`
|
||||||
Provinces []*IPLibraryFile_Province `protobuf:"bytes,6,rep,name=provinces,proto3" json:"provinces,omitempty"`
|
GeneratedFileId int64 `protobuf:"varint,6,opt,name=generatedFileId,proto3" json:"generatedFileId,omitempty"`
|
||||||
Cities []*IPLibraryFile_City `protobuf:"bytes,7,rep,name=cities,proto3" json:"cities,omitempty"`
|
GeneratedAt int64 `protobuf:"varint,7,opt,name=generatedAt,proto3" json:"generatedAt,omitempty"`
|
||||||
Towns []*IPLibraryFile_Town `protobuf:"bytes,8,rep,name=towns,proto3" json:"towns,omitempty"`
|
IsFinished bool `protobuf:"varint,8,opt,name=isFinished,proto3" json:"isFinished,omitempty"`
|
||||||
ProviderNames []string `protobuf:"bytes,9,rep,name=providerNames,proto3" json:"providerNames,omitempty"`
|
CreatedAt int64 `protobuf:"varint,9,opt,name=createdAt,proto3" json:"createdAt,omitempty"`
|
||||||
|
CountryNames []string `protobuf:"bytes,10,rep,name=countryNames,proto3" json:"countryNames,omitempty"`
|
||||||
|
Provinces []*IPLibraryFile_Province `protobuf:"bytes,11,rep,name=provinces,proto3" json:"provinces,omitempty"`
|
||||||
|
Cities []*IPLibraryFile_City `protobuf:"bytes,12,rep,name=cities,proto3" json:"cities,omitempty"`
|
||||||
|
Towns []*IPLibraryFile_Town `protobuf:"bytes,13,rep,name=towns,proto3" json:"towns,omitempty"`
|
||||||
|
ProviderNames []string `protobuf:"bytes,14,rep,name=providerNames,proto3" json:"providerNames,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *IPLibraryFile) Reset() {
|
func (x *IPLibraryFile) Reset() {
|
||||||
@@ -80,6 +85,13 @@ func (x *IPLibraryFile) GetId() int64 {
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *IPLibraryFile) GetName() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Name
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
func (x *IPLibraryFile) GetFileId() int64 {
|
func (x *IPLibraryFile) GetFileId() int64 {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.FileId
|
return x.FileId
|
||||||
@@ -87,6 +99,34 @@ func (x *IPLibraryFile) GetFileId() int64 {
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *IPLibraryFile) GetTemplate() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Template
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *IPLibraryFile) GetEmptyValues() []string {
|
||||||
|
if x != nil {
|
||||||
|
return x.EmptyValues
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *IPLibraryFile) GetGeneratedFileId() int64 {
|
||||||
|
if x != nil {
|
||||||
|
return x.GeneratedFileId
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *IPLibraryFile) GetGeneratedAt() int64 {
|
||||||
|
if x != nil {
|
||||||
|
return x.GeneratedAt
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
func (x *IPLibraryFile) GetIsFinished() bool {
|
func (x *IPLibraryFile) GetIsFinished() bool {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.IsFinished
|
return x.IsFinished
|
||||||
@@ -330,50 +370,60 @@ var File_models_model_ip_library_file_proto protoreflect.FileDescriptor
|
|||||||
var file_models_model_ip_library_file_proto_rawDesc = []byte{
|
var file_models_model_ip_library_file_proto_rawDesc = []byte{
|
||||||
0x0a, 0x22, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69,
|
0x0a, 0x22, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69,
|
||||||
0x70, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x70,
|
0x70, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x70,
|
||||||
0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0x9a, 0x05, 0x0a, 0x0d, 0x49, 0x50, 0x4c,
|
0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0xb8, 0x06, 0x0a, 0x0d, 0x49, 0x50, 0x4c,
|
||||||
0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
|
0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
|
||||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69,
|
0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
|
||||||
0x6c, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x65,
|
0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16,
|
||||||
0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64,
|
0x0a, 0x06, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06,
|
||||||
0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68,
|
0x66, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61,
|
||||||
0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18,
|
0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61,
|
||||||
0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74,
|
0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65,
|
||||||
0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x73,
|
0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x56, 0x61,
|
||||||
0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x4e,
|
0x6c, 0x75, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65,
|
||||||
0x61, 0x6d, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65,
|
0x64, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x67,
|
||||||
0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x50, 0x4c,
|
0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x20,
|
||||||
0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x46, 0x69, 0x6c, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69,
|
0x0a, 0x0b, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x07, 0x20,
|
||||||
0x6e, 0x63, 0x65, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x2e,
|
0x01, 0x28, 0x03, 0x52, 0x0b, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74,
|
||||||
0x0a, 0x06, 0x63, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16,
|
0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x18, 0x08,
|
||||||
0x2e, 0x70, 0x62, 0x2e, 0x49, 0x50, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x46, 0x69, 0x6c,
|
0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64,
|
||||||
0x65, 0x2e, 0x43, 0x69, 0x74, 0x79, 0x52, 0x06, 0x63, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x2c,
|
0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x09, 0x20,
|
||||||
0x0a, 0x05, 0x74, 0x6f, 0x77, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e,
|
0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x22,
|
||||||
0x70, 0x62, 0x2e, 0x49, 0x50, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x46, 0x69, 0x6c, 0x65,
|
0x0a, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x0a,
|
||||||
0x2e, 0x54, 0x6f, 0x77, 0x6e, 0x52, 0x05, 0x74, 0x6f, 0x77, 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0d,
|
0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x4e, 0x61, 0x6d,
|
||||||
0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x09, 0x20,
|
0x65, 0x73, 0x12, 0x38, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x73, 0x18,
|
||||||
0x03, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d,
|
0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x50, 0x4c, 0x69, 0x62,
|
||||||
0x65, 0x73, 0x1a, 0x50, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x12, 0x20,
|
0x72, 0x61, 0x72, 0x79, 0x46, 0x69, 0x6c, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63,
|
||||||
0x0a, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
|
0x65, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x06,
|
||||||
0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65,
|
0x63, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70,
|
||||||
0x12, 0x22, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65,
|
0x62, 0x2e, 0x49, 0x50, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x46, 0x69, 0x6c, 0x65, 0x2e,
|
||||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65,
|
0x43, 0x69, 0x74, 0x79, 0x52, 0x06, 0x63, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x05,
|
||||||
0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x68, 0x0a, 0x04, 0x43, 0x69, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x0b,
|
0x74, 0x6f, 0x77, 0x6e, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x62,
|
||||||
|
0x2e, 0x49, 0x50, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x46, 0x69, 0x6c, 0x65, 0x2e, 0x54,
|
||||||
|
0x6f, 0x77, 0x6e, 0x52, 0x05, 0x74, 0x6f, 0x77, 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x72,
|
||||||
|
0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28,
|
||||||
|
0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73,
|
||||||
|
0x1a, 0x50, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b,
|
||||||
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
|
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||||
0x09, 0x52, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22,
|
0x09, 0x52, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22,
|
||||||
0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02,
|
0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02,
|
||||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x4e, 0x61,
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x4e, 0x61,
|
||||||
0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x69, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03,
|
0x6d, 0x65, 0x1a, 0x68, 0x0a, 0x04, 0x43, 0x69, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f,
|
||||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x69, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x84,
|
0x75, 0x6e, 0x74, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||||
0x01, 0x0a, 0x04, 0x54, 0x6f, 0x77, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74,
|
0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c,
|
||||||
0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f,
|
0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
|
||||||
0x75, 0x6e, 0x74, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x72, 0x6f,
|
0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65,
|
||||||
0x76, 0x69, 0x6e, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
|
0x12, 0x1a, 0x0a, 0x08, 0x63, 0x69, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01,
|
||||||
0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a,
|
0x28, 0x09, 0x52, 0x08, 0x63, 0x69, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x84, 0x01, 0x0a,
|
||||||
0x08, 0x63, 0x69, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
|
0x04, 0x54, 0x6f, 0x77, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79,
|
||||||
0x08, 0x63, 0x69, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x6f, 0x77,
|
0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x75, 0x6e,
|
||||||
0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x6f, 0x77,
|
0x74, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69,
|
||||||
0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70,
|
0x6e, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70,
|
||||||
0x72, 0x6f, 0x74, 0x6f, 0x33,
|
0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63,
|
||||||
|
0x69, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63,
|
||||||
|
0x69, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x6f, 0x77, 0x6e, 0x4e,
|
||||||
|
0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x6f, 0x77, 0x6e, 0x4e,
|
||||||
|
0x61, 0x6d, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f,
|
||||||
|
0x74, 0x6f, 0x33,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ const (
|
|||||||
// of the legacy proto package is being used.
|
// of the legacy proto package is being used.
|
||||||
const _ = proto.ProtoPackageIsVersion4
|
const _ = proto.ProtoPackageIsVersion4
|
||||||
|
|
||||||
|
// 国家/地区
|
||||||
type RegionCountry struct {
|
type RegionCountry struct {
|
||||||
state protoimpl.MessageState
|
state protoimpl.MessageState
|
||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
|
|||||||
@@ -842,7 +842,7 @@ var file_service_ip_library_proto_rawDesc = []byte{
|
|||||||
0x76, 0x69, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x70,
|
0x76, 0x69, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x70,
|
||||||
0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d,
|
0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d,
|
||||||
0x6d, 0x61, 0x72, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d,
|
0x6d, 0x61, 0x72, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d,
|
||||||
0x61, 0x72, 0x79, 0x32, 0xa3, 0x05, 0x0a, 0x10, 0x49, 0x50, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72,
|
0x61, 0x72, 0x79, 0x32, 0x99, 0x05, 0x0a, 0x10, 0x49, 0x50, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72,
|
||||||
0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x4f, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x61,
|
0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x4f, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x61,
|
||||||
0x74, 0x65, 0x49, 0x50, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x12, 0x1a, 0x2e, 0x70, 0x62,
|
0x74, 0x65, 0x49, 0x50, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x12, 0x1a, 0x2e, 0x70, 0x62,
|
||||||
0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x50, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79,
|
0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x50, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79,
|
||||||
@@ -874,18 +874,17 @@ var file_service_ip_library_proto_rawDesc = []byte{
|
|||||||
0x49, 0x50, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x44,
|
0x49, 0x50, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x44,
|
||||||
0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x50, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65,
|
0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x50, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65,
|
||||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75,
|
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75,
|
||||||
0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x4c, 0x0a, 0x0e, 0x6c, 0x6f,
|
0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x47, 0x0a, 0x0e, 0x6c, 0x6f,
|
||||||
0x6f, 0x6b, 0x75, 0x70, 0x49, 0x50, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x2e, 0x70,
|
0x6f, 0x6b, 0x75, 0x70, 0x49, 0x50, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x2e, 0x70,
|
||||||
0x62, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x49, 0x50, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e,
|
0x62, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x49, 0x50, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e,
|
||||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x6f, 0x6f,
|
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x6f, 0x6f,
|
||||||
0x6b, 0x75, 0x70, 0x49, 0x50, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
0x6b, 0x75, 0x70, 0x49, 0x50, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||||
0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x4f, 0x0a, 0x0f, 0x6c, 0x6f, 0x6f, 0x6b,
|
0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x49, 0x50, 0x52,
|
||||||
0x75, 0x70, 0x49, 0x50, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x2e, 0x70, 0x62,
|
0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b,
|
||||||
0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x49, 0x50, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73,
|
0x75, 0x70, 0x49, 0x50, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x6f, 0x6f,
|
0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x49, 0x50,
|
||||||
0x6b, 0x75, 0x70, 0x49, 0x50, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70,
|
0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42,
|
||||||
0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70,
|
0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@@ -1172,10 +1171,8 @@ type IPLibraryServiceClient interface {
|
|||||||
// Deprecated: Do not use.
|
// Deprecated: Do not use.
|
||||||
// 删除IP库
|
// 删除IP库
|
||||||
DeleteIPLibrary(ctx context.Context, in *DeleteIPLibraryRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
|
DeleteIPLibrary(ctx context.Context, in *DeleteIPLibraryRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
|
||||||
// Deprecated: Do not use.
|
|
||||||
// 查询某个IP信息
|
// 查询某个IP信息
|
||||||
LookupIPRegion(ctx context.Context, in *LookupIPRegionRequest, opts ...grpc.CallOption) (*LookupIPRegionResponse, error)
|
LookupIPRegion(ctx context.Context, in *LookupIPRegionRequest, opts ...grpc.CallOption) (*LookupIPRegionResponse, error)
|
||||||
// Deprecated: Do not use.
|
|
||||||
// 查询一组IP信息
|
// 查询一组IP信息
|
||||||
LookupIPRegions(ctx context.Context, in *LookupIPRegionsRequest, opts ...grpc.CallOption) (*LookupIPRegionsResponse, error)
|
LookupIPRegions(ctx context.Context, in *LookupIPRegionsRequest, opts ...grpc.CallOption) (*LookupIPRegionsResponse, error)
|
||||||
}
|
}
|
||||||
@@ -1238,7 +1235,6 @@ func (c *iPLibraryServiceClient) DeleteIPLibrary(ctx context.Context, in *Delete
|
|||||||
return out, nil
|
return out, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Deprecated: Do not use.
|
|
||||||
func (c *iPLibraryServiceClient) LookupIPRegion(ctx context.Context, in *LookupIPRegionRequest, opts ...grpc.CallOption) (*LookupIPRegionResponse, error) {
|
func (c *iPLibraryServiceClient) LookupIPRegion(ctx context.Context, in *LookupIPRegionRequest, opts ...grpc.CallOption) (*LookupIPRegionResponse, error) {
|
||||||
out := new(LookupIPRegionResponse)
|
out := new(LookupIPRegionResponse)
|
||||||
err := c.cc.Invoke(ctx, "/pb.IPLibraryService/lookupIPRegion", in, out, opts...)
|
err := c.cc.Invoke(ctx, "/pb.IPLibraryService/lookupIPRegion", in, out, opts...)
|
||||||
@@ -1248,7 +1244,6 @@ func (c *iPLibraryServiceClient) LookupIPRegion(ctx context.Context, in *LookupI
|
|||||||
return out, nil
|
return out, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Deprecated: Do not use.
|
|
||||||
func (c *iPLibraryServiceClient) LookupIPRegions(ctx context.Context, in *LookupIPRegionsRequest, opts ...grpc.CallOption) (*LookupIPRegionsResponse, error) {
|
func (c *iPLibraryServiceClient) LookupIPRegions(ctx context.Context, in *LookupIPRegionsRequest, opts ...grpc.CallOption) (*LookupIPRegionsResponse, error) {
|
||||||
out := new(LookupIPRegionsResponse)
|
out := new(LookupIPRegionsResponse)
|
||||||
err := c.cc.Invoke(ctx, "/pb.IPLibraryService/lookupIPRegions", in, out, opts...)
|
err := c.cc.Invoke(ctx, "/pb.IPLibraryService/lookupIPRegions", in, out, opts...)
|
||||||
@@ -1275,10 +1270,8 @@ type IPLibraryServiceServer interface {
|
|||||||
// Deprecated: Do not use.
|
// Deprecated: Do not use.
|
||||||
// 删除IP库
|
// 删除IP库
|
||||||
DeleteIPLibrary(context.Context, *DeleteIPLibraryRequest) (*RPCSuccess, error)
|
DeleteIPLibrary(context.Context, *DeleteIPLibraryRequest) (*RPCSuccess, error)
|
||||||
// Deprecated: Do not use.
|
|
||||||
// 查询某个IP信息
|
// 查询某个IP信息
|
||||||
LookupIPRegion(context.Context, *LookupIPRegionRequest) (*LookupIPRegionResponse, error)
|
LookupIPRegion(context.Context, *LookupIPRegionRequest) (*LookupIPRegionResponse, error)
|
||||||
// Deprecated: Do not use.
|
|
||||||
// 查询一组IP信息
|
// 查询一组IP信息
|
||||||
LookupIPRegions(context.Context, *LookupIPRegionsRequest) (*LookupIPRegionsResponse, error)
|
LookupIPRegions(context.Context, *LookupIPRegionsRequest) (*LookupIPRegionsResponse, error)
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -5,14 +5,19 @@ package pb;
|
|||||||
|
|
||||||
message IPLibraryFile {
|
message IPLibraryFile {
|
||||||
int64 id = 1;
|
int64 id = 1;
|
||||||
int64 fileId = 2;
|
string name = 2;
|
||||||
bool isFinished = 3;
|
int64 fileId = 3;
|
||||||
int64 createdAt = 4;
|
string template = 4;
|
||||||
repeated string countryNames = 5;
|
repeated string emptyValues = 5;
|
||||||
repeated Province provinces = 6;
|
int64 generatedFileId = 6;
|
||||||
repeated City cities = 7;
|
int64 generatedAt = 7;
|
||||||
repeated Town towns = 8;
|
bool isFinished = 8;
|
||||||
repeated string providerNames = 9;
|
int64 createdAt = 9;
|
||||||
|
repeated string countryNames = 10;
|
||||||
|
repeated Province provinces = 11;
|
||||||
|
repeated City cities = 12;
|
||||||
|
repeated Town towns = 13;
|
||||||
|
repeated string providerNames = 14;
|
||||||
|
|
||||||
message Province {
|
message Province {
|
||||||
string countryName = 1;
|
string countryName = 1;
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ option go_package = "./pb";
|
|||||||
|
|
||||||
package pb;
|
package pb;
|
||||||
|
|
||||||
|
// 国家/地区
|
||||||
message RegionCountry {
|
message RegionCountry {
|
||||||
int64 id = 1;
|
int64 id = 1;
|
||||||
string name = 2;
|
string name = 2;
|
||||||
|
|||||||
@@ -34,14 +34,10 @@ service IPLibraryService {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// 查询某个IP信息
|
// 查询某个IP信息
|
||||||
rpc lookupIPRegion (LookupIPRegionRequest) returns (LookupIPRegionResponse) {
|
rpc lookupIPRegion (LookupIPRegionRequest) returns (LookupIPRegionResponse);
|
||||||
option deprecated = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
// 查询一组IP信息
|
// 查询一组IP信息
|
||||||
rpc lookupIPRegions (LookupIPRegionsRequest) returns (LookupIPRegionsResponse) {
|
rpc lookupIPRegions (LookupIPRegionsRequest) returns (LookupIPRegionsResponse);
|
||||||
option deprecated = true;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 创建IP库
|
// 创建IP库
|
||||||
|
|||||||
@@ -11,9 +11,11 @@ import "models/model_region_city.proto";
|
|||||||
import "models/model_region_town.proto";
|
import "models/model_region_town.proto";
|
||||||
import "models/model_region_provider.proto";
|
import "models/model_region_provider.proto";
|
||||||
|
|
||||||
|
|
||||||
// IP库文件管理
|
// IP库文件管理
|
||||||
service IPLibraryFileService {
|
service IPLibraryFileService {
|
||||||
|
// 查找所有已完成的IP库文件
|
||||||
|
rpc findAllFinishedIPLibraryFiles(FindAllFinishedIPLibraryFilesRequest) returns (FindAllFinishedIPLibraryFilesResponse);
|
||||||
|
|
||||||
// 查找所有未完成的IP库文件
|
// 查找所有未完成的IP库文件
|
||||||
rpc findAllUnfinishedIPLibraryFiles(FindAllUnfinishedIPLibraryFilesRequest) returns (FindAllUnfinishedIPLibraryFilesResponse);
|
rpc findAllUnfinishedIPLibraryFiles(FindAllUnfinishedIPLibraryFilesRequest) returns (FindAllUnfinishedIPLibraryFilesResponse);
|
||||||
|
|
||||||
@@ -40,6 +42,21 @@ service IPLibraryFileService {
|
|||||||
|
|
||||||
// 生成IP库文件
|
// 生成IP库文件
|
||||||
rpc generateIPLibraryFile(GenerateIPLibraryFileRequest) returns (RPCSuccess);
|
rpc generateIPLibraryFile(GenerateIPLibraryFileRequest) returns (RPCSuccess);
|
||||||
|
|
||||||
|
// 设置某个IP库为已完成
|
||||||
|
rpc updateIPLibraryFileFinished(UpdateIPLibraryFileFinishedRequest) returns (RPCSuccess);
|
||||||
|
|
||||||
|
// 删除IP库文件
|
||||||
|
rpc deleteIPLibraryFile(DeleteIPLibraryFileRequest) returns (RPCSuccess);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查找所有已完成的IP库文件
|
||||||
|
message FindAllFinishedIPLibraryFilesRequest {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
message FindAllFinishedIPLibraryFilesResponse {
|
||||||
|
repeated IPLibraryFile ipLibraryFiles = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查找所有未完成的IP库文件
|
// 查找所有未完成的IP库文件
|
||||||
@@ -62,14 +79,15 @@ message FindIPLibraryFileResponse {
|
|||||||
|
|
||||||
// 创建IP库文件
|
// 创建IP库文件
|
||||||
message CreateIPLibraryFileRequest {
|
message CreateIPLibraryFileRequest {
|
||||||
string template = 1;
|
string name = 1;
|
||||||
repeated string emptyValues = 2;
|
string template = 2;
|
||||||
int64 fileId = 3;
|
repeated string emptyValues = 3;
|
||||||
bytes countriesJSON = 4;
|
int64 fileId = 4;
|
||||||
bytes provincesJSON = 5;
|
bytes countriesJSON = 5;
|
||||||
bytes citiesJSON = 6;
|
bytes provincesJSON = 6;
|
||||||
bytes townsJSON = 7;
|
bytes citiesJSON = 7;
|
||||||
bytes providersJSON = 8;
|
bytes townsJSON = 8;
|
||||||
|
bytes providersJSON = 9;
|
||||||
}
|
}
|
||||||
|
|
||||||
message CreateIPLibraryFileResponse {
|
message CreateIPLibraryFileResponse {
|
||||||
@@ -156,3 +174,13 @@ message CheckProvidersWithIPLibraryFileIdResponse {
|
|||||||
message GenerateIPLibraryFileRequest {
|
message GenerateIPLibraryFileRequest {
|
||||||
int64 ipLibraryFileId = 1;
|
int64 ipLibraryFileId = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 设置某个IP库为已完成
|
||||||
|
message UpdateIPLibraryFileFinishedRequest {
|
||||||
|
int64 ipLibraryFileId = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除IP库文件
|
||||||
|
message DeleteIPLibraryFileRequest {
|
||||||
|
int64 ipLibraryFileId = 1;
|
||||||
|
}
|
||||||
@@ -6,7 +6,7 @@ package pb;
|
|||||||
import "models/model_region_country.proto";
|
import "models/model_region_country.proto";
|
||||||
import "models/rpc_messages.proto";
|
import "models/rpc_messages.proto";
|
||||||
|
|
||||||
// 国家相关服务
|
// 国家/地区相关服务
|
||||||
service RegionCountryService {
|
service RegionCountryService {
|
||||||
// 查找所有的国家/地区列表
|
// 查找所有的国家/地区列表
|
||||||
rpc findAllEnabledRegionCountries (FindAllEnabledRegionCountriesRequest) returns (FindAllEnabledRegionCountriesResponse) {
|
rpc findAllEnabledRegionCountries (FindAllEnabledRegionCountriesRequest) returns (FindAllEnabledRegionCountriesResponse) {
|
||||||
|
|||||||
Reference in New Issue
Block a user