🎨 Add marketplace package config item minAppVersion https://github.com/siyuan-note/siyuan/issues/8330

This commit is contained in:
Daniel 2023-05-24 10:34:15 +08:00
parent d26bb04110
commit 7379ff1e27
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
6 changed files with 57 additions and 13 deletions

View file

@ -29,6 +29,7 @@ import (
"github.com/siyuan-note/httpclient"
"github.com/siyuan-note/logging"
"github.com/siyuan-note/siyuan/kernel/util"
"golang.org/x/mod/semver"
)
type Icon struct {
@ -62,8 +63,15 @@ func Icons() (icons []*Icon) {
logging.LogErrorf("get bazaar package [%s] failed: %d", innerU, innerResp.StatusCode)
return
}
icon.URL = strings.TrimSuffix(icon.URL, "/")
if "" == icon.MinAppVersion {
icon.MinAppVersion = defaultMinAppVersion
}
if 0 < semver.Compare("v"+icon.MinAppVersion, "v"+util.Ver) {
return
}
icon.URL = strings.TrimSuffix(icon.URL, "/")
repoURLHash := strings.Split(repoURL, "@")
icon.RepoURL = "https://github.com/" + repoURLHash[0]
icon.RepoHash = repoURLHash[1]

View file

@ -64,14 +64,14 @@ type Funding struct {
}
type Package struct {
Author string `json:"author"`
URL string `json:"url"`
Version string `json:"version"`
DisplayName *DisplayName `json:"displayName"`
Description *Description `json:"description"`
Readme *Readme `json:"readme"`
Funding *Funding `json:"funding"`
I18N []string `json:"i18n"`
Author string `json:"author"`
URL string `json:"url"`
Version string `json:"version"`
MinAppVersion string `json:"minAppVersion"`
DisplayName *DisplayName `json:"displayName"`
Description *Description `json:"description"`
Readme *Readme `json:"readme"`
Funding *Funding `json:"funding"`
PreferredFunding string `json:"preferredFunding"`
PreferredName string `json:"preferredName"`
@ -649,3 +649,7 @@ func getBazaarIndex() map[string]*bazaarPackage {
bazaarIndexCacheTime = now
return cachedBazaarIndex
}
// defaultMinAppVersion 如果集市包中缺失 minAppVersion 项,则使用该值作为最低支持的版本号,小于该版本号时不显示集市包
// Add marketplace package config item `minAppVersion` https://github.com/siyuan-note/siyuan/issues/8330
const defaultMinAppVersion = "2.9.0"

View file

@ -29,6 +29,7 @@ import (
"github.com/siyuan-note/httpclient"
"github.com/siyuan-note/logging"
"github.com/siyuan-note/siyuan/kernel/util"
"golang.org/x/mod/semver"
)
type Plugin struct {
@ -64,8 +65,15 @@ func Plugins() (plugins []*Plugin) {
logging.LogErrorf("get bazaar package [%s] failed: %d", innerU, innerResp.StatusCode)
return
}
plugin.URL = strings.TrimSuffix(plugin.URL, "/")
if "" == plugin.MinAppVersion {
plugin.MinAppVersion = defaultMinAppVersion
}
if 0 < semver.Compare("v"+plugin.MinAppVersion, "v"+util.Ver) {
return
}
plugin.URL = strings.TrimSuffix(plugin.URL, "/")
repoURLHash := strings.Split(repoURL, "@")
plugin.RepoURL = "https://github.com/" + repoURLHash[0]
plugin.RepoHash = repoURLHash[1]

View file

@ -30,6 +30,7 @@ import (
"github.com/siyuan-note/httpclient"
"github.com/siyuan-note/logging"
"github.com/siyuan-note/siyuan/kernel/util"
"golang.org/x/mod/semver"
)
type Template struct {
@ -63,8 +64,15 @@ func Templates() (templates []*Template) {
logging.LogErrorf("get bazaar package [%s] failed: %d", innerU, innerResp.StatusCode)
return
}
template.URL = strings.TrimSuffix(template.URL, "/")
if "" == template.MinAppVersion {
template.MinAppVersion = defaultMinAppVersion
}
if 0 < semver.Compare("v"+template.MinAppVersion, "v"+util.Ver) {
return
}
template.URL = strings.TrimSuffix(template.URL, "/")
repoURLHash := strings.Split(repoURL, "@")
template.RepoURL = "https://github.com/" + repoURLHash[0]
template.RepoHash = repoURLHash[1]

View file

@ -29,6 +29,7 @@ import (
"github.com/siyuan-note/httpclient"
"github.com/siyuan-note/logging"
"github.com/siyuan-note/siyuan/kernel/util"
"golang.org/x/mod/semver"
)
type Theme struct {
@ -64,8 +65,15 @@ func Themes() (ret []*Theme) {
logging.LogErrorf("get bazaar package [%s] failed: %d", innerU, innerResp.StatusCode)
return
}
theme.URL = strings.TrimSuffix(theme.URL, "/")
if "" == theme.MinAppVersion {
theme.MinAppVersion = defaultMinAppVersion
}
if 0 < semver.Compare("v"+theme.MinAppVersion, "v"+util.Ver) {
return
}
theme.URL = strings.TrimSuffix(theme.URL, "/")
repoURLHash := strings.Split(repoURL, "@")
theme.RepoURL = "https://github.com/" + repoURLHash[0]
theme.RepoHash = repoURLHash[1]

View file

@ -29,6 +29,7 @@ import (
"github.com/siyuan-note/httpclient"
"github.com/siyuan-note/logging"
"github.com/siyuan-note/siyuan/kernel/util"
"golang.org/x/mod/semver"
)
type Widget struct {
@ -63,8 +64,15 @@ func Widgets() (widgets []*Widget) {
logging.LogErrorf("get bazaar package [%s] failed: %d", innerU, innerResp.StatusCode)
return
}
widget.URL = strings.TrimSuffix(widget.URL, "/")
if "" == widget.MinAppVersion {
widget.MinAppVersion = defaultMinAppVersion
}
if 0 < semver.Compare("v"+widget.MinAppVersion, "v"+util.Ver) {
return
}
widget.URL = strings.TrimSuffix(widget.URL, "/")
repoURLHash := strings.Split(repoURL, "@")
widget.RepoURL = "https://github.com/" + repoURLHash[0]
widget.RepoHash = repoURLHash[1]