diff --git a/designer-base/src/main/java/com/fr/design/actions/community/BBSAction.java b/designer-base/src/main/java/com/fr/design/actions/community/BBSAction.java index 9b689bc97..98ad28c9c 100644 --- a/designer-base/src/main/java/com/fr/design/actions/community/BBSAction.java +++ b/designer-base/src/main/java/com/fr/design/actions/community/BBSAction.java @@ -1,20 +1,15 @@ package com.fr.design.actions.community; import com.fr.base.BaseUtils; -import com.fr.base.FRContext; import com.fr.design.actions.UpdateAction; import com.fr.design.menu.MenuKeySet; +import com.fr.design.utils.BrowseUtils; import com.fr.general.CloudCenter; -import com.fr.log.FineLoggerFactory; -import com.fr.stable.StringUtils; import javax.swing.*; -import java.awt.*; + import java.awt.event.ActionEvent; -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; public class BBSAction extends UpdateAction { @@ -25,33 +20,19 @@ public class BBSAction extends UpdateAction this.setMenuKeySet(BBS); this.setName(getMenuKeySet().getMenuName()); this.setMnemonic(getMenuKeySet().getMnemonic()); - this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/bbs.png")); + this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/bbs/bbs.png")); } /** * 动作 - * @param e 事件 + * @param arg0 事件 */ @Override public void actionPerformed(ActionEvent arg0) { String url = CloudCenter.getInstance().acquireUrlByKind("bbs"); - if (StringUtils.isEmpty(url)) { - FRContext.getLogger().info("The URL is empty!"); - return; - } - try { - Desktop.getDesktop().browse(new URI(url)); - } catch (IOException exp) { - JOptionPane.showMessageDialog(null, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Set_Default_Browser")); - FineLoggerFactory.getLogger().error(exp.getMessage(), exp); - } catch (URISyntaxException exp) { - FineLoggerFactory.getLogger().error(exp.getMessage(), exp); - } catch (Exception exp) { - FineLoggerFactory.getLogger().error(exp.getMessage(), exp); - FineLoggerFactory.getLogger().error("Can not open the browser for URL: " + url); - } + BrowseUtils.browser(url); } public static final MenuKeySet BBS = new MenuKeySet() { @Override diff --git a/designer-base/src/main/java/com/fr/design/actions/community/BugAction.java b/designer-base/src/main/java/com/fr/design/actions/community/BugAction.java index b22093060..d9c75321d 100644 --- a/designer-base/src/main/java/com/fr/design/actions/community/BugAction.java +++ b/designer-base/src/main/java/com/fr/design/actions/community/BugAction.java @@ -1,20 +1,14 @@ package com.fr.design.actions.community; import com.fr.base.BaseUtils; -import com.fr.base.FRContext; import com.fr.design.actions.UpdateAction; import com.fr.design.menu.MenuKeySet; +import com.fr.design.utils.BrowseUtils; import com.fr.general.CloudCenter; -import com.fr.log.FineLoggerFactory; -import com.fr.stable.StringUtils; - import javax.swing.*; -import java.awt.*; + import java.awt.event.ActionEvent; -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; public class BugAction extends UpdateAction { @@ -23,7 +17,7 @@ public class BugAction extends UpdateAction { this.setMenuKeySet(BUG); this.setName(getMenuKeySet().getMenuName()); this.setMnemonic(getMenuKeySet().getMnemonic()); - this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/bug.png")); + this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/bbs/bug.png")); } @@ -31,21 +25,7 @@ public class BugAction extends UpdateAction public void actionPerformed(ActionEvent arg0) { String url = CloudCenter.getInstance().acquireUrlByKind("bbs.bugs"); - if (StringUtils.isEmpty(url)) { - FRContext.getLogger().info("The URL is empty!"); - return; - } - try { - Desktop.getDesktop().browse(new URI(url)); - } catch (IOException exp) { - JOptionPane.showMessageDialog(null, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Set_Default_Browser")); - FineLoggerFactory.getLogger().error(exp.getMessage(), exp); - } catch (URISyntaxException exp) { - FineLoggerFactory.getLogger().error(exp.getMessage(), exp); - } catch (Exception exp) { - FineLoggerFactory.getLogger().error(exp.getMessage(), exp); - FineLoggerFactory.getLogger().error("Can not open the browser for URL: " + url); - } + BrowseUtils.browser(url); } public static final MenuKeySet BUG = new MenuKeySet() { diff --git a/designer-base/src/main/java/com/fr/design/actions/community/CenterAction.java b/designer-base/src/main/java/com/fr/design/actions/community/CenterAction.java new file mode 100644 index 000000000..3ba97c0fc --- /dev/null +++ b/designer-base/src/main/java/com/fr/design/actions/community/CenterAction.java @@ -0,0 +1,47 @@ +package com.fr.design.actions.community; + +import com.fr.base.BaseUtils; +import com.fr.design.menu.MenuKeySet; +import com.fr.design.utils.BrowseUtils; +import com.fr.general.CloudCenter; + +import javax.swing.KeyStroke; +import java.awt.event.ActionEvent; + +/** + * Created by XINZAI on 2018/8/23. + */ +public class CenterAction extends UpAction{ + public CenterAction() + { + this.setMenuKeySet(CENTER); + this.setName(getMenuKeySet().getMenuName()); + this.setMnemonic(getMenuKeySet().getMnemonic()); + this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/bbs/center.png")); + + } + + @Override + public void actionPerformed(ActionEvent arg0) + { + String url = CloudCenter.getInstance().acquireUrlByKind("bbs.center"); + BrowseUtils.browser(url); + + } + public static final MenuKeySet CENTER = new MenuKeySet() { + @Override + public char getMnemonic() { + return 'C'; + } + + @Override + public String getMenuName() { + return com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Commuinity_Center"); + } + + @Override + public KeyStroke getKeyStroke() { + return null; + } + }; +} diff --git a/designer-base/src/main/java/com/fr/design/actions/community/CusDemandAction.java b/designer-base/src/main/java/com/fr/design/actions/community/CusDemandAction.java new file mode 100644 index 000000000..9e294d859 --- /dev/null +++ b/designer-base/src/main/java/com/fr/design/actions/community/CusDemandAction.java @@ -0,0 +1,48 @@ +package com.fr.design.actions.community; + +import com.fr.base.BaseUtils; + +import com.fr.design.menu.MenuKeySet; +import com.fr.design.utils.BrowseUtils; +import com.fr.general.CloudCenter; +import javax.swing.KeyStroke; + +import java.awt.event.ActionEvent; + +/** + * Created by XINZAI on 2018/8/23. + */ +public class CusDemandAction extends UpAction{ + public CusDemandAction() + { + this.setMenuKeySet(DEMAND); + this.setName(getMenuKeySet().getMenuName()); + this.setMnemonic(getMenuKeySet().getMnemonic()); + this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/bbs/demand.png")); + + } + + @Override + public void actionPerformed(ActionEvent arg0) + { + String url = CloudCenter.getInstance().acquireUrlByKind("bbs.demand"); + BrowseUtils.browser(url); + + } + public static final MenuKeySet DEMAND = new MenuKeySet() { + @Override + public char getMnemonic() { + return 'D'; + } + + @Override + public String getMenuName() { + return com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Commuinity_Demand"); + } + + @Override + public KeyStroke getKeyStroke() { + return null; + } + }; +} diff --git a/designer-base/src/main/java/com/fr/design/actions/community/NeedAction.java b/designer-base/src/main/java/com/fr/design/actions/community/NeedAction.java index c49a484f7..c604e51d0 100644 --- a/designer-base/src/main/java/com/fr/design/actions/community/NeedAction.java +++ b/designer-base/src/main/java/com/fr/design/actions/community/NeedAction.java @@ -1,20 +1,14 @@ package com.fr.design.actions.community; import com.fr.base.BaseUtils; -import com.fr.base.FRContext; import com.fr.design.actions.UpdateAction; import com.fr.design.menu.MenuKeySet; +import com.fr.design.utils.BrowseUtils; import com.fr.general.CloudCenter; -import com.fr.log.FineLoggerFactory; -import com.fr.stable.StringUtils; - import javax.swing.*; -import java.awt.*; + import java.awt.event.ActionEvent; -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; public class NeedAction extends UpdateAction { @@ -24,29 +18,15 @@ public class NeedAction extends UpdateAction this.setMenuKeySet(NEED); this.setName(getMenuKeySet().getMenuName()); this.setMnemonic(getMenuKeySet().getMnemonic()); - this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/need.png")); - + this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/bbs/need.png")); + } @Override public void actionPerformed(ActionEvent arg0) { String url = CloudCenter.getInstance().acquireUrlByKind("bbs.needs"); - if (StringUtils.isEmpty(url)) { - FRContext.getLogger().info("The URL is empty!"); - return; - } - try { - Desktop.getDesktop().browse(new URI(url)); - } catch (IOException exp) { - JOptionPane.showMessageDialog(null, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Set_Default_Browser")); - FineLoggerFactory.getLogger().error(exp.getMessage(), exp); - } catch (URISyntaxException exp) { - FineLoggerFactory.getLogger().error(exp.getMessage(), exp); - } catch (Exception exp) { - FineLoggerFactory.getLogger().error(exp.getMessage(), exp); - FineLoggerFactory.getLogger().error("Can not open the browser for URL: " + url); - } + BrowseUtils.browser(url); } public static final MenuKeySet NEED = new MenuKeySet() { diff --git a/designer-base/src/main/java/com/fr/design/actions/community/QuestionAction.java b/designer-base/src/main/java/com/fr/design/actions/community/QuestionAction.java index 390827f16..717537df6 100644 --- a/designer-base/src/main/java/com/fr/design/actions/community/QuestionAction.java +++ b/designer-base/src/main/java/com/fr/design/actions/community/QuestionAction.java @@ -1,20 +1,14 @@ package com.fr.design.actions.community; import com.fr.base.BaseUtils; -import com.fr.base.FRContext; import com.fr.design.actions.UpdateAction; import com.fr.design.menu.MenuKeySet; +import com.fr.design.utils.BrowseUtils; import com.fr.general.CloudCenter; -import com.fr.log.FineLoggerFactory; -import com.fr.stable.StringUtils; - import javax.swing.*; -import java.awt.*; + import java.awt.event.ActionEvent; -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; public class QuestionAction extends UpdateAction { @@ -23,7 +17,7 @@ public class QuestionAction extends UpdateAction { this.setMenuKeySet(QUESTIONS); this.setName(getMenuKeySet().getMenuName()); this.setMnemonic(getMenuKeySet().getMnemonic()); - this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/questions.png")); + this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/bbs/question.png")); } @@ -31,22 +25,7 @@ public class QuestionAction extends UpdateAction public void actionPerformed(ActionEvent arg0) { String url = CloudCenter.getInstance().acquireUrlByKind("bbs.questions"); - if (StringUtils.isEmpty(url)) { - FRContext.getLogger().info("The URL is empty!"); - return; - } - try { - Desktop.getDesktop().browse(new URI(url)); - } catch (IOException exp) { - JOptionPane.showMessageDialog(null, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Set_Default_Browser")); - FineLoggerFactory.getLogger().error(exp.getMessage(), exp); - } catch (URISyntaxException exp) { - FineLoggerFactory.getLogger().error(exp.getMessage(), exp); - } catch (Exception exp) { - FineLoggerFactory.getLogger().error(exp.getMessage(), exp); - FineLoggerFactory.getLogger().error("Can not open the browser for URL: " + url); - } - + BrowseUtils.browser(url); } public static final MenuKeySet QUESTIONS = new MenuKeySet() { @Override diff --git a/designer-base/src/main/java/com/fr/design/actions/community/SignAction.java b/designer-base/src/main/java/com/fr/design/actions/community/SignAction.java index fe59c01f5..c08619b23 100644 --- a/designer-base/src/main/java/com/fr/design/actions/community/SignAction.java +++ b/designer-base/src/main/java/com/fr/design/actions/community/SignAction.java @@ -1,20 +1,15 @@ package com.fr.design.actions.community; import com.fr.base.BaseUtils; -import com.fr.base.FRContext; import com.fr.design.actions.UpdateAction; import com.fr.design.menu.MenuKeySet; +import com.fr.design.utils.BrowseUtils; import com.fr.general.CloudCenter; -import com.fr.log.FineLoggerFactory; -import com.fr.stable.StringUtils; import javax.swing.*; -import java.awt.*; + import java.awt.event.ActionEvent; -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; public class SignAction extends UpdateAction { @@ -24,7 +19,7 @@ public class SignAction extends UpdateAction this.setMenuKeySet(SIGN); this.setName(getMenuKeySet().getMenuName()); this.setMnemonic(getMenuKeySet().getMnemonic()); - this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/signature.png")); + this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/bbs/sign.png")); } @@ -32,21 +27,7 @@ public class SignAction extends UpdateAction public void actionPerformed(ActionEvent arg0) { String url = CloudCenter.getInstance().acquireUrlByKind("bbs.aut"); - if (StringUtils.isEmpty(url)) { - FRContext.getLogger().info("The URL is empty!"); - return; - } - try { - Desktop.getDesktop().browse(new URI(url)); - } catch (IOException exp) { - JOptionPane.showMessageDialog(null, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Set_Default_Browser")); - FineLoggerFactory.getLogger().error(exp.getMessage(), exp); - } catch (URISyntaxException exp) { - FineLoggerFactory.getLogger().error(exp.getMessage(), exp); - } catch (Exception exp) { - FineLoggerFactory.getLogger().error(exp.getMessage(), exp); - FineLoggerFactory.getLogger().error("Can not open the browser for URL: " + url); - } + BrowseUtils.browser(url); } public static final MenuKeySet SIGN = new MenuKeySet() { diff --git a/designer-base/src/main/java/com/fr/design/actions/community/TechSolutionAction.java b/designer-base/src/main/java/com/fr/design/actions/community/TechSolutionAction.java new file mode 100644 index 000000000..fce0dbda8 --- /dev/null +++ b/designer-base/src/main/java/com/fr/design/actions/community/TechSolutionAction.java @@ -0,0 +1,52 @@ +package com.fr.design.actions.community; + +import com.fr.base.BaseUtils; +import com.fr.design.actions.UpdateAction; +import com.fr.design.menu.MenuKeySet; +import com.fr.design.utils.BrowseUtils; +import com.fr.general.CloudCenter; + + +import javax.swing.KeyStroke; + +import java.awt.event.ActionEvent; + + +/** + * Created by XINZAI on 2018/8/23. + */ +public class TechSolutionAction extends UpdateAction{ + public TechSolutionAction() + { + this.setMenuKeySet(TSO); + this.setName(getMenuKeySet().getMenuName()); + this.setMnemonic(getMenuKeySet().getMnemonic()); + this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images//bbs/solotion.png")); + + } + + @Override + public void actionPerformed(ActionEvent arg0) + { + String url = CloudCenter.getInstance().acquireUrlByKind("bbs.solution"); + BrowseUtils.browser(url); + + } + public static final MenuKeySet TSO = new MenuKeySet() { + @Override + public char getMnemonic() { + return 'T'; + } + + @Override + public String getMenuName() { + return com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Commuinity_Solution"); + } + + @Override + public KeyStroke getKeyStroke() { + return null; + } + }; + +} diff --git a/designer-base/src/main/java/com/fr/design/actions/community/VideoAction.java b/designer-base/src/main/java/com/fr/design/actions/community/VideoAction.java index 662fe689b..8e9fd5b32 100644 --- a/designer-base/src/main/java/com/fr/design/actions/community/VideoAction.java +++ b/designer-base/src/main/java/com/fr/design/actions/community/VideoAction.java @@ -1,20 +1,14 @@ package com.fr.design.actions.community; import com.fr.base.BaseUtils; -import com.fr.base.FRContext; import com.fr.design.actions.UpdateAction; import com.fr.design.menu.MenuKeySet; +import com.fr.design.utils.BrowseUtils; import com.fr.general.CloudCenter; import com.fr.general.GeneralContext; -import com.fr.log.FineLoggerFactory; -import com.fr.stable.StringUtils; import javax.swing.*; -import java.awt.*; import java.awt.event.ActionEvent; -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; import java.util.Locale; public class VideoAction extends UpdateAction @@ -25,7 +19,7 @@ public class VideoAction extends UpdateAction this.setMenuKeySet(VIDEO); this.setName(getMenuKeySet().getMenuName()); this.setMnemonic(getMenuKeySet().getMnemonic()); - this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/video.png")); + this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/bbs/video.png")); } @@ -38,21 +32,7 @@ public class VideoAction extends UpdateAction } else { url = CloudCenter.getInstance().acquireUrlByKind("bbs.video"); } - if (StringUtils.isEmpty(url)) { - FRContext.getLogger().info("The URL is empty!"); - return; - } - try { - Desktop.getDesktop().browse(new URI(url)); - } catch (IOException exp) { - JOptionPane.showMessageDialog(null, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Set_Default_Browser_Duplicate")); - FineLoggerFactory.getLogger().error(exp.getMessage(), exp); - } catch (URISyntaxException exp) { - FineLoggerFactory.getLogger().error(exp.getMessage(), exp); - } catch (Exception exp) { - FineLoggerFactory.getLogger().error(exp.getMessage(), exp); - FineLoggerFactory.getLogger().error("Can not open the browser for URL: " + url); - } + BrowseUtils.browser(url); } public static final MenuKeySet VIDEO = new MenuKeySet() { diff --git a/designer-base/src/main/java/com/fr/design/actions/help/TutorialAction.java b/designer-base/src/main/java/com/fr/design/actions/help/TutorialAction.java index 91cfb5712..3c51f4bbd 100644 --- a/designer-base/src/main/java/com/fr/design/actions/help/TutorialAction.java +++ b/designer-base/src/main/java/com/fr/design/actions/help/TutorialAction.java @@ -31,7 +31,7 @@ public class TutorialAction extends UpdateAction { this.setMenuKeySet(HELP_TUTORIAL); this.setName(getMenuKeySet().getMenuName()); this.setMnemonic(getMenuKeySet().getMnemonic()); - this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/help.png")); + this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/bbs/help.png")); this.setAccelerator(getMenuKeySet().getKeyStroke()); } diff --git a/designer-base/src/main/java/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java b/designer-base/src/main/java/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java index 7a3fd3cb3..7abe673a0 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java @@ -10,9 +10,12 @@ import com.fr.design.ExtraDesignClassManager; import com.fr.design.actions.UpdateAction; import com.fr.design.actions.community.BBSAction; import com.fr.design.actions.community.BugAction; +import com.fr.design.actions.community.CenterAction; +import com.fr.design.actions.community.CusDemandAction; import com.fr.design.actions.community.NeedAction; import com.fr.design.actions.community.QuestionAction; import com.fr.design.actions.community.SignAction; +import com.fr.design.actions.community.TechSolutionAction; import com.fr.design.actions.community.UpAction; import com.fr.design.actions.community.VideoAction; import com.fr.design.actions.file.CloseCurrentTemplateAction; @@ -493,9 +496,11 @@ public abstract class ToolBarMenuDock { shortCuts.add(new VideoAction()); shortCuts.add(new TutorialAction()); shortCuts.add(new QuestionAction()); - shortCuts.add(new UpAction()); - shortCuts.add(new NeedAction()); + shortCuts.add(new TechSolutionAction()); shortCuts.add(new BugAction()); + shortCuts.add(new NeedAction()); + shortCuts.add(new CusDemandAction()); + shortCuts.add(new CenterAction()); shortCuts.add(new SignAction()); return shortCuts.toArray(new ShortCut[shortCuts.size()]); } diff --git a/designer-base/src/main/java/com/fr/design/utils/BrowseUtils.java b/designer-base/src/main/java/com/fr/design/utils/BrowseUtils.java new file mode 100644 index 000000000..4de270571 --- /dev/null +++ b/designer-base/src/main/java/com/fr/design/utils/BrowseUtils.java @@ -0,0 +1,62 @@ +package com.fr.design.utils; + +import com.fr.base.FRContext; +import com.fr.log.FineLoggerFactory; +import com.fr.stable.OperatingSystem; +import com.fr.stable.StringUtils; + +import javax.swing.JOptionPane; +import java.awt.Desktop; +import java.io.IOException; +import java.net.URI; +import java.net.URISyntaxException; + +/** + * Created by XINZAI on 2018/8/23. + */ +public class BrowseUtils { + + /** + * 处理内存异常,win10下用rundll32打开 + * @param uri 网址 + * @param e + */ + private static void startBrowserFromCommand(String uri, IOException e) { + + if (OperatingSystem.isWindows()) { + try { + // win10 内存用到到80%左右的时候, Desktop.browser经常提示"存储空间不足, 无法处理改命令", 用rundll32可以打开. + Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + uri); + } catch (IOException ee) { + JOptionPane.showMessageDialog(null, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Set_Default_Browser_Duplicate")); + FineLoggerFactory.getLogger().error(e.getMessage(), e); + } + } else { + FineLoggerFactory.getLogger().error(e.getMessage(), e); + } + } + + /** + * 打开网页,用默认浏览器 + * @param url 网址 + */ + public static void browser(String url) { + + if (StringUtils.isEmpty(url)) { + FRContext.getLogger().info("The URL is empty!"); + return; + } + try { + Desktop.getDesktop().browse(new URI(url)); + } catch (IOException exp) { + startBrowserFromCommand(url, exp); + } catch (URISyntaxException exp) { + FineLoggerFactory.getLogger().error(exp.getMessage(), exp); + } catch (Exception exp) { + FineLoggerFactory.getLogger().error(exp.getMessage(), exp); + FineLoggerFactory.getLogger().error("Can not open the browser for URL: " + url); + } + } + + +} diff --git a/designer-base/src/main/java/com/fr/start/ServerStarter.java b/designer-base/src/main/java/com/fr/start/ServerStarter.java index b916bd679..2141870b1 100644 --- a/designer-base/src/main/java/com/fr/start/ServerStarter.java +++ b/designer-base/src/main/java/com/fr/start/ServerStarter.java @@ -1,25 +1,15 @@ package com.fr.start; -import com.fr.base.FRContext; import com.fr.base.ServerConfig; import com.fr.design.DesignerEnvManager; +import com.fr.design.utils.BrowseUtils; import com.fr.general.ComparatorUtils; import com.fr.general.GeneralContext; - -import com.fr.log.FineLoggerFactory; -import com.fr.stable.OperatingSystem; import com.fr.stable.StableUtils; -import com.fr.stable.StringUtils; import com.fr.start.server.FineEmbedServer; import com.fr.workspace.WorkContext; -import javax.swing.*; -import java.awt.*; -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; - public class ServerStarter { /** @@ -30,7 +20,7 @@ public class ServerStarter { if (!WorkContext.getCurrent().isLocal()) { //有问题,这里拿不到远程的http端口 - browser(WorkContext.getCurrent().getPath()); + BrowseUtils.browser(WorkContext.getCurrent().getPath()); } else if (ComparatorUtils.equals(StableUtils.getInstallHome(), ".")) {//august:供代码使用 String web = GeneralContext.getCurrentAppNameOfEnv(); @@ -48,7 +38,7 @@ public class ServerStarter { FineEmbedServer.start(); } finally { //先访问Demo, 后访问报表, 不需要重置服务器. - browser("http://localhost:" + DesignerEnvManager.getEnvManager().getEmbedServerPort() + "/" + GeneralContext.getCurrentAppNameOfEnv() + "/" + ServerConfig.getInstance().getServletName()); + BrowseUtils.browser("http://localhost:" + DesignerEnvManager.getEnvManager().getEmbedServerPort() + "/" + GeneralContext.getCurrentAppNameOfEnv() + "/" + ServerConfig.getInstance().getServletName()); } } @@ -60,42 +50,6 @@ public class ServerStarter { public static void browserURLWithLocalEnv(String url) { FineEmbedServer.start(); - browser(url); + BrowseUtils.browser(url); } - - private static void browser(String uri) { - - if (StringUtils.isEmpty(uri)) { - FRContext.getLogger().info("The URL is empty!"); - return; - } - try { - Desktop.getDesktop().browse(new URI(uri)); - - } catch (IOException e) { - startBrowserFromCommand(uri, e); - } catch (URISyntaxException e) { - FineLoggerFactory.getLogger().error(e.getMessage(), e); - } catch (Exception e) { - FineLoggerFactory.getLogger().error(e.getMessage(), e); - FineLoggerFactory.getLogger().error("Can not open the browser for URL: " + uri); - } - } - - private static void startBrowserFromCommand(String uri, IOException e) { - - if (OperatingSystem.isWindows()) { - try { - // win10 内存用到到80%左右的时候, Desktop.browser经常提示"存储空间不足, 无法处理改命令", 用rundll32可以打开. - Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + uri); - } catch (IOException ee) { - JOptionPane.showMessageDialog(null, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Set_Default_Browser_Duplicate")); - FineLoggerFactory.getLogger().error(e.getMessage(), e); - } - } else { - FineLoggerFactory.getLogger().error(e.getMessage(), e); - } - } - - } diff --git a/designer-base/src/main/resources/com/fr/design/images/bbs/bbs.png b/designer-base/src/main/resources/com/fr/design/images/bbs/bbs.png new file mode 100644 index 000000000..4fd2df684 Binary files /dev/null and b/designer-base/src/main/resources/com/fr/design/images/bbs/bbs.png differ diff --git a/designer-base/src/main/resources/com/fr/design/images/bbs/bug.png b/designer-base/src/main/resources/com/fr/design/images/bbs/bug.png new file mode 100644 index 000000000..24393bc4b Binary files /dev/null and b/designer-base/src/main/resources/com/fr/design/images/bbs/bug.png differ diff --git a/designer-base/src/main/resources/com/fr/design/images/bbs/center.png b/designer-base/src/main/resources/com/fr/design/images/bbs/center.png new file mode 100644 index 000000000..1d464ba9b Binary files /dev/null and b/designer-base/src/main/resources/com/fr/design/images/bbs/center.png differ diff --git a/designer-base/src/main/resources/com/fr/design/images/bbs/demand.png b/designer-base/src/main/resources/com/fr/design/images/bbs/demand.png new file mode 100644 index 000000000..b237026fa Binary files /dev/null and b/designer-base/src/main/resources/com/fr/design/images/bbs/demand.png differ diff --git a/designer-base/src/main/resources/com/fr/design/images/bbs/help.png b/designer-base/src/main/resources/com/fr/design/images/bbs/help.png new file mode 100644 index 000000000..c13f2f192 Binary files /dev/null and b/designer-base/src/main/resources/com/fr/design/images/bbs/help.png differ diff --git a/designer-base/src/main/resources/com/fr/design/images/bbs/need.png b/designer-base/src/main/resources/com/fr/design/images/bbs/need.png new file mode 100644 index 000000000..486ff9846 Binary files /dev/null and b/designer-base/src/main/resources/com/fr/design/images/bbs/need.png differ diff --git a/designer-base/src/main/resources/com/fr/design/images/bbs/question.png b/designer-base/src/main/resources/com/fr/design/images/bbs/question.png new file mode 100644 index 000000000..c8c6fd8a1 Binary files /dev/null and b/designer-base/src/main/resources/com/fr/design/images/bbs/question.png differ diff --git a/designer-base/src/main/resources/com/fr/design/images/bbs/sign.png b/designer-base/src/main/resources/com/fr/design/images/bbs/sign.png new file mode 100644 index 000000000..b1556f7ed Binary files /dev/null and b/designer-base/src/main/resources/com/fr/design/images/bbs/sign.png differ diff --git a/designer-base/src/main/resources/com/fr/design/images/bbs/solotion.png b/designer-base/src/main/resources/com/fr/design/images/bbs/solotion.png new file mode 100644 index 000000000..f09230674 Binary files /dev/null and b/designer-base/src/main/resources/com/fr/design/images/bbs/solotion.png differ diff --git a/designer-base/src/main/resources/com/fr/design/images/bbs/video.png b/designer-base/src/main/resources/com/fr/design/images/bbs/video.png new file mode 100644 index 000000000..1971f2615 Binary files /dev/null and b/designer-base/src/main/resources/com/fr/design/images/bbs/video.png differ