From ce492031fd00fe95c636fd74e54ff74294de1ed8 Mon Sep 17 00:00:00 2001 From: "Link.Zhao" Date: Mon, 22 Aug 2022 16:24:32 +0800 Subject: [PATCH 1/3] =?UTF-8?q?REPORT-78617=E3=80=90=E8=BF=90=E8=90=A5?= =?UTF-8?q?=E4=BA=A7=E5=93=81=E5=8C=96=E4=BA=8C=E6=9C=9F=E3=80=91=E6=96=B9?= =?UTF-8?q?=E6=A1=88=E5=88=86=E4=B8=BA=E6=A8=A1=E6=9D=BF=E5=92=8C=E5=9C=BA?= =?UTF-8?q?=E6=99=AF=E6=96=B9=E6=A1=88=EF=BC=8C=E5=86=99=E5=9C=A8=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E7=9A=84=E6=98=AF=E8=A7=A3=E5=86=B3=E6=96=B9=E6=A1=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit REPORT-78612 【运营产品化二期】模板资源默认展示的场景方案以及关键词和运营提供的不符 REPORT-78618 【运营产品化二期】模板商城里搜索页面对应的模板商城应该是蓝色,非灰色 REPORT-78619 【运营产品化二期】二级页面展示缺少导向&支持点击模板商城返回一级页面 REPORT-78621 【运营产品化二期】二级页面所属模板包显示都是null 1、修改国际化 2、修改一些常量 3、修改ui 4、补充二级页面tablabel --- .../alphafine/AlphaFineConstants.java | 2 + .../alphafine/component/AlphaFineFrame.java | 53 +++++++++++++++---- .../model/TemplateResourceDetail.java | 7 ++- .../preview/TemplateResourceDetailPane.java | 9 ++-- .../alphafine/preview/TemplateShopPane.java | 38 ++++++++++++- .../search/helper/FineMarketClientHelper.java | 6 ++- .../impl/TemplateResourceSearchManager.java | 4 +- 7 files changed, 98 insertions(+), 21 deletions(-) diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/AlphaFineConstants.java b/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/AlphaFineConstants.java index 6be6b16e9..5caabe1e7 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/AlphaFineConstants.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/AlphaFineConstants.java @@ -81,6 +81,8 @@ public class AlphaFineConstants { public static final Color WHITE = new Color(0xf9f9f9); + public static final Color LABEL_SELECTED = new Color(0x419bf9); + public static final Color GRAY = new Color(0xd2d2d2); public static final Color LIGHT_GRAY = new Color(0xcccccc); diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/component/AlphaFineFrame.java b/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/component/AlphaFineFrame.java index deab122e7..d653fae95 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/component/AlphaFineFrame.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/component/AlphaFineFrame.java @@ -156,6 +156,18 @@ public class AlphaFineFrame extends JFrame { private JPanel tabPane; + private JPanel labelPane; + + private JPanel labelContentPane; + + private JPanel labelEastPane; + + private JPanel labelWestPane; + + private UILabel tabLabel; + + private UILabel readLabel; + private SelectedLabel selectedTab; private String beforeSearchStr = StringUtils.EMPTY; @@ -422,20 +434,21 @@ public class AlphaFineFrame extends JFrame { // label区,border layout - JPanel labelPane = new JPanel(new BorderLayout()); + labelPane = new JPanel(new BorderLayout()); labelPane.setBorder(BorderFactory.createEmptyBorder(0, 20, 0, 20)); labelPane.setBackground(Color.WHITE); - JPanel labelContentPane = new JPanel(new BorderLayout()); - UILabel tabLabel = new UILabel(PRODUCT_NEWS); + labelContentPane = new JPanel(new BorderLayout()); + tabLabel = new UILabel(PRODUCT_NEWS); tabLabel.setForeground(AlphaFineConstants.FOREGROUND_COLOR_6); tabLabel.setBorder(BorderFactory.createEmptyBorder(0, 10, 0, 0)); - tabLabel.setPreferredSize(new Dimension(100, 30)); - JPanel westPane = new JPanel(new FlowLayout(FlowLayout.LEFT, 0, 0)); - westPane.add(tabLabel); - labelContentPane.add(westPane, BorderLayout.WEST); - JPanel eastPane = new JPanel(new FlowLayout(FlowLayout.RIGHT, 0, 0)); + tabLabel.setPreferredSize(new Dimension(60, 30)); + tabLabel.setForeground(AlphaFineConstants.LABEL_SELECTED); + labelWestPane = new JPanel(new FlowLayout(FlowLayout.LEFT, 0, 0)); + labelWestPane.add(tabLabel); + labelContentPane.add(labelWestPane, BorderLayout.WEST); + labelEastPane = new JPanel(new FlowLayout(FlowLayout.RIGHT, 0, 0)); // 一键已读 - UILabel readLabel = new UILabel(ONE_CLICK_READ); + readLabel = new UILabel(ONE_CLICK_READ); readLabel.setHorizontalAlignment(SwingConstants.RIGHT); readLabel.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 10));; readLabel.setPreferredSize(new Dimension(100, 30)); @@ -447,8 +460,8 @@ public class AlphaFineFrame extends JFrame { showPane.repaint(); } }); - eastPane.add(readLabel); - labelContentPane.add(eastPane, BorderLayout.EAST); + labelEastPane.add(readLabel); + labelContentPane.add(labelEastPane, BorderLayout.EAST); labelContentPane.setBackground(new Color(245, 245, 247)); labelPane.add(labelContentPane); labelPane.setPreferredSize(new Dimension(AlphaFineConstants.FULL_SIZE.width, 30)); @@ -478,6 +491,14 @@ public class AlphaFineFrame extends JFrame { return showPane; } + public JPanel getLabelWestPane() { + return labelWestPane; + } + + public UILabel getTabLabel() { + return tabLabel; + } + private MouseAdapter createMouseListener(List selectedLabelList, SelectedLabel selectedLabel, JPanel tabPane, UILabel tabLabel, UILabel readLabel) { return new MouseAdapter() { @@ -499,6 +520,9 @@ public class AlphaFineFrame extends JFrame { tabLabel.setText(selectedLabel.getText()); } + // 刷新westlabelpane + refreshLabelPane(); + // 将已读设置不可见 readLabel.setVisible(false); @@ -562,6 +586,11 @@ public class AlphaFineFrame extends JFrame { } } + private void refreshLabelPane() { + labelWestPane.removeAll(); + labelWestPane.add(tabLabel); + } + private List createSelectedLabelList() { List selectedLabelList = new ArrayList<>(); AlphaFineConfigManager alphaFineConfigManager = DesignerEnvManager.getEnvManager().getAlphaFineConfigManager(); @@ -832,6 +861,7 @@ public class AlphaFineFrame extends JFrame { } private void doSearch(String text) { + refreshLabelPane(); initSearchLoadingPane(); SearchTextBean searchTextBean = generateSearchTextBean(text); this.productNewsSearchWorkerManager.doSearch(searchTextBean); @@ -954,6 +984,7 @@ public class AlphaFineFrame extends JFrame { @Override public void setVisible(boolean b) { super.setVisible(b); + switchTab(selectedTab.getCellType(), readLabel); QuestionWindow.getInstance().setVisible(!b); if (!b) { AlphaFineHelper.resetAlphaFineDialog(); 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 468e3f9d4..74b470d53 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 @@ -6,6 +6,7 @@ import com.fr.design.mainframe.alphafine.search.manager.impl.TemplateResourceSea import com.fr.json.JSONArray; import com.fr.json.JSONObject; import com.fr.log.FineLoggerFactory; +import com.fr.stable.StringUtils; import java.util.ArrayList; import java.util.Arrays; @@ -104,7 +105,11 @@ public class TemplateResourceDetail { } public void setParentPkgName(String parentPkgName) { - this.parentPkgName = parentPkgName; + if (StringUtils.isEmpty(parentPkgName)) { + this.parentPkgName = ""; + } else { + this.parentPkgName = parentPkgName; + } } public String getResourceUrl() { 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 4433754f9..fe2e1bbc5 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 @@ -1,5 +1,6 @@ package com.fr.design.mainframe.alphafine.preview; +import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.icontainer.UIScrollPane; import com.fr.design.i18n.Toolkit; import com.fr.design.mainframe.alphafine.action.StartUseAction; @@ -8,7 +9,6 @@ import com.fr.design.mainframe.alphafine.model.TemplateResourceDetail; import com.fr.design.utils.BrowseUtils; import javax.swing.BorderFactory; -import javax.swing.JButton; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.SwingConstants; @@ -93,8 +93,9 @@ public class TemplateResourceDetailPane extends JPanel { operatePane = new JPanel(new FlowLayout(FlowLayout.LEFT)); JLabel emptyLabel = new JLabel(); - emptyLabel.setPreferredSize(new Dimension(115, 25)); + emptyLabel.setPreferredSize(new Dimension(140, 25)); JLabel priceLabel = new JLabel(); + priceLabel.setForeground(Color.RED); if (data.getPrice() == 0) { priceLabel.setText(FREE); } else { @@ -128,8 +129,8 @@ public class TemplateResourceDetailPane extends JPanel { BrowseUtils.browser(url); } - JButton createStartUseButton() { - JButton starUseButton = new JButton(START_USE); + UIButton createStartUseButton() { + UIButton starUseButton = new UIButton(START_USE); starUseButton.addActionListener(new StartUseAction(data)); return starUseButton; } diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/preview/TemplateShopPane.java b/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/preview/TemplateShopPane.java index 83485f2d1..7acb30537 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/preview/TemplateShopPane.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/preview/TemplateShopPane.java @@ -1,6 +1,8 @@ package com.fr.design.mainframe.alphafine.preview; +import com.fr.design.gui.ilable.UILabel; import com.fr.design.mainframe.alphafine.AlphaFineConstants; +import com.fr.design.mainframe.alphafine.AlphaFineHelper; import com.fr.design.mainframe.alphafine.component.TemplateResourcePageGridPane; import com.fr.design.mainframe.alphafine.model.TemplateResource; import com.fr.design.mainframe.alphafine.model.TemplateResourceDetail; @@ -11,6 +13,8 @@ import com.fr.third.apache.logging.log4j.util.Strings; import javax.swing.JPanel; import javax.swing.SwingWorker; import java.awt.CardLayout; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; import java.util.List; public class TemplateShopPane extends JPanel { @@ -26,7 +30,7 @@ public class TemplateShopPane extends JPanel { public static final String DETAIL_PANEL = "detailPane"; public static final String LOADING_PANEL = "loadingPane"; private String currentCard = Strings.EMPTY; - + private static final String SLASH = "/"; private CardLayout cardLayout = new CardLayout(); private JPanel defaultPagePane; @@ -71,6 +75,9 @@ public class TemplateShopPane extends JPanel { // 打开二级页面,显示详细信息 public void searchAndShowDetailPane(TemplateResource resource) { + + changeLabel(resource.getName()); + switchCard(LOADING_PANEL); new SwingWorker() { @@ -99,6 +106,35 @@ public class TemplateShopPane extends JPanel { } + + + private void changeLabel(String resourceName) { + JPanel labelNamePane = AlphaFineHelper.getAlphaFineDialog().getLabelWestPane(); + UILabel tabLabel = AlphaFineHelper.getAlphaFineDialog().getTabLabel(); + tabLabel.setForeground(AlphaFineConstants.DARK_GRAY); + + UILabel slash = new UILabel(SLASH); + slash.setForeground(AlphaFineConstants.DARK_GRAY); + + UILabel resourceLabel = new UILabel(resourceName); + resourceLabel.setForeground(AlphaFineConstants.LABEL_SELECTED); + + labelNamePane.add(slash); + labelNamePane.add(resourceLabel); + + + tabLabel.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent e) { + super.mouseClicked(e); + switchCard(PAGE_PANEL); + tabLabel.setForeground(AlphaFineConstants.LABEL_SELECTED); + labelNamePane.remove(slash); + labelNamePane.remove(resourceLabel); + } + }); + } + // 方便埋点,勿删 public String getCurrentCard() { return currentCard; 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 97e31609a..2354712b5 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 @@ -1,6 +1,7 @@ package com.fr.design.mainframe.alphafine.search.helper; import com.fr.design.mainframe.alphafine.model.TemplateResource; +import com.fr.design.utils.BrowseUtils; import com.fr.general.CloudCenter; import com.fr.general.http.HttpToolbox; import com.fr.json.JSONArray; @@ -19,8 +20,9 @@ public class FineMarketClientHelper { return INSTANCE; } - public static final String FINE_MARKET_TEMPLATE_INFO = CloudCenter.getInstance().acquireUrlByKind("market.template.info", "https://market.fanruan.com/templates/"); - public static final String FINE_MARKET_TEMPLATE_URL = CloudCenter.getInstance().acquireUrlByKind("market.template.url", "https://market.fanruan.com/template/"); + public static final String FINE_MARKET_TEMPLATE_INFO = CloudCenter.getInstance().acquireUrlByKind("market.template.info"); + public static final String FINE_MARKET_TEMPLATE_URL = CloudCenter.getInstance().acquireUrlByKind("market.template.url"); + public static final String LOGIN_FINE_CLUB_AND_REDIRECT_SHOP = CloudCenter.getInstance().acquireUrlByKind("af.login.redirect.market"); public static final String FILE_DOWNLOAD = "file/"; public static final String PACKAGE_DOWNLOAD = "package/download/"; public static final String TEMPLATES_PARENT_PACKAGE = "parent/"; diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/search/manager/impl/TemplateResourceSearchManager.java b/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/search/manager/impl/TemplateResourceSearchManager.java index 1fc9f19f8..2a8c76751 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/search/manager/impl/TemplateResourceSearchManager.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/search/manager/impl/TemplateResourceSearchManager.java @@ -43,7 +43,7 @@ public class TemplateResourceSearchManager { if (resourceList.isEmpty()) { List localResource = getEmbedResourceList(); localResource.stream().forEach(resource->{ - if (resource.getName().contains(searchText)) { + if (resource.getName().toLowerCase().contains(searchText)) { resourceList.add(resource); } }); @@ -81,7 +81,7 @@ public class TemplateResourceSearchManager { public List getRecommendSearchKeys() { List searchKey = new ArrayList<>(); - String[] keys = CloudCenter.getInstance().acquireConf("alphafine.tempalte.recommend", "库存,指标,可视化").split(","); + String[] keys = CloudCenter.getInstance().acquireConf("alphafine.tempalte.recommend", "跑马灯,填报,地图").split(","); for (String k : keys) { searchKey.add(k); } From 08fca90127bca5ab8a62f60ec0e3ce11ce3296d6 Mon Sep 17 00:00:00 2001 From: "Link.Zhao" Date: Mon, 22 Aug 2022 16:48:24 +0800 Subject: [PATCH 2/3] =?UTF-8?q?REPORT-75093=20=E8=BF=90=E8=90=A5=E4=BA=A7?= =?UTF-8?q?=E5=93=81=E5=8C=96=E4=BA=8C=E6=9C=9F=201=E3=80=81=E7=BB=99?= =?UTF-8?q?=E6=96=B0=E6=8E=A5=E5=8F=A3=E6=8D=A2=E4=B8=AAid=EF=BC=8C?= =?UTF-8?q?=E4=B8=8D=E8=83=BD=E5=BD=B1=E5=93=8D=E8=80=81=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E4=BD=BF=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/mainframe/alphafine/AlphaFineConstants.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/AlphaFineConstants.java b/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/AlphaFineConstants.java index 5caabe1e7..935d2d0e3 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/AlphaFineConstants.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/alphafine/AlphaFineConstants.java @@ -156,7 +156,7 @@ public class AlphaFineConstants { public static final String ALPHA_PREVIEW = CloudCenter.getInstance().acquireUrlByKind("af.preview"); - public static final String ALPHA_CID = CloudCenter.getInstance().acquireUrlByKind("af.cid"); + public static final String ALPHA_CID = CloudCenter.getInstance().acquireUrlByKind("af.cid.new"); public static final String ALPHA_CID_USER_GROUP_INFO = CloudCenter.getInstance().acquireUrlByKind("af.cid.user.group.info"); From 6169293529d5bc05dd1a172018f8ef335d5b677b Mon Sep 17 00:00:00 2001 From: "Link.Zhao" Date: Mon, 22 Aug 2022 17:21:57 +0800 Subject: [PATCH 3/3] =?UTF-8?q?REPORT-78647=20=E3=80=90=E8=BF=90=E8=90=A5?= =?UTF-8?q?=E4=BA=A7=E5=93=81=E5=8C=96=E4=BA=8C=E6=9C=9F=E3=80=91=E5=8D=95?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E7=9B=AE=E5=89=8D=E7=82=B9=E5=87=BB=E7=AB=8B?= =?UTF-8?q?=E5=8D=B3=E4=BD=BF=E7=94=A8=E6=9C=AA=E4=B8=8B=E8=BD=BD=201?= =?UTF-8?q?=E3=80=81=E6=9B=B4=E6=8D=A2url?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mainframe/alphafine/action/StartUseAction.java | 11 ++++------- .../search/helper/FineMarketClientHelper.java | 14 ++++++++++++-- 2 files changed, 16 insertions(+), 9 deletions(-) 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 d8ddfe27b..0afd89308 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 @@ -2,7 +2,7 @@ package com.fr.design.mainframe.alphafine.action; import com.fr.design.mainframe.alphafine.model.TemplateResourceDetail; import com.fr.design.mainframe.alphafine.search.helper.FineMarketClientHelper; -import com.fr.design.utils.BrowseUtils; + import java.awt.event.ActionEvent; import java.awt.event.ActionListener; @@ -11,6 +11,8 @@ import java.awt.event.ActionListener; * alphaFine - 模板资源 - 二级界面 - 开始使用按钮的绑定事件 * * 点击后跳转至帆软市场下载对应模板资源 + * + * TODO:可以参考mini组件商城的下载@ComponentsPackageInstallation#install * */ public class StartUseAction implements ActionListener { @@ -22,11 +24,6 @@ public class StartUseAction implements ActionListener { @Override public void actionPerformed(ActionEvent e) { - String url = FineMarketClientHelper.getInstance().getResourceDownloadUrl(resourceDetail.getRoot()); - if (url == null) { - // 如果获取失败,跳转到所有模板页面 - url = FineMarketClientHelper.getInstance().getFineMarketTemplateUrl(); - } - BrowseUtils.browser(url); + FineMarketClientHelper.getInstance().openBrowserAndDownload(resourceDetail.getRoot()); } } \ No newline at end of file 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 2354712b5..81a165ca0 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 @@ -53,11 +53,21 @@ public class FineMarketClientHelper { } + public void openBrowserAndDownload(TemplateResource templateResource) { + String url = LOGIN_FINE_CLUB_AND_REDIRECT_SHOP; + if (TemplateResource.Type.SCENARIO_SOLUTION.equals(templateResource.getType())) { + url += getPackageDownloadUrl(templateResource.getId()); + } else { + url += getFileDownLoadUrl(templateResource.getId()); + } + BrowseUtils.browser(url); + } + /** - * 打开浏览器,打包并下载模板资源包,可能会很慢 + * 暂时没有package的下载接口,需要用户在浏览器点击下载 * */ private String getPackageDownloadUrl(String id) { - return FINE_MARKET_TEMPLATE_INFO + PACKAGE_DOWNLOAD + id; + return getTemplateUrlById(id); } /**