diff --git a/corestack/user/v1/bind.pb.go b/corestack/user/v1/bind.pb.go new file mode 100644 index 0000000..73d5ead --- /dev/null +++ b/corestack/user/v1/bind.pb.go @@ -0,0 +1,170 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.7 +// protoc (unknown) +// source: corestack/user/v1/bind.proto + +package userv1 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type BindWxOpenIDRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BindWxOpenIDRequest) Reset() { + *x = BindWxOpenIDRequest{} + mi := &file_corestack_user_v1_bind_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BindWxOpenIDRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BindWxOpenIDRequest) ProtoMessage() {} + +func (x *BindWxOpenIDRequest) ProtoReflect() protoreflect.Message { + mi := &file_corestack_user_v1_bind_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BindWxOpenIDRequest.ProtoReflect.Descriptor instead. +func (*BindWxOpenIDRequest) Descriptor() ([]byte, []int) { + return file_corestack_user_v1_bind_proto_rawDescGZIP(), []int{0} +} + +func (x *BindWxOpenIDRequest) GetCode() string { + if x != nil { + return x.Code + } + return "" +} + +type BindWxOpenIDResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + WxOpenId string `protobuf:"bytes,1,opt,name=wx_open_id,json=wxOpenId,proto3" json:"wx_open_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BindWxOpenIDResponse) Reset() { + *x = BindWxOpenIDResponse{} + mi := &file_corestack_user_v1_bind_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BindWxOpenIDResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BindWxOpenIDResponse) ProtoMessage() {} + +func (x *BindWxOpenIDResponse) ProtoReflect() protoreflect.Message { + mi := &file_corestack_user_v1_bind_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BindWxOpenIDResponse.ProtoReflect.Descriptor instead. +func (*BindWxOpenIDResponse) Descriptor() ([]byte, []int) { + return file_corestack_user_v1_bind_proto_rawDescGZIP(), []int{1} +} + +func (x *BindWxOpenIDResponse) GetWxOpenId() string { + if x != nil { + return x.WxOpenId + } + return "" +} + +var File_corestack_user_v1_bind_proto protoreflect.FileDescriptor + +const file_corestack_user_v1_bind_proto_rawDesc = "" + + "\n" + + "\x1ccorestack/user/v1/bind.proto\x12\x11corestack.user.v1\")\n" + + "\x13BindWxOpenIDRequest\x12\x12\n" + + "\x04code\x18\x01 \x01(\tR\x04code\"4\n" + + "\x14BindWxOpenIDResponse\x12\x1c\n" + + "\n" + + "wx_open_id\x18\x01 \x01(\tR\bwxOpenIdB;Z9git.shenxianhe.cn/shenxianhe/sdk/corestack/user/v1;userv1b\x06proto3" + +var ( + file_corestack_user_v1_bind_proto_rawDescOnce sync.Once + file_corestack_user_v1_bind_proto_rawDescData []byte +) + +func file_corestack_user_v1_bind_proto_rawDescGZIP() []byte { + file_corestack_user_v1_bind_proto_rawDescOnce.Do(func() { + file_corestack_user_v1_bind_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_corestack_user_v1_bind_proto_rawDesc), len(file_corestack_user_v1_bind_proto_rawDesc))) + }) + return file_corestack_user_v1_bind_proto_rawDescData +} + +var file_corestack_user_v1_bind_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_corestack_user_v1_bind_proto_goTypes = []any{ + (*BindWxOpenIDRequest)(nil), // 0: corestack.user.v1.BindWxOpenIDRequest + (*BindWxOpenIDResponse)(nil), // 1: corestack.user.v1.BindWxOpenIDResponse +} +var file_corestack_user_v1_bind_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_corestack_user_v1_bind_proto_init() } +func file_corestack_user_v1_bind_proto_init() { + if File_corestack_user_v1_bind_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_corestack_user_v1_bind_proto_rawDesc), len(file_corestack_user_v1_bind_proto_rawDesc)), + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_corestack_user_v1_bind_proto_goTypes, + DependencyIndexes: file_corestack_user_v1_bind_proto_depIdxs, + MessageInfos: file_corestack_user_v1_bind_proto_msgTypes, + }.Build() + File_corestack_user_v1_bind_proto = out.File + file_corestack_user_v1_bind_proto_goTypes = nil + file_corestack_user_v1_bind_proto_depIdxs = nil +} diff --git a/corestack/user/v1/service.pb.go b/corestack/user/v1/service.pb.go index 1a7302a..8f2b3ee 100644 --- a/corestack/user/v1/service.pb.go +++ b/corestack/user/v1/service.pb.go @@ -24,14 +24,15 @@ var File_corestack_user_v1_service_proto protoreflect.FileDescriptor const file_corestack_user_v1_service_proto_rawDesc = "" + "\n" + - "\x1fcorestack/user/v1/service.proto\x12\x11corestack.user.v1\x1a\x1ccorestack/user/v1/user.proto2\xcd\x04\n" + + "\x1fcorestack/user/v1/service.proto\x12\x11corestack.user.v1\x1a\x1ccorestack/user/v1/user.proto\x1a\x1ccorestack/user/v1/bind.proto2\xae\x05\n" + "\vUserService\x12\\\n" + "\vSetPassword\x12%.corestack.user.v1.SetPasswordRequest\x1a&.corestack.user.v1.SetPasswordResponse\x12P\n" + "\aSetName\x12!.corestack.user.v1.SetNameRequest\x1a\".corestack.user.v1.SetNameResponse\x12q\n" + "\x12GetAvatarUploadURL\x12,.corestack.user.v1.GetAvatarUploadURLRequest\x1a-.corestack.user.v1.GetAvatarUploadURLResponse\x12V\n" + "\tSetAvatar\x12#.corestack.user.v1.SetAvatarRequest\x1a$.corestack.user.v1.SetAvatarResponse\x12e\n" + "\x0eSetDescription\x12(.corestack.user.v1.SetDescriptionRequest\x1a).corestack.user.v1.SetDescriptionResponse\x12\\\n" + - "\vGetUserInfo\x12%.corestack.user.v1.GetUserInfoRequest\x1a&.corestack.user.v1.GetUserInfoResponseB;Z9git.shenxianhe.cn/shenxianhe/sdk/corestack/user/v1;userv1b\x06proto3" + "\vGetUserInfo\x12%.corestack.user.v1.GetUserInfoRequest\x1a&.corestack.user.v1.GetUserInfoResponse\x12_\n" + + "\fBindWxOpenID\x12&.corestack.user.v1.BindWxOpenIDRequest\x1a'.corestack.user.v1.BindWxOpenIDResponseB;Z9git.shenxianhe.cn/shenxianhe/sdk/corestack/user/v1;userv1b\x06proto3" var file_corestack_user_v1_service_proto_goTypes = []any{ (*SetPasswordRequest)(nil), // 0: corestack.user.v1.SetPasswordRequest @@ -40,12 +41,14 @@ var file_corestack_user_v1_service_proto_goTypes = []any{ (*SetAvatarRequest)(nil), // 3: corestack.user.v1.SetAvatarRequest (*SetDescriptionRequest)(nil), // 4: corestack.user.v1.SetDescriptionRequest (*GetUserInfoRequest)(nil), // 5: corestack.user.v1.GetUserInfoRequest - (*SetPasswordResponse)(nil), // 6: corestack.user.v1.SetPasswordResponse - (*SetNameResponse)(nil), // 7: corestack.user.v1.SetNameResponse - (*GetAvatarUploadURLResponse)(nil), // 8: corestack.user.v1.GetAvatarUploadURLResponse - (*SetAvatarResponse)(nil), // 9: corestack.user.v1.SetAvatarResponse - (*SetDescriptionResponse)(nil), // 10: corestack.user.v1.SetDescriptionResponse - (*GetUserInfoResponse)(nil), // 11: corestack.user.v1.GetUserInfoResponse + (*BindWxOpenIDRequest)(nil), // 6: corestack.user.v1.BindWxOpenIDRequest + (*SetPasswordResponse)(nil), // 7: corestack.user.v1.SetPasswordResponse + (*SetNameResponse)(nil), // 8: corestack.user.v1.SetNameResponse + (*GetAvatarUploadURLResponse)(nil), // 9: corestack.user.v1.GetAvatarUploadURLResponse + (*SetAvatarResponse)(nil), // 10: corestack.user.v1.SetAvatarResponse + (*SetDescriptionResponse)(nil), // 11: corestack.user.v1.SetDescriptionResponse + (*GetUserInfoResponse)(nil), // 12: corestack.user.v1.GetUserInfoResponse + (*BindWxOpenIDResponse)(nil), // 13: corestack.user.v1.BindWxOpenIDResponse } var file_corestack_user_v1_service_proto_depIdxs = []int32{ 0, // 0: corestack.user.v1.UserService.SetPassword:input_type -> corestack.user.v1.SetPasswordRequest @@ -54,14 +57,16 @@ var file_corestack_user_v1_service_proto_depIdxs = []int32{ 3, // 3: corestack.user.v1.UserService.SetAvatar:input_type -> corestack.user.v1.SetAvatarRequest 4, // 4: corestack.user.v1.UserService.SetDescription:input_type -> corestack.user.v1.SetDescriptionRequest 5, // 5: corestack.user.v1.UserService.GetUserInfo:input_type -> corestack.user.v1.GetUserInfoRequest - 6, // 6: corestack.user.v1.UserService.SetPassword:output_type -> corestack.user.v1.SetPasswordResponse - 7, // 7: corestack.user.v1.UserService.SetName:output_type -> corestack.user.v1.SetNameResponse - 8, // 8: corestack.user.v1.UserService.GetAvatarUploadURL:output_type -> corestack.user.v1.GetAvatarUploadURLResponse - 9, // 9: corestack.user.v1.UserService.SetAvatar:output_type -> corestack.user.v1.SetAvatarResponse - 10, // 10: corestack.user.v1.UserService.SetDescription:output_type -> corestack.user.v1.SetDescriptionResponse - 11, // 11: corestack.user.v1.UserService.GetUserInfo:output_type -> corestack.user.v1.GetUserInfoResponse - 6, // [6:12] is the sub-list for method output_type - 0, // [0:6] is the sub-list for method input_type + 6, // 6: corestack.user.v1.UserService.BindWxOpenID:input_type -> corestack.user.v1.BindWxOpenIDRequest + 7, // 7: corestack.user.v1.UserService.SetPassword:output_type -> corestack.user.v1.SetPasswordResponse + 8, // 8: corestack.user.v1.UserService.SetName:output_type -> corestack.user.v1.SetNameResponse + 9, // 9: corestack.user.v1.UserService.GetAvatarUploadURL:output_type -> corestack.user.v1.GetAvatarUploadURLResponse + 10, // 10: corestack.user.v1.UserService.SetAvatar:output_type -> corestack.user.v1.SetAvatarResponse + 11, // 11: corestack.user.v1.UserService.SetDescription:output_type -> corestack.user.v1.SetDescriptionResponse + 12, // 12: corestack.user.v1.UserService.GetUserInfo:output_type -> corestack.user.v1.GetUserInfoResponse + 13, // 13: corestack.user.v1.UserService.BindWxOpenID:output_type -> corestack.user.v1.BindWxOpenIDResponse + 7, // [7:14] is the sub-list for method output_type + 0, // [0:7] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name @@ -73,6 +78,7 @@ func file_corestack_user_v1_service_proto_init() { return } file_corestack_user_v1_user_proto_init() + file_corestack_user_v1_bind_proto_init() type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ diff --git a/corestack/user/v1/userv1connect/service.connect.go b/corestack/user/v1/userv1connect/service.connect.go index b7bdd14..ea0232f 100644 --- a/corestack/user/v1/userv1connect/service.connect.go +++ b/corestack/user/v1/userv1connect/service.connect.go @@ -47,6 +47,9 @@ const ( UserServiceSetDescriptionProcedure = "/corestack.user.v1.UserService/SetDescription" // UserServiceGetUserInfoProcedure is the fully-qualified name of the UserService's GetUserInfo RPC. UserServiceGetUserInfoProcedure = "/corestack.user.v1.UserService/GetUserInfo" + // UserServiceBindWxOpenIDProcedure is the fully-qualified name of the UserService's BindWxOpenID + // RPC. + UserServiceBindWxOpenIDProcedure = "/corestack.user.v1.UserService/BindWxOpenID" ) // UserServiceClient is a client for the corestack.user.v1.UserService service. @@ -57,6 +60,7 @@ type UserServiceClient interface { SetAvatar(context.Context, *connect.Request[v1.SetAvatarRequest]) (*connect.Response[v1.SetAvatarResponse], error) SetDescription(context.Context, *connect.Request[v1.SetDescriptionRequest]) (*connect.Response[v1.SetDescriptionResponse], error) GetUserInfo(context.Context, *connect.Request[v1.GetUserInfoRequest]) (*connect.Response[v1.GetUserInfoResponse], error) + BindWxOpenID(context.Context, *connect.Request[v1.BindWxOpenIDRequest]) (*connect.Response[v1.BindWxOpenIDResponse], error) } // NewUserServiceClient constructs a client for the corestack.user.v1.UserService service. By @@ -106,6 +110,12 @@ func NewUserServiceClient(httpClient connect.HTTPClient, baseURL string, opts .. connect.WithSchema(userServiceMethods.ByName("GetUserInfo")), connect.WithClientOptions(opts...), ), + bindWxOpenID: connect.NewClient[v1.BindWxOpenIDRequest, v1.BindWxOpenIDResponse]( + httpClient, + baseURL+UserServiceBindWxOpenIDProcedure, + connect.WithSchema(userServiceMethods.ByName("BindWxOpenID")), + connect.WithClientOptions(opts...), + ), } } @@ -117,6 +127,7 @@ type userServiceClient struct { setAvatar *connect.Client[v1.SetAvatarRequest, v1.SetAvatarResponse] setDescription *connect.Client[v1.SetDescriptionRequest, v1.SetDescriptionResponse] getUserInfo *connect.Client[v1.GetUserInfoRequest, v1.GetUserInfoResponse] + bindWxOpenID *connect.Client[v1.BindWxOpenIDRequest, v1.BindWxOpenIDResponse] } // SetPassword calls corestack.user.v1.UserService.SetPassword. @@ -149,6 +160,11 @@ func (c *userServiceClient) GetUserInfo(ctx context.Context, req *connect.Reques return c.getUserInfo.CallUnary(ctx, req) } +// BindWxOpenID calls corestack.user.v1.UserService.BindWxOpenID. +func (c *userServiceClient) BindWxOpenID(ctx context.Context, req *connect.Request[v1.BindWxOpenIDRequest]) (*connect.Response[v1.BindWxOpenIDResponse], error) { + return c.bindWxOpenID.CallUnary(ctx, req) +} + // UserServiceHandler is an implementation of the corestack.user.v1.UserService service. type UserServiceHandler interface { SetPassword(context.Context, *connect.Request[v1.SetPasswordRequest]) (*connect.Response[v1.SetPasswordResponse], error) @@ -157,6 +173,7 @@ type UserServiceHandler interface { SetAvatar(context.Context, *connect.Request[v1.SetAvatarRequest]) (*connect.Response[v1.SetAvatarResponse], error) SetDescription(context.Context, *connect.Request[v1.SetDescriptionRequest]) (*connect.Response[v1.SetDescriptionResponse], error) GetUserInfo(context.Context, *connect.Request[v1.GetUserInfoRequest]) (*connect.Response[v1.GetUserInfoResponse], error) + BindWxOpenID(context.Context, *connect.Request[v1.BindWxOpenIDRequest]) (*connect.Response[v1.BindWxOpenIDResponse], error) } // NewUserServiceHandler builds an HTTP handler from the service implementation. It returns the path @@ -202,6 +219,12 @@ func NewUserServiceHandler(svc UserServiceHandler, opts ...connect.HandlerOption connect.WithSchema(userServiceMethods.ByName("GetUserInfo")), connect.WithHandlerOptions(opts...), ) + userServiceBindWxOpenIDHandler := connect.NewUnaryHandler( + UserServiceBindWxOpenIDProcedure, + svc.BindWxOpenID, + connect.WithSchema(userServiceMethods.ByName("BindWxOpenID")), + connect.WithHandlerOptions(opts...), + ) return "/corestack.user.v1.UserService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { switch r.URL.Path { case UserServiceSetPasswordProcedure: @@ -216,6 +239,8 @@ func NewUserServiceHandler(svc UserServiceHandler, opts ...connect.HandlerOption userServiceSetDescriptionHandler.ServeHTTP(w, r) case UserServiceGetUserInfoProcedure: userServiceGetUserInfoHandler.ServeHTTP(w, r) + case UserServiceBindWxOpenIDProcedure: + userServiceBindWxOpenIDHandler.ServeHTTP(w, r) default: http.NotFound(w, r) } @@ -248,3 +273,7 @@ func (UnimplementedUserServiceHandler) SetDescription(context.Context, *connect. func (UnimplementedUserServiceHandler) GetUserInfo(context.Context, *connect.Request[v1.GetUserInfoRequest]) (*connect.Response[v1.GetUserInfoResponse], error) { return nil, connect.NewError(connect.CodeUnimplemented, errors.New("corestack.user.v1.UserService.GetUserInfo is not implemented")) } + +func (UnimplementedUserServiceHandler) BindWxOpenID(context.Context, *connect.Request[v1.BindWxOpenIDRequest]) (*connect.Response[v1.BindWxOpenIDResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("corestack.user.v1.UserService.BindWxOpenID is not implemented")) +}