diff --git a/designer_base/src/com/fr/design/extra/PluginWebBridge.java b/designer_base/src/com/fr/design/extra/PluginWebBridge.java index fed3c6855d..afdcd448f6 100644 --- a/designer_base/src/com/fr/design/extra/PluginWebBridge.java +++ b/designer_base/src/com/fr/design/extra/PluginWebBridge.java @@ -54,6 +54,7 @@ public class PluginWebBridge { private static final String THREAD_NAME_TEMPLATE = "pluginbridge-thread-%s"; private static final String ACTION = "action"; private static final String KEYWORD = "keyword"; + private static final String PLUGIN_INFO = "pluginInfo"; private static final int COREPOOLSIZE = 3; private static final int MAXPOOLSIZE = 5; @@ -72,20 +73,7 @@ public class PluginWebBridge { new LinkedBlockingQueue(COREPOOLSIZE), new ThreadFactoryBuilder().setNameFormat(THREAD_NAME_TEMPLATE).build()); - /** - * 动作枚举 - */ - public enum ACTIONS { - SEARCH("search"); - private String context; - - ACTIONS(String context) { - this.context = context; - } - - public String getContext() { - return context; - } + private PluginWebBridge() { } public static PluginWebBridge getHelper() { @@ -106,9 +94,6 @@ public class PluginWebBridge { return helper; } - private PluginWebBridge() { - } - /** * 获取打开动作配置 * @@ -155,12 +140,26 @@ public class PluginWebBridge { * * @param keyword 关键词 */ + public void openWithSearch(String keyword) { HashMap map = new HashMap(2); map.put(KEYWORD, keyword); setRunConfig(ACTIONS.SEARCH, map); } + /** + * 根据插件信息跳转到应用中心 + * + * @param keyword + * @param pluginInfo + */ + public void showResultInStore(String keyword, String pluginInfo) { + HashMap map = new HashMap<>(); + map.put(KEYWORD, keyword); + map.put(PLUGIN_INFO, pluginInfo); + setRunConfig(ACTIONS.SHOW_RESULT, map); + } + public void setEngine(WebEngine webEngine) { this.webEngine = webEngine; } @@ -182,7 +181,6 @@ public class PluginWebBridge { PluginOperateUtils.installPluginOnline(pluginMarker, jsCallback); } - /** * 从磁盘上选择插件安装包进行安装 * @@ -204,7 +202,6 @@ public class PluginWebBridge { PluginOperateUtils.uninstallPlugin(pluginInfo, isForce, jsCallback); } - /** * 从插件服务器上更新选中的插件 * @@ -346,13 +343,11 @@ public class PluginWebBridge { threadPoolExecutor.submit(task); } - public void getPluginPrefix(final JSObject callback) { Task task = new PluginTask<>(webEngine, callback, new GetPluginPrefixExecutor()); threadPoolExecutor.submit(task); } - /** * 在线获取插件分类 * @@ -487,9 +482,6 @@ public class PluginWebBridge { } } - - /*-------------------------------登录部分的处理----------------------------------*/ - /** * 注册页面 */ @@ -501,6 +493,9 @@ public class PluginWebBridge { } } + + /*-------------------------------登录部分的处理----------------------------------*/ + /** * 忘记密码 */ @@ -577,4 +572,20 @@ public class PluginWebBridge { return true; } + /** + * 动作枚举 + */ + public enum ACTIONS { + SEARCH("search"), SHOW_RESULT("showResult"); + private String context; + + ACTIONS(String context) { + this.context = context; + } + + public String getContext() { + return context; + } + } + } diff --git a/designer_base/src/com/fr/design/extra/WebViewDlgHelper.java b/designer_base/src/com/fr/design/extra/WebViewDlgHelper.java index 16eb611921..a00f460ed8 100644 --- a/designer_base/src/com/fr/design/extra/WebViewDlgHelper.java +++ b/designer_base/src/com/fr/design/extra/WebViewDlgHelper.java @@ -129,6 +129,16 @@ public class WebViewDlgHelper { createPluginDialog(); } + /** + * 以关键词打开设计器商店显示搜索结果 + * @param keyword + * @param data + */ + public static void showPluginInStore(String keyword, String data) { + PluginWebBridge.getHelper().showResultInStore(keyword, data); + createPluginDialog(); + } + public static void createLoginDialog() { if (StableUtils.getMajorJavaVersion() == VERSION_8) { File file = new File(StableUtils.pathJoin(installHome, "scripts"));