Browse Source

Merging in latest from upstream (DESIGN/design:refs/heads/feature/10.0)

* commit '3f1a4963e0d2e969c10a00046a478ca1f0b6ff7d':
  CHART-10233 部分接口实现改动
  无jira任务 打包
  REPORT-20327 sonar问题修复
  REPORT-21800 水印密度框最小限制有问题,删掉进行输入的话,就是小于100,无法手动输入
research/11.0
vito 5 years ago
parent
commit
e31aa3f277
  1. 15
      designer-base/src/main/java/com/fr/design/border/UIRoundedBorder.java
  2. 7
      designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/MaxMemRowCountPanel.java
  3. 36
      designer-base/src/main/java/com/fr/design/dialog/JWizardPanel.java
  4. 2
      designer-base/src/main/java/com/fr/design/extra/QQLoginWebPane.java
  5. 2
      designer-base/src/main/java/com/fr/design/file/MutilTempalteTabPane.java
  6. 43
      designer-base/src/main/java/com/fr/design/gui/ispinner/UnsignedIntUISpinner.java
  7. 26
      designer-base/src/main/java/com/fr/design/gui/itextfield/UIIntNumberField.java
  8. 25
      designer-chart/src/main/java/com/fr/design/chartx/fields/AbstractCellDataFieldsPane.java
  9. 7
      designer-chart/src/main/java/com/fr/design/chartx/fields/AbstractDataSetFieldsPane.java
  10. 17
      designer-chart/src/main/java/com/fr/design/chartx/fields/diff/AbstractCellDataFieldsWithSeriesValuePane.java
  11. 19
      designer-chart/src/main/java/com/fr/design/chartx/fields/diff/AbstractDataSetFieldsWithSeriesValuePane.java
  12. 3
      designer-chart/src/main/java/com/fr/design/chartx/impl/AbstractDataPane.java
  13. 2
      designer-chart/src/main/java/com/fr/design/mainframe/MiddleChartPropertyPane.java
  14. 4
      designer-realize/src/main/java/com/fr/start/module/DesignerStartup.java
  15. 4
      designer-realize/src/main/java/com/fr/start/module/DesignerWorkspaceActivator.java
  16. 2
      designer-realize/src/main/java/com/fr/start/module/DesignerWorkspaceProvider.java
  17. 2
      designer-realize/src/main/java/com/fr/start/module/PreStartActivator.java

15
designer-base/src/main/java/com/fr/design/border/UIRoundedBorder.java

@ -13,23 +13,23 @@ import java.awt.geom.RoundRectangle2D;
public class UIRoundedBorder extends LineBorder {
private static final long serialVersionUID = 1L;
private int roundedCorner;
private int lineStyle;
public UIRoundedBorder(Color color) {
super(color);
}
public UIRoundedBorder(Color color, int thickness){
super(color, thickness);
}
public UIRoundedBorder(Color color, int thickness, int roundedCorners){
super(color, thickness, true);
this.roundedCorner = roundedCorners;
}
public UIRoundedBorder(int lineStyle, Color color, int roundedCorners){
super(color, GraphHelper.getLineStyleSize(lineStyle), true);
this.lineStyle = lineStyle;
@ -44,14 +44,15 @@ public class UIRoundedBorder extends LineBorder {
return lineStyle;
}
@Override
public void paintBorder(Component c, Graphics g, int x, int y, int width, int height){
Color oldColor = g.getColor();
Graphics2D g2d = (Graphics2D)g;
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2d.setColor(lineColor);
GraphHelper.draw(g2d, new RoundRectangle2D.Double(x, y, width - 1, height-1, roundedCorner, roundedCorner),lineStyle);
GraphHelper.draw(g2d, new RoundRectangle2D.Double(x, y, width - 1.0D, height - 1.0D, roundedCorner, roundedCorner), lineStyle);
g2d.setColor(oldColor);
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_OFF);
}
}
}

7
designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/MaxMemRowCountPanel.java

@ -40,7 +40,8 @@ public class MaxMemRowCountPanel extends UIToolbar {
}
}
};
@Override
public Dimension getPreferredSize() {
Dimension dim = super.getPreferredSize();
dim.width = 340;
@ -81,7 +82,7 @@ public class MaxMemRowCountPanel extends UIToolbar {
public void setValue(int value) {
if (value >= 0) {
showMaxPanel();
numberSpinner.setValue(Integer.valueOf(value));
numberSpinner.setValue(value);
} else {
showAllPanel();
}
@ -94,4 +95,4 @@ public class MaxMemRowCountPanel extends UIToolbar {
return ((Number) numberSpinner.getValue()).intValue();
}
}
}
}

36
designer-base/src/main/java/com/fr/design/dialog/JWizardPanel.java

@ -48,7 +48,7 @@ public class JWizardPanel extends BasicPane {
// Set the layout for the content area
contentPane = FRGUIPaneFactory.createNormalFlowInnerContainer_S_Pane();
contentPane.setBorder(BorderFactory.createEmptyBorder(2, 2, 4, 4));
// Step title
@ -60,16 +60,16 @@ public class JWizardPanel extends BasicPane {
add(titlePanel, BorderLayout.NORTH);
add(contentPane, BorderLayout.CENTER);
}
@Override
protected String title4PopupWindow() {
return "wizard";
}
/**
* Set the title to use for this step. Normally this title would be unique
* for each wizards step.
*
*
* @param stepTitle The title to use for this step.
*/
public void setStepTitle(String stepTitle) {
@ -82,7 +82,7 @@ public class JWizardPanel extends BasicPane {
/**
* Get the step title to use for this step.
*
*
* @return The step title to use for this step.
*/
public String getStepTitle() {
@ -93,7 +93,7 @@ public class JWizardPanel extends BasicPane {
* Get a JPanel to use for adding your own components to this WizardPanel.
* Do not add components directly to the JWizardPanel. The JPanel uses the
* layout given in the JWizardPanel constructor.
*
*
* @return The JPanel to use for adding components for this wizard step.
*/
public JPanel getContentPane() {
@ -102,7 +102,7 @@ public class JWizardPanel extends BasicPane {
/**
* Get the wizard step to go to when the Back button is pressed.
*
*
* @return The wizard step to go to when the Back button is pressed.
*/
@ -114,7 +114,7 @@ public class JWizardPanel extends BasicPane {
* Set the wizard step to go to when the Back button is pressed. This should
* be set in the constructor of the JWizardPanel subclass since it
* determines whether the Back button is enabled or not.
*
*
* @param backStep
* The wizard step to go to when the Back button is pressed.
*/
@ -129,7 +129,7 @@ public class JWizardPanel extends BasicPane {
/**
* Get the wizard step to go to when the Next button is pressed.
*
*
* @return The wizard step to go to when the Next button is pressed.
*/
public int getNextStep() {
@ -140,7 +140,7 @@ public class JWizardPanel extends BasicPane {
* Set the wizard step to go to when the Next button is pressed. This should
* be set in the constructor of the JWizardPanel subclass since it
* determines whether the Next and Finish buttons are enabled or not.
*
*
* @param nextStep The wizard step to go to when the Next button is pressed.
*/
public void setNextStep(int nextStep) {
@ -154,7 +154,7 @@ public class JWizardPanel extends BasicPane {
/**
* Returns the JWizardDialog in which this JWizardPanel resides. This is
* valid only after the panel has been added to the dialog.
*
*
* @return The JWizardDialog in which this JWizardPanel resides.
*/
@ -168,7 +168,7 @@ public class JWizardPanel extends BasicPane {
public void addNotify() {
if (firstNotify) {
Font font = stepTitleLabel.getFont();
font = font.deriveFont(Font.BOLD, font.getSize() * 14 / 10);
font = font.deriveFont(Font.BOLD, font.getSize() * 14 / 10.0F);
stepTitleLabel.setFont(font);
firstNotify = false;
}
@ -177,7 +177,7 @@ public class JWizardPanel extends BasicPane {
/**
* Set the JWizardDialog parent for this JWizardPanel.
*
*
* @param dialogParent
* The JWizardPanel parent for this JWizardPanel.
*/
@ -188,7 +188,7 @@ public class JWizardPanel extends BasicPane {
/**
* Calls back(). This allows the JWizardDialog to call the protected method
* back().
*
*
* @see #back()
*/
@ -199,7 +199,7 @@ public class JWizardPanel extends BasicPane {
/**
* Calls next(). This allows the JWizardDialog to call the protected method
* next().
*
*
* @see #next()
*/
void doNext() {
@ -209,7 +209,7 @@ public class JWizardPanel extends BasicPane {
/**
* Called when the Back button is pressed. By default this displays the
* wizard step set by setBackStep().
*
*
* @see #setBackStep(int)
*/
protected void back() {
@ -219,11 +219,11 @@ public class JWizardPanel extends BasicPane {
/**
* Called when the Next button is pressed. By default this displays the
* wizard step set by setNextStep().
*
*
* @see #setNextStep(int)
*/
protected void next() {
dialogParent.goTo(getNextStep());
}
}
}

2
designer-base/src/main/java/com/fr/design/extra/QQLoginWebPane.java

@ -163,7 +163,7 @@ public class QQLoginWebPane extends JFXPanel {
final BooleanProperty confirmationResult = new SimpleBooleanProperty();
// initialize the confirmation dialog
final Stage dialog = new Stage(StageStyle.UTILITY);
dialog.setX(Toolkit.getDefaultToolkit().getScreenSize().getWidth() / 2 - DEFAULT_CONFIRM_WIDTH / 2 + DEFAULT_OFFEST);
dialog.setX(Toolkit.getDefaultToolkit().getScreenSize().getWidth() / 2 - DEFAULT_CONFIRM_WIDTH / 2.0D + DEFAULT_OFFEST);
dialog.setY(Toolkit.getDefaultToolkit().getScreenSize().getHeight() / 2 + DEFAULT_OFFEST);
dialog.setHeight(DEFAULT_CONFIRM_HEIGHT);
dialog.setWidth(DEFAULT_CONFIRM_WIDTH);

2
designer-base/src/main/java/com/fr/design/file/MutilTempalteTabPane.java

@ -322,7 +322,7 @@ public class MutilTempalteTabPane extends JComponent {
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
double maxWidth = getWidth() - LIST_BUTTON_WIDTH; //最大宽度
double maxWidth = getWidth() - LIST_BUTTON_WIDTH * 1.0D; //最大宽度
Graphics2D g2d = (Graphics2D) g;
paintBackgroundAndLine(g2d, maxWidth);
}

43
designer-base/src/main/java/com/fr/design/gui/ispinner/UnsignedIntUISpinner.java

@ -3,6 +3,9 @@ package com.fr.design.gui.ispinner;
import com.fr.design.gui.itextfield.UIIntNumberField;
import com.fr.design.gui.itextfield.UINumberField;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
/**
* Created by IntelliJ IDEA.
* Author : Hugh.C
@ -11,21 +14,59 @@ import com.fr.design.gui.itextfield.UINumberField;
*/
public class UnsignedIntUISpinner extends UISpinner {
private double minValue;
private double maxValue;
public UnsignedIntUISpinner(double minValue, double maxValue, double dierta) {
super(minValue, maxValue, dierta);
this.minValue = minValue;
this.maxValue = maxValue;
}
public UnsignedIntUISpinner(double minValue, double maxValue, double dierta, double defaultValue) {
super(minValue, maxValue, dierta, defaultValue);
this.minValue = minValue;
this.maxValue = maxValue;
}
@Override
protected UINumberField initNumberField() {
return new UIIntNumberField() {
final UIIntNumberField numberField = new UIIntNumberField() {
public boolean shouldResponseChangeListener() {
return false;
}
public NumberDocument createNumberDocument() {
return new NumberDocument() {
public boolean isContinueInsertWhenOverMaxOrMinValue() {
return true;
}
};
}
};
numberField.addFocusListener(new FocusListener() {
@Override
public void focusGained(FocusEvent e) {
}
/**
* 失去焦点后再做范围限制不然最小值为 100 输个 1 都不让....
* @param e
*/
@Override
public void focusLost(FocusEvent e) {
double value = numberField.getValue();
if (!isOverMaxOrMinValue(value)) {
return;
}
numberField.setValue(value < minValue ? minValue : maxValue);
}
private boolean isOverMaxOrMinValue(double value) {
return value < minValue || value > maxValue;
}
});
return numberField;
}
}

26
designer-base/src/main/java/com/fr/design/gui/itextfield/UIIntNumberField.java

@ -1,11 +1,10 @@
package com.fr.design.gui.itextfield;
import com.fr.design.gui.itextfield.UINumberField;
import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.PlainDocument;
import java.awt.*;
import java.awt.Toolkit;
/**
* Created with IntelliJ IDEA.
@ -15,11 +14,11 @@ import java.awt.*;
* To change this template use File | Settings | File Templates.
*/
public class UIIntNumberField extends UINumberField {
public void setFieldDocument(){
setDocument(new NumberDocument());
public void setFieldDocument() {
setDocument(createNumberDocument());
}
class NumberDocument extends PlainDocument {
public class NumberDocument extends PlainDocument {
public NumberDocument() {
}
@ -33,17 +32,30 @@ public class UIIntNumberField extends UINumberField {
String strNew = str.substring(0, offset) + s + str.substring(offset, getLength());
if (isOverMaxOrMinValue(strNew)) {
if (isOverMaxOrMinValue(strNew) && !isContinueInsertWhenOverMaxOrMinValue()) {
Toolkit.getDefaultToolkit().beep();
return;
}
setisContentChanged(true);
setisContentChanged(true);
super.insertString(offset, s, a);
}
/**
* 是否继续插入输入的字符 - 当超出范围时
*
* @return true : 继续插入输入的字符
*/
public boolean isContinueInsertWhenOverMaxOrMinValue() {
return false;
}
private boolean isOverMaxOrMinValue( String strNew) {
return (Double.parseDouble(strNew)<getMinValue() || Double.parseDouble(strNew)>getMaxValue());
}
}
public NumberDocument createNumberDocument() {
return new NumberDocument();
}
}

25
designer-chart/src/main/java/com/fr/design/chartx/fields/AbstractCellDataFieldsPane.java

@ -13,9 +13,9 @@ import com.fr.stable.StringUtils;
import javax.swing.BorderFactory;
import javax.swing.JPanel;
import javax.swing.SwingConstants;
import java.util.Arrays;
import java.awt.BorderLayout;
import java.awt.Component;
import java.util.Arrays;
/**
* Created by shine on 2019/5/16.
@ -31,9 +31,21 @@ public abstract class AbstractCellDataFieldsPane<T extends AbstractColumnFieldCo
this.setLayout(new BorderLayout(0, 6));
this.add(createNorthPane(), BorderLayout.NORTH);
this.add(createCenterPane(), BorderLayout.CENTER);
this.add(createSouthPane(), BorderLayout.SOUTH);
JPanel north = createNorthPane(),
center = createCenterPane(),
south = createSouthPane();
if (north != null) {
this.add(north, BorderLayout.NORTH);
}
if (center != null) {
this.add(center, BorderLayout.CENTER);
}
if (south != null) {
this.add(south, BorderLayout.SOUTH);
}
this.setBorder(BorderFactory.createEmptyBorder(0, 15, 0, 8));
}
@ -53,7 +65,6 @@ public abstract class AbstractCellDataFieldsPane<T extends AbstractColumnFieldCo
components[i] = new Component[]{new UILabel(labels[i], SwingConstants.LEFT), formulaPanes[i]};
}
double p = TableLayout.PREFERRED;
double[] columnSize = {ChartDataPane.LABEL_WIDTH, 124};
double[] rowSize = new double[len];
@ -64,11 +75,11 @@ public abstract class AbstractCellDataFieldsPane<T extends AbstractColumnFieldCo
protected JPanel createNorthPane() {
return new JPanel();
return null;
}
protected JPanel createSouthPane() {
return new JPanel();
return null;
}
protected Component[] fieldComponents() {

7
designer-chart/src/main/java/com/fr/design/chartx/fields/AbstractDataSetFieldsPane.java

@ -17,10 +17,10 @@ import com.fr.stable.StringUtils;
import javax.swing.BorderFactory;
import javax.swing.JPanel;
import javax.swing.SwingConstants;
import java.awt.BorderLayout;
import java.awt.Component;
import java.util.Arrays;
import java.util.List;
import java.awt.BorderLayout;
import java.awt.Component;
import static com.fr.design.mainframe.chart.gui.data.table.DataPaneHelper.refreshBoxItems;
@ -36,7 +36,7 @@ public abstract class AbstractDataSetFieldsPane<T extends AbstractColumnFieldCol
protected void initComponents() {
this.setLayout(new BorderLayout(0, 4));
this.setLayout(new BorderLayout(0, 6));
this.setBorder(BorderFactory.createEmptyBorder(2, 24, 0, 15));
JPanel north = createNorthPane(),
@ -74,7 +74,6 @@ public abstract class AbstractDataSetFieldsPane<T extends AbstractColumnFieldCol
for (int i = 0; i < len; i++) {
components[i] = new Component[]{new UILabel(labels[i], SwingConstants.LEFT), fieldComponents[i]};
}
double p = TableLayout.PREFERRED;
double[] columnSize = {ChartDataPane.LABEL_WIDTH, 122};
double[] rowSize = new double[len];

17
designer-chart/src/main/java/com/fr/design/chartx/fields/diff/AbstractCellDataFieldsWithSeriesValuePane.java

@ -21,15 +21,26 @@ public abstract class AbstractCellDataFieldsWithSeriesValuePane<T extends Abstra
seriesValueFieldsPane = new CellDataSeriesValueCorrelationPane();
if (normalCenter != null) {
JPanel panel = new JPanel(new BorderLayout());
panel.add(normalCenter, BorderLayout.CENTER);
panel.add(seriesValueFieldsPane, BorderLayout.SOUTH);
JPanel panel = new JPanel(new BorderLayout(0,6));
panel.add(normalCenter, BorderLayout.NORTH);
panel.add(seriesValueFieldsPane, BorderLayout.CENTER);
return panel;
} else {
return seriesValueFieldsPane;
}
}
public CellDataSeriesValueCorrelationPane getSeriesValueFieldsPane() {
if (seriesValueFieldsPane == null) {
seriesValueFieldsPane = new CellDataSeriesValueCorrelationPane();
}
return seriesValueFieldsPane;
}
public void setSeriesValueFieldsPane(CellDataSeriesValueCorrelationPane seriesValueFieldsPane) {
this.seriesValueFieldsPane = seriesValueFieldsPane;
}
protected void populateSeriesValuePane(AbstractColumnFieldCollectionWithSeriesValue fieldCollectionWithSeriesValue) {
seriesValueFieldsPane.populateBean(fieldCollectionWithSeriesValue.getSeriesValueCorrelationDefinition());
}

19
designer-chart/src/main/java/com/fr/design/chartx/fields/diff/AbstractDataSetFieldsWithSeriesValuePane.java

@ -5,8 +5,8 @@ import com.fr.design.chartx.component.SeriesValueFieldComboBoxPane;
import com.fr.design.chartx.fields.AbstractDataSetFieldsPane;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import java.util.List;
import java.awt.BorderLayout;
/**
* Created by shine on 2019/5/16.
@ -23,15 +23,26 @@ public abstract class AbstractDataSetFieldsWithSeriesValuePane<T extends Abstrac
seriesValueFieldComboBoxPane = new SeriesValueFieldComboBoxPane();
if (normalCenter != null) {
JPanel panel = new JPanel(new BorderLayout());
panel.add(normalCenter, BorderLayout.CENTER);
panel.add(seriesValueFieldComboBoxPane, BorderLayout.SOUTH);
JPanel panel = new JPanel(new BorderLayout(0,6));
panel.add(normalCenter, BorderLayout.NORTH);
panel.add(seriesValueFieldComboBoxPane, BorderLayout.CENTER);
return panel;
} else {
return seriesValueFieldComboBoxPane;
}
}
public SeriesValueFieldComboBoxPane getSeriesValueFieldComboBoxPane() {
if (seriesValueFieldComboBoxPane == null) {
seriesValueFieldComboBoxPane = new SeriesValueFieldComboBoxPane();
}
return seriesValueFieldComboBoxPane;
}
public void setSeriesValueFieldComboBoxPane(SeriesValueFieldComboBoxPane seriesValueFieldComboBoxPane) {
this.seriesValueFieldComboBoxPane = seriesValueFieldComboBoxPane;
}
@Override
public void checkBoxUse(boolean hasUse) {
super.checkBoxUse(hasUse);

3
designer-chart/src/main/java/com/fr/design/chartx/impl/AbstractDataPane.java

@ -7,7 +7,6 @@ import com.fr.chartx.data.ChartDataDefinitionProvider;
import com.fr.design.chartx.single.SingleDataPane;
import com.fr.design.gui.frpane.AttributeChangeListener;
import com.fr.design.mainframe.chart.gui.ChartDataPane;
import com.fr.plugin.chart.vanchart.VanChart;
import javax.swing.JPanel;
import java.awt.BorderLayout;
@ -58,7 +57,7 @@ public abstract class AbstractDataPane extends ChartDataPane {
if (collection == null) {
return;
}
VanChart chart = collection.getSelectedChart(VanChart.class);
AbstractChartWithData chart = collection.getSelectedChart(AbstractChartWithData.class);
if (chart == null) {
return;
}

2
designer-chart/src/main/java/com/fr/design/mainframe/MiddleChartPropertyPane.java

@ -91,7 +91,7 @@ public abstract class MiddleChartPropertyPane extends BaseChartPropertyPane{
* @param ePane 面板
*/
public void populateChartPropertyPane(ChartCollection collection, TargetComponent<?> ePane) {
addChartEditPane(collection.getSelectedChart().getPlot().getPlotID());
addChartEditPane(collection.getSelectedChartProvider().getID());
setSupportCellData(true);
this.container.setEPane(ePane);
chartEditPane.populate(collection);

4
designer-realize/src/main/java/com/fr/start/module/DesignerStartup.java

@ -17,7 +17,7 @@ public class DesignerStartup extends Activator {
@Metrics
public void start() {
startSub(PreStartActivator.class);
getSub("parallel").start();
startSub("parallel");
//designer模块启动好后,查看demo
browserDemo();
startSub(StartFinishActivator.class);
@ -26,7 +26,7 @@ public class DesignerStartup extends Activator {
private void browserDemo() {
if (getModule().leftFindSingleton(StartupArgs.class) != null && getModule().leftFindSingleton(StartupArgs.class).isDemo()) {
if (findSingleton(StartupArgs.class) != null && findSingleton(StartupArgs.class).isDemo()) {
ServerStarter.browserDemoURL();
}
}

4
designer-realize/src/main/java/com/fr/start/module/DesignerWorkspaceActivator.java

@ -34,7 +34,7 @@ public class DesignerWorkspaceActivator extends Activator {
@Override
public void on(Event event, Workspace current) {
getSub(EnvBasedModule.class).stop();
stopSub(EnvBasedModule.class);
}
});
/*切换环境后,重新启动所有相关模块,最先执行*/
@ -43,7 +43,7 @@ public class DesignerWorkspaceActivator extends Activator {
@Override
public void on(Event event, Workspace current) {
getSub(EnvBasedModule.class).start();
startSub(EnvBasedModule.class);
startServer(current);
}
});

2
designer-realize/src/main/java/com/fr/start/module/DesignerWorkspaceProvider.java

@ -22,7 +22,7 @@ public class DesignerWorkspaceProvider extends Activator {
//检查环境
DesignerEnvManager.checkNameEnvMap();
if (getModule().leftFindSingleton(StartupArgs.class) != null && getModule().leftFindSingleton(StartupArgs.class).isDemo()) {
if (findSingleton(StartupArgs.class) != null && findSingleton(StartupArgs.class).isDemo()) {
DesignerEnvManager.getEnvManager().setCurrentEnv2Default();
} else {
try {

2
designer-realize/src/main/java/com/fr/start/module/PreStartActivator.java

@ -35,7 +35,7 @@ public class PreStartActivator extends Activator {
BuildContext.setBuildFilePath("/com/fr/stable/build.properties");
// 如果端口被占用了 说明程序已经运行了一次,也就是说,已经建立一个监听服务器,现在只要给服务器发送命令就好了
final String[] args = getModule().upFindSingleton(StartupArgs.class).get();
final String[] args = findSingleton(StartupArgs.class).get();
// 检查是否是-Ddebug = true 启动 并切换对应的端口以及环境配置文件
checkDebugStart();
if (DesignUtils.isStarted()) {

Loading…
Cancel
Save