|  | @@ -1880,9 +1880,10 @@ type SystemUserMenuData struct {
 | 
											
												
													
														|  |  	sizeCache     protoimpl.SizeCache
 |  |  	sizeCache     protoimpl.SizeCache
 | 
											
												
													
														|  |  	unknownFields protoimpl.UnknownFields
 |  |  	unknownFields protoimpl.UnknownFields
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -	PastureList []*AddPastureRequest `protobuf:"bytes,1,rep,name=pasture_list,json=pastureList,proto3" json:"pasture_list,omitempty"` // 牧场列表
 |  | 
 | 
											
												
													
														|  | -	MenuList    []*AddMenuRequest    `protobuf:"bytes,2,rep,name=menu_list,json=menuList,proto3" json:"menu_list,omitempty"`          // 菜单列表
 |  | 
 | 
											
												
													
														|  | -	MobileList  []*AddMobileRequest  `protobuf:"bytes,3,rep,name=mobile_list,json=mobileList,proto3" json:"mobile_list,omitempty"`    // 移动端权限
 |  | 
 | 
											
												
													
														|  | 
 |  | +	PastureList     []*AddPastureRequest `protobuf:"bytes,1,rep,name=pasture_list,json=pastureList,proto3" json:"pasture_list,omitempty"`               // 牧场列表
 | 
											
												
													
														|  | 
 |  | +	MenuList        []*AddMenuRequest    `protobuf:"bytes,2,rep,name=menu_list,json=menuList,proto3" json:"menu_list,omitempty"`                        // 菜单列表
 | 
											
												
													
														|  | 
 |  | +	MobileList      []*AddMobileRequest  `protobuf:"bytes,3,rep,name=mobile_list,json=mobileList,proto3" json:"mobile_list,omitempty"`                  // 移动端权限
 | 
											
												
													
														|  | 
 |  | +	MenuButtonsPath []*MenuButtonsPath   `protobuf:"bytes,4,rep,name=menu_buttons_path,json=menuButtonsPath,proto3" json:"menu_buttons_path,omitempty"` // 按钮级别权限path,前端需要特别处理
 | 
											
												
													
														|  |  }
 |  |  }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  func (x *SystemUserMenuData) Reset() {
 |  |  func (x *SystemUserMenuData) Reset() {
 | 
											
										
											
												
													
														|  | @@ -1938,6 +1939,68 @@ func (x *SystemUserMenuData) GetMobileList() []*AddMobileRequest {
 | 
											
												
													
														|  |  	return nil
 |  |  	return nil
 | 
											
												
													
														|  |  }
 |  |  }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +func (x *SystemUserMenuData) GetMenuButtonsPath() []*MenuButtonsPath {
 | 
											
												
													
														|  | 
 |  | +	if x != nil {
 | 
											
												
													
														|  | 
 |  | +		return x.MenuButtonsPath
 | 
											
												
													
														|  | 
 |  | +	}
 | 
											
												
													
														|  | 
 |  | +	return nil
 | 
											
												
													
														|  | 
 |  | +}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +type MenuButtonsPath struct {
 | 
											
												
													
														|  | 
 |  | +	state         protoimpl.MessageState
 | 
											
												
													
														|  | 
 |  | +	sizeCache     protoimpl.SizeCache
 | 
											
												
													
														|  | 
 |  | +	unknownFields protoimpl.UnknownFields
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +	Path   string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
 | 
											
												
													
														|  | 
 |  | +	MenuId int32  `protobuf:"varint,2,opt,name=menu_id,json=menuId,proto3" json:"menu_id,omitempty"`
 | 
											
												
													
														|  | 
 |  | +}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +func (x *MenuButtonsPath) Reset() {
 | 
											
												
													
														|  | 
 |  | +	*x = MenuButtonsPath{}
 | 
											
												
													
														|  | 
 |  | +	if protoimpl.UnsafeEnabled {
 | 
											
												
													
														|  | 
 |  | +		mi := &file_backend_operation_system_proto_msgTypes[27]
 | 
											
												
													
														|  | 
 |  | +		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
											
												
													
														|  | 
 |  | +		ms.StoreMessageInfo(mi)
 | 
											
												
													
														|  | 
 |  | +	}
 | 
											
												
													
														|  | 
 |  | +}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +func (x *MenuButtonsPath) String() string {
 | 
											
												
													
														|  | 
 |  | +	return protoimpl.X.MessageStringOf(x)
 | 
											
												
													
														|  | 
 |  | +}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +func (*MenuButtonsPath) ProtoMessage() {}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +func (x *MenuButtonsPath) ProtoReflect() protoreflect.Message {
 | 
											
												
													
														|  | 
 |  | +	mi := &file_backend_operation_system_proto_msgTypes[27]
 | 
											
												
													
														|  | 
 |  | +	if protoimpl.UnsafeEnabled && x != nil {
 | 
											
												
													
														|  | 
 |  | +		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
											
												
													
														|  | 
 |  | +		if ms.LoadMessageInfo() == nil {
 | 
											
												
													
														|  | 
 |  | +			ms.StoreMessageInfo(mi)
 | 
											
												
													
														|  | 
 |  | +		}
 | 
											
												
													
														|  | 
 |  | +		return ms
 | 
											
												
													
														|  | 
 |  | +	}
 | 
											
												
													
														|  | 
 |  | +	return mi.MessageOf(x)
 | 
											
												
													
														|  | 
 |  | +}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +// Deprecated: Use MenuButtonsPath.ProtoReflect.Descriptor instead.
 | 
											
												
													
														|  | 
 |  | +func (*MenuButtonsPath) Descriptor() ([]byte, []int) {
 | 
											
												
													
														|  | 
 |  | +	return file_backend_operation_system_proto_rawDescGZIP(), []int{27}
 | 
											
												
													
														|  | 
 |  | +}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +func (x *MenuButtonsPath) GetPath() string {
 | 
											
												
													
														|  | 
 |  | +	if x != nil {
 | 
											
												
													
														|  | 
 |  | +		return x.Path
 | 
											
												
													
														|  | 
 |  | +	}
 | 
											
												
													
														|  | 
 |  | +	return ""
 | 
											
												
													
														|  | 
 |  | +}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +func (x *MenuButtonsPath) GetMenuId() int32 {
 | 
											
												
													
														|  | 
 |  | +	if x != nil {
 | 
											
												
													
														|  | 
 |  | +		return x.MenuId
 | 
											
												
													
														|  | 
 |  | +	}
 | 
											
												
													
														|  | 
 |  | +	return 0
 | 
											
												
													
														|  | 
 |  | +}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |  // 移动端
 |  |  // 移动端
 | 
											
												
													
														|  |  type AddMobileRequest struct {
 |  |  type AddMobileRequest struct {
 | 
											
												
													
														|  |  	state         protoimpl.MessageState
 |  |  	state         protoimpl.MessageState
 | 
											
										
											
												
													
														|  | @@ -1951,7 +2014,7 @@ type AddMobileRequest struct {
 | 
											
												
													
														|  |  func (x *AddMobileRequest) Reset() {
 |  |  func (x *AddMobileRequest) Reset() {
 | 
											
												
													
														|  |  	*x = AddMobileRequest{}
 |  |  	*x = AddMobileRequest{}
 | 
											
												
													
														|  |  	if protoimpl.UnsafeEnabled {
 |  |  	if protoimpl.UnsafeEnabled {
 | 
											
												
													
														|  | -		mi := &file_backend_operation_system_proto_msgTypes[27]
 |  | 
 | 
											
												
													
														|  | 
 |  | +		mi := &file_backend_operation_system_proto_msgTypes[28]
 | 
											
												
													
														|  |  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 |  |  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
											
												
													
														|  |  		ms.StoreMessageInfo(mi)
 |  |  		ms.StoreMessageInfo(mi)
 | 
											
												
													
														|  |  	}
 |  |  	}
 | 
											
										
											
												
													
														|  | @@ -1964,7 +2027,7 @@ func (x *AddMobileRequest) String() string {
 | 
											
												
													
														|  |  func (*AddMobileRequest) ProtoMessage() {}
 |  |  func (*AddMobileRequest) ProtoMessage() {}
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  func (x *AddMobileRequest) ProtoReflect() protoreflect.Message {
 |  |  func (x *AddMobileRequest) ProtoReflect() protoreflect.Message {
 | 
											
												
													
														|  | -	mi := &file_backend_operation_system_proto_msgTypes[27]
 |  | 
 | 
											
												
													
														|  | 
 |  | +	mi := &file_backend_operation_system_proto_msgTypes[28]
 | 
											
												
													
														|  |  	if protoimpl.UnsafeEnabled && x != nil {
 |  |  	if protoimpl.UnsafeEnabled && x != nil {
 | 
											
												
													
														|  |  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 |  |  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
											
												
													
														|  |  		if ms.LoadMessageInfo() == nil {
 |  |  		if ms.LoadMessageInfo() == nil {
 | 
											
										
											
												
													
														|  | @@ -1977,7 +2040,7 @@ func (x *AddMobileRequest) ProtoReflect() protoreflect.Message {
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  // Deprecated: Use AddMobileRequest.ProtoReflect.Descriptor instead.
 |  |  // Deprecated: Use AddMobileRequest.ProtoReflect.Descriptor instead.
 | 
											
												
													
														|  |  func (*AddMobileRequest) Descriptor() ([]byte, []int) {
 |  |  func (*AddMobileRequest) Descriptor() ([]byte, []int) {
 | 
											
												
													
														|  | -	return file_backend_operation_system_proto_rawDescGZIP(), []int{27}
 |  | 
 | 
											
												
													
														|  | 
 |  | +	return file_backend_operation_system_proto_rawDescGZIP(), []int{28}
 | 
											
												
													
														|  |  }
 |  |  }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  func (x *AddMobileRequest) GetId() uint32 {
 |  |  func (x *AddMobileRequest) GetId() uint32 {
 | 
											
										
											
												
													
														|  | @@ -2249,7 +2312,7 @@ var file_backend_operation_system_proto_rawDesc = []byte{
 | 
											
												
													
														|  |  	0x12, 0x39, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25,
 |  |  	0x12, 0x39, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25,
 | 
											
												
													
														|  |  	0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,
 |  |  	0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,
 | 
											
												
													
														|  |  	0x6f, 0x6e, 0x2e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x6e,
 |  |  	0x6f, 0x6e, 0x2e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x6e,
 | 
											
												
													
														|  | -	0x75, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xe3, 0x01, 0x0a, 0x12,
 |  | 
 | 
											
												
													
														|  | 
 |  | +	0x75, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xb3, 0x02, 0x0a, 0x12,
 | 
											
												
													
														|  |  	0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x6e, 0x75, 0x44, 0x61,
 |  |  	0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x6e, 0x75, 0x44, 0x61,
 | 
											
												
													
														|  |  	0x74, 0x61, 0x12, 0x47, 0x0a, 0x0c, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6c, 0x69,
 |  |  	0x74, 0x61, 0x12, 0x47, 0x0a, 0x0c, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6c, 0x69,
 | 
											
												
													
														|  |  	0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65,
 |  |  	0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65,
 | 
											
										
											
												
													
														|  | @@ -2264,7 +2327,16 @@ var file_backend_operation_system_proto_rawDesc = []byte{
 | 
											
												
													
														|  |  	0x32, 0x23, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61,
 |  |  	0x32, 0x23, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61,
 | 
											
												
													
														|  |  	0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x52, 0x65,
 |  |  	0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x52, 0x65,
 | 
											
												
													
														|  |  	0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x4c, 0x69, 0x73,
 |  |  	0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x4c, 0x69, 0x73,
 | 
											
												
													
														|  | -	0x74, 0x22, 0x36, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x52, 0x65,
 |  | 
 | 
											
												
													
														|  | 
 |  | +	0x74, 0x12, 0x4e, 0x0a, 0x11, 0x6d, 0x65, 0x6e, 0x75, 0x5f, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e,
 | 
											
												
													
														|  | 
 |  | +	0x73, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x62,
 | 
											
												
													
														|  | 
 |  | +	0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
 | 
											
												
													
														|  | 
 |  | +	0x2e, 0x4d, 0x65, 0x6e, 0x75, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x50, 0x61, 0x74, 0x68,
 | 
											
												
													
														|  | 
 |  | +	0x52, 0x0f, 0x6d, 0x65, 0x6e, 0x75, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x50, 0x61, 0x74,
 | 
											
												
													
														|  | 
 |  | +	0x68, 0x22, 0x3e, 0x0a, 0x0f, 0x4d, 0x65, 0x6e, 0x75, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73,
 | 
											
												
													
														|  | 
 |  | +	0x50, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01,
 | 
											
												
													
														|  | 
 |  | +	0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x65, 0x6e, 0x75,
 | 
											
												
													
														|  | 
 |  | +	0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6d, 0x65, 0x6e, 0x75, 0x49,
 | 
											
												
													
														|  | 
 |  | +	0x64, 0x22, 0x36, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x52, 0x65,
 | 
											
												
													
														|  |  	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
 |  |  	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
 | 
											
												
													
														|  |  	0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20,
 |  |  	0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20,
 | 
											
												
													
														|  |  	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0f, 0x5a, 0x0d, 0x2e, 0x3b, 0x6f,
 |  |  	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0f, 0x5a, 0x0d, 0x2e, 0x3b, 0x6f,
 | 
											
										
											
												
													
														|  | @@ -2284,7 +2356,7 @@ func file_backend_operation_system_proto_rawDescGZIP() []byte {
 | 
											
												
													
														|  |  	return file_backend_operation_system_proto_rawDescData
 |  |  	return file_backend_operation_system_proto_rawDescData
 | 
											
												
													
														|  |  }
 |  |  }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -var file_backend_operation_system_proto_msgTypes = make([]protoimpl.MessageInfo, 28)
 |  | 
 | 
											
												
													
														|  | 
 |  | +var file_backend_operation_system_proto_msgTypes = make([]protoimpl.MessageInfo, 29)
 | 
											
												
													
														|  |  var file_backend_operation_system_proto_goTypes = []interface{}{
 |  |  var file_backend_operation_system_proto_goTypes = []interface{}{
 | 
											
												
													
														|  |  	(*CommonOK)(nil),                  // 0: backend.operation.CommonOK
 |  |  	(*CommonOK)(nil),                  // 0: backend.operation.CommonOK
 | 
											
												
													
														|  |  	(*Success)(nil),                   // 1: backend.operation.Success
 |  |  	(*Success)(nil),                   // 1: backend.operation.Success
 | 
											
										
											
												
													
														|  | @@ -2313,46 +2385,48 @@ var file_backend_operation_system_proto_goTypes = []interface{}{
 | 
											
												
													
														|  |  	(*SearchMenuData)(nil),            // 24: backend.operation.SearchMenuData
 |  |  	(*SearchMenuData)(nil),            // 24: backend.operation.SearchMenuData
 | 
											
												
													
														|  |  	(*SystemUserMenuPermissions)(nil), // 25: backend.operation.SystemUserMenuPermissions
 |  |  	(*SystemUserMenuPermissions)(nil), // 25: backend.operation.SystemUserMenuPermissions
 | 
											
												
													
														|  |  	(*SystemUserMenuData)(nil),        // 26: backend.operation.SystemUserMenuData
 |  |  	(*SystemUserMenuData)(nil),        // 26: backend.operation.SystemUserMenuData
 | 
											
												
													
														|  | -	(*AddMobileRequest)(nil),          // 27: backend.operation.AddMobileRequest
 |  | 
 | 
											
												
													
														|  | -	(IsShow_Kind)(0),                  // 28: backend.operation.IsShow.Kind
 |  | 
 | 
											
												
													
														|  | -	(*PaginationModel)(nil),           // 29: backend.operation.PaginationModel
 |  | 
 | 
											
												
													
														|  | -	(*UserPasture)(nil),               // 30: backend.operation.UserPasture
 |  | 
 | 
											
												
													
														|  | -	(*AddPastureRequest)(nil),         // 31: backend.operation.AddPastureRequest
 |  | 
 | 
											
												
													
														|  | 
 |  | +	(*MenuButtonsPath)(nil),           // 27: backend.operation.MenuButtonsPath
 | 
											
												
													
														|  | 
 |  | +	(*AddMobileRequest)(nil),          // 28: backend.operation.AddMobileRequest
 | 
											
												
													
														|  | 
 |  | +	(IsShow_Kind)(0),                  // 29: backend.operation.IsShow.Kind
 | 
											
												
													
														|  | 
 |  | +	(*PaginationModel)(nil),           // 30: backend.operation.PaginationModel
 | 
											
												
													
														|  | 
 |  | +	(*UserPasture)(nil),               // 31: backend.operation.UserPasture
 | 
											
												
													
														|  | 
 |  | +	(*AddPastureRequest)(nil),         // 32: backend.operation.AddPastureRequest
 | 
											
												
													
														|  |  }
 |  |  }
 | 
											
												
													
														|  |  var file_backend_operation_system_proto_depIdxs = []int32{
 |  |  var file_backend_operation_system_proto_depIdxs = []int32{
 | 
											
												
													
														|  |  	1,  // 0: backend.operation.CommonOK.data:type_name -> backend.operation.Success
 |  |  	1,  // 0: backend.operation.CommonOK.data:type_name -> backend.operation.Success
 | 
											
												
													
														|  | -	28, // 1: backend.operation.AddRoleRequest.is_show:type_name -> backend.operation.IsShow.Kind
 |  | 
 | 
											
												
													
														|  | -	29, // 2: backend.operation.SearchRoleRequest.pagination:type_name -> backend.operation.PaginationModel
 |  | 
 | 
											
												
													
														|  | 
 |  | +	29, // 1: backend.operation.AddRoleRequest.is_show:type_name -> backend.operation.IsShow.Kind
 | 
											
												
													
														|  | 
 |  | +	30, // 2: backend.operation.SearchRoleRequest.pagination:type_name -> backend.operation.PaginationModel
 | 
											
												
													
														|  |  	6,  // 3: backend.operation.SearchRoleResponse.data:type_name -> backend.operation.SearchRoleData
 |  |  	6,  // 3: backend.operation.SearchRoleResponse.data:type_name -> backend.operation.SearchRoleData
 | 
											
												
													
														|  |  	3,  // 4: backend.operation.SearchRoleData.list:type_name -> backend.operation.AddRoleRequest
 |  |  	3,  // 4: backend.operation.SearchRoleData.list:type_name -> backend.operation.AddRoleRequest
 | 
											
												
													
														|  |  	8,  // 5: backend.operation.RolePermissionsList.data:type_name -> backend.operation.RolePermissionsData
 |  |  	8,  // 5: backend.operation.RolePermissionsList.data:type_name -> backend.operation.RolePermissionsData
 | 
											
												
													
														|  |  	10, // 6: backend.operation.SystemToken.data:type_name -> backend.operation.TokenData
 |  |  	10, // 6: backend.operation.SystemToken.data:type_name -> backend.operation.TokenData
 | 
											
												
													
														|  |  	12, // 7: backend.operation.UserAuth.data:type_name -> backend.operation.UserAuthData
 |  |  	12, // 7: backend.operation.UserAuth.data:type_name -> backend.operation.UserAuthData
 | 
											
												
													
														|  |  	13, // 8: backend.operation.UserAuthData.roles:type_name -> backend.operation.UserRole
 |  |  	13, // 8: backend.operation.UserAuthData.roles:type_name -> backend.operation.UserRole
 | 
											
												
													
														|  | -	30, // 9: backend.operation.UserAuthData.pastures:type_name -> backend.operation.UserPasture
 |  | 
 | 
											
												
													
														|  | 
 |  | +	31, // 9: backend.operation.UserAuthData.pastures:type_name -> backend.operation.UserPasture
 | 
											
												
													
														|  |  	15, // 10: backend.operation.UserDetails.data:type_name -> backend.operation.AddSystemUser
 |  |  	15, // 10: backend.operation.UserDetails.data:type_name -> backend.operation.AddSystemUser
 | 
											
												
													
														|  |  	13, // 11: backend.operation.AddSystemUser.roles:type_name -> backend.operation.UserRole
 |  |  	13, // 11: backend.operation.AddSystemUser.roles:type_name -> backend.operation.UserRole
 | 
											
												
													
														|  | -	28, // 12: backend.operation.AddSystemUser.is_show:type_name -> backend.operation.IsShow.Kind
 |  | 
 | 
											
												
													
														|  | -	28, // 13: backend.operation.SearchUserRequest.is_show:type_name -> backend.operation.IsShow.Kind
 |  | 
 | 
											
												
													
														|  | -	29, // 14: backend.operation.SearchUserRequest.pagination:type_name -> backend.operation.PaginationModel
 |  | 
 | 
											
												
													
														|  | 
 |  | +	29, // 12: backend.operation.AddSystemUser.is_show:type_name -> backend.operation.IsShow.Kind
 | 
											
												
													
														|  | 
 |  | +	29, // 13: backend.operation.SearchUserRequest.is_show:type_name -> backend.operation.IsShow.Kind
 | 
											
												
													
														|  | 
 |  | +	30, // 14: backend.operation.SearchUserRequest.pagination:type_name -> backend.operation.PaginationModel
 | 
											
												
													
														|  |  	18, // 15: backend.operation.SearchUserResponse.data:type_name -> backend.operation.SearchUserData
 |  |  	18, // 15: backend.operation.SearchUserResponse.data:type_name -> backend.operation.SearchUserData
 | 
											
												
													
														|  |  	15, // 16: backend.operation.SearchUserData.list:type_name -> backend.operation.AddSystemUser
 |  |  	15, // 16: backend.operation.SearchUserData.list:type_name -> backend.operation.AddSystemUser
 | 
											
												
													
														|  | -	28, // 17: backend.operation.IsShowSystemUserRequest.is_show:type_name -> backend.operation.IsShow.Kind
 |  | 
 | 
											
												
													
														|  | -	28, // 18: backend.operation.AddMenuRequest.is_show:type_name -> backend.operation.IsShow.Kind
 |  | 
 | 
											
												
													
														|  | 
 |  | +	29, // 17: backend.operation.IsShowSystemUserRequest.is_show:type_name -> backend.operation.IsShow.Kind
 | 
											
												
													
														|  | 
 |  | +	29, // 18: backend.operation.AddMenuRequest.is_show:type_name -> backend.operation.IsShow.Kind
 | 
											
												
													
														|  |  	20, // 19: backend.operation.AddMenuRequest.children:type_name -> backend.operation.AddMenuRequest
 |  |  	20, // 19: backend.operation.AddMenuRequest.children:type_name -> backend.operation.AddMenuRequest
 | 
											
												
													
														|  | -	28, // 20: backend.operation.IsShowSystemMenuRequest.is_show:type_name -> backend.operation.IsShow.Kind
 |  | 
 | 
											
												
													
														|  | -	29, // 21: backend.operation.SearchMenuRequest.pagination:type_name -> backend.operation.PaginationModel
 |  | 
 | 
											
												
													
														|  | 
 |  | +	29, // 20: backend.operation.IsShowSystemMenuRequest.is_show:type_name -> backend.operation.IsShow.Kind
 | 
											
												
													
														|  | 
 |  | +	30, // 21: backend.operation.SearchMenuRequest.pagination:type_name -> backend.operation.PaginationModel
 | 
											
												
													
														|  |  	24, // 22: backend.operation.SearchMenuResponse.data:type_name -> backend.operation.SearchMenuData
 |  |  	24, // 22: backend.operation.SearchMenuResponse.data:type_name -> backend.operation.SearchMenuData
 | 
											
												
													
														|  |  	20, // 23: backend.operation.SearchMenuData.list:type_name -> backend.operation.AddMenuRequest
 |  |  	20, // 23: backend.operation.SearchMenuData.list:type_name -> backend.operation.AddMenuRequest
 | 
											
												
													
														|  |  	26, // 24: backend.operation.SystemUserMenuPermissions.data:type_name -> backend.operation.SystemUserMenuData
 |  |  	26, // 24: backend.operation.SystemUserMenuPermissions.data:type_name -> backend.operation.SystemUserMenuData
 | 
											
												
													
														|  | -	31, // 25: backend.operation.SystemUserMenuData.pasture_list:type_name -> backend.operation.AddPastureRequest
 |  | 
 | 
											
												
													
														|  | 
 |  | +	32, // 25: backend.operation.SystemUserMenuData.pasture_list:type_name -> backend.operation.AddPastureRequest
 | 
											
												
													
														|  |  	20, // 26: backend.operation.SystemUserMenuData.menu_list:type_name -> backend.operation.AddMenuRequest
 |  |  	20, // 26: backend.operation.SystemUserMenuData.menu_list:type_name -> backend.operation.AddMenuRequest
 | 
											
												
													
														|  | -	27, // 27: backend.operation.SystemUserMenuData.mobile_list:type_name -> backend.operation.AddMobileRequest
 |  | 
 | 
											
												
													
														|  | -	28, // [28:28] is the sub-list for method output_type
 |  | 
 | 
											
												
													
														|  | -	28, // [28:28] is the sub-list for method input_type
 |  | 
 | 
											
												
													
														|  | -	28, // [28:28] is the sub-list for extension type_name
 |  | 
 | 
											
												
													
														|  | -	28, // [28:28] is the sub-list for extension extendee
 |  | 
 | 
											
												
													
														|  | -	0,  // [0:28] is the sub-list for field type_name
 |  | 
 | 
											
												
													
														|  | 
 |  | +	28, // 27: backend.operation.SystemUserMenuData.mobile_list:type_name -> backend.operation.AddMobileRequest
 | 
											
												
													
														|  | 
 |  | +	27, // 28: backend.operation.SystemUserMenuData.menu_buttons_path:type_name -> backend.operation.MenuButtonsPath
 | 
											
												
													
														|  | 
 |  | +	29, // [29:29] is the sub-list for method output_type
 | 
											
												
													
														|  | 
 |  | +	29, // [29:29] is the sub-list for method input_type
 | 
											
												
													
														|  | 
 |  | +	29, // [29:29] is the sub-list for extension type_name
 | 
											
												
													
														|  | 
 |  | +	29, // [29:29] is the sub-list for extension extendee
 | 
											
												
													
														|  | 
 |  | +	0,  // [0:29] is the sub-list for field type_name
 | 
											
												
													
														|  |  }
 |  |  }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  func init() { file_backend_operation_system_proto_init() }
 |  |  func init() { file_backend_operation_system_proto_init() }
 | 
											
										
											
												
													
														|  | @@ -2689,6 +2763,18 @@ func file_backend_operation_system_proto_init() {
 | 
											
												
													
														|  |  			}
 |  |  			}
 | 
											
												
													
														|  |  		}
 |  |  		}
 | 
											
												
													
														|  |  		file_backend_operation_system_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
 |  |  		file_backend_operation_system_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
 | 
											
												
													
														|  | 
 |  | +			switch v := v.(*MenuButtonsPath); i {
 | 
											
												
													
														|  | 
 |  | +			case 0:
 | 
											
												
													
														|  | 
 |  | +				return &v.state
 | 
											
												
													
														|  | 
 |  | +			case 1:
 | 
											
												
													
														|  | 
 |  | +				return &v.sizeCache
 | 
											
												
													
														|  | 
 |  | +			case 2:
 | 
											
												
													
														|  | 
 |  | +				return &v.unknownFields
 | 
											
												
													
														|  | 
 |  | +			default:
 | 
											
												
													
														|  | 
 |  | +				return nil
 | 
											
												
													
														|  | 
 |  | +			}
 | 
											
												
													
														|  | 
 |  | +		}
 | 
											
												
													
														|  | 
 |  | +		file_backend_operation_system_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
 | 
											
												
													
														|  |  			switch v := v.(*AddMobileRequest); i {
 |  |  			switch v := v.(*AddMobileRequest); i {
 | 
											
												
													
														|  |  			case 0:
 |  |  			case 0:
 | 
											
												
													
														|  |  				return &v.state
 |  |  				return &v.state
 | 
											
										
											
												
													
														|  | @@ -2707,7 +2793,7 @@ func file_backend_operation_system_proto_init() {
 | 
											
												
													
														|  |  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 |  |  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
											
												
													
														|  |  			RawDescriptor: file_backend_operation_system_proto_rawDesc,
 |  |  			RawDescriptor: file_backend_operation_system_proto_rawDesc,
 | 
											
												
													
														|  |  			NumEnums:      0,
 |  |  			NumEnums:      0,
 | 
											
												
													
														|  | -			NumMessages:   28,
 |  | 
 | 
											
												
													
														|  | 
 |  | +			NumMessages:   29,
 | 
											
												
													
														|  |  			NumExtensions: 0,
 |  |  			NumExtensions: 0,
 | 
											
												
													
														|  |  			NumServices:   0,
 |  |  			NumServices:   0,
 | 
											
												
													
														|  |  		},
 |  |  		},
 |