├── README.md
├── WeRedis.iml
├── pom.xml
├── weredis-common
├── pom.xml
├── src
│ ├── main
│ │ └── kotlin
│ │ │ └── com
│ │ │ └── luoboduner
│ │ │ └── weredis
│ │ │ └── common
│ │ │ └── Hello.kt
│ └── test
│ │ └── kotlin
│ │ └── com
│ │ └── luoboduner
│ │ └── weredis
│ │ └── common
│ │ └── HelloTest.kt
└── weredis-common.iml
├── weredis-core
├── pom.xml
├── src
│ ├── main
│ │ └── kotlin
│ │ │ └── com
│ │ │ └── luoboduner
│ │ │ └── weredis
│ │ │ └── core
│ │ │ └── Hello.kt
│ └── test
│ │ └── kotlin
│ │ └── com
│ │ └── luoboduner
│ │ └── weredis
│ │ └── core
│ │ └── HelloTest.kt
└── weredis-core.iml
├── weredis-desktop
├── pom.xml
├── src
│ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── luoboduner
│ │ │ │ └── weredis
│ │ │ │ └── desktop
│ │ │ │ ├── ui
│ │ │ │ ├── ConstantsUI.java
│ │ │ │ ├── Init.java
│ │ │ │ ├── MainWindow.form
│ │ │ │ └── MainWindow.java
│ │ │ │ └── util
│ │ │ │ └── Config.java
│ │ ├── kotlin
│ │ │ └── com
│ │ │ │ └── luoboduner
│ │ │ │ └── weredis
│ │ │ │ └── desktop
│ │ │ │ └── Hello.kt
│ │ ├── lib
│ │ │ ├── beautyeye_lnf.jar
│ │ │ ├── darcula.jar
│ │ │ └── weblaf-complete-1.28.jar
│ │ └── resources
│ │ │ ├── icon
│ │ │ ├── add.png
│ │ │ ├── add@2x.png
│ │ │ ├── clock.png
│ │ │ ├── clock@2x.png
│ │ │ ├── fromVCS.png
│ │ │ ├── fromVCS@2x.png
│ │ │ ├── logo-md.png
│ │ │ ├── pause.png
│ │ │ ├── pause@2x.png
│ │ │ ├── remove.png
│ │ │ ├── remove@2x.png
│ │ │ ├── run.png
│ │ │ ├── run@2x.png
│ │ │ ├── slogan.jpg
│ │ │ ├── suspend.png
│ │ │ ├── suspend@2x.png
│ │ │ └── weixin-qrcode.png
│ │ │ └── logback.xml
│ └── test
│ │ └── kotlin
│ │ └── com
│ │ └── luoboduner
│ │ └── weredis
│ │ └── desktop
│ │ └── HelloTest.kt
└── weredis-desktop.iml
└── weredis-plugin-idea
├── pom.xml
├── src
├── main
│ ├── java
│ │ └── HelloWorldWindow.java
│ └── resources
│ │ └── META-INF
│ │ └── plugin.xml
└── test
│ └── kotlin
│ └── com
│ └── luoboduner
│ └── weredis
│ └── common
│ └── HelloTest.kt
└── weredis-plugin-idea.iml
/README.md:
--------------------------------------------------------------------------------
1 | # WeRedis
2 |
3 | > 一款redis图形化操作工具,包含IDEA插件和桌面版
4 |
5 | ### 注:开发中,暂不可用
--------------------------------------------------------------------------------
/WeRedis.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 | 4.0.0
6 |
7 | com.luoboduner.weredis
8 | luoboduner-weredis
9 | 1.0
10 | pom
11 |
12 |
13 | weredis-common
14 | weredis-core
15 | weredis-plugin-idea
16 | weredis-desktop
17 |
18 |
19 |
20 |
21 |
22 | org.apache.maven.plugins
23 | maven-compiler-plugin
24 | 3.6.1
25 |
26 | 1.8
27 | 1.8
28 | UTF-8
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/weredis-common/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 | 4.0.0
6 |
7 | com.luoboduner.weredis.common
8 | weredis-common
9 | 1.0-SNAPSHOT
10 | jar
11 |
12 | weredis-common
13 |
14 |
15 | UTF-8
16 | 1.1.51
17 | 4.12
18 |
19 |
20 |
21 |
22 | org.jetbrains.kotlin
23 | kotlin-stdlib
24 | ${kotlin.version}
25 |
26 |
27 | org.jetbrains.kotlin
28 | kotlin-test-junit
29 | ${kotlin.version}
30 | test
31 |
32 |
33 | junit
34 | junit
35 | ${junit.version}
36 | test
37 |
38 |
39 |
40 |
41 | src/main/kotlin
42 | src/test/kotlin
43 |
44 |
45 |
46 | org.apache.maven.plugins
47 | maven-compiler-plugin
48 | 3.6.1
49 |
50 | 1.8
51 | 1.8
52 | UTF-8
53 |
54 |
55 |
56 | org.jetbrains.kotlin
57 | kotlin-maven-plugin
58 | ${kotlin.version}
59 |
60 |
61 | compile
62 | compile
63 |
64 | compile
65 |
66 |
67 |
68 | test-compile
69 | test-compile
70 |
71 | test-compile
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
--------------------------------------------------------------------------------
/weredis-common/src/main/kotlin/com/luoboduner/weredis/common/Hello.kt:
--------------------------------------------------------------------------------
1 | package com.luoboduner.weredis.common
2 |
3 | fun main(args: Array) {
4 | println("Hello, World")
5 | }
6 |
7 |
--------------------------------------------------------------------------------
/weredis-common/src/test/kotlin/com/luoboduner/weredis/common/HelloTest.kt:
--------------------------------------------------------------------------------
1 | package com.luoboduner.weredis.common
2 |
3 | import org.junit.Test
4 | import kotlin.test.assertEquals
5 |
6 | class HelloTest {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/weredis-common/weredis-common.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
13 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/weredis-core/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 | 4.0.0
6 |
7 | com.luoboduner.weredis.core
8 | luoboduner-weredis-core
9 | 1.0-SNAPSHOT
10 | jar
11 |
12 | com.luoboduner.weredis.core luoboduner-weredis-core
13 |
14 |
15 | UTF-8
16 | 1.1.51
17 | 4.12
18 |
19 |
20 |
21 |
22 | org.jetbrains.kotlin
23 | kotlin-stdlib
24 | ${kotlin.version}
25 |
26 |
27 | org.jetbrains.kotlin
28 | kotlin-test-junit
29 | ${kotlin.version}
30 | test
31 |
32 |
33 | junit
34 | junit
35 | ${junit.version}
36 | test
37 |
38 |
39 |
40 |
41 | src/main/kotlin
42 | src/test/kotlin
43 |
44 |
45 |
46 | org.apache.maven.plugins
47 | maven-compiler-plugin
48 | 3.6.1
49 |
50 | 1.8
51 | 1.8
52 | UTF-8
53 |
54 |
55 |
56 | org.jetbrains.kotlin
57 | kotlin-maven-plugin
58 | ${kotlin.version}
59 |
60 |
61 | compile
62 | compile
63 |
64 | compile
65 |
66 |
67 |
68 | test-compile
69 | test-compile
70 |
71 | test-compile
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
--------------------------------------------------------------------------------
/weredis-core/src/main/kotlin/com/luoboduner/weredis/core/Hello.kt:
--------------------------------------------------------------------------------
1 | package com.luoboduner.weredis.core
2 |
3 | fun main(args: Array) {
4 | println("Hello, World")
5 | }
6 |
7 |
--------------------------------------------------------------------------------
/weredis-core/src/test/kotlin/com/luoboduner/weredis/core/HelloTest.kt:
--------------------------------------------------------------------------------
1 | package com.luoboduner.weredis.core
2 |
3 | import org.junit.Test
4 | import kotlin.test.assertEquals
5 |
6 | class HelloTest {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/weredis-core/weredis-core.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
13 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/weredis-desktop/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 | 4.0.0
6 |
7 | com.luoboduner.weredis.desktop
8 | luoboduner-weredis-desktop
9 | 1.0-SNAPSHOT
10 | jar
11 |
12 | luoboduner-weredis-desktop
13 |
14 |
15 | UTF-8
16 | 1.1.51
17 | 4.12
18 | 1.2.1
19 | 3.1.1
20 | 3.9
21 |
22 |
23 |
24 |
25 | org.jetbrains.kotlin
26 | kotlin-stdlib
27 | ${kotlin.version}
28 |
29 |
30 | org.jetbrains.kotlin
31 | kotlin-test-junit
32 | ${kotlin.version}
33 | test
34 |
35 |
36 | junit
37 | junit
38 | ${junit.version}
39 | test
40 |
41 |
42 | ch.qos.logback
43 | logback-classic
44 | ${logback.version}
45 |
46 |
47 | com.xiaoleilu
48 | hutool-all
49 | ${hutool-all.version}
50 |
51 |
52 | com.opencsv
53 | opencsv
54 | ${opencsv.version}
55 |
56 |
57 | com.darcula
58 | darcula-lnf
59 | 1.0
60 |
61 |
62 |
63 | com.beautyeye
64 | beautyeye-lnf
65 | 1.0
66 |
67 |
68 |
69 | com.weblaf
70 | weblaf-lnf
71 | 1.2.8
72 |
73 |
74 |
75 |
76 | src/main/kotlin
77 | src/test/kotlin
78 |
79 |
80 |
81 | org.apache.maven.plugins
82 | maven-compiler-plugin
83 | 3.6.1
84 |
85 | 1.8
86 | 1.8
87 | UTF-8
88 |
89 |
90 |
91 | org.jetbrains.kotlin
92 | kotlin-maven-plugin
93 | ${kotlin.version}
94 |
95 |
96 | compile
97 | compile
98 |
99 | compile
100 |
101 |
102 |
103 | test-compile
104 | test-compile
105 |
106 | test-compile
107 |
108 |
109 |
110 |
111 |
112 | org.apache.maven.plugins
113 | maven-install-plugin
114 | 2.5.2
115 |
116 |
117 | install-weblaf
118 | clean
119 |
120 | ${basedir}/src/main/lib/weblaf-complete-1.28.jar
121 | default
122 | com.weblaf
123 | weblaf-lnf
124 | 1.2.8
125 | jar
126 | true
127 |
128 |
129 | install-file
130 |
131 |
132 |
133 | install-beautyeye
134 | clean
135 |
136 | ${basedir}/src/main/lib/beautyeye_lnf.jar
137 | default
138 | com.beautyeye
139 | beautyeye-lnf
140 | 1.0
141 | jar
142 | true
143 |
144 |
145 | install-file
146 |
147 |
148 |
149 | install-darcula
150 | clean
151 |
152 | ${basedir}/src/main/lib/darcula.jar
153 | default
154 | com.darcula
155 | darcula-lnf
156 | 1.0
157 | jar
158 | true
159 |
160 |
161 | install-file
162 |
163 |
164 |
165 |
166 |
167 |
168 |
169 |
170 |
--------------------------------------------------------------------------------
/weredis-desktop/src/main/java/com/luoboduner/weredis/desktop/ui/ConstantsUI.java:
--------------------------------------------------------------------------------
1 | package com.luoboduner.weredis.desktop.ui;
2 |
3 | import java.awt.Image;
4 | import java.awt.Toolkit;
5 |
6 | /**
7 | * UI相关的常量
8 | *
9 | * @author rememberber(https://github.com/rememberber)
10 | */
11 | public class ConstantsUI {
12 |
13 | /**
14 | * 软件名称,版本
15 | */
16 | public final static String APP_NAME = "WeRedis";
17 | public final static String APP_VERSION = "v_1.2.0_170831";
18 |
19 | /**
20 | * 主窗口图标
21 | */
22 | public final static Image IMAGE_ICON = Toolkit.getDefaultToolkit()
23 | .getImage(MainWindow.class.getResource("/icon/logo-md.png"));
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/weredis-desktop/src/main/java/com/luoboduner/weredis/desktop/ui/Init.java:
--------------------------------------------------------------------------------
1 | package com.luoboduner.weredis.desktop.ui;
2 |
3 | import com.alee.laf.WebLookAndFeel;
4 | import com.luoboduner.weredis.desktop.util.Config;
5 | import com.sun.java.swing.plaf.motif.MotifLookAndFeel;
6 | import com.sun.java.swing.plaf.windows.WindowsLookAndFeel;
7 | import com.xiaoleilu.hutool.log.Log;
8 | import com.xiaoleilu.hutool.log.LogFactory;
9 | import org.apache.commons.lang3.StringUtils;
10 | import org.jb2011.lnf.beautyeye.BeautyEyeLNFHelper;
11 |
12 | import javax.swing.UIManager;
13 | import javax.swing.plaf.FontUIResource;
14 | import javax.swing.plaf.metal.MetalLookAndFeel;
15 | import javax.swing.plaf.nimbus.NimbusLookAndFeel;
16 | import java.awt.Dimension;
17 | import java.awt.Font;
18 | import java.awt.Toolkit;
19 | import java.util.Enumeration;
20 |
21 | /**
22 | * 初始化类
23 | * Created by rememberber(https://github.com/rememberber) on 2017/6/15.
24 | */
25 | public class Init {
26 |
27 | private static final Log logger = LogFactory.get();
28 |
29 | // 配置文件管理器对象
30 | public static Config configer = Config.getInstance();
31 |
32 |
33 | /**
34 | * 设置全局字体
35 | */
36 | public static void initGlobalFont() {
37 |
38 | String lowDpiKey = "lowDpiInit";
39 | Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); //得到屏幕的尺寸
40 | if (screenSize.width <= 1366 && StringUtils.isEmpty(configer.getProps(lowDpiKey))) {
41 | configer.setFontSize(15);
42 | configer.setProps(lowDpiKey, "true");
43 | configer.save();
44 | }
45 |
46 | Font fnt = new Font(configer.getFont(), Font.PLAIN, configer.getFontSize());
47 | FontUIResource fontRes = new FontUIResource(fnt);
48 | for (Enumeration keys = UIManager.getDefaults().keys(); keys.hasMoreElements(); ) {
49 | Object key = keys.nextElement();
50 | Object value = UIManager.get(key);
51 | if (value instanceof FontUIResource)
52 | UIManager.put(key, fontRes);
53 | }
54 | }
55 |
56 | /**
57 | * 其他初始化
58 | */
59 | public static void initOthers() {
60 | // 设置滚动条速度
61 | }
62 |
63 | /**
64 | * 初始化look and feel
65 | */
66 | public static void initTheme() {
67 |
68 | try {
69 | switch (configer.getTheme()) {
70 | case "BeautyEye":
71 | BeautyEyeLNFHelper.launchBeautyEyeLNF();
72 | UIManager.put("RootPane.setupButtonVisible", false);
73 | break;
74 | case "weblaf":
75 | UIManager.setLookAndFeel(new WebLookAndFeel());
76 | break;
77 | case "系统默认":
78 | UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
79 | break;
80 | case "Windows":
81 | UIManager.setLookAndFeel(WindowsLookAndFeel.class.getName());
82 | break;
83 | case "Nimbus":
84 | UIManager.setLookAndFeel(NimbusLookAndFeel.class.getName());
85 | break;
86 | case "Metal":
87 | UIManager.setLookAndFeel(MetalLookAndFeel.class.getName());
88 | break;
89 | case "Motif":
90 | UIManager.setLookAndFeel(MotifLookAndFeel.class.getName());
91 | break;
92 | case "Darcula(推荐)":
93 | default:
94 | UIManager.setLookAndFeel("com.bulenkov.darcula.DarculaLaf");
95 | }
96 | } catch (Exception e) {
97 | logger.error(e);
98 | }
99 |
100 | }
101 |
102 | }
103 |
--------------------------------------------------------------------------------
/weredis-desktop/src/main/java/com/luoboduner/weredis/desktop/ui/MainWindow.form:
--------------------------------------------------------------------------------
1 |
2 |
88 |
--------------------------------------------------------------------------------
/weredis-desktop/src/main/java/com/luoboduner/weredis/desktop/ui/MainWindow.java:
--------------------------------------------------------------------------------
1 | package com.luoboduner.weredis.desktop.ui;
2 |
3 | import com.xiaoleilu.hutool.log.Log;
4 | import com.xiaoleilu.hutool.log.LogFactory;
5 |
6 | import javax.swing.JButton;
7 | import javax.swing.JFrame;
8 | import javax.swing.JPanel;
9 | import javax.swing.JSplitPane;
10 | import javax.swing.JTree;
11 | import java.awt.Dimension;
12 | import java.awt.Toolkit;
13 |
14 | /**
15 | * @author rememberber(https://github.com/rememberber)
16 | */
17 | public class MainWindow {
18 | public static MainWindow mainWindow;
19 | private static Log logger = LogFactory.get();
20 | public static JFrame frame;
21 | private JPanel mainPanel;
22 | private JSplitPane splitPane;
23 | private JPanel panelLeft;
24 | private JPanel panelRight;
25 | private JButton button1;
26 | private JButton button2;
27 | private JTree tree1;
28 |
29 | public MainWindow() {
30 |
31 | }
32 |
33 | public static void main(String[] args) {
34 | logger.info("main start");
35 |
36 | Init.initTheme();
37 | Init.initGlobalFont(); //统一设置字体
38 |
39 | frame = new JFrame(ConstantsUI.APP_NAME);
40 | frame.setIconImage(ConstantsUI.IMAGE_ICON);
41 |
42 | //得到屏幕的尺寸
43 | Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
44 | frame.setBounds((int) (screenSize.width * 0.1), (int) (screenSize.height * 0.08), (int) (screenSize.width * 0.8),
45 | (int) (screenSize.height * 0.8));
46 |
47 | Dimension preferSize = new Dimension((int) (screenSize.width * 0.8),
48 | (int) (screenSize.height * 0.8));
49 | frame.setPreferredSize(preferSize);
50 |
51 | mainWindow = new MainWindow();
52 |
53 | frame.setContentPane(mainWindow.mainPanel);
54 | frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
55 | frame.pack();
56 | frame.setVisible(true);
57 |
58 | // 添加事件监听
59 | }
60 | }
61 |
--------------------------------------------------------------------------------
/weredis-desktop/src/main/java/com/luoboduner/weredis/desktop/util/Config.java:
--------------------------------------------------------------------------------
1 | package com.luoboduner.weredis.desktop.util;
2 |
3 | import com.xiaoleilu.hutool.log.Log;
4 | import com.xiaoleilu.hutool.log.LogFactory;
5 | import com.xiaoleilu.hutool.setting.dialect.Props;
6 |
7 | import java.io.File;
8 | import java.io.FileOutputStream;
9 | import java.io.IOException;
10 |
11 | /**
12 | * 配置管理
13 | * Created by rememberber(https://github.com/rememberber) on 2017/6/14.
14 | */
15 | public class Config {
16 |
17 | private static final Log logger = LogFactory.get();
18 |
19 | private File file;
20 |
21 | private Props props;
22 |
23 | private static Config ourInstance = new Config();
24 |
25 | private String msgName;
26 |
27 | private String previewUser;
28 |
29 | private int memberCount;
30 |
31 | private String memberSql;
32 |
33 | private String memberFilePath;
34 |
35 | private int pushSuccess;
36 |
37 | private int pushFail;
38 |
39 | private long pushLastTime;
40 |
41 | private long pushLeftTime;
42 |
43 | private int totalRecord;
44 |
45 | private int totalPage;
46 |
47 | private int totalThread;
48 |
49 | private int recordPerPage;
50 |
51 | private int pagePerThread;
52 |
53 | private boolean dryRun;
54 |
55 | private boolean radioStartAt;
56 |
57 | private String textStartAt;
58 |
59 | private boolean radioStopAt;
60 |
61 | private String textStopAt;
62 |
63 | private boolean radioPerDay;
64 |
65 | private String textPerDay;
66 |
67 | private boolean radioPerWeek;
68 |
69 | private String textPerWeekWeek;
70 |
71 | private String textPerWeekTime;
72 |
73 | private String wechatAppId;
74 |
75 | private String wechatAppSecret;
76 |
77 | private String wechatToken;
78 |
79 | private String wechatAesKey;
80 |
81 | private String aliServerUrl;
82 |
83 | private String aliAppKey;
84 |
85 | private String aliAppSecret;
86 |
87 | private String aliSign;
88 |
89 | private String mysqlUrl;
90 |
91 | private String mysqlDatabase;
92 |
93 | private String mysqlUser;
94 |
95 | private String mysqlPassword;
96 |
97 | private String theme;
98 |
99 | private String font;
100 |
101 | private int fontSize;
102 |
103 | public static Config getInstance() {
104 | return ourInstance;
105 | }
106 |
107 | private Config() {
108 | file = new File("config/config.properties");
109 | File configDir = new File("config/");
110 | if (!file.exists()) {
111 | try {
112 | configDir.mkdirs();
113 | file.createNewFile();
114 | originInit();
115 | } catch (IOException e) {
116 | logger.error(e);
117 | }
118 | }
119 | props = new Props(file);
120 | }
121 |
122 | public void setProps(String key, String value) {
123 | props.setProperty(key, value);
124 | }
125 |
126 | public String getProps(String key) {
127 | return props.getProperty(key);
128 | }
129 |
130 | /**
131 | * 存盘
132 | */
133 | public void save() {
134 | try {
135 | props.store(new FileOutputStream(file), null);
136 | } catch (IOException e) {
137 | logger.error(e);
138 | }
139 | }
140 |
141 | /**
142 | * 初始化原始数据
143 | */
144 | private void originInit() {
145 | props = new Props(file);
146 |
147 | props.setProperty("msg.msgName", "");
148 | props.setProperty("msg.previewUser", "");
149 | props.setProperty("member.count", "0");
150 | props.setProperty("member.sql", "SELECT openid FROM");
151 | props.setProperty("member.filePath", "");
152 | props.setProperty("push.success", "0");
153 | props.setProperty("push.fail", "0");
154 | props.setProperty("push.lastTime", "0");
155 | props.setProperty("push.leftTime", "0");
156 | props.setProperty("push.totalRecord", "0");
157 | props.setProperty("push.totalPage", "0");
158 | props.setProperty("push.totalThread", "0");
159 | props.setProperty("push.recordPerPage", "500");
160 | props.setProperty("push.pagePerThread", "3");
161 | props.setProperty("push.dryRun", "true");
162 | props.setProperty("schedule.radioStartAt", "false");
163 | props.setProperty("schedule.textStartAt", "");
164 | props.setProperty("schedule.radioStopAt", "false");
165 | props.setProperty("schedule.textStopAt", "");
166 | props.setProperty("schedule.radioPerDay", "false");
167 | props.setProperty("schedule.textPerDay", "");
168 | props.setProperty("schedule.radioPerWeek", "false");
169 | props.setProperty("schedule.textPerWeek.week", "一");
170 | props.setProperty("schedule.textPerWeek.time", "");
171 | props.setProperty("setting.wechat.appId", "");
172 | props.setProperty("setting.wechat.AppSecret", "");
173 | props.setProperty("setting.wechat.token", "");
174 | props.setProperty("setting.wechat.aesKey", "");
175 | props.setProperty("setting.ali.serverUrl", "");
176 | props.setProperty("setting.ali.appKey", "");
177 | props.setProperty("setting.ali.appSecret", "");
178 | props.setProperty("setting.ali.sign", "");
179 | props.setProperty("setting.mysql.url", "");
180 | props.setProperty("setting.mysql.database", "");
181 | props.setProperty("setting.mysql.user", "");
182 | props.setProperty("setting.mysql.password", "");
183 | props.setProperty("setting.appearance.theme", "Darcula(推荐)");
184 | props.setProperty("setting.appearance.font", "Microsoft YaHei UI");
185 | props.setProperty("setting.appearance.fontSize", "18");
186 |
187 | save();
188 | }
189 |
190 | public String getMsgName() {
191 | return props.getProperty("msg.msgName");
192 | }
193 |
194 | public void setMsgName(String msgName) {
195 | props.setProperty("msg.msgName", msgName);
196 | }
197 |
198 | public String getPreviewUser() {
199 | return props.getProperty("msg.previewUser");
200 | }
201 |
202 | public void setPreviewUser(String previewUser) {
203 | props.setProperty("msg.previewUser", previewUser);
204 | }
205 |
206 | public int getMemberCount() {
207 | return props.getInt("member.count");
208 | }
209 |
210 | public void setMemberCount(int memberCount) {
211 | props.setProperty("member.count", memberCount);
212 | }
213 |
214 | public String getMemberSql() {
215 | return props.getProperty("member.sql");
216 | }
217 |
218 | public void setMemberSql(String memberSql) {
219 | props.setProperty("member.sql", memberSql);
220 | }
221 |
222 | public String getMemberFilePath() {
223 | return props.getProperty("member.filePath");
224 | }
225 |
226 | public void setMemberFilePath(String memberFilePath) {
227 | props.setProperty("member.filePath", memberFilePath);
228 | }
229 |
230 | public int getPushSuccess() {
231 | return props.getInt("push.success");
232 | }
233 |
234 | public void setPushSuccess(int pushSuccess) {
235 | props.setProperty("push.success", pushSuccess);
236 | }
237 |
238 | public int getPushFail() {
239 | return props.getInt("push.fail");
240 | }
241 |
242 | public void setPushFail(int pushFail) {
243 | props.setProperty("push.fail", pushFail);
244 | }
245 |
246 | public long getPushLastTime() {
247 | return props.getLong("push.lastTime");
248 | }
249 |
250 | public void setPushLastTime(long pushLastTime) {
251 | props.setProperty("push.lastTime", pushLastTime);
252 | }
253 |
254 | public long getPushLeftTime() {
255 | return props.getLong("push.leftTime");
256 | }
257 |
258 | public void setPushLeftTime(long pushLeftTime) {
259 | props.setProperty("push.leftTime", pushLeftTime);
260 | }
261 |
262 | public int getTotalRecord() {
263 | return props.getInt("push.totalRecord");
264 | }
265 |
266 | public void setTotalRecord(int totalRecord) {
267 | props.setProperty("push.totalRecord", totalRecord);
268 | }
269 |
270 | public int getTotalPage() {
271 | return props.getInt("push.totalPage");
272 | }
273 |
274 | public void setTotalPage(int totalPage) {
275 | props.setProperty("push.totalPage", totalPage);
276 | }
277 |
278 | public int getTotalThread() {
279 | return props.getInt("push.totalThread");
280 | }
281 |
282 | public void setTotalThread(int totalThread) {
283 | props.setProperty("push.totalThread", totalThread);
284 | }
285 |
286 | public int getRecordPerPage() {
287 | return props.getInt("push.recordPerPage");
288 | }
289 |
290 | public void setRecordPerPage(int recordPerPage) {
291 | props.setProperty("push.recordPerPage", recordPerPage);
292 | }
293 |
294 | public int getPagePerThread() {
295 | return props.getInt("push.pagePerThread");
296 | }
297 |
298 | public void setPagePerThread(int pagePerThread) {
299 | props.setProperty("push.pagePerThread", pagePerThread);
300 | }
301 |
302 | public boolean isDryRun() {
303 | return props.getBool("push.dryRun");
304 | }
305 |
306 | public void setDryRun(boolean dryRun) {
307 | props.setProperty("push.dryRun", dryRun);
308 | }
309 |
310 | public boolean isRadioStartAt() {
311 | return props.getBool("schedule.radioStartAt");
312 | }
313 |
314 | public void setRadioStartAt(boolean radioStartAt) {
315 | props.setProperty("schedule.radioStartAt", radioStartAt);
316 | }
317 |
318 | public String getTextStartAt() {
319 | return props.getProperty("schedule.textStartAt");
320 | }
321 |
322 | public void setTextStartAt(String textStartAt) {
323 | props.setProperty("schedule.textStartAt", textStartAt);
324 | }
325 |
326 | public boolean isRadioStopAt() {
327 | return props.getBool("schedule.radioStopAt");
328 | }
329 |
330 | public void setRadioStopAt(boolean radioStopAt) {
331 | props.setProperty("schedule.radioStopAt", radioStopAt);
332 | }
333 |
334 | public String getTextStopAt() {
335 | return props.getProperty("schedule.textStopAt");
336 | }
337 |
338 | public void setTextStopAt(String textStopAt) {
339 | props.setProperty("schedule.textStopAt", textStopAt);
340 | }
341 |
342 | public boolean isRadioPerDay() {
343 | return props.getBool("schedule.radioPerDay");
344 | }
345 |
346 | public void setRadioPerDay(boolean radioPerDay) {
347 | props.setProperty("schedule.radioPerDay", radioPerDay);
348 | }
349 |
350 | public String getTextPerDay() {
351 | return props.getProperty("schedule.textPerDay");
352 | }
353 |
354 | public void setTextPerDay(String textPerDay) {
355 | props.setProperty("schedule.textPerDay", textPerDay);
356 | }
357 |
358 | public boolean isRadioPerWeek() {
359 | return props.getBool("schedule.radioPerWeek");
360 | }
361 |
362 | public void setRadioPerWeek(boolean radioPerWeek) {
363 | props.setProperty("schedule.radioPerWeek", radioPerWeek);
364 | }
365 |
366 | public String getTextPerWeekWeek() {
367 | return props.getProperty("schedule.textPerWeek.week");
368 | }
369 |
370 | public void setTextPerWeekWeek(String textPerWeekWeek) {
371 | props.setProperty("schedule.textPerWeek.week", textPerWeekWeek);
372 | }
373 |
374 | public String getTextPerWeekTime() {
375 | return props.getProperty("schedule.textPerWeek.time");
376 | }
377 |
378 | public void setTextPerWeekTime(String textPerWeekTime) {
379 | props.setProperty("schedule.textPerWeek.time", textPerWeekTime);
380 | }
381 |
382 | public String getWechatAppId() {
383 | return props.getProperty("setting.wechat.appId");
384 | }
385 |
386 | public void setWechatAppId(String wechatAppId) {
387 | props.setProperty("setting.wechat.appId", wechatAppId);
388 | }
389 |
390 | public String getWechatAppSecret() {
391 | return props.getProperty("setting.wechat.AppSecret");
392 | }
393 |
394 | public void setWechatAppSecret(String wechatAppSecret) {
395 | props.setProperty("setting.wechat.AppSecret", wechatAppSecret);
396 | }
397 |
398 | public String getWechatToken() {
399 | return props.getProperty("setting.wechat.token");
400 | }
401 |
402 | public void setWechatToken(String wechatToken) {
403 | props.setProperty("setting.wechat.token", wechatToken);
404 | }
405 |
406 | public String getWechatAesKey() {
407 | return props.getProperty("setting.wechat.aesKey");
408 | }
409 |
410 | public void setWechatAesKey(String wechatAesKey) {
411 | props.setProperty("setting.wechat.aesKey", wechatAesKey);
412 | }
413 |
414 | public String getAliServerUrl() {
415 | return props.getProperty("setting.ali.serverUrl");
416 | }
417 |
418 | public void setAliServerUrl(String aliServerUrl) {
419 | props.setProperty("setting.ali.serverUrl", aliServerUrl);
420 | }
421 |
422 | public String getAliAppKey() {
423 | return props.getProperty("setting.ali.appKey");
424 | }
425 |
426 | public void setAliAppKey(String aliAppKey) {
427 | props.setProperty("setting.ali.appKey", aliAppKey);
428 | }
429 |
430 | public String getAliAppSecret() {
431 | return props.getProperty("setting.ali.appSecret");
432 | }
433 |
434 | public void setAliAppSecret(String aliAppSecret) {
435 | props.setProperty("setting.ali.appSecret", aliAppSecret);
436 | }
437 |
438 | public String getAliSign() {
439 | return props.getProperty("setting.ali.sign");
440 | }
441 |
442 | public void setAliSign(String aliSign) {
443 | props.setProperty("setting.ali.sign", aliSign);
444 | }
445 |
446 | public String getMysqlUrl() {
447 | return props.getProperty("setting.mysql.url");
448 | }
449 |
450 | public void setMysqlUrl(String mysqlUrl) {
451 | props.setProperty("setting.mysql.url", mysqlUrl);
452 | }
453 |
454 | public String getMysqlDatabase() {
455 | return props.getProperty("setting.mysql.database");
456 | }
457 |
458 | public void setMysqlDatabase(String mysqlDatabase) {
459 | props.setProperty("setting.mysql.database", mysqlDatabase);
460 | }
461 |
462 | public String getMysqlUser() {
463 | return props.getProperty("setting.mysql.user");
464 | }
465 |
466 | public void setMysqlUser(String mysqlUser) {
467 | props.setProperty("setting.mysql.user", mysqlUser);
468 | }
469 |
470 | public String getMysqlPassword() {
471 | return props.getProperty("setting.mysql.password");
472 | }
473 |
474 | public void setMysqlPassword(String mysqlPassword) {
475 | props.setProperty("setting.mysql.password", mysqlPassword);
476 | }
477 |
478 | public String getTheme() {
479 | return props.getProperty("setting.appearance.theme");
480 | }
481 |
482 | public void setTheme(String theme) {
483 | props.setProperty("setting.appearance.theme", theme);
484 | }
485 |
486 | public String getFont() {
487 | return props.getProperty("setting.appearance.font");
488 | }
489 |
490 | public void setFont(String font) {
491 | props.setProperty("setting.appearance.font", font);
492 | }
493 |
494 | public int getFontSize() {
495 | return props.getInt("setting.appearance.fontSize");
496 | }
497 |
498 | public void setFontSize(int fontSize) {
499 | props.setProperty("setting.appearance.fontSize", fontSize);
500 | }
501 | }
502 |
--------------------------------------------------------------------------------
/weredis-desktop/src/main/kotlin/com/luoboduner/weredis/desktop/Hello.kt:
--------------------------------------------------------------------------------
1 | package com.luoboduner.weredis.desktop
2 |
3 | fun main(args: Array) {
4 | println("Hello, World")
5 | }
6 |
7 |
--------------------------------------------------------------------------------
/weredis-desktop/src/main/lib/beautyeye_lnf.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rememberber/WeRedis/e6e298bf9b84537cb1d84fac868ff743ec2c9ed8/weredis-desktop/src/main/lib/beautyeye_lnf.jar
--------------------------------------------------------------------------------
/weredis-desktop/src/main/lib/darcula.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rememberber/WeRedis/e6e298bf9b84537cb1d84fac868ff743ec2c9ed8/weredis-desktop/src/main/lib/darcula.jar
--------------------------------------------------------------------------------
/weredis-desktop/src/main/lib/weblaf-complete-1.28.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rememberber/WeRedis/e6e298bf9b84537cb1d84fac868ff743ec2c9ed8/weredis-desktop/src/main/lib/weblaf-complete-1.28.jar
--------------------------------------------------------------------------------
/weredis-desktop/src/main/resources/icon/add.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rememberber/WeRedis/e6e298bf9b84537cb1d84fac868ff743ec2c9ed8/weredis-desktop/src/main/resources/icon/add.png
--------------------------------------------------------------------------------
/weredis-desktop/src/main/resources/icon/add@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rememberber/WeRedis/e6e298bf9b84537cb1d84fac868ff743ec2c9ed8/weredis-desktop/src/main/resources/icon/add@2x.png
--------------------------------------------------------------------------------
/weredis-desktop/src/main/resources/icon/clock.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rememberber/WeRedis/e6e298bf9b84537cb1d84fac868ff743ec2c9ed8/weredis-desktop/src/main/resources/icon/clock.png
--------------------------------------------------------------------------------
/weredis-desktop/src/main/resources/icon/clock@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rememberber/WeRedis/e6e298bf9b84537cb1d84fac868ff743ec2c9ed8/weredis-desktop/src/main/resources/icon/clock@2x.png
--------------------------------------------------------------------------------
/weredis-desktop/src/main/resources/icon/fromVCS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rememberber/WeRedis/e6e298bf9b84537cb1d84fac868ff743ec2c9ed8/weredis-desktop/src/main/resources/icon/fromVCS.png
--------------------------------------------------------------------------------
/weredis-desktop/src/main/resources/icon/fromVCS@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rememberber/WeRedis/e6e298bf9b84537cb1d84fac868ff743ec2c9ed8/weredis-desktop/src/main/resources/icon/fromVCS@2x.png
--------------------------------------------------------------------------------
/weredis-desktop/src/main/resources/icon/logo-md.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rememberber/WeRedis/e6e298bf9b84537cb1d84fac868ff743ec2c9ed8/weredis-desktop/src/main/resources/icon/logo-md.png
--------------------------------------------------------------------------------
/weredis-desktop/src/main/resources/icon/pause.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rememberber/WeRedis/e6e298bf9b84537cb1d84fac868ff743ec2c9ed8/weredis-desktop/src/main/resources/icon/pause.png
--------------------------------------------------------------------------------
/weredis-desktop/src/main/resources/icon/pause@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rememberber/WeRedis/e6e298bf9b84537cb1d84fac868ff743ec2c9ed8/weredis-desktop/src/main/resources/icon/pause@2x.png
--------------------------------------------------------------------------------
/weredis-desktop/src/main/resources/icon/remove.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rememberber/WeRedis/e6e298bf9b84537cb1d84fac868ff743ec2c9ed8/weredis-desktop/src/main/resources/icon/remove.png
--------------------------------------------------------------------------------
/weredis-desktop/src/main/resources/icon/remove@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rememberber/WeRedis/e6e298bf9b84537cb1d84fac868ff743ec2c9ed8/weredis-desktop/src/main/resources/icon/remove@2x.png
--------------------------------------------------------------------------------
/weredis-desktop/src/main/resources/icon/run.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rememberber/WeRedis/e6e298bf9b84537cb1d84fac868ff743ec2c9ed8/weredis-desktop/src/main/resources/icon/run.png
--------------------------------------------------------------------------------
/weredis-desktop/src/main/resources/icon/run@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rememberber/WeRedis/e6e298bf9b84537cb1d84fac868ff743ec2c9ed8/weredis-desktop/src/main/resources/icon/run@2x.png
--------------------------------------------------------------------------------
/weredis-desktop/src/main/resources/icon/slogan.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rememberber/WeRedis/e6e298bf9b84537cb1d84fac868ff743ec2c9ed8/weredis-desktop/src/main/resources/icon/slogan.jpg
--------------------------------------------------------------------------------
/weredis-desktop/src/main/resources/icon/suspend.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rememberber/WeRedis/e6e298bf9b84537cb1d84fac868ff743ec2c9ed8/weredis-desktop/src/main/resources/icon/suspend.png
--------------------------------------------------------------------------------
/weredis-desktop/src/main/resources/icon/suspend@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rememberber/WeRedis/e6e298bf9b84537cb1d84fac868ff743ec2c9ed8/weredis-desktop/src/main/resources/icon/suspend@2x.png
--------------------------------------------------------------------------------
/weredis-desktop/src/main/resources/icon/weixin-qrcode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rememberber/WeRedis/e6e298bf9b84537cb1d84fac868ff743ec2c9ed8/weredis-desktop/src/main/resources/icon/weixin-qrcode.png
--------------------------------------------------------------------------------
/weredis-desktop/src/main/resources/logback.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
6 |
7 |
8 |
9 |
10 |
11 | ./logs/wechat-push.%d{yyyy-MM-dd}.log
12 |
13 |
14 | %date{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/weredis-desktop/src/test/kotlin/com/luoboduner/weredis/desktop/HelloTest.kt:
--------------------------------------------------------------------------------
1 | package com.luoboduner.weredis.desktop
2 |
3 | import org.junit.Test
4 | import kotlin.test.assertEquals
5 |
6 | class HelloTest {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/weredis-desktop/weredis-desktop.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
13 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
--------------------------------------------------------------------------------
/weredis-plugin-idea/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 | 4.0.0
6 |
7 | com.luoboduner.weredis.plugin.idea
8 | weredis-plugin-idea
9 | 1.0-SNAPSHOT
10 | jar
11 |
12 | weredis-plugin-idea
13 |
14 |
15 | UTF-8
16 | 1.1.51
17 | 4.12
18 |
19 |
20 |
21 |
22 | org.jetbrains.kotlin
23 | kotlin-stdlib
24 | ${kotlin.version}
25 |
26 |
27 | org.jetbrains.kotlin
28 | kotlin-test-junit
29 | ${kotlin.version}
30 | test
31 |
32 |
33 | junit
34 | junit
35 | ${junit.version}
36 | test
37 |
38 |
39 |
40 |
41 | src/main/kotlin
42 | src/test/kotlin
43 |
44 |
45 |
46 | org.apache.maven.plugins
47 | maven-compiler-plugin
48 | 3.6.1
49 |
50 | 1.8
51 | 1.8
52 | UTF-8
53 |
54 |
55 |
56 | org.jetbrains.kotlin
57 | kotlin-maven-plugin
58 | ${kotlin.version}
59 |
60 |
61 | compile
62 | compile
63 |
64 | compile
65 |
66 |
67 |
68 | test-compile
69 | test-compile
70 |
71 | test-compile
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
--------------------------------------------------------------------------------
/weredis-plugin-idea/src/main/java/HelloWorldWindow.java:
--------------------------------------------------------------------------------
1 | import com.intellij.openapi.project.Project;
2 | import com.intellij.openapi.wm.ToolWindow;
3 | import com.intellij.openapi.wm.ToolWindowFactory;
4 |
5 | import javax.swing.*;
6 |
7 | public class HelloWorldWindow implements ToolWindowFactory {
8 | @Override
9 | public void createToolWindowContent(Project project, ToolWindow toolWindow) {
10 |
11 | JComponent parent = toolWindow.getComponent();
12 | JPanel panel = new JPanel();
13 | JLabel label = new JLabel("Hello World!!");
14 | panel.add(label);
15 | parent.add(panel);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/weredis-plugin-idea/src/main/resources/META-INF/plugin.xml:
--------------------------------------------------------------------------------
1 |
2 | com.your.company.unique.plugin.id
3 | Plugin display name here
4 | 1.0
5 | YourCompany
6 |
7 |
9 | most HTML tags may be used
10 | ]]>
11 |
12 |
14 | most HTML tags may be used
15 | ]]>
16 |
17 |
18 |
19 |
20 |
21 |
23 |
26 |
27 |
28 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/weredis-plugin-idea/src/test/kotlin/com/luoboduner/weredis/common/HelloTest.kt:
--------------------------------------------------------------------------------
1 | package com.luoboduner.weredis.common
2 |
3 | import org.junit.Test
4 | import kotlin.test.assertEquals
5 |
6 | class HelloTest {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/weredis-plugin-idea/weredis-plugin-idea.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
13 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------