mirror of
https://github.com/AynaLivePlayer/AynaLivePlayer.git
synced 2026-05-19 09:15:47 +08:00
move all internal call to eventbus
This commit is contained in:
@@ -12,28 +12,8 @@ func handleSourceLogin() {
|
||||
events.CmdMiaosicQrLogin, "internal.media_provider.qrlogin_handler", func(event *eventbus.Event) {
|
||||
data := event.Data.(events.CmdMiaosicQrLoginData)
|
||||
log.Infof("trying login %s", data.Provider)
|
||||
pvdr, ok := miaosic.GetProvider(data.Provider)
|
||||
if !ok {
|
||||
_ = global.EventBus.Reply(
|
||||
event, events.ReplyMiaosicQrLogin,
|
||||
events.ReplyMiaosicQrLoginData{
|
||||
Session: miaosic.QrLoginSession{},
|
||||
Error: miaosic.ErrorNoSuchProvider,
|
||||
})
|
||||
return
|
||||
}
|
||||
result, ok := pvdr.(miaosic.Loginable)
|
||||
if !ok {
|
||||
_ = global.EventBus.Reply(
|
||||
event, events.ReplyMiaosicQrLogin,
|
||||
events.ReplyMiaosicQrLoginData{
|
||||
Session: miaosic.QrLoginSession{},
|
||||
Error: miaosic.ErrNotImplemented,
|
||||
})
|
||||
return
|
||||
}
|
||||
var session miaosic.QrLoginSession
|
||||
sess, err := result.QrLogin()
|
||||
sess, err := miaosic.QrLoginByProvider(data.Provider)
|
||||
if err == nil && sess != nil {
|
||||
session = *sess
|
||||
}
|
||||
@@ -51,28 +31,8 @@ func handleSourceLogin() {
|
||||
events.CmdMiaosicQrLoginVerify, "internal.media_provider.qrloginverify_handler", func(event *eventbus.Event) {
|
||||
data := event.Data.(events.CmdMiaosicQrLoginVerifyData)
|
||||
log.Infof("trying login verify %s", data.Provider)
|
||||
pvdr, ok := miaosic.GetProvider(data.Provider)
|
||||
if !ok {
|
||||
_ = global.EventBus.Reply(
|
||||
event, events.ReplyMiaosicQrLoginVerify,
|
||||
events.ReplyMiaosicQrLoginVerifyData{
|
||||
Result: miaosic.QrLoginResult{},
|
||||
Error: miaosic.ErrorNoSuchProvider,
|
||||
})
|
||||
return
|
||||
}
|
||||
loginable, ok := pvdr.(miaosic.Loginable)
|
||||
if !ok {
|
||||
_ = global.EventBus.Reply(
|
||||
event, events.ReplyMiaosicQrLoginVerify,
|
||||
events.ReplyMiaosicQrLoginVerifyData{
|
||||
Result: miaosic.QrLoginResult{},
|
||||
Error: miaosic.ErrNotImplemented,
|
||||
})
|
||||
return
|
||||
}
|
||||
var result miaosic.QrLoginResult
|
||||
res, err := loginable.QrLoginVerify(&data.Session)
|
||||
res, err := miaosic.QrLoginVerifyByProvider(data.Provider, &data.Session)
|
||||
if err == nil && res != nil {
|
||||
result = *res
|
||||
}
|
||||
@@ -86,4 +46,60 @@ func handleSourceLogin() {
|
||||
if err != nil {
|
||||
log.ErrorW("Subscribe miaosic qrloginverify failed", "error", err)
|
||||
}
|
||||
|
||||
err = global.EventBus.Subscribe("",
|
||||
events.CmdMiaosicLogoutByProvider, "internal.media_provider.logout_by_provider", func(event *eventbus.Event) {
|
||||
data := event.Data.(events.CmdMiaosicLogoutByProviderData)
|
||||
_ = global.EventBus.Reply(
|
||||
event, events.ReplyMiaosicLogoutByProvider,
|
||||
events.ReplyMiaosicLogoutByProviderData{
|
||||
Error: miaosic.LogoutByProvider(data.Provider),
|
||||
})
|
||||
})
|
||||
if err != nil {
|
||||
log.ErrorW("Subscribe miaosic logout failed", "error", err)
|
||||
}
|
||||
|
||||
err = global.EventBus.Subscribe("",
|
||||
events.CmdMiaosicIsLoginByProvider, "internal.media_provider.is_login_by_provider", func(event *eventbus.Event) {
|
||||
data := event.Data.(events.CmdMiaosicIsLoginByProviderData)
|
||||
isLogin, loginErr := miaosic.IsLoginByProvider(data.Provider)
|
||||
_ = global.EventBus.Reply(
|
||||
event, events.ReplyMiaosicIsLoginByProvider,
|
||||
events.ReplyMiaosicIsLoginByProviderData{
|
||||
IsLogin: isLogin,
|
||||
Error: loginErr,
|
||||
})
|
||||
})
|
||||
if err != nil {
|
||||
log.ErrorW("Subscribe miaosic is login failed", "error", err)
|
||||
}
|
||||
|
||||
err = global.EventBus.Subscribe("",
|
||||
events.CmdMiaosicRestoreSessionByProvider, "internal.media_provider.restore_session_by_provider", func(event *eventbus.Event) {
|
||||
data := event.Data.(events.CmdMiaosicRestoreSessionByProviderData)
|
||||
_ = global.EventBus.Reply(
|
||||
event, events.ReplyMiaosicRestoreSessionByProvider,
|
||||
events.ReplyMiaosicRestoreSessionByProviderData{
|
||||
Error: miaosic.RestoreSessionByProvider(data.Provider, data.Session),
|
||||
})
|
||||
})
|
||||
if err != nil {
|
||||
log.ErrorW("Subscribe miaosic restore session failed", "error", err)
|
||||
}
|
||||
|
||||
err = global.EventBus.Subscribe("",
|
||||
events.CmdMiaosicSaveSessionByProvider, "internal.media_provider.save_session_by_provider", func(event *eventbus.Event) {
|
||||
data := event.Data.(events.CmdMiaosicSaveSessionByProviderData)
|
||||
session, sessionErr := miaosic.SaveSessionByProvider(data.Provider)
|
||||
_ = global.EventBus.Reply(
|
||||
event, events.ReplyMiaosicSaveSessionByProvider,
|
||||
events.ReplyMiaosicSaveSessionByProviderData{
|
||||
Session: session,
|
||||
Error: sessionErr,
|
||||
})
|
||||
})
|
||||
if err != nil {
|
||||
log.ErrorW("Subscribe miaosic save session failed", "error", err)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user