From e05769e79eb931f3854709003a92e981aefcb034 Mon Sep 17 00:00:00 2001 From: zerosaturation Date: Sat, 9 May 2026 19:44:53 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E6=98=BE=E7=A4=BA=E5=B1=95=E5=87=BA=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E9=97=AE=E9=A2=98=E7=9A=84=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pkg/proto/gallery/gallery.triple.go | 338 ++++++++++++++++ backend/pkg/proto/gallery/gallery.pb.go | 369 +++++++++++------- .../repository/asset_repository.go | 10 +- .../repository/gallery_repository.go | 20 + frontend/manifest.json | 2 +- frontend/pages/components/AssetSelector.vue | 2 +- frontend/pages/profile/hisWorks.vue | 4 +- frontend/pages/profile/myWorks.vue | 4 +- .../pages/square/components/WaterfallGrid.vue | 10 +- frontend/pages/starbook/items.vue | 2 +- frontend/utils/api.js | 4 +- 11 files changed, 615 insertions(+), 150 deletions(-) create mode 100644 backend/github.com/topfans/backend/pkg/proto/gallery/gallery.triple.go diff --git a/backend/github.com/topfans/backend/pkg/proto/gallery/gallery.triple.go b/backend/github.com/topfans/backend/pkg/proto/gallery/gallery.triple.go new file mode 100644 index 0000000..56ddfff --- /dev/null +++ b/backend/github.com/topfans/backend/pkg/proto/gallery/gallery.triple.go @@ -0,0 +1,338 @@ +// Code generated by protoc-gen-triple. DO NOT EDIT. +// +// Source: proto/gallery.proto +package gallery + +import ( + "context" +) + +import ( + "dubbo.apache.org/dubbo-go/v3" + "dubbo.apache.org/dubbo-go/v3/client" + "dubbo.apache.org/dubbo-go/v3/common" + "dubbo.apache.org/dubbo-go/v3/common/constant" + "dubbo.apache.org/dubbo-go/v3/protocol/triple/triple_protocol" + "dubbo.apache.org/dubbo-go/v3/server" +) + +// This is a compile-time assertion to ensure that this generated file and the Triple package +// are compatible. If you get a compiler error that this constant is not defined, this code was +// generated with a version of Triple newer than the one compiled into your binary. You can fix the +// problem by either regenerating this code with an older version of Triple or updating the Triple +// version compiled into your binary. +const _ = triple_protocol.IsAtLeastVersion0_1_0 + +const ( + // GalleryServiceName is the fully-qualified name of the GalleryService service. + GalleryServiceName = "topfans.gallery.GalleryService" +) + +// These constants are the fully-qualified names of the RPCs defined in this package. They're +// exposed at runtime as procedure and as the final two segments of the HTTP route. +// +// Note that these are different from the fully-qualified method names used by +// google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to +// reflection-formatted method names, remove the leading slash and convert the remaining slash to a +// period. +const ( + // GalleryServiceGetMyGalleryProcedure is the fully-qualified name of the GalleryService's GetMyGallery RPC. + GalleryServiceGetMyGalleryProcedure = "/topfans.gallery.GalleryService/GetMyGallery" + // GalleryServiceGetUserGalleryProcedure is the fully-qualified name of the GalleryService's GetUserGallery RPC. + GalleryServiceGetUserGalleryProcedure = "/topfans.gallery.GalleryService/GetUserGallery" + // GalleryServicePlaceAssetProcedure is the fully-qualified name of the GalleryService's PlaceAsset RPC. + GalleryServicePlaceAssetProcedure = "/topfans.gallery.GalleryService/PlaceAsset" + // GalleryServiceUnlockSlotProcedure is the fully-qualified name of the GalleryService's UnlockSlot RPC. + GalleryServiceUnlockSlotProcedure = "/topfans.gallery.GalleryService/UnlockSlot" + // GalleryServiceRemoveFromSlotProcedure is the fully-qualified name of the GalleryService's RemoveFromSlot RPC. + GalleryServiceRemoveFromSlotProcedure = "/topfans.gallery.GalleryService/RemoveFromSlot" + // GalleryServiceGetMyExhibitedAssetsProcedure is the fully-qualified name of the GalleryService's GetMyExhibitedAssets RPC. + GalleryServiceGetMyExhibitedAssetsProcedure = "/topfans.gallery.GalleryService/GetMyExhibitedAssets" + // GalleryServiceGetInspirationFlowProcedure is the fully-qualified name of the GalleryService's GetInspirationFlow RPC. + GalleryServiceGetInspirationFlowProcedure = "/topfans.gallery.GalleryService/GetInspirationFlow" + // GalleryServiceGetUserExhibitedAssetsProcedure is the fully-qualified name of the GalleryService's GetUserExhibitedAssets RPC. + GalleryServiceGetUserExhibitedAssetsProcedure = "/topfans.gallery.GalleryService/GetUserExhibitedAssets" + // GalleryServiceCleanupDisplayStatusProcedure is the fully-qualified name of the GalleryService's CleanupDisplayStatus RPC. + GalleryServiceCleanupDisplayStatusProcedure = "/topfans.gallery.GalleryService/CleanupDisplayStatus" +) + +var ( + _ GalleryService = (*GalleryServiceImpl)(nil) +) + +// GalleryService is a client for the topfans.gallery.GalleryService service. +type GalleryService interface { + GetMyGallery(ctx context.Context, req *GetMyGalleryRequest, opts ...client.CallOption) (*GetMyGalleryResponse, error) + GetUserGallery(ctx context.Context, req *GetUserGalleryRequest, opts ...client.CallOption) (*GetUserGalleryResponse, error) + PlaceAsset(ctx context.Context, req *PlaceAssetRequest, opts ...client.CallOption) (*PlaceAssetResponse, error) + UnlockSlot(ctx context.Context, req *UnlockSlotRequest, opts ...client.CallOption) (*UnlockSlotResponse, error) + RemoveFromSlot(ctx context.Context, req *RemoveFromSlotRequest, opts ...client.CallOption) (*RemoveFromSlotResponse, error) + GetMyExhibitedAssets(ctx context.Context, req *GetMyExhibitedAssetsRequest, opts ...client.CallOption) (*GetMyExhibitedAssetsResponse, error) + GetInspirationFlow(ctx context.Context, req *GetInspirationFlowRequest, opts ...client.CallOption) (*GetInspirationFlowResponse, error) + GetUserExhibitedAssets(ctx context.Context, req *GetUserExhibitedAssetsRequest, opts ...client.CallOption) (*GetUserExhibitedAssetsResponse, error) + CleanupDisplayStatus(ctx context.Context, req *CleanupDisplayStatusRequest, opts ...client.CallOption) (*CleanupDisplayStatusResponse, error) +} + +// NewGalleryService constructs a client for the gallery.GalleryService service. +func NewGalleryService(cli *client.Client, opts ...client.ReferenceOption) (GalleryService, error) { + conn, err := cli.DialWithInfo("topfans.gallery.GalleryService", &GalleryService_ClientInfo, opts...) + if err != nil { + return nil, err + } + return &GalleryServiceImpl{ + conn: conn, + }, nil +} + +func SetConsumerGalleryService(srv common.RPCService) { + dubbo.SetConsumerServiceWithInfo(srv, &GalleryService_ClientInfo) +} + +// GalleryServiceImpl implements GalleryService. +type GalleryServiceImpl struct { + conn *client.Connection +} + +func (c *GalleryServiceImpl) GetMyGallery(ctx context.Context, req *GetMyGalleryRequest, opts ...client.CallOption) (*GetMyGalleryResponse, error) { + resp := new(GetMyGalleryResponse) + if err := c.conn.CallUnary(ctx, []interface{}{req}, resp, "GetMyGallery", opts...); err != nil { + return nil, err + } + return resp, nil +} + +func (c *GalleryServiceImpl) GetUserGallery(ctx context.Context, req *GetUserGalleryRequest, opts ...client.CallOption) (*GetUserGalleryResponse, error) { + resp := new(GetUserGalleryResponse) + if err := c.conn.CallUnary(ctx, []interface{}{req}, resp, "GetUserGallery", opts...); err != nil { + return nil, err + } + return resp, nil +} + +func (c *GalleryServiceImpl) PlaceAsset(ctx context.Context, req *PlaceAssetRequest, opts ...client.CallOption) (*PlaceAssetResponse, error) { + resp := new(PlaceAssetResponse) + if err := c.conn.CallUnary(ctx, []interface{}{req}, resp, "PlaceAsset", opts...); err != nil { + return nil, err + } + return resp, nil +} + +func (c *GalleryServiceImpl) UnlockSlot(ctx context.Context, req *UnlockSlotRequest, opts ...client.CallOption) (*UnlockSlotResponse, error) { + resp := new(UnlockSlotResponse) + if err := c.conn.CallUnary(ctx, []interface{}{req}, resp, "UnlockSlot", opts...); err != nil { + return nil, err + } + return resp, nil +} + +func (c *GalleryServiceImpl) RemoveFromSlot(ctx context.Context, req *RemoveFromSlotRequest, opts ...client.CallOption) (*RemoveFromSlotResponse, error) { + resp := new(RemoveFromSlotResponse) + if err := c.conn.CallUnary(ctx, []interface{}{req}, resp, "RemoveFromSlot", opts...); err != nil { + return nil, err + } + return resp, nil +} + +func (c *GalleryServiceImpl) GetMyExhibitedAssets(ctx context.Context, req *GetMyExhibitedAssetsRequest, opts ...client.CallOption) (*GetMyExhibitedAssetsResponse, error) { + resp := new(GetMyExhibitedAssetsResponse) + if err := c.conn.CallUnary(ctx, []interface{}{req}, resp, "GetMyExhibitedAssets", opts...); err != nil { + return nil, err + } + return resp, nil +} + +func (c *GalleryServiceImpl) GetInspirationFlow(ctx context.Context, req *GetInspirationFlowRequest, opts ...client.CallOption) (*GetInspirationFlowResponse, error) { + resp := new(GetInspirationFlowResponse) + if err := c.conn.CallUnary(ctx, []interface{}{req}, resp, "GetInspirationFlow", opts...); err != nil { + return nil, err + } + return resp, nil +} + +func (c *GalleryServiceImpl) GetUserExhibitedAssets(ctx context.Context, req *GetUserExhibitedAssetsRequest, opts ...client.CallOption) (*GetUserExhibitedAssetsResponse, error) { + resp := new(GetUserExhibitedAssetsResponse) + if err := c.conn.CallUnary(ctx, []interface{}{req}, resp, "GetUserExhibitedAssets", opts...); err != nil { + return nil, err + } + return resp, nil +} + +func (c *GalleryServiceImpl) CleanupDisplayStatus(ctx context.Context, req *CleanupDisplayStatusRequest, opts ...client.CallOption) (*CleanupDisplayStatusResponse, error) { + resp := new(CleanupDisplayStatusResponse) + if err := c.conn.CallUnary(ctx, []interface{}{req}, resp, "CleanupDisplayStatus", opts...); err != nil { + return nil, err + } + return resp, nil +} + +var GalleryService_ClientInfo = client.ClientInfo{ + InterfaceName: "topfans.gallery.GalleryService", + MethodNames: []string{"GetMyGallery", "GetUserGallery", "PlaceAsset", "UnlockSlot", "RemoveFromSlot", "GetMyExhibitedAssets", "GetInspirationFlow", "GetUserExhibitedAssets", "CleanupDisplayStatus"}, + ConnectionInjectFunc: func(dubboCliRaw interface{}, conn *client.Connection) { + dubboCli := dubboCliRaw.(*GalleryServiceImpl) + dubboCli.conn = conn + }, +} + +// GalleryServiceHandler is an implementation of the topfans.gallery.GalleryService service. +type GalleryServiceHandler interface { + GetMyGallery(context.Context, *GetMyGalleryRequest) (*GetMyGalleryResponse, error) + GetUserGallery(context.Context, *GetUserGalleryRequest) (*GetUserGalleryResponse, error) + PlaceAsset(context.Context, *PlaceAssetRequest) (*PlaceAssetResponse, error) + UnlockSlot(context.Context, *UnlockSlotRequest) (*UnlockSlotResponse, error) + RemoveFromSlot(context.Context, *RemoveFromSlotRequest) (*RemoveFromSlotResponse, error) + GetMyExhibitedAssets(context.Context, *GetMyExhibitedAssetsRequest) (*GetMyExhibitedAssetsResponse, error) + GetInspirationFlow(context.Context, *GetInspirationFlowRequest) (*GetInspirationFlowResponse, error) + GetUserExhibitedAssets(context.Context, *GetUserExhibitedAssetsRequest) (*GetUserExhibitedAssetsResponse, error) + CleanupDisplayStatus(context.Context, *CleanupDisplayStatusRequest) (*CleanupDisplayStatusResponse, error) +} + +func RegisterGalleryServiceHandler(srv *server.Server, hdlr GalleryServiceHandler, opts ...server.ServiceOption) error { + return srv.Register(hdlr, &GalleryService_ServiceInfo, opts...) +} + +func SetProviderGalleryService(srv common.RPCService) { + dubbo.SetProviderServiceWithInfo(srv, &GalleryService_ServiceInfo) +} + +var GalleryService_ServiceInfo = server.ServiceInfo{ + InterfaceName: "topfans.gallery.GalleryService", + ServiceType: (*GalleryServiceHandler)(nil), + Methods: []server.MethodInfo{ + { + Name: "GetMyGallery", + Type: constant.CallUnary, + ReqInitFunc: func() interface{} { + return new(GetMyGalleryRequest) + }, + MethodFunc: func(ctx context.Context, args []interface{}, handler interface{}) (interface{}, error) { + req := args[0].(*GetMyGalleryRequest) + res, err := handler.(GalleryServiceHandler).GetMyGallery(ctx, req) + if err != nil { + return nil, err + } + return triple_protocol.NewResponse(res), nil + }, + }, + { + Name: "GetUserGallery", + Type: constant.CallUnary, + ReqInitFunc: func() interface{} { + return new(GetUserGalleryRequest) + }, + MethodFunc: func(ctx context.Context, args []interface{}, handler interface{}) (interface{}, error) { + req := args[0].(*GetUserGalleryRequest) + res, err := handler.(GalleryServiceHandler).GetUserGallery(ctx, req) + if err != nil { + return nil, err + } + return triple_protocol.NewResponse(res), nil + }, + }, + { + Name: "PlaceAsset", + Type: constant.CallUnary, + ReqInitFunc: func() interface{} { + return new(PlaceAssetRequest) + }, + MethodFunc: func(ctx context.Context, args []interface{}, handler interface{}) (interface{}, error) { + req := args[0].(*PlaceAssetRequest) + res, err := handler.(GalleryServiceHandler).PlaceAsset(ctx, req) + if err != nil { + return nil, err + } + return triple_protocol.NewResponse(res), nil + }, + }, + { + Name: "UnlockSlot", + Type: constant.CallUnary, + ReqInitFunc: func() interface{} { + return new(UnlockSlotRequest) + }, + MethodFunc: func(ctx context.Context, args []interface{}, handler interface{}) (interface{}, error) { + req := args[0].(*UnlockSlotRequest) + res, err := handler.(GalleryServiceHandler).UnlockSlot(ctx, req) + if err != nil { + return nil, err + } + return triple_protocol.NewResponse(res), nil + }, + }, + { + Name: "RemoveFromSlot", + Type: constant.CallUnary, + ReqInitFunc: func() interface{} { + return new(RemoveFromSlotRequest) + }, + MethodFunc: func(ctx context.Context, args []interface{}, handler interface{}) (interface{}, error) { + req := args[0].(*RemoveFromSlotRequest) + res, err := handler.(GalleryServiceHandler).RemoveFromSlot(ctx, req) + if err != nil { + return nil, err + } + return triple_protocol.NewResponse(res), nil + }, + }, + { + Name: "GetMyExhibitedAssets", + Type: constant.CallUnary, + ReqInitFunc: func() interface{} { + return new(GetMyExhibitedAssetsRequest) + }, + MethodFunc: func(ctx context.Context, args []interface{}, handler interface{}) (interface{}, error) { + req := args[0].(*GetMyExhibitedAssetsRequest) + res, err := handler.(GalleryServiceHandler).GetMyExhibitedAssets(ctx, req) + if err != nil { + return nil, err + } + return triple_protocol.NewResponse(res), nil + }, + }, + { + Name: "GetInspirationFlow", + Type: constant.CallUnary, + ReqInitFunc: func() interface{} { + return new(GetInspirationFlowRequest) + }, + MethodFunc: func(ctx context.Context, args []interface{}, handler interface{}) (interface{}, error) { + req := args[0].(*GetInspirationFlowRequest) + res, err := handler.(GalleryServiceHandler).GetInspirationFlow(ctx, req) + if err != nil { + return nil, err + } + return triple_protocol.NewResponse(res), nil + }, + }, + { + Name: "GetUserExhibitedAssets", + Type: constant.CallUnary, + ReqInitFunc: func() interface{} { + return new(GetUserExhibitedAssetsRequest) + }, + MethodFunc: func(ctx context.Context, args []interface{}, handler interface{}) (interface{}, error) { + req := args[0].(*GetUserExhibitedAssetsRequest) + res, err := handler.(GalleryServiceHandler).GetUserExhibitedAssets(ctx, req) + if err != nil { + return nil, err + } + return triple_protocol.NewResponse(res), nil + }, + }, + { + Name: "CleanupDisplayStatus", + Type: constant.CallUnary, + ReqInitFunc: func() interface{} { + return new(CleanupDisplayStatusRequest) + }, + MethodFunc: func(ctx context.Context, args []interface{}, handler interface{}) (interface{}, error) { + req := args[0].(*CleanupDisplayStatusRequest) + res, err := handler.(GalleryServiceHandler).CleanupDisplayStatus(ctx, req) + if err != nil { + return nil, err + } + return triple_protocol.NewResponse(res), nil + }, + }, + }, +} diff --git a/backend/pkg/proto/gallery/gallery.pb.go b/backend/pkg/proto/gallery/gallery.pb.go index 2a2370a..db5c4cd 100644 --- a/backend/pkg/proto/gallery/gallery.pb.go +++ b/backend/pkg/proto/gallery/gallery.pb.go @@ -2,7 +2,7 @@ // versions: // protoc-gen-go v1.36.11 // protoc v7.34.0 -// source: gallery.proto +// source: proto/gallery.proto package gallery @@ -32,7 +32,7 @@ type GetMyGalleryRequest struct { func (x *GetMyGalleryRequest) Reset() { *x = GetMyGalleryRequest{} - mi := &file_gallery_proto_msgTypes[0] + mi := &file_proto_gallery_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -44,7 +44,7 @@ func (x *GetMyGalleryRequest) String() string { func (*GetMyGalleryRequest) ProtoMessage() {} func (x *GetMyGalleryRequest) ProtoReflect() protoreflect.Message { - mi := &file_gallery_proto_msgTypes[0] + mi := &file_proto_gallery_proto_msgTypes[0] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -57,7 +57,7 @@ func (x *GetMyGalleryRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetMyGalleryRequest.ProtoReflect.Descriptor instead. func (*GetMyGalleryRequest) Descriptor() ([]byte, []int) { - return file_gallery_proto_rawDescGZIP(), []int{0} + return file_proto_gallery_proto_rawDescGZIP(), []int{0} } type GetMyGalleryResponse struct { @@ -70,7 +70,7 @@ type GetMyGalleryResponse struct { func (x *GetMyGalleryResponse) Reset() { *x = GetMyGalleryResponse{} - mi := &file_gallery_proto_msgTypes[1] + mi := &file_proto_gallery_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -82,7 +82,7 @@ func (x *GetMyGalleryResponse) String() string { func (*GetMyGalleryResponse) ProtoMessage() {} func (x *GetMyGalleryResponse) ProtoReflect() protoreflect.Message { - mi := &file_gallery_proto_msgTypes[1] + mi := &file_proto_gallery_proto_msgTypes[1] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -95,7 +95,7 @@ func (x *GetMyGalleryResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetMyGalleryResponse.ProtoReflect.Descriptor instead. func (*GetMyGalleryResponse) Descriptor() ([]byte, []int) { - return file_gallery_proto_rawDescGZIP(), []int{1} + return file_proto_gallery_proto_rawDescGZIP(), []int{1} } func (x *GetMyGalleryResponse) GetBase() *common.BaseResponse { @@ -121,7 +121,7 @@ type GetUserGalleryRequest struct { func (x *GetUserGalleryRequest) Reset() { *x = GetUserGalleryRequest{} - mi := &file_gallery_proto_msgTypes[2] + mi := &file_proto_gallery_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -133,7 +133,7 @@ func (x *GetUserGalleryRequest) String() string { func (*GetUserGalleryRequest) ProtoMessage() {} func (x *GetUserGalleryRequest) ProtoReflect() protoreflect.Message { - mi := &file_gallery_proto_msgTypes[2] + mi := &file_proto_gallery_proto_msgTypes[2] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -146,7 +146,7 @@ func (x *GetUserGalleryRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetUserGalleryRequest.ProtoReflect.Descriptor instead. func (*GetUserGalleryRequest) Descriptor() ([]byte, []int) { - return file_gallery_proto_rawDescGZIP(), []int{2} + return file_proto_gallery_proto_rawDescGZIP(), []int{2} } func (x *GetUserGalleryRequest) GetTargetUid() int64 { @@ -166,7 +166,7 @@ type GetUserGalleryResponse struct { func (x *GetUserGalleryResponse) Reset() { *x = GetUserGalleryResponse{} - mi := &file_gallery_proto_msgTypes[3] + mi := &file_proto_gallery_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -178,7 +178,7 @@ func (x *GetUserGalleryResponse) String() string { func (*GetUserGalleryResponse) ProtoMessage() {} func (x *GetUserGalleryResponse) ProtoReflect() protoreflect.Message { - mi := &file_gallery_proto_msgTypes[3] + mi := &file_proto_gallery_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -191,7 +191,7 @@ func (x *GetUserGalleryResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetUserGalleryResponse.ProtoReflect.Descriptor instead. func (*GetUserGalleryResponse) Descriptor() ([]byte, []int) { - return file_gallery_proto_rawDescGZIP(), []int{3} + return file_proto_gallery_proto_rawDescGZIP(), []int{3} } func (x *GetUserGalleryResponse) GetBase() *common.BaseResponse { @@ -219,7 +219,7 @@ type PlaceAssetRequest struct { func (x *PlaceAssetRequest) Reset() { *x = PlaceAssetRequest{} - mi := &file_gallery_proto_msgTypes[4] + mi := &file_proto_gallery_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -231,7 +231,7 @@ func (x *PlaceAssetRequest) String() string { func (*PlaceAssetRequest) ProtoMessage() {} func (x *PlaceAssetRequest) ProtoReflect() protoreflect.Message { - mi := &file_gallery_proto_msgTypes[4] + mi := &file_proto_gallery_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -244,7 +244,7 @@ func (x *PlaceAssetRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PlaceAssetRequest.ProtoReflect.Descriptor instead. func (*PlaceAssetRequest) Descriptor() ([]byte, []int) { - return file_gallery_proto_rawDescGZIP(), []int{4} + return file_proto_gallery_proto_rawDescGZIP(), []int{4} } func (x *PlaceAssetRequest) GetAssetId() int64 { @@ -278,7 +278,7 @@ type PlaceAssetResponse struct { func (x *PlaceAssetResponse) Reset() { *x = PlaceAssetResponse{} - mi := &file_gallery_proto_msgTypes[5] + mi := &file_proto_gallery_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -290,7 +290,7 @@ func (x *PlaceAssetResponse) String() string { func (*PlaceAssetResponse) ProtoMessage() {} func (x *PlaceAssetResponse) ProtoReflect() protoreflect.Message { - mi := &file_gallery_proto_msgTypes[5] + mi := &file_proto_gallery_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -303,7 +303,7 @@ func (x *PlaceAssetResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PlaceAssetResponse.ProtoReflect.Descriptor instead. func (*PlaceAssetResponse) Descriptor() ([]byte, []int) { - return file_gallery_proto_rawDescGZIP(), []int{5} + return file_proto_gallery_proto_rawDescGZIP(), []int{5} } func (x *PlaceAssetResponse) GetBase() *common.BaseResponse { @@ -328,7 +328,7 @@ type UnlockSlotRequest struct { func (x *UnlockSlotRequest) Reset() { *x = UnlockSlotRequest{} - mi := &file_gallery_proto_msgTypes[6] + mi := &file_proto_gallery_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -340,7 +340,7 @@ func (x *UnlockSlotRequest) String() string { func (*UnlockSlotRequest) ProtoMessage() {} func (x *UnlockSlotRequest) ProtoReflect() protoreflect.Message { - mi := &file_gallery_proto_msgTypes[6] + mi := &file_proto_gallery_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -353,7 +353,7 @@ func (x *UnlockSlotRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UnlockSlotRequest.ProtoReflect.Descriptor instead. func (*UnlockSlotRequest) Descriptor() ([]byte, []int) { - return file_gallery_proto_rawDescGZIP(), []int{6} + return file_proto_gallery_proto_rawDescGZIP(), []int{6} } type UnlockSlotResponse struct { @@ -366,7 +366,7 @@ type UnlockSlotResponse struct { func (x *UnlockSlotResponse) Reset() { *x = UnlockSlotResponse{} - mi := &file_gallery_proto_msgTypes[7] + mi := &file_proto_gallery_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -378,7 +378,7 @@ func (x *UnlockSlotResponse) String() string { func (*UnlockSlotResponse) ProtoMessage() {} func (x *UnlockSlotResponse) ProtoReflect() protoreflect.Message { - mi := &file_gallery_proto_msgTypes[7] + mi := &file_proto_gallery_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -391,7 +391,7 @@ func (x *UnlockSlotResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UnlockSlotResponse.ProtoReflect.Descriptor instead. func (*UnlockSlotResponse) Descriptor() ([]byte, []int) { - return file_gallery_proto_rawDescGZIP(), []int{7} + return file_proto_gallery_proto_rawDescGZIP(), []int{7} } func (x *UnlockSlotResponse) GetBase() *common.BaseResponse { @@ -421,7 +421,7 @@ type GalleryData struct { func (x *GalleryData) Reset() { *x = GalleryData{} - mi := &file_gallery_proto_msgTypes[8] + mi := &file_proto_gallery_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -433,7 +433,7 @@ func (x *GalleryData) String() string { func (*GalleryData) ProtoMessage() {} func (x *GalleryData) ProtoReflect() protoreflect.Message { - mi := &file_gallery_proto_msgTypes[8] + mi := &file_proto_gallery_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -446,7 +446,7 @@ func (x *GalleryData) ProtoReflect() protoreflect.Message { // Deprecated: Use GalleryData.ProtoReflect.Descriptor instead. func (*GalleryData) Descriptor() ([]byte, []int) { - return file_gallery_proto_rawDescGZIP(), []int{8} + return file_proto_gallery_proto_rawDescGZIP(), []int{8} } func (x *GalleryData) GetGalleryOwnerId() int64 { @@ -497,7 +497,7 @@ type SlotInfo struct { func (x *SlotInfo) Reset() { *x = SlotInfo{} - mi := &file_gallery_proto_msgTypes[9] + mi := &file_proto_gallery_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -509,7 +509,7 @@ func (x *SlotInfo) String() string { func (*SlotInfo) ProtoMessage() {} func (x *SlotInfo) ProtoReflect() protoreflect.Message { - mi := &file_gallery_proto_msgTypes[9] + mi := &file_proto_gallery_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -522,7 +522,7 @@ func (x *SlotInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use SlotInfo.ProtoReflect.Descriptor instead. func (*SlotInfo) Descriptor() ([]byte, []int) { - return file_gallery_proto_rawDescGZIP(), []int{9} + return file_proto_gallery_proto_rawDescGZIP(), []int{9} } func (x *SlotInfo) GetSlotId() int64 { @@ -622,7 +622,7 @@ type AssetInfo struct { func (x *AssetInfo) Reset() { *x = AssetInfo{} - mi := &file_gallery_proto_msgTypes[10] + mi := &file_proto_gallery_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -634,7 +634,7 @@ func (x *AssetInfo) String() string { func (*AssetInfo) ProtoMessage() {} func (x *AssetInfo) ProtoReflect() protoreflect.Message { - mi := &file_gallery_proto_msgTypes[10] + mi := &file_proto_gallery_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -647,7 +647,7 @@ func (x *AssetInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use AssetInfo.ProtoReflect.Descriptor instead. func (*AssetInfo) Descriptor() ([]byte, []int) { - return file_gallery_proto_rawDescGZIP(), []int{10} + return file_proto_gallery_proto_rawDescGZIP(), []int{10} } func (x *AssetInfo) GetAssetId() int64 { @@ -695,7 +695,7 @@ type UnlockCondition struct { func (x *UnlockCondition) Reset() { *x = UnlockCondition{} - mi := &file_gallery_proto_msgTypes[11] + mi := &file_proto_gallery_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -707,7 +707,7 @@ func (x *UnlockCondition) String() string { func (*UnlockCondition) ProtoMessage() {} func (x *UnlockCondition) ProtoReflect() protoreflect.Message { - mi := &file_gallery_proto_msgTypes[11] + mi := &file_proto_gallery_proto_msgTypes[11] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -720,7 +720,7 @@ func (x *UnlockCondition) ProtoReflect() protoreflect.Message { // Deprecated: Use UnlockCondition.ProtoReflect.Descriptor instead. func (*UnlockCondition) Descriptor() ([]byte, []int) { - return file_gallery_proto_rawDescGZIP(), []int{11} + return file_proto_gallery_proto_rawDescGZIP(), []int{11} } func (x *UnlockCondition) GetType() string { @@ -748,7 +748,7 @@ type PlaceAssetData struct { func (x *PlaceAssetData) Reset() { *x = PlaceAssetData{} - mi := &file_gallery_proto_msgTypes[12] + mi := &file_proto_gallery_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -760,7 +760,7 @@ func (x *PlaceAssetData) String() string { func (*PlaceAssetData) ProtoMessage() {} func (x *PlaceAssetData) ProtoReflect() protoreflect.Message { - mi := &file_gallery_proto_msgTypes[12] + mi := &file_proto_gallery_proto_msgTypes[12] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -773,7 +773,7 @@ func (x *PlaceAssetData) ProtoReflect() protoreflect.Message { // Deprecated: Use PlaceAssetData.ProtoReflect.Descriptor instead. func (*PlaceAssetData) Descriptor() ([]byte, []int) { - return file_gallery_proto_rawDescGZIP(), []int{12} + return file_proto_gallery_proto_rawDescGZIP(), []int{12} } func (x *PlaceAssetData) GetStatus() string { @@ -807,7 +807,7 @@ type UnlockSlotData struct { func (x *UnlockSlotData) Reset() { *x = UnlockSlotData{} - mi := &file_gallery_proto_msgTypes[13] + mi := &file_proto_gallery_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -819,7 +819,7 @@ func (x *UnlockSlotData) String() string { func (*UnlockSlotData) ProtoMessage() {} func (x *UnlockSlotData) ProtoReflect() protoreflect.Message { - mi := &file_gallery_proto_msgTypes[13] + mi := &file_proto_gallery_proto_msgTypes[13] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -832,7 +832,7 @@ func (x *UnlockSlotData) ProtoReflect() protoreflect.Message { // Deprecated: Use UnlockSlotData.ProtoReflect.Descriptor instead. func (*UnlockSlotData) Descriptor() ([]byte, []int) { - return file_gallery_proto_rawDescGZIP(), []int{13} + return file_proto_gallery_proto_rawDescGZIP(), []int{13} } func (x *UnlockSlotData) GetSlotTotal() int32 { @@ -859,7 +859,7 @@ type RemoveFromSlotRequest struct { func (x *RemoveFromSlotRequest) Reset() { *x = RemoveFromSlotRequest{} - mi := &file_gallery_proto_msgTypes[14] + mi := &file_proto_gallery_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -871,7 +871,7 @@ func (x *RemoveFromSlotRequest) String() string { func (*RemoveFromSlotRequest) ProtoMessage() {} func (x *RemoveFromSlotRequest) ProtoReflect() protoreflect.Message { - mi := &file_gallery_proto_msgTypes[14] + mi := &file_proto_gallery_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -884,7 +884,7 @@ func (x *RemoveFromSlotRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveFromSlotRequest.ProtoReflect.Descriptor instead. func (*RemoveFromSlotRequest) Descriptor() ([]byte, []int) { - return file_gallery_proto_rawDescGZIP(), []int{14} + return file_proto_gallery_proto_rawDescGZIP(), []int{14} } func (x *RemoveFromSlotRequest) GetSlotId() int64 { @@ -904,7 +904,7 @@ type RemoveFromSlotResponse struct { func (x *RemoveFromSlotResponse) Reset() { *x = RemoveFromSlotResponse{} - mi := &file_gallery_proto_msgTypes[15] + mi := &file_proto_gallery_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -916,7 +916,7 @@ func (x *RemoveFromSlotResponse) String() string { func (*RemoveFromSlotResponse) ProtoMessage() {} func (x *RemoveFromSlotResponse) ProtoReflect() protoreflect.Message { - mi := &file_gallery_proto_msgTypes[15] + mi := &file_proto_gallery_proto_msgTypes[15] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -929,7 +929,7 @@ func (x *RemoveFromSlotResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveFromSlotResponse.ProtoReflect.Descriptor instead. func (*RemoveFromSlotResponse) Descriptor() ([]byte, []int) { - return file_gallery_proto_rawDescGZIP(), []int{15} + return file_proto_gallery_proto_rawDescGZIP(), []int{15} } func (x *RemoveFromSlotResponse) GetBase() *common.BaseResponse { @@ -950,7 +950,7 @@ type GetMyExhibitedAssetsRequest struct { func (x *GetMyExhibitedAssetsRequest) Reset() { *x = GetMyExhibitedAssetsRequest{} - mi := &file_gallery_proto_msgTypes[16] + mi := &file_proto_gallery_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -962,7 +962,7 @@ func (x *GetMyExhibitedAssetsRequest) String() string { func (*GetMyExhibitedAssetsRequest) ProtoMessage() {} func (x *GetMyExhibitedAssetsRequest) ProtoReflect() protoreflect.Message { - mi := &file_gallery_proto_msgTypes[16] + mi := &file_proto_gallery_proto_msgTypes[16] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -975,7 +975,7 @@ func (x *GetMyExhibitedAssetsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetMyExhibitedAssetsRequest.ProtoReflect.Descriptor instead. func (*GetMyExhibitedAssetsRequest) Descriptor() ([]byte, []int) { - return file_gallery_proto_rawDescGZIP(), []int{16} + return file_proto_gallery_proto_rawDescGZIP(), []int{16} } func (x *GetMyExhibitedAssetsRequest) GetPage() int32 { @@ -1003,7 +1003,7 @@ type GetMyExhibitedAssetsResponse struct { func (x *GetMyExhibitedAssetsResponse) Reset() { *x = GetMyExhibitedAssetsResponse{} - mi := &file_gallery_proto_msgTypes[17] + mi := &file_proto_gallery_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1015,7 +1015,7 @@ func (x *GetMyExhibitedAssetsResponse) String() string { func (*GetMyExhibitedAssetsResponse) ProtoMessage() {} func (x *GetMyExhibitedAssetsResponse) ProtoReflect() protoreflect.Message { - mi := &file_gallery_proto_msgTypes[17] + mi := &file_proto_gallery_proto_msgTypes[17] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1028,7 +1028,7 @@ func (x *GetMyExhibitedAssetsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetMyExhibitedAssetsResponse.ProtoReflect.Descriptor instead. func (*GetMyExhibitedAssetsResponse) Descriptor() ([]byte, []int) { - return file_gallery_proto_rawDescGZIP(), []int{17} + return file_proto_gallery_proto_rawDescGZIP(), []int{17} } func (x *GetMyExhibitedAssetsResponse) GetBase() *common.BaseResponse { @@ -1059,7 +1059,7 @@ type ExhibitedAssetsData struct { func (x *ExhibitedAssetsData) Reset() { *x = ExhibitedAssetsData{} - mi := &file_gallery_proto_msgTypes[18] + mi := &file_proto_gallery_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1071,7 +1071,7 @@ func (x *ExhibitedAssetsData) String() string { func (*ExhibitedAssetsData) ProtoMessage() {} func (x *ExhibitedAssetsData) ProtoReflect() protoreflect.Message { - mi := &file_gallery_proto_msgTypes[18] + mi := &file_proto_gallery_proto_msgTypes[18] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1084,7 +1084,7 @@ func (x *ExhibitedAssetsData) ProtoReflect() protoreflect.Message { // Deprecated: Use ExhibitedAssetsData.ProtoReflect.Descriptor instead. func (*ExhibitedAssetsData) Descriptor() ([]byte, []int) { - return file_gallery_proto_rawDescGZIP(), []int{18} + return file_proto_gallery_proto_rawDescGZIP(), []int{18} } func (x *ExhibitedAssetsData) GetItems() []*ExhibitedAssetItem { @@ -1138,7 +1138,7 @@ type ExhibitedAssetItem struct { func (x *ExhibitedAssetItem) Reset() { *x = ExhibitedAssetItem{} - mi := &file_gallery_proto_msgTypes[19] + mi := &file_proto_gallery_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1150,7 +1150,7 @@ func (x *ExhibitedAssetItem) String() string { func (*ExhibitedAssetItem) ProtoMessage() {} func (x *ExhibitedAssetItem) ProtoReflect() protoreflect.Message { - mi := &file_gallery_proto_msgTypes[19] + mi := &file_proto_gallery_proto_msgTypes[19] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1163,7 +1163,7 @@ func (x *ExhibitedAssetItem) ProtoReflect() protoreflect.Message { // Deprecated: Use ExhibitedAssetItem.ProtoReflect.Descriptor instead. func (*ExhibitedAssetItem) Descriptor() ([]byte, []int) { - return file_gallery_proto_rawDescGZIP(), []int{19} + return file_proto_gallery_proto_rawDescGZIP(), []int{19} } func (x *ExhibitedAssetItem) GetAssetId() int64 { @@ -1229,7 +1229,7 @@ type GetInspirationFlowRequest struct { func (x *GetInspirationFlowRequest) Reset() { *x = GetInspirationFlowRequest{} - mi := &file_gallery_proto_msgTypes[20] + mi := &file_proto_gallery_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1241,7 +1241,7 @@ func (x *GetInspirationFlowRequest) String() string { func (*GetInspirationFlowRequest) ProtoMessage() {} func (x *GetInspirationFlowRequest) ProtoReflect() protoreflect.Message { - mi := &file_gallery_proto_msgTypes[20] + mi := &file_proto_gallery_proto_msgTypes[20] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1254,7 +1254,7 @@ func (x *GetInspirationFlowRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetInspirationFlowRequest.ProtoReflect.Descriptor instead. func (*GetInspirationFlowRequest) Descriptor() ([]byte, []int) { - return file_gallery_proto_rawDescGZIP(), []int{20} + return file_proto_gallery_proto_rawDescGZIP(), []int{20} } func (x *GetInspirationFlowRequest) GetCursor() string { @@ -1303,7 +1303,7 @@ type GetInspirationFlowResponse struct { func (x *GetInspirationFlowResponse) Reset() { *x = GetInspirationFlowResponse{} - mi := &file_gallery_proto_msgTypes[21] + mi := &file_proto_gallery_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1315,7 +1315,7 @@ func (x *GetInspirationFlowResponse) String() string { func (*GetInspirationFlowResponse) ProtoMessage() {} func (x *GetInspirationFlowResponse) ProtoReflect() protoreflect.Message { - mi := &file_gallery_proto_msgTypes[21] + mi := &file_proto_gallery_proto_msgTypes[21] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1328,7 +1328,7 @@ func (x *GetInspirationFlowResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetInspirationFlowResponse.ProtoReflect.Descriptor instead. func (*GetInspirationFlowResponse) Descriptor() ([]byte, []int) { - return file_gallery_proto_rawDescGZIP(), []int{21} + return file_proto_gallery_proto_rawDescGZIP(), []int{21} } func (x *GetInspirationFlowResponse) GetBase() *common.BaseResponse { @@ -1358,7 +1358,7 @@ type InspirationFlowData struct { func (x *InspirationFlowData) Reset() { *x = InspirationFlowData{} - mi := &file_gallery_proto_msgTypes[22] + mi := &file_proto_gallery_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1370,7 +1370,7 @@ func (x *InspirationFlowData) String() string { func (*InspirationFlowData) ProtoMessage() {} func (x *InspirationFlowData) ProtoReflect() protoreflect.Message { - mi := &file_gallery_proto_msgTypes[22] + mi := &file_proto_gallery_proto_msgTypes[22] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1383,7 +1383,7 @@ func (x *InspirationFlowData) ProtoReflect() protoreflect.Message { // Deprecated: Use InspirationFlowData.ProtoReflect.Descriptor instead. func (*InspirationFlowData) Descriptor() ([]byte, []int) { - return file_gallery_proto_rawDescGZIP(), []int{22} + return file_proto_gallery_proto_rawDescGZIP(), []int{22} } func (x *InspirationFlowData) GetItems() []*InspirationFlowItem { @@ -1430,7 +1430,7 @@ type InspirationFlowItem struct { func (x *InspirationFlowItem) Reset() { *x = InspirationFlowItem{} - mi := &file_gallery_proto_msgTypes[23] + mi := &file_proto_gallery_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1442,7 +1442,7 @@ func (x *InspirationFlowItem) String() string { func (*InspirationFlowItem) ProtoMessage() {} func (x *InspirationFlowItem) ProtoReflect() protoreflect.Message { - mi := &file_gallery_proto_msgTypes[23] + mi := &file_proto_gallery_proto_msgTypes[23] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1455,7 +1455,7 @@ func (x *InspirationFlowItem) ProtoReflect() protoreflect.Message { // Deprecated: Use InspirationFlowItem.ProtoReflect.Descriptor instead. func (*InspirationFlowItem) Descriptor() ([]byte, []int) { - return file_gallery_proto_rawDescGZIP(), []int{23} + return file_proto_gallery_proto_rawDescGZIP(), []int{23} } func (x *InspirationFlowItem) GetAssetId() int64 { @@ -1519,7 +1519,7 @@ type GetUserExhibitedAssetsRequest struct { func (x *GetUserExhibitedAssetsRequest) Reset() { *x = GetUserExhibitedAssetsRequest{} - mi := &file_gallery_proto_msgTypes[24] + mi := &file_proto_gallery_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1531,7 +1531,7 @@ func (x *GetUserExhibitedAssetsRequest) String() string { func (*GetUserExhibitedAssetsRequest) ProtoMessage() {} func (x *GetUserExhibitedAssetsRequest) ProtoReflect() protoreflect.Message { - mi := &file_gallery_proto_msgTypes[24] + mi := &file_proto_gallery_proto_msgTypes[24] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1544,7 +1544,7 @@ func (x *GetUserExhibitedAssetsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetUserExhibitedAssetsRequest.ProtoReflect.Descriptor instead. func (*GetUserExhibitedAssetsRequest) Descriptor() ([]byte, []int) { - return file_gallery_proto_rawDescGZIP(), []int{24} + return file_proto_gallery_proto_rawDescGZIP(), []int{24} } func (x *GetUserExhibitedAssetsRequest) GetUserId() int64 { @@ -1579,7 +1579,7 @@ type GetUserExhibitedAssetsResponse struct { func (x *GetUserExhibitedAssetsResponse) Reset() { *x = GetUserExhibitedAssetsResponse{} - mi := &file_gallery_proto_msgTypes[25] + mi := &file_proto_gallery_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1591,7 +1591,7 @@ func (x *GetUserExhibitedAssetsResponse) String() string { func (*GetUserExhibitedAssetsResponse) ProtoMessage() {} func (x *GetUserExhibitedAssetsResponse) ProtoReflect() protoreflect.Message { - mi := &file_gallery_proto_msgTypes[25] + mi := &file_proto_gallery_proto_msgTypes[25] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1604,7 +1604,7 @@ func (x *GetUserExhibitedAssetsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetUserExhibitedAssetsResponse.ProtoReflect.Descriptor instead. func (*GetUserExhibitedAssetsResponse) Descriptor() ([]byte, []int) { - return file_gallery_proto_rawDescGZIP(), []int{25} + return file_proto_gallery_proto_rawDescGZIP(), []int{25} } func (x *GetUserExhibitedAssetsResponse) GetBase() *common.BaseResponse { @@ -1621,11 +1621,101 @@ func (x *GetUserExhibitedAssetsResponse) GetData() *ExhibitedAssetsData { return nil } -var File_gallery_proto protoreflect.FileDescriptor +// 清理无效展示状态请求 +type CleanupDisplayStatusRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} -const file_gallery_proto_rawDesc = "" + +func (x *CleanupDisplayStatusRequest) Reset() { + *x = CleanupDisplayStatusRequest{} + mi := &file_proto_gallery_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CleanupDisplayStatusRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CleanupDisplayStatusRequest) ProtoMessage() {} + +func (x *CleanupDisplayStatusRequest) ProtoReflect() protoreflect.Message { + mi := &file_proto_gallery_proto_msgTypes[26] + 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 CleanupDisplayStatusRequest.ProtoReflect.Descriptor instead. +func (*CleanupDisplayStatusRequest) Descriptor() ([]byte, []int) { + return file_proto_gallery_proto_rawDescGZIP(), []int{26} +} + +// 清理无效展示状态响应 +type CleanupDisplayStatusResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Base *common.BaseResponse `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` + CleanedCount int32 `protobuf:"varint,2,opt,name=cleaned_count,json=cleanedCount,proto3" json:"cleaned_count,omitempty"` // 清理的资产数量 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CleanupDisplayStatusResponse) Reset() { + *x = CleanupDisplayStatusResponse{} + mi := &file_proto_gallery_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CleanupDisplayStatusResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CleanupDisplayStatusResponse) ProtoMessage() {} + +func (x *CleanupDisplayStatusResponse) ProtoReflect() protoreflect.Message { + mi := &file_proto_gallery_proto_msgTypes[27] + 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 CleanupDisplayStatusResponse.ProtoReflect.Descriptor instead. +func (*CleanupDisplayStatusResponse) Descriptor() ([]byte, []int) { + return file_proto_gallery_proto_rawDescGZIP(), []int{27} +} + +func (x *CleanupDisplayStatusResponse) GetBase() *common.BaseResponse { + if x != nil { + return x.Base + } + return nil +} + +func (x *CleanupDisplayStatusResponse) GetCleanedCount() int32 { + if x != nil { + return x.CleanedCount + } + return 0 +} + +var File_proto_gallery_proto protoreflect.FileDescriptor + +const file_proto_gallery_proto_rawDesc = "" + "\n" + - "\rgallery.proto\x12\x0ftopfans.gallery\x1a\x12proto/common.proto\x1a\x1cgoogle/api/annotations.proto\"\x15\n" + + "\x13proto/gallery.proto\x12\x0ftopfans.gallery\x1a\x12proto/common.proto\x1a\x1cgoogle/api/annotations.proto\"\x15\n" + "\x13GetMyGalleryRequest\"z\n" + "\x14GetMyGalleryResponse\x120\n" + "\x04base\x18\x01 \x01(\v2\x1c.topfans.common.BaseResponseR\x04base\x120\n" + @@ -1748,7 +1838,12 @@ const file_gallery_proto_rawDesc = "" + "\tpage_size\x18\x03 \x01(\x05R\bpageSize\"\x8c\x01\n" + "\x1eGetUserExhibitedAssetsResponse\x120\n" + "\x04base\x18\x01 \x01(\v2\x1c.topfans.common.BaseResponseR\x04base\x128\n" + - "\x04data\x18\x02 \x01(\v2$.topfans.gallery.ExhibitedAssetsDataR\x04data2\xf4\b\n" + + "\x04data\x18\x02 \x01(\v2$.topfans.gallery.ExhibitedAssetsDataR\x04data\"\x1d\n" + + "\x1bCleanupDisplayStatusRequest\"u\n" + + "\x1cCleanupDisplayStatusResponse\x120\n" + + "\x04base\x18\x01 \x01(\v2\x1c.topfans.common.BaseResponseR\x04base\x12#\n" + + "\rcleaned_count\x18\x02 \x01(\x05R\fcleanedCount2\x9f\n" + + "\n" + "\x0eGalleryService\x12u\n" + "\fGetMyGallery\x12$.topfans.gallery.GetMyGalleryRequest\x1a%.topfans.gallery.GetMyGalleryResponse\"\x18\x82\xd3\xe4\x93\x02\x12\x12\x10/api/mygalleries\x12\x86\x01\n" + "\x0eGetUserGallery\x12&.topfans.gallery.GetUserGalleryRequest\x1a'.topfans.gallery.GetUserGalleryResponse\"#\x82\xd3\xe4\x93\x02\x1d\x12\x1b/api/galleries/{target_uid}\x12v\n" + @@ -1759,22 +1854,23 @@ const file_gallery_proto_rawDesc = "" + "\x0eRemoveFromSlot\x12&.topfans.gallery.RemoveFromSlotRequest\x1a'.topfans.gallery.RemoveFromSlotResponse\",\x82\xd3\xe4\x93\x02&*$/api/galleries/slots/{slot_id}/asset\x12\x98\x01\n" + "\x14GetMyExhibitedAssets\x12,.topfans.gallery.GetMyExhibitedAssetsRequest\x1a-.topfans.gallery.GetMyExhibitedAssetsResponse\"#\x82\xd3\xe4\x93\x02\x1d\x12\x1b/api/v1/me/exhibited-assets\x12\x8f\x01\n" + "\x12GetInspirationFlow\x12*.topfans.gallery.GetInspirationFlowRequest\x1a+.topfans.gallery.GetInspirationFlowResponse\" \x82\xd3\xe4\x93\x02\x1a\x12\x18/api/v1/inspiration-flow\x12\xab\x01\n" + - "\x16GetUserExhibitedAssets\x12..topfans.gallery.GetUserExhibitedAssetsRequest\x1a/.topfans.gallery.GetUserExhibitedAssetsResponse\"0\x82\xd3\xe4\x93\x02*\x12(/api/v1/users/{user_id}/exhibited-assetsB6Z4github.com/topfans/backend/pkg/proto/gallery;galleryb\x06proto3" + "\x16GetUserExhibitedAssets\x12..topfans.gallery.GetUserExhibitedAssetsRequest\x1a/.topfans.gallery.GetUserExhibitedAssetsResponse\"0\x82\xd3\xe4\x93\x02*\x12(/api/v1/users/{user_id}/exhibited-assets\x12\xa8\x01\n" + + "\x14CleanupDisplayStatus\x12,.topfans.gallery.CleanupDisplayStatusRequest\x1a-.topfans.gallery.CleanupDisplayStatusResponse\"3\x82\xd3\xe4\x93\x02-:\x01*\"(/api/v1/galleries/cleanup-display-statusB6Z4github.com/topfans/backend/pkg/proto/gallery;galleryb\x06proto3" var ( - file_gallery_proto_rawDescOnce sync.Once - file_gallery_proto_rawDescData []byte + file_proto_gallery_proto_rawDescOnce sync.Once + file_proto_gallery_proto_rawDescData []byte ) -func file_gallery_proto_rawDescGZIP() []byte { - file_gallery_proto_rawDescOnce.Do(func() { - file_gallery_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_gallery_proto_rawDesc), len(file_gallery_proto_rawDesc))) +func file_proto_gallery_proto_rawDescGZIP() []byte { + file_proto_gallery_proto_rawDescOnce.Do(func() { + file_proto_gallery_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_proto_gallery_proto_rawDesc), len(file_proto_gallery_proto_rawDesc))) }) - return file_gallery_proto_rawDescData + return file_proto_gallery_proto_rawDescData } -var file_gallery_proto_msgTypes = make([]protoimpl.MessageInfo, 26) -var file_gallery_proto_goTypes = []any{ +var file_proto_gallery_proto_msgTypes = make([]protoimpl.MessageInfo, 28) +var file_proto_gallery_proto_goTypes = []any{ (*GetMyGalleryRequest)(nil), // 0: topfans.gallery.GetMyGalleryRequest (*GetMyGalleryResponse)(nil), // 1: topfans.gallery.GetMyGalleryResponse (*GetUserGalleryRequest)(nil), // 2: topfans.gallery.GetUserGalleryRequest @@ -1801,72 +1897,77 @@ var file_gallery_proto_goTypes = []any{ (*InspirationFlowItem)(nil), // 23: topfans.gallery.InspirationFlowItem (*GetUserExhibitedAssetsRequest)(nil), // 24: topfans.gallery.GetUserExhibitedAssetsRequest (*GetUserExhibitedAssetsResponse)(nil), // 25: topfans.gallery.GetUserExhibitedAssetsResponse - (*common.BaseResponse)(nil), // 26: topfans.common.BaseResponse + (*CleanupDisplayStatusRequest)(nil), // 26: topfans.gallery.CleanupDisplayStatusRequest + (*CleanupDisplayStatusResponse)(nil), // 27: topfans.gallery.CleanupDisplayStatusResponse + (*common.BaseResponse)(nil), // 28: topfans.common.BaseResponse } -var file_gallery_proto_depIdxs = []int32{ - 26, // 0: topfans.gallery.GetMyGalleryResponse.base:type_name -> topfans.common.BaseResponse +var file_proto_gallery_proto_depIdxs = []int32{ + 28, // 0: topfans.gallery.GetMyGalleryResponse.base:type_name -> topfans.common.BaseResponse 8, // 1: topfans.gallery.GetMyGalleryResponse.data:type_name -> topfans.gallery.GalleryData - 26, // 2: topfans.gallery.GetUserGalleryResponse.base:type_name -> topfans.common.BaseResponse + 28, // 2: topfans.gallery.GetUserGalleryResponse.base:type_name -> topfans.common.BaseResponse 8, // 3: topfans.gallery.GetUserGalleryResponse.data:type_name -> topfans.gallery.GalleryData - 26, // 4: topfans.gallery.PlaceAssetResponse.base:type_name -> topfans.common.BaseResponse + 28, // 4: topfans.gallery.PlaceAssetResponse.base:type_name -> topfans.common.BaseResponse 12, // 5: topfans.gallery.PlaceAssetResponse.data:type_name -> topfans.gallery.PlaceAssetData - 26, // 6: topfans.gallery.UnlockSlotResponse.base:type_name -> topfans.common.BaseResponse + 28, // 6: topfans.gallery.UnlockSlotResponse.base:type_name -> topfans.common.BaseResponse 13, // 7: topfans.gallery.UnlockSlotResponse.data:type_name -> topfans.gallery.UnlockSlotData 9, // 8: topfans.gallery.GalleryData.slots:type_name -> topfans.gallery.SlotInfo 10, // 9: topfans.gallery.SlotInfo.asset:type_name -> topfans.gallery.AssetInfo 11, // 10: topfans.gallery.SlotInfo.unlock_condition:type_name -> topfans.gallery.UnlockCondition - 26, // 11: topfans.gallery.RemoveFromSlotResponse.base:type_name -> topfans.common.BaseResponse - 26, // 12: topfans.gallery.GetMyExhibitedAssetsResponse.base:type_name -> topfans.common.BaseResponse + 28, // 11: topfans.gallery.RemoveFromSlotResponse.base:type_name -> topfans.common.BaseResponse + 28, // 12: topfans.gallery.GetMyExhibitedAssetsResponse.base:type_name -> topfans.common.BaseResponse 18, // 13: topfans.gallery.GetMyExhibitedAssetsResponse.data:type_name -> topfans.gallery.ExhibitedAssetsData 19, // 14: topfans.gallery.ExhibitedAssetsData.items:type_name -> topfans.gallery.ExhibitedAssetItem - 26, // 15: topfans.gallery.GetInspirationFlowResponse.base:type_name -> topfans.common.BaseResponse + 28, // 15: topfans.gallery.GetInspirationFlowResponse.base:type_name -> topfans.common.BaseResponse 22, // 16: topfans.gallery.GetInspirationFlowResponse.data:type_name -> topfans.gallery.InspirationFlowData 23, // 17: topfans.gallery.InspirationFlowData.items:type_name -> topfans.gallery.InspirationFlowItem - 26, // 18: topfans.gallery.GetUserExhibitedAssetsResponse.base:type_name -> topfans.common.BaseResponse + 28, // 18: topfans.gallery.GetUserExhibitedAssetsResponse.base:type_name -> topfans.common.BaseResponse 18, // 19: topfans.gallery.GetUserExhibitedAssetsResponse.data:type_name -> topfans.gallery.ExhibitedAssetsData - 0, // 20: topfans.gallery.GalleryService.GetMyGallery:input_type -> topfans.gallery.GetMyGalleryRequest - 2, // 21: topfans.gallery.GalleryService.GetUserGallery:input_type -> topfans.gallery.GetUserGalleryRequest - 4, // 22: topfans.gallery.GalleryService.PlaceAsset:input_type -> topfans.gallery.PlaceAssetRequest - 6, // 23: topfans.gallery.GalleryService.UnlockSlot:input_type -> topfans.gallery.UnlockSlotRequest - 14, // 24: topfans.gallery.GalleryService.RemoveFromSlot:input_type -> topfans.gallery.RemoveFromSlotRequest - 16, // 25: topfans.gallery.GalleryService.GetMyExhibitedAssets:input_type -> topfans.gallery.GetMyExhibitedAssetsRequest - 20, // 26: topfans.gallery.GalleryService.GetInspirationFlow:input_type -> topfans.gallery.GetInspirationFlowRequest - 24, // 27: topfans.gallery.GalleryService.GetUserExhibitedAssets:input_type -> topfans.gallery.GetUserExhibitedAssetsRequest - 1, // 28: topfans.gallery.GalleryService.GetMyGallery:output_type -> topfans.gallery.GetMyGalleryResponse - 3, // 29: topfans.gallery.GalleryService.GetUserGallery:output_type -> topfans.gallery.GetUserGalleryResponse - 5, // 30: topfans.gallery.GalleryService.PlaceAsset:output_type -> topfans.gallery.PlaceAssetResponse - 7, // 31: topfans.gallery.GalleryService.UnlockSlot:output_type -> topfans.gallery.UnlockSlotResponse - 15, // 32: topfans.gallery.GalleryService.RemoveFromSlot:output_type -> topfans.gallery.RemoveFromSlotResponse - 17, // 33: topfans.gallery.GalleryService.GetMyExhibitedAssets:output_type -> topfans.gallery.GetMyExhibitedAssetsResponse - 21, // 34: topfans.gallery.GalleryService.GetInspirationFlow:output_type -> topfans.gallery.GetInspirationFlowResponse - 25, // 35: topfans.gallery.GalleryService.GetUserExhibitedAssets:output_type -> topfans.gallery.GetUserExhibitedAssetsResponse - 28, // [28:36] is the sub-list for method output_type - 20, // [20:28] is the sub-list for method input_type - 20, // [20:20] is the sub-list for extension type_name - 20, // [20:20] is the sub-list for extension extendee - 0, // [0:20] is the sub-list for field type_name + 28, // 20: topfans.gallery.CleanupDisplayStatusResponse.base:type_name -> topfans.common.BaseResponse + 0, // 21: topfans.gallery.GalleryService.GetMyGallery:input_type -> topfans.gallery.GetMyGalleryRequest + 2, // 22: topfans.gallery.GalleryService.GetUserGallery:input_type -> topfans.gallery.GetUserGalleryRequest + 4, // 23: topfans.gallery.GalleryService.PlaceAsset:input_type -> topfans.gallery.PlaceAssetRequest + 6, // 24: topfans.gallery.GalleryService.UnlockSlot:input_type -> topfans.gallery.UnlockSlotRequest + 14, // 25: topfans.gallery.GalleryService.RemoveFromSlot:input_type -> topfans.gallery.RemoveFromSlotRequest + 16, // 26: topfans.gallery.GalleryService.GetMyExhibitedAssets:input_type -> topfans.gallery.GetMyExhibitedAssetsRequest + 20, // 27: topfans.gallery.GalleryService.GetInspirationFlow:input_type -> topfans.gallery.GetInspirationFlowRequest + 24, // 28: topfans.gallery.GalleryService.GetUserExhibitedAssets:input_type -> topfans.gallery.GetUserExhibitedAssetsRequest + 26, // 29: topfans.gallery.GalleryService.CleanupDisplayStatus:input_type -> topfans.gallery.CleanupDisplayStatusRequest + 1, // 30: topfans.gallery.GalleryService.GetMyGallery:output_type -> topfans.gallery.GetMyGalleryResponse + 3, // 31: topfans.gallery.GalleryService.GetUserGallery:output_type -> topfans.gallery.GetUserGalleryResponse + 5, // 32: topfans.gallery.GalleryService.PlaceAsset:output_type -> topfans.gallery.PlaceAssetResponse + 7, // 33: topfans.gallery.GalleryService.UnlockSlot:output_type -> topfans.gallery.UnlockSlotResponse + 15, // 34: topfans.gallery.GalleryService.RemoveFromSlot:output_type -> topfans.gallery.RemoveFromSlotResponse + 17, // 35: topfans.gallery.GalleryService.GetMyExhibitedAssets:output_type -> topfans.gallery.GetMyExhibitedAssetsResponse + 21, // 36: topfans.gallery.GalleryService.GetInspirationFlow:output_type -> topfans.gallery.GetInspirationFlowResponse + 25, // 37: topfans.gallery.GalleryService.GetUserExhibitedAssets:output_type -> topfans.gallery.GetUserExhibitedAssetsResponse + 27, // 38: topfans.gallery.GalleryService.CleanupDisplayStatus:output_type -> topfans.gallery.CleanupDisplayStatusResponse + 30, // [30:39] is the sub-list for method output_type + 21, // [21:30] is the sub-list for method input_type + 21, // [21:21] is the sub-list for extension type_name + 21, // [21:21] is the sub-list for extension extendee + 0, // [0:21] is the sub-list for field type_name } -func init() { file_gallery_proto_init() } -func file_gallery_proto_init() { - if File_gallery_proto != nil { +func init() { file_proto_gallery_proto_init() } +func file_proto_gallery_proto_init() { + if File_proto_gallery_proto != nil { return } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: unsafe.Slice(unsafe.StringData(file_gallery_proto_rawDesc), len(file_gallery_proto_rawDesc)), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_proto_gallery_proto_rawDesc), len(file_proto_gallery_proto_rawDesc)), NumEnums: 0, - NumMessages: 26, + NumMessages: 28, NumExtensions: 0, NumServices: 1, }, - GoTypes: file_gallery_proto_goTypes, - DependencyIndexes: file_gallery_proto_depIdxs, - MessageInfos: file_gallery_proto_msgTypes, + GoTypes: file_proto_gallery_proto_goTypes, + DependencyIndexes: file_proto_gallery_proto_depIdxs, + MessageInfos: file_proto_gallery_proto_msgTypes, }.Build() - File_gallery_proto = out.File - file_gallery_proto_goTypes = nil - file_gallery_proto_depIdxs = nil + File_proto_gallery_proto = out.File + file_proto_gallery_proto_goTypes = nil + file_proto_gallery_proto_depIdxs = nil } diff --git a/backend/services/assetService/repository/asset_repository.go b/backend/services/assetService/repository/asset_repository.go index dbba299..1e7ea90 100644 --- a/backend/services/assetService/repository/asset_repository.go +++ b/backend/services/assetService/repository/asset_repository.go @@ -92,7 +92,7 @@ func (r *assetRepository) GetByID(assetID int64) (*models.Asset, error) { } var asset models.Asset - if err := r.db.Where("id = ? AND is_active = ?", assetID, true). + if err := r.db.Where("id = ? AND is_active = ? AND deleted_at IS NULL", assetID, true). First(&asset).Error; err != nil { if errors.Is(err, gorm.ErrRecordNotFound) { return nil, appErrors.ErrAssetNotFound @@ -128,7 +128,7 @@ func (r *assetRepository) GetByIDs(assetIDs []int64) ([]*models.Asset, error) { } var assets []*models.Asset - if err := r.db.Where("id IN ? AND is_active = ?", assetIDs, true). + if err := r.db.Where("id IN ? AND is_active = ? AND deleted_at IS NULL", assetIDs, true). Find(&assets).Error; err != nil { return nil, err } @@ -151,7 +151,7 @@ func (r *assetRepository) GetByIDAndOwner(assetID, ownerUID, starID int64) (*mod } var asset models.Asset - if err := r.db.Where("id = ? AND owner_uid = ? AND star_id = ? AND is_active = ?", + if err := r.db.Where("id = ? AND owner_uid = ? AND star_id = ? AND is_active = ? AND deleted_at IS NULL", assetID, ownerUID, starID, true). First(&asset).Error; err != nil { if errors.Is(err, gorm.ErrRecordNotFound) { @@ -189,7 +189,7 @@ func (r *assetRepository) GetByOwner(ownerUID, starID int64, limit, offset int) } var assets []*models.Asset - query := r.db.Where("owner_uid = ? AND star_id = ? AND is_active = ?", ownerUID, starID, true). + query := r.db.Where("owner_uid = ? AND star_id = ? AND is_active = ? AND deleted_at IS NULL", ownerUID, starID, true). Order("created_at DESC") if limit > 0 { @@ -219,7 +219,7 @@ func (r *assetRepository) CountByOwner(ownerUID, starID int64) (int64, error) { var count int64 if err := r.db.Model(&models.Asset{}). - Where("owner_uid = ? AND star_id = ? AND is_active = ?", ownerUID, starID, true). + Where("owner_uid = ? AND star_id = ? AND is_active = ? AND deleted_at IS NULL", ownerUID, starID, true). Count(&count).Error; err != nil { return 0, err } diff --git a/backend/services/galleryService/repository/gallery_repository.go b/backend/services/galleryService/repository/gallery_repository.go index 67300c2..8bbe619 100644 --- a/backend/services/galleryService/repository/gallery_repository.go +++ b/backend/services/galleryService/repository/gallery_repository.go @@ -28,6 +28,7 @@ type GalleryRepository interface { DeleteExhibition(exhibitionID int64) error DeleteExhibitionByAsset(assetID int64) error GetExpiredExhibitions(beforeTime int64) ([]*models.Exhibition, error) + GetAssetsWithInvalidDisplayStatus() ([]int64, error) // 资产注册表相关 UpdateAssetRegistryDisplayStatus(assetID int64, displayStatus int32) error @@ -280,6 +281,25 @@ func (r *galleryRepository) GetExpiredExhibitions(beforeTime int64) ([]*models.E return exhibitions, err } +// GetAssetsWithInvalidDisplayStatus 获取 display_status=1 但没有有效 exhibition 的资产ID列表 +// 用于清理手动软删除导致的 display_status 不同步问题 +func (r *galleryRepository) GetAssetsWithInvalidDisplayStatus() ([]int64, error) { + var assetIDs []int64 + + // 子查询:查找有有效 exhibition 记录的 asset_id + subQuery := r.db.Model(&models.Exhibition{}). + Select("asset_id"). + Where("deleted_at IS NULL AND expire_at > ?", time.Now().UnixMilli()) + + // 查找 display_status=1 但没有有效 exhibition 记录的资产 + err := r.db.Model(&models.AssetRegistry{}). + Select("asset_id"). + Where("display_status = ? AND asset_id NOT IN (?)", int32(1), subQuery). + Pluck("asset_id", &assetIDs).Error + + return assetIDs, err +} + // UpdateAssetRegistryDisplayStatus 更新资产注册表的展示状态 func (r *galleryRepository) UpdateAssetRegistryDisplayStatus(assetID int64, displayStatus int32) error { return r.db.Model(&models.AssetRegistry{}). diff --git a/frontend/manifest.json b/frontend/manifest.json index 912e6cb..34da6f6 100644 --- a/frontend/manifest.json +++ b/frontend/manifest.json @@ -3,7 +3,7 @@ "appid" : "__UNI__F199FF4", "description" : "", "versionName" : "1.0.4", - "versionCode" : 102, + "versionCode" : 103, "transformPx" : false, /* 5+App特有相关 */ "app-plus" : { diff --git a/frontend/pages/components/AssetSelector.vue b/frontend/pages/components/AssetSelector.vue index d81098a..d2d567a 100644 --- a/frontend/pages/components/AssetSelector.vue +++ b/frontend/pages/components/AssetSelector.vue @@ -567,7 +567,7 @@ const handleTouchEnd = (e) => { top: 0; left: 0; width: 192rpx; - height: 224rpx; + height: 100%; display: flex; align-items: center; justify-content: center; diff --git a/frontend/pages/profile/hisWorks.vue b/frontend/pages/profile/hisWorks.vue index 4e89785..c6e5cb5 100644 --- a/frontend/pages/profile/hisWorks.vue +++ b/frontend/pages/profile/hisWorks.vue @@ -496,12 +496,12 @@ onMounted(() => { align-items: center; background: #ffffff50; border-radius: 32rpx; - padding: 16rpx 20rpx; + padding: 24rpx 20rpx; gap: 16rpx; overflow: hidden; box-sizing: border-box; width: 80%; - padding-left: 10%; + padding-left: 13%; } .liked-item-first { diff --git a/frontend/pages/profile/myWorks.vue b/frontend/pages/profile/myWorks.vue index eff4e93..740ad40 100644 --- a/frontend/pages/profile/myWorks.vue +++ b/frontend/pages/profile/myWorks.vue @@ -768,12 +768,12 @@ onShow(() => { align-items: center; background: #ffffff50; border-radius: 48rpx; - padding: 16rpx 20rpx; + padding: 24rpx 20rpx; gap: 16rpx; overflow: hidden; box-sizing: border-box; width: 80%; - padding-left: 10%; + padding-left: 13%; } .liked-item-first { diff --git a/frontend/pages/square/components/WaterfallGrid.vue b/frontend/pages/square/components/WaterfallGrid.vue index 91668ac..54b6731 100644 --- a/frontend/pages/square/components/WaterfallGrid.vue +++ b/frontend/pages/square/components/WaterfallGrid.vue @@ -758,8 +758,14 @@ const handleCardClick = (card) => { doubleTapLike(card.id, (success) => { if (success) { - card.likes = (card.likes || 0) + 1; - uni.showToast({ title: '点赞成功', icon: 'success' }); + // 找到 cards 中的卡片并更新 likes,触发响应式更新 + const idx = cards.value.findIndex(c => c.id === card.id) + if (idx !== -1) { + cards.value[idx].likes = (cards.value[idx].likes || 0) + 1 + // 强制触发更新 + cards.value = [...cards.value] + } + uni.showToast({ title: '点赞成功', icon: 'success' }) } }); } else { diff --git a/frontend/pages/starbook/items.vue b/frontend/pages/starbook/items.vue index 70f1939..aa5dc95 100644 --- a/frontend/pages/starbook/items.vue +++ b/frontend/pages/starbook/items.vue @@ -284,7 +284,7 @@ onMounted(() => { top: 0; left: 0; width: 192rpx; - height: 224rpx; + height: 100%; display: flex; align-items: center; justify-content: center; diff --git a/frontend/utils/api.js b/frontend/utils/api.js index 0f93ceb..61d9ccf 100644 --- a/frontend/utils/api.js +++ b/frontend/utils/api.js @@ -1,7 +1,7 @@ // API 基础配置 -const baseURL = 'http://101.132.250.62:8080' +// const baseURL = 'http://101.132.250.62:8080' // const baseURL = 'http://192.168.110.60:8080' -// const baseURL = 'http://localhost:8080' +const baseURL = 'http://localhost:8080' // 是否使用模拟数据(开发调试时设为 true,后端API准备好后改为 false) const USE_MOCK_API = false