mirror of
https://github.com/AynaLivePlayer/AynaLivePlayer.git
synced 2025-12-06 18:32:50 +08:00
update checker
This commit is contained in:
41
internal/application.go
Normal file
41
internal/application.go
Normal file
@@ -0,0 +1,41 @@
|
||||
package internal
|
||||
|
||||
import (
|
||||
"AynaLivePlayer/common/config"
|
||||
"AynaLivePlayer/core/model"
|
||||
"errors"
|
||||
"fmt"
|
||||
"github.com/go-resty/resty/v2"
|
||||
"github.com/tidwall/gjson"
|
||||
)
|
||||
|
||||
type AppBilibiliChannel struct {
|
||||
latestVersion model.Version
|
||||
}
|
||||
|
||||
func (app *AppBilibiliChannel) Version() model.VersionInfo {
|
||||
return model.VersionInfo{
|
||||
model.Version(config.Version), "",
|
||||
}
|
||||
}
|
||||
|
||||
func (app *AppBilibiliChannel) LatestVersion() model.VersionInfo {
|
||||
return model.VersionInfo{
|
||||
app.latestVersion,
|
||||
fmt.Sprintf("v%s\n\n[https://play-live.bilibili.com/details/1661006726438](https://play-live.bilibili.com/details/1661006726438)", app.latestVersion),
|
||||
}
|
||||
}
|
||||
|
||||
func (app *AppBilibiliChannel) CheckUpdate() error {
|
||||
uri := "https://api.live.bilibili.com/xlive/virtual-interface/v1/app/detail?app_id=1661006726438"
|
||||
resp, err := resty.New().R().Get(uri)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
lv := model.VersionFromString(gjson.ParseBytes(resp.Body()).Get("data.version").String())
|
||||
if lv == 0 {
|
||||
return errors.New("failed to get latest version")
|
||||
}
|
||||
app.latestVersion = lv
|
||||
return nil
|
||||
}
|
||||
@@ -5,6 +5,7 @@ import (
|
||||
)
|
||||
|
||||
type Controller struct {
|
||||
app adapter.IApplication `ini:"-"`
|
||||
liveroom adapter.ILiveRoomController `ini:"-"`
|
||||
player adapter.IPlayController `ini:"-"`
|
||||
lyric adapter.ILyricLoader `ini:"-"`
|
||||
@@ -24,6 +25,7 @@ func NewController(
|
||||
provider adapter.IProviderController, plugin adapter.IPluginController,
|
||||
log adapter.ILogger) adapter.IControlBridge {
|
||||
cc := &Controller{
|
||||
app: &AppBilibiliChannel{},
|
||||
liveroom: liveroom,
|
||||
player: player,
|
||||
playlist: playlist,
|
||||
@@ -34,6 +36,10 @@ func NewController(
|
||||
return cc
|
||||
}
|
||||
|
||||
func (c *Controller) App() adapter.IApplication {
|
||||
return c.app
|
||||
}
|
||||
|
||||
func (c *Controller) LiveRooms() adapter.ILiveRoomController {
|
||||
return c.liveroom
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user