🎨 Add marketplace package config item minAppVersion
https://github.com/siyuan-note/siyuan/issues/8330
This commit is contained in:
parent
d26bb04110
commit
7379ff1e27
6 changed files with 57 additions and 13 deletions
|
@ -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]
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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]
|
||||
|
|
|
@ -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]
|
||||
|
|
|
@ -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]
|
||||
|
|
|
@ -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]
|
||||
|
|
Loading…
Add table
Reference in a new issue