package api import ( "ssq-desk/internal/service" "ssq-desk/internal/storage/repository" ) // AuthAPI 授权码 API type AuthAPI struct { authService *service.AuthService } // NewAuthAPI 创建授权码 API func NewAuthAPI() (*AuthAPI, error) { repo, err := repository.NewSQLiteAuthRepository() if err != nil { return nil, err } authService := service.NewAuthService(repo) return &AuthAPI{ authService: authService, }, nil } // ActivateLicense 激活授权码 func (api *AuthAPI) ActivateLicense(licenseCode string) (map[string]interface{}, error) { if api.authService == nil { newAPI, err := NewAuthAPI() if err != nil { return nil, err } api.authService = newAPI.authService } err := api.authService.ValidateLicense(licenseCode) if err != nil { return map[string]interface{}{ "success": false, "message": err.Error(), }, nil } status, err := api.authService.CheckAuthStatus() if err != nil { return map[string]interface{}{ "success": false, "message": err.Error(), }, nil } return map[string]interface{}{ "success": true, "message": "激活成功", "data": status, }, nil } // GetAuthStatus 获取授权状态 func (api *AuthAPI) GetAuthStatus() (map[string]interface{}, error) { if api.authService == nil { newAPI, err := NewAuthAPI() if err != nil { return nil, err } api.authService = newAPI.authService } status, err := api.authService.CheckAuthStatus() if err != nil { return map[string]interface{}{ "success": false, "message": err.Error(), }, nil } return map[string]interface{}{ "success": true, "data": status, }, nil } // GetDeviceID 获取设备ID func (api *AuthAPI) GetDeviceID() (string, error) { return service.GetDeviceID() }