43 lines
816 B
Go
43 lines
816 B
Go
package module
|
||
|
||
import (
|
||
"context"
|
||
"ssq-desk/internal/api"
|
||
)
|
||
|
||
// SsqModule 双色球查询模块
|
||
type SsqModule struct {
|
||
BaseModule
|
||
ssqAPI *api.SsqAPI
|
||
}
|
||
|
||
// NewSsqModule 创建双色球查询模块
|
||
func NewSsqModule() (*SsqModule, error) {
|
||
// 延迟初始化,等到 Init() 方法调用时再创建 API(此时数据库已初始化)
|
||
return &SsqModule{
|
||
BaseModule: BaseModule{
|
||
name: "ssq",
|
||
api: nil, // 延迟初始化
|
||
},
|
||
ssqAPI: nil, // 延迟初始化
|
||
}, nil
|
||
}
|
||
|
||
// Init 初始化模块
|
||
func (m *SsqModule) Init(ctx context.Context) error {
|
||
if m.ssqAPI == nil {
|
||
ssqAPI, err := api.NewSsqAPI()
|
||
if err != nil {
|
||
return err
|
||
}
|
||
m.ssqAPI = ssqAPI
|
||
m.api = ssqAPI
|
||
}
|
||
return nil
|
||
}
|
||
|
||
// SsqAPI 返回 SSQ API(类型安全)
|
||
func (m *SsqModule) SsqAPI() *api.SsqAPI {
|
||
return m.ssqAPI
|
||
}
|