Documentation
¶
Index ¶
- func GenerateToken(uid int64, nickname string, ip string, expiry int64) (string, error)
- func GetAccessHost(c *gin.Context) string
- func GetIP(ctx *gin.Context) (out string)
- func GetPage(c *gin.Context) int
- func GetPageOffset(page, pageSize int) int
- func GetPageSize(c *gin.Context) int
- func GetRequestIP(c *gin.Context) string
- func GetUID(ctx *gin.Context) (out int64)
- func RequestParamStrParse(c *gin.Context, param any)
- func SetTokenToContext(ctx *gin.Context, tokenString string) error
- type ConnStorage
- type Datetime
- type ListRes
- type LogType
- type Pager
- type ResDetailsResult
- type ResListResult
- type ResResult
- type Response
- type UserEntity
- type UserSelectEntity
- type ValidError
- type ValidErrors
- type WebSocketMessage
- type WebsocketClient
- type WebsocketServer
- func (w *WebsocketServer) AddClient(c *WebsocketClient)
- func (w *WebsocketServer) AddUserClient(c *WebsocketClient)
- func (w *WebsocketServer) Authorization(c *WebsocketClient, msg *WebSocketMessage)
- func (w *WebsocketServer) GetClient(conn *gws.Conn) *WebsocketClient
- func (w *WebsocketServer) OnClose(conn *gws.Conn, err error)
- func (w *WebsocketServer) OnMessage(conn *gws.Conn, message *gws.Message)
- func (w *WebsocketServer) OnOpen(conn *gws.Conn)
- func (w *WebsocketServer) OnPing(socket *gws.Conn, payload []byte)
- func (w *WebsocketServer) OnPong(socket *gws.Conn, payload []byte)
- func (w *WebsocketServer) RemoveClient(conn *gws.Conn)
- func (w *WebsocketServer) RemoveUserClient(c *WebsocketClient)
- func (w *WebsocketServer) Run() gin.HandlerFunc
- func (w *WebsocketServer) Upgrade()
- func (w *WebsocketServer) Use(action string, handler func(*WebsocketClient, *WebSocketMessage))
- func (w *WebsocketServer) UserDataSelectUse(handler func(*WebsocketClient, int64) (*UserSelectEntity, error))
- type WebsocketServerConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GenerateToken ¶
GenerateToken generates a new JWT token for a user.
func GetAccessHost ¶
func GetPageOffset ¶
func GetPageSize ¶
func RequestParamStrParse ¶
RequestParamStrParse 解析
Types ¶
type ConnStorage ¶
type ConnStorage = map[*gws.Conn]*WebsocketClient
type ListRes ¶
type ListRes struct { // 数据清单 List interface{} `json:"list"` // 翻页信息 Pager Pager `json:"pager"` }
type ResDetailsResult ¶
type ResListResult ¶
type UserEntity ¶
type UserEntity struct { UID int64 `json:"uid"` Nickname string `json:"nickname"` IP string `json:"ip"` jwt.RegisteredClaims }
func ParseToken ¶
func ParseToken(tokenString string) (*UserEntity, error)
ParseToken parses a JWT token and returns the user data.
type UserSelectEntity ¶
type ValidError ¶
func (*ValidError) Error ¶
func (v *ValidError) Error() string
func (*ValidError) Field ¶
func (v *ValidError) Field() string
func (*ValidError) Map ¶
func (v *ValidError) Map() map[string]string
type ValidErrors ¶
type ValidErrors []*ValidError
func BindAndValid ¶
func BindAndValid(c *gin.Context, obj interface{}) (bool, ValidErrors)
BindAndValid 绑定请求参数并进行验证,支持多语言
func (ValidErrors) Error ¶
func (v ValidErrors) Error() string
func (ValidErrors) Errors ¶
func (v ValidErrors) Errors() []string
func (ValidErrors) ErrorsToString ¶
func (v ValidErrors) ErrorsToString() string
func (ValidErrors) Maps ¶
func (v ValidErrors) Maps() []map[string]string
func (ValidErrors) MapsToString ¶
func (v ValidErrors) MapsToString() string
type WebSocketMessage ¶
type WebsocketClient ¶
type WebsocketClient struct { Ctx *gin.Context User *UserEntity UserClients *ConnStorage SF *singleflight.Group // 用于处理并发请求的缓存 // contains filtered or unexported fields }
WebsocketClient 结构体来存储每个 WebSocket 连接及其相关状态
func (*WebsocketClient) BindAndValid ¶
func (c *WebsocketClient) BindAndValid(data []byte, obj any) (bool, ValidErrors)
基于全局验证器的 WebSocket 版本参数绑定和验证工具函数
func (*WebsocketClient) BroadcastResponse ¶
func (c *WebsocketClient) BroadcastResponse(code *code.Code, options ...any)
BroadcastResponse 将结果转换为 JSON 格式并广播给所有客户端 第二个options参数为是否排除自己 第三个options参数为动作类型
func (*WebsocketClient) PingLoop ¶
func (c *WebsocketClient) PingLoop(PingInterval time.Duration)
定期发送 Ping 消息
func (*WebsocketClient) ToResponse ¶
func (c *WebsocketClient) ToResponse(code *code.Code, action ...string)
ToResponse 将结果转换为 JSON 格式并发送给客户端
type WebsocketServer ¶
type WebsocketServer struct {
// contains filtered or unexported fields
}
func NewWebsocketServer ¶
func NewWebsocketServer(c WebsocketServerConfig) *WebsocketServer
func (*WebsocketServer) AddClient ¶
func (w *WebsocketServer) AddClient(c *WebsocketClient)
func (*WebsocketServer) AddUserClient ¶
func (w *WebsocketServer) AddUserClient(c *WebsocketClient)
func (*WebsocketServer) Authorization ¶
func (w *WebsocketServer) Authorization(c *WebsocketClient, msg *WebSocketMessage)
func (*WebsocketServer) GetClient ¶
func (w *WebsocketServer) GetClient(conn *gws.Conn) *WebsocketClient
func (*WebsocketServer) OnMessage ¶
func (w *WebsocketServer) OnMessage(conn *gws.Conn, message *gws.Message)
func (*WebsocketServer) OnOpen ¶
func (w *WebsocketServer) OnOpen(conn *gws.Conn)
func (*WebsocketServer) RemoveClient ¶
func (w *WebsocketServer) RemoveClient(conn *gws.Conn)
func (*WebsocketServer) RemoveUserClient ¶
func (w *WebsocketServer) RemoveUserClient(c *WebsocketClient)
func (*WebsocketServer) Run ¶
func (w *WebsocketServer) Run() gin.HandlerFunc
func (*WebsocketServer) Upgrade ¶
func (w *WebsocketServer) Upgrade()
func (*WebsocketServer) Use ¶
func (w *WebsocketServer) Use(action string, handler func(*WebsocketClient, *WebSocketMessage))
func (*WebsocketServer) UserDataSelectUse ¶
func (w *WebsocketServer) UserDataSelectUse(handler func(*WebsocketClient, int64) (*UserSelectEntity, error))
type WebsocketServerConfig ¶
Click to show internal directories.
Click to hide internal directories.