sdk

package module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 25, 2025 License: MIT Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func HandleCallback

func HandleCallback(data []byte, secret string, handler CallbackHandler) error

HandleCallback 处理回调请求

func ValidateCallbackRequest

func ValidateCallbackRequest(data []byte, secret string) (*request.CallbackRequest, error)

ValidateCallbackRequest 验证回调请求

Types

type APIClient

type APIClient struct {
	// contains filtered or unexported fields
}

APIClient EasyUKey SDK客户端

func NewClient

func NewClient(baseURL, apiKey string) *APIClient

NewClient 创建新的SDK客户端

func (*APIClient) Health

func (c *APIClient) Health() (map[string]string, error)

Health 健康检查

func (*APIClient) SetAPIKey

func (c *APIClient) SetAPIKey(apiKey string)

SetAPIKey 设置API密钥

func (*APIClient) SetTimeout

func (c *APIClient) SetTimeout(timeout time.Duration)

SetTimeout 设置请求超时时间

func (*APIClient) StartAuth

func (c *APIClient) StartAuth(req *request.AuthRequest) (*response.AuthData, error)

StartAuth 发起用户认证

func (*APIClient) VerifyAuth

VerifyAuth 验证认证结果

type APIKey

type APIKey struct {
	ID          uint      `json:"id"`
	Name        string    `json:"name"`
	Description string    `json:"description"`
	Key         string    `json:"key"`
	ExpiresAt   time.Time `json:"expires_at"`
	CreatedAt   time.Time `json:"created_at"`
	UpdatedAt   time.Time `json:"updated_at"`
}

APIKey API密钥信息

type AdminClient

type AdminClient struct {
	*APIClient
}

AdminClient 管理员客户端

func NewAdminClient

func NewAdminClient(baseURL, adminKey string) *AdminClient

NewAdminClient 创建管理员客户端

func (*AdminClient) CreateAPIKey

func (c *AdminClient) CreateAPIKey(req *request.CreateAPIKeyRequest) (*APIKey, error)

CreateAPIKey 创建API密钥

func (*AdminClient) CreateUser

func (c *AdminClient) CreateUser(req *request.CreateUserRequest) (*User, error)

CreateUser 创建用户

func (*AdminClient) DeleteUser

func (c *AdminClient) DeleteUser(userID uint) error

DeleteUser 删除用户

func (*AdminClient) GetAPIKeys

func (c *AdminClient) GetAPIKeys(page, pageSize int) ([]APIKey, int64, error)

GetAPIKeys 获取API密钥列表

func (*AdminClient) GetDevice

func (c *AdminClient) GetDevice(deviceID uint) (*Device, error)

GetDevice 获取设备详情

func (*AdminClient) GetDeviceGroup added in v0.1.0

func (c *AdminClient) GetDeviceGroup(groupID uint) (*DeviceGroup, error)

GetDeviceGroup 获取设备组详情

func (*AdminClient) GetDeviceGroups added in v0.1.0

func (c *AdminClient) GetDeviceGroups() ([]DeviceGroup, error)

GetDeviceGroups 获取设备组列表

func (*AdminClient) GetDeviceStatistics

func (c *AdminClient) GetDeviceStatistics() (*response.DeviceStatistics, error)

GetDeviceStatistics 获取设备统计信息

func (*AdminClient) GetDevices

func (c *AdminClient) GetDevices(page, pageSize int, filter *request.DeviceFilter) ([]Device, int64, error)

GetDevices 获取设备列表

func (*AdminClient) GetPendingActivationDevices added in v0.1.0

func (c *AdminClient) GetPendingActivationDevices() ([]Device, error)

GetPendingActivationDevices 获取待激活设备列表

func (*AdminClient) GetUser

func (c *AdminClient) GetUser(userID uint) (*User, error)

GetUser 获取用户信息

func (*AdminClient) GetUserDevices

func (c *AdminClient) GetUserDevices(username string) ([]Device, error)

GetUserDevices 获取用户设备列表

func (*AdminClient) GetUsers

func (c *AdminClient) GetUsers(page, pageSize int) ([]User, int64, error)

GetUsers 获取用户列表

func (*AdminClient) OfflineDevice

func (c *AdminClient) OfflineDevice(deviceID uint) (*Device, error)

OfflineDevice 设备下线

func (*AdminClient) UpdateDevice

func (c *AdminClient) UpdateDevice(deviceID uint, req *request.UpdateDeviceRequest) (*Device, error)

UpdateDevice 更新设备

func (*AdminClient) UpdateDeviceGroup added in v0.1.0

func (c *AdminClient) UpdateDeviceGroup(groupID uint, req *request.UpdateDeviceGroupRequest) (*DeviceGroup, error)

UpdateDeviceGroup 更新设备组

func (*AdminClient) UpdateUser

func (c *AdminClient) UpdateUser(userID uint, req *request.UpdateUserRequest) (*User, error)

UpdateUser 更新用户

func (*AdminClient) VerifyAdminKey

func (c *AdminClient) VerifyAdminKey() error

VerifyAdminKey 验证管理员密钥

type AuthHelper

type AuthHelper struct {
	// contains filtered or unexported fields
}

AuthHelper 认证助手

func NewAuthHelper

func NewAuthHelper(client *APIClient) *AuthHelper

NewAuthHelper 创建认证助手

func (*AuthHelper) GenerateChallenge

func (h *AuthHelper) GenerateChallenge() (string, error)

GenerateChallenge 生成随机挑战码

func (*AuthHelper) QuickAuth

func (h *AuthHelper) QuickAuth(username, apiKey, action, message string) (*response.VerifyAuthData, error)

QuickAuth 快速认证(带消息和动作)

func (*AuthHelper) SimpleAuth

func (h *AuthHelper) SimpleAuth(username, apiKey string) (*response.VerifyAuthData, error)

SimpleAuth 简单认证流程

func (*AuthHelper) WaitForAuth

func (h *AuthHelper) WaitForAuth(apiKey, sessionID string, timeout time.Duration) (*response.VerifyAuthData, error)

WaitForAuth 等待认证完成

type CallbackHandler

type CallbackHandler interface {
	OnAuthSuccess(req *request.CallbackRequest) error
	OnAuthFailure(req *request.CallbackRequest) error
}

CallbackHandler 回调处理器接口

type Device

type Device struct {
	ID                 uint      `json:"id"`
	Name               string    `json:"name"`
	SerialNumber       string    `json:"serial_number"`
	VolumeSerialNumber string    `json:"volume_serial_number"`
	UserID             *uint     `json:"user_id"`
	Username           string    `json:"username,omitempty"`
	DeviceGroupID      *uint     `json:"device_group_id"`
	IsOnline           bool      `json:"is_online"`
	IsActive           bool      `json:"is_active"`
	LastSeen           time.Time `json:"last_seen"`
	CreatedAt          time.Time `json:"created_at"`
	UpdatedAt          time.Time `json:"updated_at"`
	Permissions        []string  `json:"permissions"`
	Remark             string    `json:"remark"`
}

Device 设备信息

type DeviceGroup added in v0.1.0

type DeviceGroup struct {
	ID          uint      `json:"id"`
	UserID      *uint     `json:"user_id"`
	Name        string    `json:"name"`
	Description string    `json:"description"`
	Permissions []string  `json:"permissions"`
	IsActive    bool      `json:"is_active"`
	CreatedAt   time.Time `json:"created_at"`
	UpdatedAt   time.Time `json:"updated_at"`
	User        *User     `json:"user,omitempty"`
	Devices     []Device  `json:"devices,omitempty"`
}

DeviceGroup 设备组信息

type User

type User struct {
	ID          uint      `json:"id"`
	Username    string    `json:"username"`
	Permissions []string  `json:"permissions"`
	IsActive    bool      `json:"is_active"`
	CreatedAt   time.Time `json:"created_at"`
	UpdatedAt   time.Time `json:"updated_at"`
}

User 用户信息

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL