add golang sdk

This commit is contained in:
yanweidong 2025-09-06 20:38:38 +08:00
parent 8d208d5c48
commit 7f1dd479aa
5 changed files with 1384 additions and 0 deletions

1
golnag/go.mod Normal file
View File

@ -0,0 +1 @@
module git.apinb.com/bsm-sdk/client/golnag

360
golnag/initial/check.pb.go Normal file
View File

@ -0,0 +1,360 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.8
// protoc (unknown)
// source: check.proto
package initial
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
unsafe "unsafe"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type Crc struct {
state protoimpl.MessageState `protogen:"open.v1"`
Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Crc) Reset() {
*x = Crc{}
mi := &file_check_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Crc) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Crc) ProtoMessage() {}
func (x *Crc) ProtoReflect() protoreflect.Message {
mi := &file_check_proto_msgTypes[0]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Crc.ProtoReflect.Descriptor instead.
func (*Crc) Descriptor() ([]byte, []int) {
return file_check_proto_rawDescGZIP(), []int{0}
}
func (x *Crc) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
type StatusReply struct {
state protoimpl.MessageState `protogen:"open.v1"`
Status int64 `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"` // 状态码
Identity string `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity,omitempty"` // 标识码
Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` //状态说明
Timeseq int64 `protobuf:"varint,4,opt,name=timeseq,proto3" json:"timeseq,omitempty"` // 响应时间序列
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *StatusReply) Reset() {
*x = StatusReply{}
mi := &file_check_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *StatusReply) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StatusReply) ProtoMessage() {}
func (x *StatusReply) ProtoReflect() protoreflect.Message {
mi := &file_check_proto_msgTypes[1]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use StatusReply.ProtoReflect.Descriptor instead.
func (*StatusReply) Descriptor() ([]byte, []int) {
return file_check_proto_rawDescGZIP(), []int{1}
}
func (x *StatusReply) GetStatus() int64 {
if x != nil {
return x.Status
}
return 0
}
func (x *StatusReply) GetIdentity() string {
if x != nil {
return x.Identity
}
return ""
}
func (x *StatusReply) GetMessage() string {
if x != nil {
return x.Message
}
return ""
}
func (x *StatusReply) GetTimeseq() int64 {
if x != nil {
return x.Timeseq
}
return 0
}
type CheckForUpdatesRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
App string `protobuf:"bytes,1,opt,name=app,proto3" json:"app,omitempty"` // 应用程序名称 <必填>
Os string `protobuf:"bytes,2,opt,name=os,proto3" json:"os,omitempty"` // 操作系统 <必填>
Arch string `protobuf:"bytes,3,opt,name=arch,proto3" json:"arch,omitempty"` // 构架名称 <必填>
Version string `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"` // 版本号 <必填>
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CheckForUpdatesRequest) Reset() {
*x = CheckForUpdatesRequest{}
mi := &file_check_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CheckForUpdatesRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CheckForUpdatesRequest) ProtoMessage() {}
func (x *CheckForUpdatesRequest) ProtoReflect() protoreflect.Message {
mi := &file_check_proto_msgTypes[2]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CheckForUpdatesRequest.ProtoReflect.Descriptor instead.
func (*CheckForUpdatesRequest) Descriptor() ([]byte, []int) {
return file_check_proto_rawDescGZIP(), []int{2}
}
func (x *CheckForUpdatesRequest) GetApp() string {
if x != nil {
return x.App
}
return ""
}
func (x *CheckForUpdatesRequest) GetOs() string {
if x != nil {
return x.Os
}
return ""
}
func (x *CheckForUpdatesRequest) GetArch() string {
if x != nil {
return x.Arch
}
return ""
}
func (x *CheckForUpdatesRequest) GetVersion() string {
if x != nil {
return x.Version
}
return ""
}
type CheckForUpdatesReply struct {
state protoimpl.MessageState `protogen:"open.v1"`
Identity string `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"` // 唯一码
Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` // 版本号
Summary string `protobuf:"bytes,3,opt,name=summary,proto3" json:"summary,omitempty"` // 更析说明
Files string `protobuf:"bytes,4,opt,name=files,proto3" json:"files,omitempty"` // 更新文件以及文件hash
Pubdate string `protobuf:"bytes,5,opt,name=pubdate,proto3" json:"pubdate,omitempty"` // 发布时间
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CheckForUpdatesReply) Reset() {
*x = CheckForUpdatesReply{}
mi := &file_check_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CheckForUpdatesReply) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CheckForUpdatesReply) ProtoMessage() {}
func (x *CheckForUpdatesReply) ProtoReflect() protoreflect.Message {
mi := &file_check_proto_msgTypes[3]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CheckForUpdatesReply.ProtoReflect.Descriptor instead.
func (*CheckForUpdatesReply) Descriptor() ([]byte, []int) {
return file_check_proto_rawDescGZIP(), []int{3}
}
func (x *CheckForUpdatesReply) GetIdentity() string {
if x != nil {
return x.Identity
}
return ""
}
func (x *CheckForUpdatesReply) GetVersion() string {
if x != nil {
return x.Version
}
return ""
}
func (x *CheckForUpdatesReply) GetSummary() string {
if x != nil {
return x.Summary
}
return ""
}
func (x *CheckForUpdatesReply) GetFiles() string {
if x != nil {
return x.Files
}
return ""
}
func (x *CheckForUpdatesReply) GetPubdate() string {
if x != nil {
return x.Pubdate
}
return ""
}
var File_check_proto protoreflect.FileDescriptor
const file_check_proto_rawDesc = "" +
"\n" +
"\vcheck.proto\x12\ainitial\"\x19\n" +
"\x03Crc\x12\x12\n" +
"\x04code\x18\x01 \x01(\tR\x04code\"u\n" +
"\vStatusReply\x12\x16\n" +
"\x06status\x18\x01 \x01(\x03R\x06status\x12\x1a\n" +
"\bidentity\x18\x02 \x01(\tR\bidentity\x12\x18\n" +
"\amessage\x18\x03 \x01(\tR\amessage\x12\x18\n" +
"\atimeseq\x18\x04 \x01(\x03R\atimeseq\"h\n" +
"\x16CheckForUpdatesRequest\x12\x10\n" +
"\x03app\x18\x01 \x01(\tR\x03app\x12\x0e\n" +
"\x02os\x18\x02 \x01(\tR\x02os\x12\x12\n" +
"\x04arch\x18\x03 \x01(\tR\x04arch\x12\x18\n" +
"\aversion\x18\x04 \x01(\tR\aversion\"\x96\x01\n" +
"\x14CheckForUpdatesReply\x12\x1a\n" +
"\bidentity\x18\x01 \x01(\tR\bidentity\x12\x18\n" +
"\aversion\x18\x02 \x01(\tR\aversion\x12\x18\n" +
"\asummary\x18\x03 \x01(\tR\asummary\x12\x14\n" +
"\x05files\x18\x04 \x01(\tR\x05files\x12\x18\n" +
"\apubdate\x18\x05 \x01(\tR\apubdate2\x83\x01\n" +
"\x05Check\x12-\n" +
"\x05Hello\x12\f.initial.Crc\x1a\x14.initial.StatusReply\"\x00\x12K\n" +
"\aUpdates\x12\x1f.initial.CheckForUpdatesRequest\x1a\x1d.initial.CheckForUpdatesReply\"\x00B\vZ\t.;initialb\x06proto3"
var (
file_check_proto_rawDescOnce sync.Once
file_check_proto_rawDescData []byte
)
func file_check_proto_rawDescGZIP() []byte {
file_check_proto_rawDescOnce.Do(func() {
file_check_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_check_proto_rawDesc), len(file_check_proto_rawDesc)))
})
return file_check_proto_rawDescData
}
var file_check_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
var file_check_proto_goTypes = []any{
(*Crc)(nil), // 0: initial.Crc
(*StatusReply)(nil), // 1: initial.StatusReply
(*CheckForUpdatesRequest)(nil), // 2: initial.CheckForUpdatesRequest
(*CheckForUpdatesReply)(nil), // 3: initial.CheckForUpdatesReply
}
var file_check_proto_depIdxs = []int32{
0, // 0: initial.Check.Hello:input_type -> initial.Crc
2, // 1: initial.Check.Updates:input_type -> initial.CheckForUpdatesRequest
1, // 2: initial.Check.Hello:output_type -> initial.StatusReply
3, // 3: initial.Check.Updates:output_type -> initial.CheckForUpdatesReply
2, // [2:4] is the sub-list for method output_type
0, // [0:2] is the sub-list for method input_type
0, // [0:0] is the sub-list for extension type_name
0, // [0:0] is the sub-list for extension extendee
0, // [0:0] is the sub-list for field type_name
}
func init() { file_check_proto_init() }
func file_check_proto_init() {
if File_check_proto != nil {
return
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_check_proto_rawDesc), len(file_check_proto_rawDesc)),
NumEnums: 0,
NumMessages: 4,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_check_proto_goTypes,
DependencyIndexes: file_check_proto_depIdxs,
MessageInfos: file_check_proto_msgTypes,
}.Build()
File_check_proto = out.File
file_check_proto_goTypes = nil
file_check_proto_depIdxs = nil
}

View File

@ -0,0 +1,167 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.5.1
// - protoc (unknown)
// source: check.proto
package initial
import (
context "context"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
)
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
// Requires gRPC-Go v1.64.0 or later.
const _ = grpc.SupportPackageIsVersion9
const (
Check_Hello_FullMethodName = "/initial.Check/Hello"
Check_Updates_FullMethodName = "/initial.Check/Updates"
)
// CheckClient is the client API for Check service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
//
// initial-检测是否有新版或新的配置
type CheckClient interface {
// HELLO
Hello(ctx context.Context, in *Crc, opts ...grpc.CallOption) (*StatusReply, error)
// 检查更新
Updates(ctx context.Context, in *CheckForUpdatesRequest, opts ...grpc.CallOption) (*CheckForUpdatesReply, error)
}
type checkClient struct {
cc grpc.ClientConnInterface
}
func NewCheckClient(cc grpc.ClientConnInterface) CheckClient {
return &checkClient{cc}
}
func (c *checkClient) Hello(ctx context.Context, in *Crc, opts ...grpc.CallOption) (*StatusReply, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(StatusReply)
err := c.cc.Invoke(ctx, Check_Hello_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *checkClient) Updates(ctx context.Context, in *CheckForUpdatesRequest, opts ...grpc.CallOption) (*CheckForUpdatesReply, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(CheckForUpdatesReply)
err := c.cc.Invoke(ctx, Check_Updates_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
// CheckServer is the server API for Check service.
// All implementations must embed UnimplementedCheckServer
// for forward compatibility.
//
// initial-检测是否有新版或新的配置
type CheckServer interface {
// HELLO
Hello(context.Context, *Crc) (*StatusReply, error)
// 检查更新
Updates(context.Context, *CheckForUpdatesRequest) (*CheckForUpdatesReply, error)
mustEmbedUnimplementedCheckServer()
}
// UnimplementedCheckServer must be embedded to have
// forward compatible implementations.
//
// NOTE: this should be embedded by value instead of pointer to avoid a nil
// pointer dereference when methods are called.
type UnimplementedCheckServer struct{}
func (UnimplementedCheckServer) Hello(context.Context, *Crc) (*StatusReply, error) {
return nil, status.Errorf(codes.Unimplemented, "method Hello not implemented")
}
func (UnimplementedCheckServer) Updates(context.Context, *CheckForUpdatesRequest) (*CheckForUpdatesReply, error) {
return nil, status.Errorf(codes.Unimplemented, "method Updates not implemented")
}
func (UnimplementedCheckServer) mustEmbedUnimplementedCheckServer() {}
func (UnimplementedCheckServer) testEmbeddedByValue() {}
// UnsafeCheckServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to CheckServer will
// result in compilation errors.
type UnsafeCheckServer interface {
mustEmbedUnimplementedCheckServer()
}
func RegisterCheckServer(s grpc.ServiceRegistrar, srv CheckServer) {
// If the following call pancis, it indicates UnimplementedCheckServer was
// embedded by pointer and is nil. This will cause panics if an
// unimplemented method is ever invoked, so we test this at initialization
// time to prevent it from happening at runtime later due to I/O.
if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
t.testEmbeddedByValue()
}
s.RegisterService(&Check_ServiceDesc, srv)
}
func _Check_Hello_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(Crc)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CheckServer).Hello(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Check_Hello_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CheckServer).Hello(ctx, req.(*Crc))
}
return interceptor(ctx, in, info, handler)
}
func _Check_Updates_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CheckForUpdatesRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CheckServer).Updates(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Check_Updates_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CheckServer).Updates(ctx, req.(*CheckForUpdatesRequest))
}
return interceptor(ctx, in, info, handler)
}
// Check_ServiceDesc is the grpc.ServiceDesc for Check service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var Check_ServiceDesc = grpc.ServiceDesc{
ServiceName: "initial.Check",
HandlerType: (*CheckServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "Hello",
Handler: _Check_Hello_Handler,
},
{
MethodName: "Updates",
Handler: _Check_Updates_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "check.proto",
}

649
golnag/initial/data.pb.go Normal file
View File

@ -0,0 +1,649 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.8
// protoc (unknown)
// source: data.proto
package initial
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
unsafe "unsafe"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type Empty struct {
state protoimpl.MessageState `protogen:"open.v1"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Empty) Reset() {
*x = Empty{}
mi := &file_data_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Empty) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Empty) ProtoMessage() {}
func (x *Empty) ProtoReflect() protoreflect.Message {
mi := &file_data_proto_msgTypes[0]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Empty.ProtoReflect.Descriptor instead.
func (*Empty) Descriptor() ([]byte, []int) {
return file_data_proto_rawDescGZIP(), []int{0}
}
type AreasRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
ShowTown bool `protobuf:"varint,1,opt,name=show_town,json=showTown,proto3" json:"show_town,omitempty"` // 是否输出乡镇,默认:市级
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *AreasRequest) Reset() {
*x = AreasRequest{}
mi := &file_data_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *AreasRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AreasRequest) ProtoMessage() {}
func (x *AreasRequest) ProtoReflect() protoreflect.Message {
mi := &file_data_proto_msgTypes[1]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AreasRequest.ProtoReflect.Descriptor instead.
func (*AreasRequest) Descriptor() ([]byte, []int) {
return file_data_proto_rawDescGZIP(), []int{1}
}
func (x *AreasRequest) GetShowTown() bool {
if x != nil {
return x.ShowTown
}
return false
}
type ConfigRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
App string `protobuf:"bytes,1,opt,name=app,proto3" json:"app,omitempty"` // 应用程序名称 <必填>
Os string `protobuf:"bytes,2,opt,name=os,proto3" json:"os,omitempty"` // 操作系统 <必填>
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ConfigRequest) Reset() {
*x = ConfigRequest{}
mi := &file_data_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ConfigRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ConfigRequest) ProtoMessage() {}
func (x *ConfigRequest) ProtoReflect() protoreflect.Message {
mi := &file_data_proto_msgTypes[2]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ConfigRequest.ProtoReflect.Descriptor instead.
func (*ConfigRequest) Descriptor() ([]byte, []int) {
return file_data_proto_rawDescGZIP(), []int{2}
}
func (x *ConfigRequest) GetApp() string {
if x != nil {
return x.App
}
return ""
}
func (x *ConfigRequest) GetOs() string {
if x != nil {
return x.Os
}
return ""
}
type ConfigReply struct {
state protoimpl.MessageState `protogen:"open.v1"`
Data []*ConfigItem `protobuf:"bytes,1,rep,name=data,proto3" json:"data,omitempty"` // 配置参数列表
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ConfigReply) Reset() {
*x = ConfigReply{}
mi := &file_data_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ConfigReply) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ConfigReply) ProtoMessage() {}
func (x *ConfigReply) ProtoReflect() protoreflect.Message {
mi := &file_data_proto_msgTypes[3]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ConfigReply.ProtoReflect.Descriptor instead.
func (*ConfigReply) Descriptor() ([]byte, []int) {
return file_data_proto_rawDescGZIP(), []int{3}
}
func (x *ConfigReply) GetData() []*ConfigItem {
if x != nil {
return x.Data
}
return nil
}
type ConfigItem struct {
state protoimpl.MessageState `protogen:"open.v1"`
Identity string `protobuf:"bytes,1,opt,name=Identity,proto3" json:"Identity,omitempty"` //唯一标识
Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` //配置键
Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` //配置值
Version int64 `protobuf:"varint,4,opt,name=version,proto3" json:"version,omitempty"` //版本号
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ConfigItem) Reset() {
*x = ConfigItem{}
mi := &file_data_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ConfigItem) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ConfigItem) ProtoMessage() {}
func (x *ConfigItem) ProtoReflect() protoreflect.Message {
mi := &file_data_proto_msgTypes[4]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ConfigItem.ProtoReflect.Descriptor instead.
func (*ConfigItem) Descriptor() ([]byte, []int) {
return file_data_proto_rawDescGZIP(), []int{4}
}
func (x *ConfigItem) GetIdentity() string {
if x != nil {
return x.Identity
}
return ""
}
func (x *ConfigItem) GetKey() string {
if x != nil {
return x.Key
}
return ""
}
func (x *ConfigItem) GetValue() string {
if x != nil {
return x.Value
}
return ""
}
func (x *ConfigItem) GetVersion() int64 {
if x != nil {
return x.Version
}
return 0
}
type AreasReply struct {
state protoimpl.MessageState `protogen:"open.v1"`
Areas []*AreasItem `protobuf:"bytes,1,rep,name=areas,proto3" json:"areas,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *AreasReply) Reset() {
*x = AreasReply{}
mi := &file_data_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *AreasReply) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AreasReply) ProtoMessage() {}
func (x *AreasReply) ProtoReflect() protoreflect.Message {
mi := &file_data_proto_msgTypes[5]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AreasReply.ProtoReflect.Descriptor instead.
func (*AreasReply) Descriptor() ([]byte, []int) {
return file_data_proto_rawDescGZIP(), []int{5}
}
func (x *AreasReply) GetAreas() []*AreasItem {
if x != nil {
return x.Areas
}
return nil
}
type AreasItem struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Pid string `protobuf:"bytes,2,opt,name=pid,proto3" json:"pid,omitempty"`
Deep int32 `protobuf:"varint,3,opt,name=deep,proto3" json:"deep,omitempty"`
Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
PinyinPrefix string `protobuf:"bytes,5,opt,name=pinyin_prefix,json=pinyinPrefix,proto3" json:"pinyin_prefix,omitempty"`
Pinyin string `protobuf:"bytes,6,opt,name=pinyin,proto3" json:"pinyin,omitempty"`
ExtId string `protobuf:"bytes,7,opt,name=ext_id,json=extId,proto3" json:"ext_id,omitempty"`
ExtName string `protobuf:"bytes,8,opt,name=ext_name,json=extName,proto3" json:"ext_name,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *AreasItem) Reset() {
*x = AreasItem{}
mi := &file_data_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *AreasItem) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AreasItem) ProtoMessage() {}
func (x *AreasItem) ProtoReflect() protoreflect.Message {
mi := &file_data_proto_msgTypes[6]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AreasItem.ProtoReflect.Descriptor instead.
func (*AreasItem) Descriptor() ([]byte, []int) {
return file_data_proto_rawDescGZIP(), []int{6}
}
func (x *AreasItem) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *AreasItem) GetPid() string {
if x != nil {
return x.Pid
}
return ""
}
func (x *AreasItem) GetDeep() int32 {
if x != nil {
return x.Deep
}
return 0
}
func (x *AreasItem) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *AreasItem) GetPinyinPrefix() string {
if x != nil {
return x.PinyinPrefix
}
return ""
}
func (x *AreasItem) GetPinyin() string {
if x != nil {
return x.Pinyin
}
return ""
}
func (x *AreasItem) GetExtId() string {
if x != nil {
return x.ExtId
}
return ""
}
func (x *AreasItem) GetExtName() string {
if x != nil {
return x.ExtName
}
return ""
}
type TagsReply struct {
state protoimpl.MessageState `protogen:"open.v1"`
Tags []*TagsItem `protobuf:"bytes,1,rep,name=tags,proto3" json:"tags,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *TagsReply) Reset() {
*x = TagsReply{}
mi := &file_data_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *TagsReply) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TagsReply) ProtoMessage() {}
func (x *TagsReply) ProtoReflect() protoreflect.Message {
mi := &file_data_proto_msgTypes[7]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TagsReply.ProtoReflect.Descriptor instead.
func (*TagsReply) Descriptor() ([]byte, []int) {
return file_data_proto_rawDescGZIP(), []int{7}
}
func (x *TagsReply) GetTags() []*TagsItem {
if x != nil {
return x.Tags
}
return nil
}
type TagsItem struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Type int32 `protobuf:"varint,2,opt,name=type,proto3" json:"type,omitempty"`
Key string `protobuf:"bytes,3,opt,name=key,proto3" json:"key,omitempty"`
Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"`
Remark string `protobuf:"bytes,5,opt,name=remark,proto3" json:"remark,omitempty"`
Icon string `protobuf:"bytes,6,opt,name=icon,proto3" json:"icon,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *TagsItem) Reset() {
*x = TagsItem{}
mi := &file_data_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *TagsItem) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TagsItem) ProtoMessage() {}
func (x *TagsItem) ProtoReflect() protoreflect.Message {
mi := &file_data_proto_msgTypes[8]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TagsItem.ProtoReflect.Descriptor instead.
func (*TagsItem) Descriptor() ([]byte, []int) {
return file_data_proto_rawDescGZIP(), []int{8}
}
func (x *TagsItem) GetId() int64 {
if x != nil {
return x.Id
}
return 0
}
func (x *TagsItem) GetType() int32 {
if x != nil {
return x.Type
}
return 0
}
func (x *TagsItem) GetKey() string {
if x != nil {
return x.Key
}
return ""
}
func (x *TagsItem) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
func (x *TagsItem) GetRemark() string {
if x != nil {
return x.Remark
}
return ""
}
func (x *TagsItem) GetIcon() string {
if x != nil {
return x.Icon
}
return ""
}
var File_data_proto protoreflect.FileDescriptor
const file_data_proto_rawDesc = "" +
"\n" +
"\n" +
"data.proto\x12\ainitial\"\a\n" +
"\x05Empty\"+\n" +
"\fAreasRequest\x12\x1b\n" +
"\tshow_town\x18\x01 \x01(\bR\bshowTown\"1\n" +
"\rConfigRequest\x12\x10\n" +
"\x03app\x18\x01 \x01(\tR\x03app\x12\x0e\n" +
"\x02os\x18\x02 \x01(\tR\x02os\"6\n" +
"\vConfigReply\x12'\n" +
"\x04data\x18\x01 \x03(\v2\x13.initial.ConfigItemR\x04data\"j\n" +
"\n" +
"ConfigItem\x12\x1a\n" +
"\bIdentity\x18\x01 \x01(\tR\bIdentity\x12\x10\n" +
"\x03key\x18\x02 \x01(\tR\x03key\x12\x14\n" +
"\x05value\x18\x03 \x01(\tR\x05value\x12\x18\n" +
"\aversion\x18\x04 \x01(\x03R\aversion\"6\n" +
"\n" +
"AreasReply\x12(\n" +
"\x05areas\x18\x01 \x03(\v2\x12.initial.AreasItemR\x05areas\"\xc4\x01\n" +
"\tAreasItem\x12\x0e\n" +
"\x02id\x18\x01 \x01(\tR\x02id\x12\x10\n" +
"\x03pid\x18\x02 \x01(\tR\x03pid\x12\x12\n" +
"\x04deep\x18\x03 \x01(\x05R\x04deep\x12\x12\n" +
"\x04name\x18\x04 \x01(\tR\x04name\x12#\n" +
"\rpinyin_prefix\x18\x05 \x01(\tR\fpinyinPrefix\x12\x16\n" +
"\x06pinyin\x18\x06 \x01(\tR\x06pinyin\x12\x15\n" +
"\x06ext_id\x18\a \x01(\tR\x05extId\x12\x19\n" +
"\bext_name\x18\b \x01(\tR\aextName\"2\n" +
"\tTagsReply\x12%\n" +
"\x04tags\x18\x01 \x03(\v2\x11.initial.TagsItemR\x04tags\"\x82\x01\n" +
"\bTagsItem\x12\x0e\n" +
"\x02id\x18\x01 \x01(\x03R\x02id\x12\x12\n" +
"\x04type\x18\x02 \x01(\x05R\x04type\x12\x10\n" +
"\x03key\x18\x03 \x01(\tR\x03key\x12\x14\n" +
"\x05title\x18\x04 \x01(\tR\x05title\x12\x16\n" +
"\x06remark\x18\x05 \x01(\tR\x06remark\x12\x12\n" +
"\x04icon\x18\x06 \x01(\tR\x04icon2\xa5\x01\n" +
"\x04Data\x128\n" +
"\x06Config\x12\x16.initial.ConfigRequest\x1a\x14.initial.ConfigReply\"\x00\x125\n" +
"\x05Areas\x12\x15.initial.AreasRequest\x1a\x13.initial.AreasReply\"\x00\x12,\n" +
"\x04Tags\x12\x0e.initial.Empty\x1a\x12.initial.TagsReply\"\x00B\vZ\t.;initialb\x06proto3"
var (
file_data_proto_rawDescOnce sync.Once
file_data_proto_rawDescData []byte
)
func file_data_proto_rawDescGZIP() []byte {
file_data_proto_rawDescOnce.Do(func() {
file_data_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_data_proto_rawDesc), len(file_data_proto_rawDesc)))
})
return file_data_proto_rawDescData
}
var file_data_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
var file_data_proto_goTypes = []any{
(*Empty)(nil), // 0: initial.Empty
(*AreasRequest)(nil), // 1: initial.AreasRequest
(*ConfigRequest)(nil), // 2: initial.ConfigRequest
(*ConfigReply)(nil), // 3: initial.ConfigReply
(*ConfigItem)(nil), // 4: initial.ConfigItem
(*AreasReply)(nil), // 5: initial.AreasReply
(*AreasItem)(nil), // 6: initial.AreasItem
(*TagsReply)(nil), // 7: initial.TagsReply
(*TagsItem)(nil), // 8: initial.TagsItem
}
var file_data_proto_depIdxs = []int32{
4, // 0: initial.ConfigReply.data:type_name -> initial.ConfigItem
6, // 1: initial.AreasReply.areas:type_name -> initial.AreasItem
8, // 2: initial.TagsReply.tags:type_name -> initial.TagsItem
2, // 3: initial.Data.Config:input_type -> initial.ConfigRequest
1, // 4: initial.Data.Areas:input_type -> initial.AreasRequest
0, // 5: initial.Data.Tags:input_type -> initial.Empty
3, // 6: initial.Data.Config:output_type -> initial.ConfigReply
5, // 7: initial.Data.Areas:output_type -> initial.AreasReply
7, // 8: initial.Data.Tags:output_type -> initial.TagsReply
6, // [6:9] is the sub-list for method output_type
3, // [3:6] is the sub-list for method input_type
3, // [3:3] is the sub-list for extension type_name
3, // [3:3] is the sub-list for extension extendee
0, // [0:3] is the sub-list for field type_name
}
func init() { file_data_proto_init() }
func file_data_proto_init() {
if File_data_proto != nil {
return
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_data_proto_rawDesc), len(file_data_proto_rawDesc)),
NumEnums: 0,
NumMessages: 9,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_data_proto_goTypes,
DependencyIndexes: file_data_proto_depIdxs,
MessageInfos: file_data_proto_msgTypes,
}.Build()
File_data_proto = out.File
file_data_proto_goTypes = nil
file_data_proto_depIdxs = nil
}

View File

@ -0,0 +1,207 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.5.1
// - protoc (unknown)
// source: data.proto
package initial
import (
context "context"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
)
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
// Requires gRPC-Go v1.64.0 or later.
const _ = grpc.SupportPackageIsVersion9
const (
Data_Config_FullMethodName = "/initial.Data/Config"
Data_Areas_FullMethodName = "/initial.Data/Areas"
Data_Tags_FullMethodName = "/initial.Data/Tags"
)
// DataClient is the client API for Data service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
//
// initial-数据
type DataClient interface {
// 获取应用的相关配置信息
Config(ctx context.Context, in *ConfigRequest, opts ...grpc.CallOption) (*ConfigReply, error)
// 系统区域数据,默认级别:市
Areas(ctx context.Context, in *AreasRequest, opts ...grpc.CallOption) (*AreasReply, error)
// 系统标签数据
Tags(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*TagsReply, error)
}
type dataClient struct {
cc grpc.ClientConnInterface
}
func NewDataClient(cc grpc.ClientConnInterface) DataClient {
return &dataClient{cc}
}
func (c *dataClient) Config(ctx context.Context, in *ConfigRequest, opts ...grpc.CallOption) (*ConfigReply, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(ConfigReply)
err := c.cc.Invoke(ctx, Data_Config_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dataClient) Areas(ctx context.Context, in *AreasRequest, opts ...grpc.CallOption) (*AreasReply, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(AreasReply)
err := c.cc.Invoke(ctx, Data_Areas_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dataClient) Tags(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*TagsReply, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(TagsReply)
err := c.cc.Invoke(ctx, Data_Tags_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
// DataServer is the server API for Data service.
// All implementations must embed UnimplementedDataServer
// for forward compatibility.
//
// initial-数据
type DataServer interface {
// 获取应用的相关配置信息
Config(context.Context, *ConfigRequest) (*ConfigReply, error)
// 系统区域数据,默认级别:市
Areas(context.Context, *AreasRequest) (*AreasReply, error)
// 系统标签数据
Tags(context.Context, *Empty) (*TagsReply, error)
mustEmbedUnimplementedDataServer()
}
// UnimplementedDataServer must be embedded to have
// forward compatible implementations.
//
// NOTE: this should be embedded by value instead of pointer to avoid a nil
// pointer dereference when methods are called.
type UnimplementedDataServer struct{}
func (UnimplementedDataServer) Config(context.Context, *ConfigRequest) (*ConfigReply, error) {
return nil, status.Errorf(codes.Unimplemented, "method Config not implemented")
}
func (UnimplementedDataServer) Areas(context.Context, *AreasRequest) (*AreasReply, error) {
return nil, status.Errorf(codes.Unimplemented, "method Areas not implemented")
}
func (UnimplementedDataServer) Tags(context.Context, *Empty) (*TagsReply, error) {
return nil, status.Errorf(codes.Unimplemented, "method Tags not implemented")
}
func (UnimplementedDataServer) mustEmbedUnimplementedDataServer() {}
func (UnimplementedDataServer) testEmbeddedByValue() {}
// UnsafeDataServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to DataServer will
// result in compilation errors.
type UnsafeDataServer interface {
mustEmbedUnimplementedDataServer()
}
func RegisterDataServer(s grpc.ServiceRegistrar, srv DataServer) {
// If the following call pancis, it indicates UnimplementedDataServer was
// embedded by pointer and is nil. This will cause panics if an
// unimplemented method is ever invoked, so we test this at initialization
// time to prevent it from happening at runtime later due to I/O.
if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
t.testEmbeddedByValue()
}
s.RegisterService(&Data_ServiceDesc, srv)
}
func _Data_Config_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ConfigRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DataServer).Config(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Data_Config_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DataServer).Config(ctx, req.(*ConfigRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Data_Areas_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(AreasRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DataServer).Areas(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Data_Areas_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DataServer).Areas(ctx, req.(*AreasRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Data_Tags_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(Empty)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DataServer).Tags(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Data_Tags_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DataServer).Tags(ctx, req.(*Empty))
}
return interceptor(ctx, in, info, handler)
}
// Data_ServiceDesc is the grpc.ServiceDesc for Data service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var Data_ServiceDesc = grpc.ServiceDesc{
ServiceName: "initial.Data",
HandlerType: (*DataServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "Config",
Handler: _Data_Config_Handler,
},
{
MethodName: "Areas",
Handler: _Data_Areas_Handler,
},
{
MethodName: "Tags",
Handler: _Data_Tags_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "data.proto",
}