diff --git a/app/appearance/langs/zh_CN.json b/app/appearance/langs/zh_CN.json
index ae9cc81ee..2f37b4988 100644
--- a/app/appearance/langs/zh_CN.json
+++ b/app/appearance/langs/zh_CN.json
@@ -1,5 +1,6 @@
{
"downloadRollback": "下载并回滚",
+ "bazaarNeedVersion": "思源笔记版本需为 v${x} 或更高版本",
"callout": "提示",
"hasAttrName": "属性名 ${x} 已存在",
"statusBarMsgPushTip": "通过状态栏消息可以即时地了解系统的运行情况,如果感到打扰可以将其关闭",
diff --git a/app/src/config/bazaar.ts b/app/src/config/bazaar.ts
index a60da9813..82bba14e4 100644
--- a/app/src/config/bazaar.ts
+++ b/app/src/config/bazaar.ts
@@ -295,7 +295,7 @@ export const bazaar = {
-
+
@@ -326,7 +326,7 @@ export const bazaar = {
-
+
@@ -444,7 +444,7 @@ export const bazaar = {
-
+
@@ -539,10 +539,10 @@ export const bazaar = {
-
+
-
+
@@ -672,7 +672,7 @@ export const bazaar = {
event.stopPropagation();
break;
} else if (type === "install") {
- if (!target.classList.contains("b3-button--progress")) {
+ if (!target.classList.contains("b3-button--progress") && !target.hasAttribute("disabled")) {
const bazaarType = dataObj.bazaarType as TBazaarType;
let url = "/api/bazaar/installBazaarTemplate";
if (bazaarType === "themes") {
@@ -728,7 +728,7 @@ export const bazaar = {
event.stopPropagation();
break;
} else if (type === "install-t") {
- if (!target.classList.contains("b3-button--progress")) {
+ if (!target.classList.contains("b3-button--progress") && !target.hasAttribute("disabled")) {
confirmDialog("⬆️ " + window.siyuan.languages.update, window.siyuan.languages.confirmUpdate, () => {
const bazaarType = dataObj.bazaarType as TBazaarType;
let url = "/api/bazaar/installBazaarTemplate";
diff --git a/app/src/types/index.d.ts b/app/src/types/index.d.ts
index 4002207ad..3483c1a9b 100644
--- a/app/src/types/index.d.ts
+++ b/app/src/types/index.d.ts
@@ -842,6 +842,7 @@ interface IBazaarItem {
incompatible?: boolean; // 仅 plugin
enabled: boolean;
preferredName: string;
+ minAppVersion: string;
preferredDesc: string;
preferredReadme: string;
iconURL: string;
@@ -849,6 +850,7 @@ interface IBazaarItem {
author: string;
updated: string;
downloads: string;
+ disallowInstall: boolean;
current: false;
installed: false;
outdated: false;