diff --git a/backend/pkg/proto/activity/activity.triple.go b/backend/pkg/proto/activity/activity.triple.go new file mode 100644 index 0000000..4e6dcc4 --- /dev/null +++ b/backend/pkg/proto/activity/activity.triple.go @@ -0,0 +1,311 @@ +// Code generated by protoc-gen-triple. DO NOT EDIT. +// +// Source: activity.proto +package activity + +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 ( + // ActivityServiceName is the fully-qualified name of the ActivityService service. + ActivityServiceName = "topfans.activity.ActivityService" +) + +// 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 ( + // ActivityServiceGetActivityListProcedure is the fully-qualified name of the ActivityService's GetActivityList RPC. + ActivityServiceGetActivityListProcedure = "/topfans.activity.ActivityService/GetActivityList" + // ActivityServiceGetActivityProcedure is the fully-qualified name of the ActivityService's GetActivity RPC. + ActivityServiceGetActivityProcedure = "/topfans.activity.ActivityService/GetActivity" + // ActivityServiceGetActivityItemsProcedure is the fully-qualified name of the ActivityService's GetActivityItems RPC. + ActivityServiceGetActivityItemsProcedure = "/topfans.activity.ActivityService/GetActivityItems" + // ActivityServiceGetProgressProcedure is the fully-qualified name of the ActivityService's GetProgress RPC. + ActivityServiceGetProgressProcedure = "/topfans.activity.ActivityService/GetProgress" + // ActivityServicePurchaseItemProcedure is the fully-qualified name of the ActivityService's PurchaseItem RPC. + ActivityServicePurchaseItemProcedure = "/topfans.activity.ActivityService/PurchaseItem" + // ActivityServiceGetContributionRankingProcedure is the fully-qualified name of the ActivityService's GetContributionRanking RPC. + ActivityServiceGetContributionRankingProcedure = "/topfans.activity.ActivityService/GetContributionRanking" + // ActivityServiceGetMintingActivitiesProcedure is the fully-qualified name of the ActivityService's GetMintingActivities RPC. + ActivityServiceGetMintingActivitiesProcedure = "/topfans.activity.ActivityService/GetMintingActivities" + // ActivityServiceGetLatestContributionsProcedure is the fully-qualified name of the ActivityService's GetLatestContributions RPC. + ActivityServiceGetLatestContributionsProcedure = "/topfans.activity.ActivityService/GetLatestContributions" +) + +var ( + _ ActivityService = (*ActivityServiceImpl)(nil) +) + +// ActivityService is a client for the topfans.activity.ActivityService service. +type ActivityService interface { + GetActivityList(ctx context.Context, req *GetActivityListRequest, opts ...client.CallOption) (*GetActivityListResponse, error) + GetActivity(ctx context.Context, req *GetProgressRequest, opts ...client.CallOption) (*Activity, error) + GetActivityItems(ctx context.Context, req *GetProgressRequest, opts ...client.CallOption) (*ActivityItemsResponse, error) + GetProgress(ctx context.Context, req *GetProgressRequest, opts ...client.CallOption) (*GetProgressResponse, error) + PurchaseItem(ctx context.Context, req *PurchaseItemRequest, opts ...client.CallOption) (*PurchaseItemResponse, error) + GetContributionRanking(ctx context.Context, req *ContributionRankingRequest, opts ...client.CallOption) (*ContributionRankingResponse, error) + GetMintingActivities(ctx context.Context, req *GetMintingActivitiesRequest, opts ...client.CallOption) (*GetMintingActivitiesResponse, error) + GetLatestContributions(ctx context.Context, req *GetLatestContributionsRequest, opts ...client.CallOption) (*GetLatestContributionsResponse, error) +} + +// NewActivityService constructs a client for the activity.ActivityService service. +func NewActivityService(cli *client.Client, opts ...client.ReferenceOption) (ActivityService, error) { + conn, err := cli.DialWithInfo("topfans.activity.ActivityService", &ActivityService_ClientInfo, opts...) + if err != nil { + return nil, err + } + return &ActivityServiceImpl{ + conn: conn, + }, nil +} + +func SetConsumerActivityService(srv common.RPCService) { + dubbo.SetConsumerServiceWithInfo(srv, &ActivityService_ClientInfo) +} + +// ActivityServiceImpl implements ActivityService. +type ActivityServiceImpl struct { + conn *client.Connection +} + +func (c *ActivityServiceImpl) GetActivityList(ctx context.Context, req *GetActivityListRequest, opts ...client.CallOption) (*GetActivityListResponse, error) { + resp := new(GetActivityListResponse) + if err := c.conn.CallUnary(ctx, []interface{}{req}, resp, "GetActivityList", opts...); err != nil { + return nil, err + } + return resp, nil +} + +func (c *ActivityServiceImpl) GetActivity(ctx context.Context, req *GetProgressRequest, opts ...client.CallOption) (*Activity, error) { + resp := new(Activity) + if err := c.conn.CallUnary(ctx, []interface{}{req}, resp, "GetActivity", opts...); err != nil { + return nil, err + } + return resp, nil +} + +func (c *ActivityServiceImpl) GetActivityItems(ctx context.Context, req *GetProgressRequest, opts ...client.CallOption) (*ActivityItemsResponse, error) { + resp := new(ActivityItemsResponse) + if err := c.conn.CallUnary(ctx, []interface{}{req}, resp, "GetActivityItems", opts...); err != nil { + return nil, err + } + return resp, nil +} + +func (c *ActivityServiceImpl) GetProgress(ctx context.Context, req *GetProgressRequest, opts ...client.CallOption) (*GetProgressResponse, error) { + resp := new(GetProgressResponse) + if err := c.conn.CallUnary(ctx, []interface{}{req}, resp, "GetProgress", opts...); err != nil { + return nil, err + } + return resp, nil +} + +func (c *ActivityServiceImpl) PurchaseItem(ctx context.Context, req *PurchaseItemRequest, opts ...client.CallOption) (*PurchaseItemResponse, error) { + resp := new(PurchaseItemResponse) + if err := c.conn.CallUnary(ctx, []interface{}{req}, resp, "PurchaseItem", opts...); err != nil { + return nil, err + } + return resp, nil +} + +func (c *ActivityServiceImpl) GetContributionRanking(ctx context.Context, req *ContributionRankingRequest, opts ...client.CallOption) (*ContributionRankingResponse, error) { + resp := new(ContributionRankingResponse) + if err := c.conn.CallUnary(ctx, []interface{}{req}, resp, "GetContributionRanking", opts...); err != nil { + return nil, err + } + return resp, nil +} + +func (c *ActivityServiceImpl) GetMintingActivities(ctx context.Context, req *GetMintingActivitiesRequest, opts ...client.CallOption) (*GetMintingActivitiesResponse, error) { + resp := new(GetMintingActivitiesResponse) + if err := c.conn.CallUnary(ctx, []interface{}{req}, resp, "GetMintingActivities", opts...); err != nil { + return nil, err + } + return resp, nil +} + +func (c *ActivityServiceImpl) GetLatestContributions(ctx context.Context, req *GetLatestContributionsRequest, opts ...client.CallOption) (*GetLatestContributionsResponse, error) { + resp := new(GetLatestContributionsResponse) + if err := c.conn.CallUnary(ctx, []interface{}{req}, resp, "GetLatestContributions", opts...); err != nil { + return nil, err + } + return resp, nil +} + +var ActivityService_ClientInfo = client.ClientInfo{ + InterfaceName: "topfans.activity.ActivityService", + MethodNames: []string{"GetActivityList", "GetActivity", "GetActivityItems", "GetProgress", "PurchaseItem", "GetContributionRanking", "GetMintingActivities", "GetLatestContributions"}, + ConnectionInjectFunc: func(dubboCliRaw interface{}, conn *client.Connection) { + dubboCli := dubboCliRaw.(*ActivityServiceImpl) + dubboCli.conn = conn + }, +} + +// ActivityServiceHandler is an implementation of the topfans.activity.ActivityService service. +type ActivityServiceHandler interface { + GetActivityList(context.Context, *GetActivityListRequest) (*GetActivityListResponse, error) + GetActivity(context.Context, *GetProgressRequest) (*Activity, error) + GetActivityItems(context.Context, *GetProgressRequest) (*ActivityItemsResponse, error) + GetProgress(context.Context, *GetProgressRequest) (*GetProgressResponse, error) + PurchaseItem(context.Context, *PurchaseItemRequest) (*PurchaseItemResponse, error) + GetContributionRanking(context.Context, *ContributionRankingRequest) (*ContributionRankingResponse, error) + GetMintingActivities(context.Context, *GetMintingActivitiesRequest) (*GetMintingActivitiesResponse, error) + GetLatestContributions(context.Context, *GetLatestContributionsRequest) (*GetLatestContributionsResponse, error) +} + +func RegisterActivityServiceHandler(srv *server.Server, hdlr ActivityServiceHandler, opts ...server.ServiceOption) error { + return srv.Register(hdlr, &ActivityService_ServiceInfo, opts...) +} + +func SetProviderActivityService(srv common.RPCService) { + dubbo.SetProviderServiceWithInfo(srv, &ActivityService_ServiceInfo) +} + +var ActivityService_ServiceInfo = server.ServiceInfo{ + InterfaceName: "topfans.activity.ActivityService", + ServiceType: (*ActivityServiceHandler)(nil), + Methods: []server.MethodInfo{ + { + Name: "GetActivityList", + Type: constant.CallUnary, + ReqInitFunc: func() interface{} { + return new(GetActivityListRequest) + }, + MethodFunc: func(ctx context.Context, args []interface{}, handler interface{}) (interface{}, error) { + req := args[0].(*GetActivityListRequest) + res, err := handler.(ActivityServiceHandler).GetActivityList(ctx, req) + if err != nil { + return nil, err + } + return triple_protocol.NewResponse(res), nil + }, + }, + { + Name: "GetActivity", + Type: constant.CallUnary, + ReqInitFunc: func() interface{} { + return new(GetProgressRequest) + }, + MethodFunc: func(ctx context.Context, args []interface{}, handler interface{}) (interface{}, error) { + req := args[0].(*GetProgressRequest) + res, err := handler.(ActivityServiceHandler).GetActivity(ctx, req) + if err != nil { + return nil, err + } + return triple_protocol.NewResponse(res), nil + }, + }, + { + Name: "GetActivityItems", + Type: constant.CallUnary, + ReqInitFunc: func() interface{} { + return new(GetProgressRequest) + }, + MethodFunc: func(ctx context.Context, args []interface{}, handler interface{}) (interface{}, error) { + req := args[0].(*GetProgressRequest) + res, err := handler.(ActivityServiceHandler).GetActivityItems(ctx, req) + if err != nil { + return nil, err + } + return triple_protocol.NewResponse(res), nil + }, + }, + { + Name: "GetProgress", + Type: constant.CallUnary, + ReqInitFunc: func() interface{} { + return new(GetProgressRequest) + }, + MethodFunc: func(ctx context.Context, args []interface{}, handler interface{}) (interface{}, error) { + req := args[0].(*GetProgressRequest) + res, err := handler.(ActivityServiceHandler).GetProgress(ctx, req) + if err != nil { + return nil, err + } + return triple_protocol.NewResponse(res), nil + }, + }, + { + Name: "PurchaseItem", + Type: constant.CallUnary, + ReqInitFunc: func() interface{} { + return new(PurchaseItemRequest) + }, + MethodFunc: func(ctx context.Context, args []interface{}, handler interface{}) (interface{}, error) { + req := args[0].(*PurchaseItemRequest) + res, err := handler.(ActivityServiceHandler).PurchaseItem(ctx, req) + if err != nil { + return nil, err + } + return triple_protocol.NewResponse(res), nil + }, + }, + { + Name: "GetContributionRanking", + Type: constant.CallUnary, + ReqInitFunc: func() interface{} { + return new(ContributionRankingRequest) + }, + MethodFunc: func(ctx context.Context, args []interface{}, handler interface{}) (interface{}, error) { + req := args[0].(*ContributionRankingRequest) + res, err := handler.(ActivityServiceHandler).GetContributionRanking(ctx, req) + if err != nil { + return nil, err + } + return triple_protocol.NewResponse(res), nil + }, + }, + { + Name: "GetMintingActivities", + Type: constant.CallUnary, + ReqInitFunc: func() interface{} { + return new(GetMintingActivitiesRequest) + }, + MethodFunc: func(ctx context.Context, args []interface{}, handler interface{}) (interface{}, error) { + req := args[0].(*GetMintingActivitiesRequest) + res, err := handler.(ActivityServiceHandler).GetMintingActivities(ctx, req) + if err != nil { + return nil, err + } + return triple_protocol.NewResponse(res), nil + }, + }, + { + Name: "GetLatestContributions", + Type: constant.CallUnary, + ReqInitFunc: func() interface{} { + return new(GetLatestContributionsRequest) + }, + MethodFunc: func(ctx context.Context, args []interface{}, handler interface{}) (interface{}, error) { + req := args[0].(*GetLatestContributionsRequest) + res, err := handler.(ActivityServiceHandler).GetLatestContributions(ctx, req) + if err != nil { + return nil, err + } + return triple_protocol.NewResponse(res), nil + }, + }, + }, +} diff --git a/backend/pkg/proto/user/user.triple.go b/backend/pkg/proto/user/user.triple.go new file mode 100644 index 0000000..d6b78a8 --- /dev/null +++ b/backend/pkg/proto/user/user.triple.go @@ -0,0 +1,689 @@ +// Code generated by protoc-gen-triple. DO NOT EDIT. +// +// Source: user.proto +package user + +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 ( + // UserSocialServiceName is the fully-qualified name of the UserSocialService service. + UserSocialServiceName = "topfans.user.UserSocialService" +) + +// 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 ( + // UserSocialServiceRegisterProcedure is the fully-qualified name of the UserSocialService's Register RPC. + UserSocialServiceRegisterProcedure = "/topfans.user.UserSocialService/Register" + // UserSocialServiceLoginProcedure is the fully-qualified name of the UserSocialService's Login RPC. + UserSocialServiceLoginProcedure = "/topfans.user.UserSocialService/Login" + // UserSocialServiceRefreshTokenProcedure is the fully-qualified name of the UserSocialService's RefreshToken RPC. + UserSocialServiceRefreshTokenProcedure = "/topfans.user.UserSocialService/RefreshToken" + // UserSocialServiceValidateTokenProcedure is the fully-qualified name of the UserSocialService's ValidateToken RPC. + UserSocialServiceValidateTokenProcedure = "/topfans.user.UserSocialService/ValidateToken" + // UserSocialServiceLogoutProcedure is the fully-qualified name of the UserSocialService's Logout RPC. + UserSocialServiceLogoutProcedure = "/topfans.user.UserSocialService/Logout" + // UserSocialServiceCheckNicknameProcedure is the fully-qualified name of the UserSocialService's CheckNickname RPC. + UserSocialServiceCheckNicknameProcedure = "/topfans.user.UserSocialService/CheckNickname" + // UserSocialServiceCheckMobileProcedure is the fully-qualified name of the UserSocialService's CheckMobile RPC. + UserSocialServiceCheckMobileProcedure = "/topfans.user.UserSocialService/CheckMobile" + // UserSocialServiceGetUserProcedure is the fully-qualified name of the UserSocialService's GetUser RPC. + UserSocialServiceGetUserProcedure = "/topfans.user.UserSocialService/GetUser" + // UserSocialServiceGetFanProfileProcedure is the fully-qualified name of the UserSocialService's GetFanProfile RPC. + UserSocialServiceGetFanProfileProcedure = "/topfans.user.UserSocialService/GetFanProfile" + // UserSocialServiceUpdateFanProfileSocialProcedure is the fully-qualified name of the UserSocialService's UpdateFanProfileSocial RPC. + UserSocialServiceUpdateFanProfileSocialProcedure = "/topfans.user.UserSocialService/UpdateFanProfileSocial" + // UserSocialServiceUpdateCrystalBalanceProcedure is the fully-qualified name of the UserSocialService's UpdateCrystalBalance RPC. + UserSocialServiceUpdateCrystalBalanceProcedure = "/topfans.user.UserSocialService/UpdateCrystalBalance" + // UserSocialServiceUpdateAssetsCountProcedure is the fully-qualified name of the UserSocialService's UpdateAssetsCount RPC. + UserSocialServiceUpdateAssetsCountProcedure = "/topfans.user.UserSocialService/UpdateAssetsCount" + // UserSocialServiceAddExhibitionHoursProcedure is the fully-qualified name of the UserSocialService's AddExhibitionHours RPC. + UserSocialServiceAddExhibitionHoursProcedure = "/topfans.user.UserSocialService/AddExhibitionHours" + // UserSocialServiceGetCurrentUserProcedure is the fully-qualified name of the UserSocialService's GetCurrentUser RPC. + UserSocialServiceGetCurrentUserProcedure = "/topfans.user.UserSocialService/GetCurrentUser" + // UserSocialServiceGetMyProfileProcedure is the fully-qualified name of the UserSocialService's GetMyProfile RPC. + UserSocialServiceGetMyProfileProcedure = "/topfans.user.UserSocialService/GetMyProfile" + // UserSocialServiceUpdateNicknameProcedure is the fully-qualified name of the UserSocialService's UpdateNickname RPC. + UserSocialServiceUpdateNicknameProcedure = "/topfans.user.UserSocialService/UpdateNickname" + // UserSocialServiceUpdatePasswordProcedure is the fully-qualified name of the UserSocialService's UpdatePassword RPC. + UserSocialServiceUpdatePasswordProcedure = "/topfans.user.UserSocialService/UpdatePassword" + // UserSocialServiceUpdateAvatarProcedure is the fully-qualified name of the UserSocialService's UpdateAvatar RPC. + UserSocialServiceUpdateAvatarProcedure = "/topfans.user.UserSocialService/UpdateAvatar" + // UserSocialServiceGetFanIdentitiesProcedure is the fully-qualified name of the UserSocialService's GetFanIdentities RPC. + UserSocialServiceGetFanIdentitiesProcedure = "/topfans.user.UserSocialService/GetFanIdentities" + // UserSocialServiceGetMyFanIdentitiesProcedure is the fully-qualified name of the UserSocialService's GetMyFanIdentities RPC. + UserSocialServiceGetMyFanIdentitiesProcedure = "/topfans.user.UserSocialService/GetMyFanIdentities" + // UserSocialServiceAddIdentityProcedure is the fully-qualified name of the UserSocialService's AddIdentity RPC. + UserSocialServiceAddIdentityProcedure = "/topfans.user.UserSocialService/AddIdentity" + // UserSocialServiceSwitchIdentityProcedure is the fully-qualified name of the UserSocialService's SwitchIdentity RPC. + UserSocialServiceSwitchIdentityProcedure = "/topfans.user.UserSocialService/SwitchIdentity" +) + +var ( + _ UserSocialService = (*UserSocialServiceImpl)(nil) +) + +// UserSocialService is a client for the topfans.user.UserSocialService service. +type UserSocialService interface { + Register(ctx context.Context, req *RegisterRequest, opts ...client.CallOption) (*RegisterResponse, error) + Login(ctx context.Context, req *LoginRequest, opts ...client.CallOption) (*LoginResponse, error) + RefreshToken(ctx context.Context, req *RefreshTokenRequest, opts ...client.CallOption) (*RefreshTokenResponse, error) + ValidateToken(ctx context.Context, req *ValidateTokenRequest, opts ...client.CallOption) (*ValidateTokenResponse, error) + Logout(ctx context.Context, req *LogoutRequest, opts ...client.CallOption) (*LogoutResponse, error) + CheckNickname(ctx context.Context, req *CheckNicknameRequest, opts ...client.CallOption) (*CheckNicknameResponse, error) + CheckMobile(ctx context.Context, req *CheckMobileRequest, opts ...client.CallOption) (*CheckMobileResponse, error) + GetUser(ctx context.Context, req *GetUserRequest, opts ...client.CallOption) (*GetUserResponse, error) + GetFanProfile(ctx context.Context, req *GetFanProfileRequest, opts ...client.CallOption) (*GetFanProfileResponse, error) + UpdateFanProfileSocial(ctx context.Context, req *UpdateFanProfileSocialRequest, opts ...client.CallOption) (*UpdateFanProfileSocialResponse, error) + UpdateCrystalBalance(ctx context.Context, req *UpdateCrystalBalanceRequest, opts ...client.CallOption) (*UpdateCrystalBalanceResponse, error) + UpdateAssetsCount(ctx context.Context, req *UpdateAssetsCountRequest, opts ...client.CallOption) (*UpdateAssetsCountResponse, error) + AddExhibitionHours(ctx context.Context, req *AddExhibitionHoursRequest, opts ...client.CallOption) (*AddExhibitionHoursResponse, error) + GetCurrentUser(ctx context.Context, req *GetCurrentUserRequest, opts ...client.CallOption) (*GetCurrentUserResponse, error) + GetMyProfile(ctx context.Context, req *GetMyProfileRequest, opts ...client.CallOption) (*GetMyProfileResponse, error) + UpdateNickname(ctx context.Context, req *UpdateNicknameRequest, opts ...client.CallOption) (*UpdateNicknameResponse, error) + UpdatePassword(ctx context.Context, req *UpdatePasswordRequest, opts ...client.CallOption) (*UpdatePasswordResponse, error) + UpdateAvatar(ctx context.Context, req *UpdateAvatarRequest, opts ...client.CallOption) (*UpdateAvatarResponse, error) + GetFanIdentities(ctx context.Context, req *GetFanIdentitiesRequest, opts ...client.CallOption) (*GetFanIdentitiesResponse, error) + GetMyFanIdentities(ctx context.Context, req *GetMyFanIdentitiesRequest, opts ...client.CallOption) (*GetMyFanIdentitiesResponse, error) + AddIdentity(ctx context.Context, req *AddIdentityRequest, opts ...client.CallOption) (*AddIdentityResponse, error) + SwitchIdentity(ctx context.Context, req *SwitchIdentityRequest, opts ...client.CallOption) (*SwitchIdentityResponse, error) +} + +// NewUserSocialService constructs a client for the user.UserSocialService service. +func NewUserSocialService(cli *client.Client, opts ...client.ReferenceOption) (UserSocialService, error) { + conn, err := cli.DialWithInfo("topfans.user.UserSocialService", &UserSocialService_ClientInfo, opts...) + if err != nil { + return nil, err + } + return &UserSocialServiceImpl{ + conn: conn, + }, nil +} + +func SetConsumerUserSocialService(srv common.RPCService) { + dubbo.SetConsumerServiceWithInfo(srv, &UserSocialService_ClientInfo) +} + +// UserSocialServiceImpl implements UserSocialService. +type UserSocialServiceImpl struct { + conn *client.Connection +} + +func (c *UserSocialServiceImpl) Register(ctx context.Context, req *RegisterRequest, opts ...client.CallOption) (*RegisterResponse, error) { + resp := new(RegisterResponse) + if err := c.conn.CallUnary(ctx, []interface{}{req}, resp, "Register", opts...); err != nil { + return nil, err + } + return resp, nil +} + +func (c *UserSocialServiceImpl) Login(ctx context.Context, req *LoginRequest, opts ...client.CallOption) (*LoginResponse, error) { + resp := new(LoginResponse) + if err := c.conn.CallUnary(ctx, []interface{}{req}, resp, "Login", opts...); err != nil { + return nil, err + } + return resp, nil +} + +func (c *UserSocialServiceImpl) RefreshToken(ctx context.Context, req *RefreshTokenRequest, opts ...client.CallOption) (*RefreshTokenResponse, error) { + resp := new(RefreshTokenResponse) + if err := c.conn.CallUnary(ctx, []interface{}{req}, resp, "RefreshToken", opts...); err != nil { + return nil, err + } + return resp, nil +} + +func (c *UserSocialServiceImpl) ValidateToken(ctx context.Context, req *ValidateTokenRequest, opts ...client.CallOption) (*ValidateTokenResponse, error) { + resp := new(ValidateTokenResponse) + if err := c.conn.CallUnary(ctx, []interface{}{req}, resp, "ValidateToken", opts...); err != nil { + return nil, err + } + return resp, nil +} + +func (c *UserSocialServiceImpl) Logout(ctx context.Context, req *LogoutRequest, opts ...client.CallOption) (*LogoutResponse, error) { + resp := new(LogoutResponse) + if err := c.conn.CallUnary(ctx, []interface{}{req}, resp, "Logout", opts...); err != nil { + return nil, err + } + return resp, nil +} + +func (c *UserSocialServiceImpl) CheckNickname(ctx context.Context, req *CheckNicknameRequest, opts ...client.CallOption) (*CheckNicknameResponse, error) { + resp := new(CheckNicknameResponse) + if err := c.conn.CallUnary(ctx, []interface{}{req}, resp, "CheckNickname", opts...); err != nil { + return nil, err + } + return resp, nil +} + +func (c *UserSocialServiceImpl) CheckMobile(ctx context.Context, req *CheckMobileRequest, opts ...client.CallOption) (*CheckMobileResponse, error) { + resp := new(CheckMobileResponse) + if err := c.conn.CallUnary(ctx, []interface{}{req}, resp, "CheckMobile", opts...); err != nil { + return nil, err + } + return resp, nil +} + +func (c *UserSocialServiceImpl) GetUser(ctx context.Context, req *GetUserRequest, opts ...client.CallOption) (*GetUserResponse, error) { + resp := new(GetUserResponse) + if err := c.conn.CallUnary(ctx, []interface{}{req}, resp, "GetUser", opts...); err != nil { + return nil, err + } + return resp, nil +} + +func (c *UserSocialServiceImpl) GetFanProfile(ctx context.Context, req *GetFanProfileRequest, opts ...client.CallOption) (*GetFanProfileResponse, error) { + resp := new(GetFanProfileResponse) + if err := c.conn.CallUnary(ctx, []interface{}{req}, resp, "GetFanProfile", opts...); err != nil { + return nil, err + } + return resp, nil +} + +func (c *UserSocialServiceImpl) UpdateFanProfileSocial(ctx context.Context, req *UpdateFanProfileSocialRequest, opts ...client.CallOption) (*UpdateFanProfileSocialResponse, error) { + resp := new(UpdateFanProfileSocialResponse) + if err := c.conn.CallUnary(ctx, []interface{}{req}, resp, "UpdateFanProfileSocial", opts...); err != nil { + return nil, err + } + return resp, nil +} + +func (c *UserSocialServiceImpl) UpdateCrystalBalance(ctx context.Context, req *UpdateCrystalBalanceRequest, opts ...client.CallOption) (*UpdateCrystalBalanceResponse, error) { + resp := new(UpdateCrystalBalanceResponse) + if err := c.conn.CallUnary(ctx, []interface{}{req}, resp, "UpdateCrystalBalance", opts...); err != nil { + return nil, err + } + return resp, nil +} + +func (c *UserSocialServiceImpl) UpdateAssetsCount(ctx context.Context, req *UpdateAssetsCountRequest, opts ...client.CallOption) (*UpdateAssetsCountResponse, error) { + resp := new(UpdateAssetsCountResponse) + if err := c.conn.CallUnary(ctx, []interface{}{req}, resp, "UpdateAssetsCount", opts...); err != nil { + return nil, err + } + return resp, nil +} + +func (c *UserSocialServiceImpl) AddExhibitionHours(ctx context.Context, req *AddExhibitionHoursRequest, opts ...client.CallOption) (*AddExhibitionHoursResponse, error) { + resp := new(AddExhibitionHoursResponse) + if err := c.conn.CallUnary(ctx, []interface{}{req}, resp, "AddExhibitionHours", opts...); err != nil { + return nil, err + } + return resp, nil +} + +func (c *UserSocialServiceImpl) GetCurrentUser(ctx context.Context, req *GetCurrentUserRequest, opts ...client.CallOption) (*GetCurrentUserResponse, error) { + resp := new(GetCurrentUserResponse) + if err := c.conn.CallUnary(ctx, []interface{}{req}, resp, "GetCurrentUser", opts...); err != nil { + return nil, err + } + return resp, nil +} + +func (c *UserSocialServiceImpl) GetMyProfile(ctx context.Context, req *GetMyProfileRequest, opts ...client.CallOption) (*GetMyProfileResponse, error) { + resp := new(GetMyProfileResponse) + if err := c.conn.CallUnary(ctx, []interface{}{req}, resp, "GetMyProfile", opts...); err != nil { + return nil, err + } + return resp, nil +} + +func (c *UserSocialServiceImpl) UpdateNickname(ctx context.Context, req *UpdateNicknameRequest, opts ...client.CallOption) (*UpdateNicknameResponse, error) { + resp := new(UpdateNicknameResponse) + if err := c.conn.CallUnary(ctx, []interface{}{req}, resp, "UpdateNickname", opts...); err != nil { + return nil, err + } + return resp, nil +} + +func (c *UserSocialServiceImpl) UpdatePassword(ctx context.Context, req *UpdatePasswordRequest, opts ...client.CallOption) (*UpdatePasswordResponse, error) { + resp := new(UpdatePasswordResponse) + if err := c.conn.CallUnary(ctx, []interface{}{req}, resp, "UpdatePassword", opts...); err != nil { + return nil, err + } + return resp, nil +} + +func (c *UserSocialServiceImpl) UpdateAvatar(ctx context.Context, req *UpdateAvatarRequest, opts ...client.CallOption) (*UpdateAvatarResponse, error) { + resp := new(UpdateAvatarResponse) + if err := c.conn.CallUnary(ctx, []interface{}{req}, resp, "UpdateAvatar", opts...); err != nil { + return nil, err + } + return resp, nil +} + +func (c *UserSocialServiceImpl) GetFanIdentities(ctx context.Context, req *GetFanIdentitiesRequest, opts ...client.CallOption) (*GetFanIdentitiesResponse, error) { + resp := new(GetFanIdentitiesResponse) + if err := c.conn.CallUnary(ctx, []interface{}{req}, resp, "GetFanIdentities", opts...); err != nil { + return nil, err + } + return resp, nil +} + +func (c *UserSocialServiceImpl) GetMyFanIdentities(ctx context.Context, req *GetMyFanIdentitiesRequest, opts ...client.CallOption) (*GetMyFanIdentitiesResponse, error) { + resp := new(GetMyFanIdentitiesResponse) + if err := c.conn.CallUnary(ctx, []interface{}{req}, resp, "GetMyFanIdentities", opts...); err != nil { + return nil, err + } + return resp, nil +} + +func (c *UserSocialServiceImpl) AddIdentity(ctx context.Context, req *AddIdentityRequest, opts ...client.CallOption) (*AddIdentityResponse, error) { + resp := new(AddIdentityResponse) + if err := c.conn.CallUnary(ctx, []interface{}{req}, resp, "AddIdentity", opts...); err != nil { + return nil, err + } + return resp, nil +} + +func (c *UserSocialServiceImpl) SwitchIdentity(ctx context.Context, req *SwitchIdentityRequest, opts ...client.CallOption) (*SwitchIdentityResponse, error) { + resp := new(SwitchIdentityResponse) + if err := c.conn.CallUnary(ctx, []interface{}{req}, resp, "SwitchIdentity", opts...); err != nil { + return nil, err + } + return resp, nil +} + +var UserSocialService_ClientInfo = client.ClientInfo{ + InterfaceName: "topfans.user.UserSocialService", + MethodNames: []string{"Register", "Login", "RefreshToken", "ValidateToken", "Logout", "CheckNickname", "CheckMobile", "GetUser", "GetFanProfile", "UpdateFanProfileSocial", "UpdateCrystalBalance", "UpdateAssetsCount", "AddExhibitionHours", "GetCurrentUser", "GetMyProfile", "UpdateNickname", "UpdatePassword", "UpdateAvatar", "GetFanIdentities", "GetMyFanIdentities", "AddIdentity", "SwitchIdentity"}, + ConnectionInjectFunc: func(dubboCliRaw interface{}, conn *client.Connection) { + dubboCli := dubboCliRaw.(*UserSocialServiceImpl) + dubboCli.conn = conn + }, +} + +// UserSocialServiceHandler is an implementation of the topfans.user.UserSocialService service. +type UserSocialServiceHandler interface { + Register(context.Context, *RegisterRequest) (*RegisterResponse, error) + Login(context.Context, *LoginRequest) (*LoginResponse, error) + RefreshToken(context.Context, *RefreshTokenRequest) (*RefreshTokenResponse, error) + ValidateToken(context.Context, *ValidateTokenRequest) (*ValidateTokenResponse, error) + Logout(context.Context, *LogoutRequest) (*LogoutResponse, error) + CheckNickname(context.Context, *CheckNicknameRequest) (*CheckNicknameResponse, error) + CheckMobile(context.Context, *CheckMobileRequest) (*CheckMobileResponse, error) + GetUser(context.Context, *GetUserRequest) (*GetUserResponse, error) + GetFanProfile(context.Context, *GetFanProfileRequest) (*GetFanProfileResponse, error) + UpdateFanProfileSocial(context.Context, *UpdateFanProfileSocialRequest) (*UpdateFanProfileSocialResponse, error) + UpdateCrystalBalance(context.Context, *UpdateCrystalBalanceRequest) (*UpdateCrystalBalanceResponse, error) + UpdateAssetsCount(context.Context, *UpdateAssetsCountRequest) (*UpdateAssetsCountResponse, error) + AddExhibitionHours(context.Context, *AddExhibitionHoursRequest) (*AddExhibitionHoursResponse, error) + GetCurrentUser(context.Context, *GetCurrentUserRequest) (*GetCurrentUserResponse, error) + GetMyProfile(context.Context, *GetMyProfileRequest) (*GetMyProfileResponse, error) + UpdateNickname(context.Context, *UpdateNicknameRequest) (*UpdateNicknameResponse, error) + UpdatePassword(context.Context, *UpdatePasswordRequest) (*UpdatePasswordResponse, error) + UpdateAvatar(context.Context, *UpdateAvatarRequest) (*UpdateAvatarResponse, error) + GetFanIdentities(context.Context, *GetFanIdentitiesRequest) (*GetFanIdentitiesResponse, error) + GetMyFanIdentities(context.Context, *GetMyFanIdentitiesRequest) (*GetMyFanIdentitiesResponse, error) + AddIdentity(context.Context, *AddIdentityRequest) (*AddIdentityResponse, error) + SwitchIdentity(context.Context, *SwitchIdentityRequest) (*SwitchIdentityResponse, error) +} + +func RegisterUserSocialServiceHandler(srv *server.Server, hdlr UserSocialServiceHandler, opts ...server.ServiceOption) error { + return srv.Register(hdlr, &UserSocialService_ServiceInfo, opts...) +} + +func SetProviderUserSocialService(srv common.RPCService) { + dubbo.SetProviderServiceWithInfo(srv, &UserSocialService_ServiceInfo) +} + +var UserSocialService_ServiceInfo = server.ServiceInfo{ + InterfaceName: "topfans.user.UserSocialService", + ServiceType: (*UserSocialServiceHandler)(nil), + Methods: []server.MethodInfo{ + { + Name: "Register", + Type: constant.CallUnary, + ReqInitFunc: func() interface{} { + return new(RegisterRequest) + }, + MethodFunc: func(ctx context.Context, args []interface{}, handler interface{}) (interface{}, error) { + req := args[0].(*RegisterRequest) + res, err := handler.(UserSocialServiceHandler).Register(ctx, req) + if err != nil { + return nil, err + } + return triple_protocol.NewResponse(res), nil + }, + }, + { + Name: "Login", + Type: constant.CallUnary, + ReqInitFunc: func() interface{} { + return new(LoginRequest) + }, + MethodFunc: func(ctx context.Context, args []interface{}, handler interface{}) (interface{}, error) { + req := args[0].(*LoginRequest) + res, err := handler.(UserSocialServiceHandler).Login(ctx, req) + if err != nil { + return nil, err + } + return triple_protocol.NewResponse(res), nil + }, + }, + { + Name: "RefreshToken", + Type: constant.CallUnary, + ReqInitFunc: func() interface{} { + return new(RefreshTokenRequest) + }, + MethodFunc: func(ctx context.Context, args []interface{}, handler interface{}) (interface{}, error) { + req := args[0].(*RefreshTokenRequest) + res, err := handler.(UserSocialServiceHandler).RefreshToken(ctx, req) + if err != nil { + return nil, err + } + return triple_protocol.NewResponse(res), nil + }, + }, + { + Name: "ValidateToken", + Type: constant.CallUnary, + ReqInitFunc: func() interface{} { + return new(ValidateTokenRequest) + }, + MethodFunc: func(ctx context.Context, args []interface{}, handler interface{}) (interface{}, error) { + req := args[0].(*ValidateTokenRequest) + res, err := handler.(UserSocialServiceHandler).ValidateToken(ctx, req) + if err != nil { + return nil, err + } + return triple_protocol.NewResponse(res), nil + }, + }, + { + Name: "Logout", + Type: constant.CallUnary, + ReqInitFunc: func() interface{} { + return new(LogoutRequest) + }, + MethodFunc: func(ctx context.Context, args []interface{}, handler interface{}) (interface{}, error) { + req := args[0].(*LogoutRequest) + res, err := handler.(UserSocialServiceHandler).Logout(ctx, req) + if err != nil { + return nil, err + } + return triple_protocol.NewResponse(res), nil + }, + }, + { + Name: "CheckNickname", + Type: constant.CallUnary, + ReqInitFunc: func() interface{} { + return new(CheckNicknameRequest) + }, + MethodFunc: func(ctx context.Context, args []interface{}, handler interface{}) (interface{}, error) { + req := args[0].(*CheckNicknameRequest) + res, err := handler.(UserSocialServiceHandler).CheckNickname(ctx, req) + if err != nil { + return nil, err + } + return triple_protocol.NewResponse(res), nil + }, + }, + { + Name: "CheckMobile", + Type: constant.CallUnary, + ReqInitFunc: func() interface{} { + return new(CheckMobileRequest) + }, + MethodFunc: func(ctx context.Context, args []interface{}, handler interface{}) (interface{}, error) { + req := args[0].(*CheckMobileRequest) + res, err := handler.(UserSocialServiceHandler).CheckMobile(ctx, req) + if err != nil { + return nil, err + } + return triple_protocol.NewResponse(res), nil + }, + }, + { + Name: "GetUser", + Type: constant.CallUnary, + ReqInitFunc: func() interface{} { + return new(GetUserRequest) + }, + MethodFunc: func(ctx context.Context, args []interface{}, handler interface{}) (interface{}, error) { + req := args[0].(*GetUserRequest) + res, err := handler.(UserSocialServiceHandler).GetUser(ctx, req) + if err != nil { + return nil, err + } + return triple_protocol.NewResponse(res), nil + }, + }, + { + Name: "GetFanProfile", + Type: constant.CallUnary, + ReqInitFunc: func() interface{} { + return new(GetFanProfileRequest) + }, + MethodFunc: func(ctx context.Context, args []interface{}, handler interface{}) (interface{}, error) { + req := args[0].(*GetFanProfileRequest) + res, err := handler.(UserSocialServiceHandler).GetFanProfile(ctx, req) + if err != nil { + return nil, err + } + return triple_protocol.NewResponse(res), nil + }, + }, + { + Name: "UpdateFanProfileSocial", + Type: constant.CallUnary, + ReqInitFunc: func() interface{} { + return new(UpdateFanProfileSocialRequest) + }, + MethodFunc: func(ctx context.Context, args []interface{}, handler interface{}) (interface{}, error) { + req := args[0].(*UpdateFanProfileSocialRequest) + res, err := handler.(UserSocialServiceHandler).UpdateFanProfileSocial(ctx, req) + if err != nil { + return nil, err + } + return triple_protocol.NewResponse(res), nil + }, + }, + { + Name: "UpdateCrystalBalance", + Type: constant.CallUnary, + ReqInitFunc: func() interface{} { + return new(UpdateCrystalBalanceRequest) + }, + MethodFunc: func(ctx context.Context, args []interface{}, handler interface{}) (interface{}, error) { + req := args[0].(*UpdateCrystalBalanceRequest) + res, err := handler.(UserSocialServiceHandler).UpdateCrystalBalance(ctx, req) + if err != nil { + return nil, err + } + return triple_protocol.NewResponse(res), nil + }, + }, + { + Name: "UpdateAssetsCount", + Type: constant.CallUnary, + ReqInitFunc: func() interface{} { + return new(UpdateAssetsCountRequest) + }, + MethodFunc: func(ctx context.Context, args []interface{}, handler interface{}) (interface{}, error) { + req := args[0].(*UpdateAssetsCountRequest) + res, err := handler.(UserSocialServiceHandler).UpdateAssetsCount(ctx, req) + if err != nil { + return nil, err + } + return triple_protocol.NewResponse(res), nil + }, + }, + { + Name: "AddExhibitionHours", + Type: constant.CallUnary, + ReqInitFunc: func() interface{} { + return new(AddExhibitionHoursRequest) + }, + MethodFunc: func(ctx context.Context, args []interface{}, handler interface{}) (interface{}, error) { + req := args[0].(*AddExhibitionHoursRequest) + res, err := handler.(UserSocialServiceHandler).AddExhibitionHours(ctx, req) + if err != nil { + return nil, err + } + return triple_protocol.NewResponse(res), nil + }, + }, + { + Name: "GetCurrentUser", + Type: constant.CallUnary, + ReqInitFunc: func() interface{} { + return new(GetCurrentUserRequest) + }, + MethodFunc: func(ctx context.Context, args []interface{}, handler interface{}) (interface{}, error) { + req := args[0].(*GetCurrentUserRequest) + res, err := handler.(UserSocialServiceHandler).GetCurrentUser(ctx, req) + if err != nil { + return nil, err + } + return triple_protocol.NewResponse(res), nil + }, + }, + { + Name: "GetMyProfile", + Type: constant.CallUnary, + ReqInitFunc: func() interface{} { + return new(GetMyProfileRequest) + }, + MethodFunc: func(ctx context.Context, args []interface{}, handler interface{}) (interface{}, error) { + req := args[0].(*GetMyProfileRequest) + res, err := handler.(UserSocialServiceHandler).GetMyProfile(ctx, req) + if err != nil { + return nil, err + } + return triple_protocol.NewResponse(res), nil + }, + }, + { + Name: "UpdateNickname", + Type: constant.CallUnary, + ReqInitFunc: func() interface{} { + return new(UpdateNicknameRequest) + }, + MethodFunc: func(ctx context.Context, args []interface{}, handler interface{}) (interface{}, error) { + req := args[0].(*UpdateNicknameRequest) + res, err := handler.(UserSocialServiceHandler).UpdateNickname(ctx, req) + if err != nil { + return nil, err + } + return triple_protocol.NewResponse(res), nil + }, + }, + { + Name: "UpdatePassword", + Type: constant.CallUnary, + ReqInitFunc: func() interface{} { + return new(UpdatePasswordRequest) + }, + MethodFunc: func(ctx context.Context, args []interface{}, handler interface{}) (interface{}, error) { + req := args[0].(*UpdatePasswordRequest) + res, err := handler.(UserSocialServiceHandler).UpdatePassword(ctx, req) + if err != nil { + return nil, err + } + return triple_protocol.NewResponse(res), nil + }, + }, + { + Name: "UpdateAvatar", + Type: constant.CallUnary, + ReqInitFunc: func() interface{} { + return new(UpdateAvatarRequest) + }, + MethodFunc: func(ctx context.Context, args []interface{}, handler interface{}) (interface{}, error) { + req := args[0].(*UpdateAvatarRequest) + res, err := handler.(UserSocialServiceHandler).UpdateAvatar(ctx, req) + if err != nil { + return nil, err + } + return triple_protocol.NewResponse(res), nil + }, + }, + { + Name: "GetFanIdentities", + Type: constant.CallUnary, + ReqInitFunc: func() interface{} { + return new(GetFanIdentitiesRequest) + }, + MethodFunc: func(ctx context.Context, args []interface{}, handler interface{}) (interface{}, error) { + req := args[0].(*GetFanIdentitiesRequest) + res, err := handler.(UserSocialServiceHandler).GetFanIdentities(ctx, req) + if err != nil { + return nil, err + } + return triple_protocol.NewResponse(res), nil + }, + }, + { + Name: "GetMyFanIdentities", + Type: constant.CallUnary, + ReqInitFunc: func() interface{} { + return new(GetMyFanIdentitiesRequest) + }, + MethodFunc: func(ctx context.Context, args []interface{}, handler interface{}) (interface{}, error) { + req := args[0].(*GetMyFanIdentitiesRequest) + res, err := handler.(UserSocialServiceHandler).GetMyFanIdentities(ctx, req) + if err != nil { + return nil, err + } + return triple_protocol.NewResponse(res), nil + }, + }, + { + Name: "AddIdentity", + Type: constant.CallUnary, + ReqInitFunc: func() interface{} { + return new(AddIdentityRequest) + }, + MethodFunc: func(ctx context.Context, args []interface{}, handler interface{}) (interface{}, error) { + req := args[0].(*AddIdentityRequest) + res, err := handler.(UserSocialServiceHandler).AddIdentity(ctx, req) + if err != nil { + return nil, err + } + return triple_protocol.NewResponse(res), nil + }, + }, + { + Name: "SwitchIdentity", + Type: constant.CallUnary, + ReqInitFunc: func() interface{} { + return new(SwitchIdentityRequest) + }, + MethodFunc: func(ctx context.Context, args []interface{}, handler interface{}) (interface{}, error) { + req := args[0].(*SwitchIdentityRequest) + res, err := handler.(UserSocialServiceHandler).SwitchIdentity(ctx, req) + if err != nil { + return nil, err + } + return triple_protocol.NewResponse(res), nil + }, + }, + }, +} diff --git a/backend/services/activityService/provider/activity_provider.go b/backend/services/activityService/provider/activity_provider.go index 442d052..2935ccb 100644 --- a/backend/services/activityService/provider/activity_provider.go +++ b/backend/services/activityService/provider/activity_provider.go @@ -218,3 +218,32 @@ func (p *ActivityProvider) GetMintingActivities(ctx context.Context, req *pb.Get return resp, nil } + +// GetLatestContributions 获取最新贡献记录 +func (p *ActivityProvider) GetLatestContributions(ctx context.Context, req *pb.GetLatestContributionsRequest) (*pb.GetLatestContributionsResponse, error) { + logger.Logger.Info("Received GetLatestContributions request", + zap.Int64("activity_id", req.ActivityId), + zap.Int64("since_timestamp", req.SinceTimestamp), + zap.Int64("since_id", req.SinceId), + zap.Int32("limit", req.Limit), + ) + + // 调用Service层 + resp, err := p.activityService.GetLatestContributions(ctx, req) + if err != nil { + logger.Logger.Error("GetLatestContributions failed", zap.Error(err)) + return &pb.GetLatestContributionsResponse{ + Base: &pbCommon.BaseResponse{ + Code: appErrors.ToStatusCode(err), + Message: err.Error(), + Timestamp: time.Now().UnixMilli(), + }, + }, err + } + + logger.Logger.Debug("GetLatestContributions successful", + zap.Int("records_count", len(resp.Records)), + ) + + return resp, nil +} diff --git a/backend/services/activityService/service/activity_service.go b/backend/services/activityService/service/activity_service.go index 366ec80..bd79bec 100644 --- a/backend/services/activityService/service/activity_service.go +++ b/backend/services/activityService/service/activity_service.go @@ -659,13 +659,10 @@ func (s *activityService) GetLatestContributions(ctx context.Context, req *pb.Ge for i, c := range contributions { // 获取用户昵称和头像 nickname, avatarUrl := "", "" - if req.SinceTimestamp == 0 && req.SinceId == 0 { - // 只在首次全量拉取时获取用户信息 - fanProfile, err := s.userRPCClient.GetFanProfile(c.UserID, c.StarID) - if err == nil && fanProfile != nil { - nickname = fanProfile.Nickname - avatarUrl = fanProfile.AvatarUrl - } + fanProfile, err := s.userRPCClient.GetFanProfile(c.UserID, c.StarID) + if err == nil && fanProfile != nil { + nickname = fanProfile.Nickname + avatarUrl = fanProfile.AvatarUrl } // 获取道具信息 diff --git a/frontend/pages/support-activity/components/ActionBar.vue b/frontend/pages/support-activity/components/ActionBar.vue index 8bbc20c..8766129 100644 --- a/frontend/pages/support-activity/components/ActionBar.vue +++ b/frontend/pages/support-activity/components/ActionBar.vue @@ -798,8 +798,8 @@ defineExpose({ /* 图标包装器 */ .icon-wrapper { - width: 120rpx; - height: 120rpx; + width: 112rpx; + height: 112rpx; display: flex; justify-content: center; align-items: center; @@ -810,7 +810,6 @@ defineExpose({ .item-icon { width: 100%; height: 100%; - transform: scale(1.5); } /* 名称包装器 */ diff --git a/frontend/pages/support-activity/components/ContributionList.vue b/frontend/pages/support-activity/components/ContributionList.vue index 9474703..efd4b2b 100644 --- a/frontend/pages/support-activity/components/ContributionList.vue +++ b/frontend/pages/support-activity/components/ContributionList.vue @@ -10,12 +10,15 @@ class="contribution-item" :class="{ 'new-item': index === 0, 'fading-out': record.fading }" > - - {{ record.user_nickname }} - 贡献了 + + + {{ record.nickname }} + - {{ record.item_name }} - x{{ record.combo_count > 1 ? record.combo_count : record.quantity }} + + x + {{ record.combo_count > 1 ? record.combo_count : record.quantity }} + @@ -59,7 +62,7 @@ defineExpose({ .contribution-list { width: 100%; padding: 0 24rpx; - margin-top: 20rpx; + margin-top: 32rpx; } .list-header { @@ -77,18 +80,23 @@ defineExpose({ } .list-content { - height: 200rpx; - /* background: rgba(0, 0, 0, 0.3); */ + height: 280rpx; border-radius: 16rpx; padding: 16rpx; } .contribution-item { + width: 384rpx; + height: 8rpx; display: flex; align-items: center; - padding: 12rpx 0; - border-bottom: 1rpx solid rgba(255, 255, 255, 0.1); + padding: 16rpx 0; + background: rgba(0, 0, 0, 0.1); animation: fadeIn 0.3s ease-out; + position: relative; + top: 32rpx; + border-radius: 999rpx; + margin-bottom: 48rpx; } .contribution-item:last-child { @@ -103,44 +111,65 @@ defineExpose({ animation: fadeOut 0.5s forwards; } +.user-info { + display: flex; + align-items: center; + background-image: url('@/static/rank/activity-support-icon/beijingkuang.png'); + background-size: 105% 130%; + background-position: center; + /* padding: 0 32rpx 0 40rpx; */ + border-radius: 999rpx; + margin-right: 32rpx; +} + .user-avatar { - width: 48rpx; - height: 48rpx; + width: 40rpx; + height: 40rpx; border-radius: 50%; - margin-right: 12rpx; + margin-right: 16rpx; } .user-nickname { - font-size: 24rpx; + font-size: 16rpx; color: #fff; + padding: 0 32rpx 0 16rpx; max-width: 120rpx; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; + text-shadow: 0 2rpx 4rpx rgba(0, 0, 0, 0.5); } -.contribute-text { - font-size: 24rpx; - color: rgba(255, 255, 255, 0.7); - margin: 0 12rpx; -} .item-icon { - width: 36rpx; - height: 36rpx; - margin-right: 8rpx; + width: 72rpx; + height: 72rpx; + position: relative; + bottom: 8rpx; + margin-right: 24rpx; } -.item-name { - font-size: 24rpx; - color: #fff; - margin-right: 8rpx; +.quantity-info { + position: relative; + right: 0; + bottom: 8rpx; + display: flex; + align-items: baseline; } .item-quantity { - font-size: 24rpx; + font-size: 20rpx; color: #ffcc00; font-weight: bold; + text-shadow: 0 2rpx 4rpx rgba(0, 0, 0, 0.5); + margin-right: 8rpx; +} + +.item-count { + font-size: 38rpx; + color: #ffcc00; + font-weight: bold; + text-shadow: 0 2rpx 4rpx rgba(0, 0, 0, 0.5); } @keyframes fadeIn {