This commit is contained in:
2026-01-14 14:17:38 +08:00
commit f1e2ff6563
126 changed files with 13636 additions and 0 deletions

View File

@@ -0,0 +1,62 @@
package module
import (
"context"
"ssq-desk/internal/api"
)
// AuthModule 授权码模块
type AuthModule struct {
BaseModule
authAPI *api.AuthAPI
}
// NewAuthModule 创建授权码模块
func NewAuthModule() (*AuthModule, error) {
// 延迟初始化,等到 Init() 方法调用时再创建 API此时数据库已初始化
return &AuthModule{
BaseModule: BaseModule{
name: "auth",
api: nil, // 延迟初始化
},
authAPI: nil, // 延迟初始化
}, nil
}
// Init 初始化模块
func (m *AuthModule) Init(ctx context.Context) error {
if m.authAPI == nil {
authAPI, err := api.NewAuthAPI()
if err != nil {
return err
}
m.authAPI = authAPI
m.api = authAPI
}
return nil
}
// Start 启动模块(检查授权状态)
func (m *AuthModule) Start(ctx context.Context) error {
if m.authAPI == nil {
return m.Init(ctx)
}
status, err := m.authAPI.GetAuthStatus()
if err == nil {
if data, ok := status["data"].(map[string]interface{}); ok && data != nil {
if isActivated, ok := data["is_activated"].(bool); ok && !isActivated {
println("授权未激活,部分功能可能受限")
} else {
println("授权验证通过")
}
}
}
return nil
}
// AuthAPI 返回 Auth API类型安全
func (m *AuthModule) AuthAPI() *api.AuthAPI {
return m.authAPI
}