1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- package logic
- import (
- "context"
- "google.golang.org/protobuf/types/known/structpb"
- "ylink/apis/auth/auth"
- "github.com/zeromicro/go-zero/core/logx"
- "ylink/bff/rpcbff/internal/svc"
- "ylink/bff/rpcbff/pb"
- )
- type ConnectLogic struct {
- ctx context.Context
- svcCtx *svc.ServiceContext
- logx.Logger
- }
- func NewConnectLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ConnectLogic {
- return &ConnectLogic{
- ctx: ctx,
- svcCtx: svcCtx,
- Logger: logx.WithContext(ctx),
- }
- }
- func (l *ConnectLogic) Connect(in *pb.CommandReq, stream pb.Rpcbff_ConnectServer) error {
- // todo: 验证token
- // todo: 把stream放入资源pool
- if authResp, err := l.svcCtx.AuthRpc.CheckAuth(l.ctx, &auth.CheckAuthReq{
- AccessToken: in.AccessToken,
- }); err != nil {
- return stream.Send(&pb.CommandResp{
- CommandCode: authResp.Code,
- CommandMsg: authResp.Msg,
- CommandData: authResp.Data,
- })
- }
- data, _ := structpb.NewStruct(map[string]interface{}{})
- return stream.Send(&pb.CommandResp{
- CommandCode: 0,
- CommandMsg: "success",
- CommandData: data,
- })
- }
|