diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/action/StartUseAction.java b/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/action/StartUseAction.java index 5e53930d92..eb24545328 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/action/StartUseAction.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/action/StartUseAction.java @@ -6,6 +6,12 @@ import com.fr.design.utils.BrowseUtils; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; + +/** + * alphaFine - 模板资源 - 二级界面 - 开始使用按钮的绑定事件 + * + * 点击后跳转至帆软市场下载对应模板资源 + * */ public class StartUseAction implements ActionListener { TemplateResourceDetail resourceDetail; @@ -17,6 +23,10 @@ public class StartUseAction implements ActionListener { @Override public void actionPerformed(ActionEvent e) { String url = FineMarketClientHelper.getInstance().getTemplateDownLoadUrl(resourceDetail.getRoot()); + if (url == null) { + // 如果获取失败,跳转到所有模板页面 + url = FineMarketClientHelper.getInstance().getFineMarketTemplateUrl(); + } BrowseUtils.browser(url); } } \ No newline at end of file diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/model/TemplateResourceDetail.java b/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/model/TemplateResourceDetail.java index 710ef6480d..468e3f9d48 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/model/TemplateResourceDetail.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/model/TemplateResourceDetail.java @@ -170,7 +170,7 @@ public class TemplateResourceDetail { } // 3请求标签信息 - detail.setTagsName(helper.getTemplateTagsByTemplateCids(detail.getTagsId())); + detail.setTagsName(helper.getTemplateTagsByTemplateTagIds(detail.getTagsId())); } catch (Exception e) { FineLoggerFactory.getLogger().error(e, e.getMessage()); } @@ -178,6 +178,17 @@ public class TemplateResourceDetail { return detail; } + /** + * 这里做下数据转换 + * 原始数据是html标签写的,如下 + * "
  1. 该模板需用10.0及以上版本设计器预览

  2. 该模板为库存场景解决方案的部分内容,全部内容可下载库存场景解决方案查看

  3. 为保障模板预览效果,建议安装新自适应插件(FR11.0版本插件已内置,无需手动安装),有使用需求或疑问,请联系帆软技术支持咨询

", + * + * 转换的后的数据 是原始数据中所有

标签内的(包括标签)的字符串(List),如上字符串会转为如下 + * List [

该模板需用10.0及以上版本设计器预览

, + *

该模板为库存场景解决方案的部分内容,全部内容可下载库存场景解决方案查看

, + *

为保障模板预览效果,建议安装新自适应插件(FR11.0版本插件已内置,无需手动安装),有使用需求或疑问,请联系帆软技术支持咨询

+ * ] + * */ static final Pattern htmlPattern = Pattern.compile("

(.+?)

"); static List parseDetailInfo(String htmlDetailInfo) { List infos = new ArrayList<>(); diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/preview/TemplateResourceDetailPane.java b/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/preview/TemplateResourceDetailPane.java index 84cb607d86..5be5ba4a5c 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/preview/TemplateResourceDetailPane.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/preview/TemplateResourceDetailPane.java @@ -47,8 +47,10 @@ public class TemplateResourceDetailPane extends JPanel { private static final String TAGS = Toolkit.i18nText("Fine-Design_Report_AlphaFine_Template_Detail_Tags"); private static final String PARENT_PACKAGE = Toolkit.i18nText("Fine-Design_Report_AlphaFine_Template_Detail_Parent_Package"); private static final String DETAIL_INFO = Toolkit.i18nText("Fine-Design_Report_AlphaFine_Template_Detail_Info"); + private static final String FREE = Toolkit.i18nText("Fine-Design_Report_AlphaFine_Template_Detail_Price_Free"); private static final String SPACE = " "; private static final String LF = "
"; + private static final String RMB = "¥"; public TemplateResourceDetailPane(TemplateResourceDetail detail) { @@ -90,9 +92,9 @@ public class TemplateResourceDetailPane extends JPanel { emptyLabel.setPreferredSize(new Dimension(115, 25)); JLabel priceLabel = new JLabel(); if (data.getPrice() == 0) { - priceLabel.setText("免费"); + priceLabel.setText(FREE); } else { - priceLabel.setText("$ " + data.getPrice()); + priceLabel.setText(RMB + SPACE + data.getPrice()); } operatePane.add(createLinkLabel()); diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/search/helper/FineMarketClientHelper.java b/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/search/helper/FineMarketClientHelper.java index e1ae18d70a..023be0d2e4 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/search/helper/FineMarketClientHelper.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/search/helper/FineMarketClientHelper.java @@ -37,12 +37,23 @@ public class FineMarketClientHelper { private Map tags; + /** + * 获取模板的下载链接 + * */ public String getTemplateDownLoadUrl(TemplateResource templateResource) { String url = FINE_MARKET_TEMPLATE_INFO + FILE_DOWNLOAD; if (templateResource != null) { - url += templateResource.getId(); + return url + templateResource.getId(); + } else { + return null; } - return url; + } + + /** + * 获取帆软市场模板资源页面链接 + * */ + public String getFineMarketTemplateUrl() { + return FINE_MARKET_TEMPLATE_URL; } public JSONObject getTemplateInfoById(String id) throws IOException { @@ -87,14 +98,18 @@ public class FineMarketClientHelper { } - public List getTemplateTagsByTemplateCids(String[] cids) throws IOException { + + /** + * 根据模板资源的tagid,获取tagName + * */ + public List getTemplateTagsByTemplateTagIds(String[] TagIds) throws IOException { List list = new ArrayList<>(); initTags(); - if (cids != null) { - for (String cid : cids) { - String tagName = tags.get(cid); + if (TagIds != null) { + for (String tagId : TagIds) { + String tagName = tags.get(tagId); if (tagName != null) { list.add(tagName); } @@ -104,6 +119,9 @@ public class FineMarketClientHelper { return list; } + /** + * 请求帆软市场,获取所有tag信息,并构建tagid - tagname的map + * */ private void initTags() throws IOException { tags = new HashMap<>(); String url = FINE_MARKET_TEMPLATE_INFO + TEMPLATES_TAGS;