feat 协议

This commit is contained in:
2026-01-13 17:54:15 +08:00
parent 7812a3c669
commit 34b2e45e3d
2 changed files with 258 additions and 80 deletions

View File

@@ -22,7 +22,8 @@ const _ = grpc.SupportPackageIsVersion7
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
type UserClient interface {
Login(ctx context.Context, in *LoginReq, opts ...grpc.CallOption) (*LoginResp, error)
PhoneLogin(ctx context.Context, in *PhoneLoginReq, opts ...grpc.CallOption) (*PhoneLoginResp, error)
WxMiniLogin(ctx context.Context, in *WxMiniLoginReq, opts ...grpc.CallOption) (*WxMiniLoginResp, error)
// 获取用户信息
GetUserInfo(ctx context.Context, in *GetUserInfoReq, opts ...grpc.CallOption) (*GetUserInfoResp, error)
}
@@ -35,9 +36,18 @@ func NewUserClient(cc grpc.ClientConnInterface) UserClient {
return &userClient{cc}
}
func (c *userClient) Login(ctx context.Context, in *LoginReq, opts ...grpc.CallOption) (*LoginResp, error) {
out := new(LoginResp)
err := c.cc.Invoke(ctx, "/User/Login", in, out, opts...)
func (c *userClient) PhoneLogin(ctx context.Context, in *PhoneLoginReq, opts ...grpc.CallOption) (*PhoneLoginResp, error) {
out := new(PhoneLoginResp)
err := c.cc.Invoke(ctx, "/User/PhoneLogin", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *userClient) WxMiniLogin(ctx context.Context, in *WxMiniLoginReq, opts ...grpc.CallOption) (*WxMiniLoginResp, error) {
out := new(WxMiniLoginResp)
err := c.cc.Invoke(ctx, "/User/WxMiniLogin", in, out, opts...)
if err != nil {
return nil, err
}
@@ -57,7 +67,8 @@ func (c *userClient) GetUserInfo(ctx context.Context, in *GetUserInfoReq, opts .
// All implementations must embed UnimplementedUserServer
// for forward compatibility
type UserServer interface {
Login(context.Context, *LoginReq) (*LoginResp, error)
PhoneLogin(context.Context, *PhoneLoginReq) (*PhoneLoginResp, error)
WxMiniLogin(context.Context, *WxMiniLoginReq) (*WxMiniLoginResp, error)
// 获取用户信息
GetUserInfo(context.Context, *GetUserInfoReq) (*GetUserInfoResp, error)
mustEmbedUnimplementedUserServer()
@@ -67,8 +78,11 @@ type UserServer interface {
type UnimplementedUserServer struct {
}
func (UnimplementedUserServer) Login(context.Context, *LoginReq) (*LoginResp, error) {
return nil, status.Errorf(codes.Unimplemented, "method Login not implemented")
func (UnimplementedUserServer) PhoneLogin(context.Context, *PhoneLoginReq) (*PhoneLoginResp, error) {
return nil, status.Errorf(codes.Unimplemented, "method PhoneLogin not implemented")
}
func (UnimplementedUserServer) WxMiniLogin(context.Context, *WxMiniLoginReq) (*WxMiniLoginResp, error) {
return nil, status.Errorf(codes.Unimplemented, "method WxMiniLogin not implemented")
}
func (UnimplementedUserServer) GetUserInfo(context.Context, *GetUserInfoReq) (*GetUserInfoResp, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetUserInfo not implemented")
@@ -86,20 +100,38 @@ func RegisterUserServer(s grpc.ServiceRegistrar, srv UserServer) {
s.RegisterService(&User_ServiceDesc, srv)
}
func _User_Login_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(LoginReq)
func _User_PhoneLogin_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(PhoneLoginReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(UserServer).Login(ctx, in)
return srv.(UserServer).PhoneLogin(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/User/Login",
FullMethod: "/User/PhoneLogin",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(UserServer).Login(ctx, req.(*LoginReq))
return srv.(UserServer).PhoneLogin(ctx, req.(*PhoneLoginReq))
}
return interceptor(ctx, in, info, handler)
}
func _User_WxMiniLogin_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(WxMiniLoginReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(UserServer).WxMiniLogin(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/User/WxMiniLogin",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(UserServer).WxMiniLogin(ctx, req.(*WxMiniLoginReq))
}
return interceptor(ctx, in, info, handler)
}
@@ -130,8 +162,12 @@ var User_ServiceDesc = grpc.ServiceDesc{
HandlerType: (*UserServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "Login",
Handler: _User_Login_Handler,
MethodName: "PhoneLogin",
Handler: _User_PhoneLogin_Handler,
},
{
MethodName: "WxMiniLogin",
Handler: _User_WxMiniLogin_Handler,
},
{
MethodName: "GetUserInfo",