// Copyright (c) Shenyang Leading Edge Intelligent Technology Co., Ltd. All rights reserved. package container import ( "errors" "fmt" "LEIT_PM/global" ) // 会话 type Session struct { // 会话上下文 SessionContext // 会话标识 sessionId string // 组件句柄管理器 handlers *HandlerManager } // 创建会话 // 参数 // 1.会话上下文 // 2.用户信息 // 3.组件句柄管理器 // 返回值: // 1.会话 // 2.错误 func NewSession(context *SessionContext, sessionId string, handlerManager *HandlerManager) (*Session, error) { if context == nil { return nil, errors.New(fmt.Sprintf("会话上下文不能为空!")) } if sessionId == "" { return nil, errors.New(fmt.Sprintf("会话标识不能为空!")) } if handlerManager == nil { return nil, errors.New(fmt.Sprintf("组件句柄管理器不能为空!")) } return &Session{*context, sessionId, handlerManager}, nil } // 获取用户信息 // 返回值: // 1.用户信息 func (session *Session) User() *global.User { return session.user } // 获取会话标识 // 返回值: // 1.会话标识 func (session *Session) SessionId() string { return session.sessionId } // 获取组件句柄管理器 // 返回值: // 1.组件句柄管理器 func (session *Session) Handlers() *HandlerManager { return session.handlers }