msgList) {
- this.msgList = msgList;
- }
-
-}
\ No newline at end of file
diff --git a/src/main/java/cn/zhouyafeng/itchat4j/utils/enums/MsgTypeEnum.java b/src/main/java/cn/zhouyafeng/itchat4j/utils/enums/MsgTypeEnum.java
new file mode 100644
index 0000000..82caca5
--- /dev/null
+++ b/src/main/java/cn/zhouyafeng/itchat4j/utils/enums/MsgTypeEnum.java
@@ -0,0 +1,34 @@
+package cn.zhouyafeng.itchat4j.utils.enums;
+
+/**
+ * 消息类型枚举类
+ *
+ * @author https://github.com/yaphone
+ * @date 创建时间:2017年5月13日 下午11:53:00
+ * @version 1.0
+ *
+ */
+public enum MsgTypeEnum {
+ TEXT("Text", "文本消息"),
+ PIC("Pic", "图片消息"),
+ VOICE("Voice", "语音消息"),
+ VIEDO("Viedo", "小视频消息"),
+ NAMECARD("NameCard", "名片消息");
+
+ private String type;
+ private String code;
+
+ MsgTypeEnum(String type, String code) {
+ this.type = type;
+ this.code = code;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public String getCode() {
+ return code;
+ }
+
+}
diff --git a/src/main/java/cn/zhouyafeng/itchat4j/utils/OsName.java b/src/main/java/cn/zhouyafeng/itchat4j/utils/enums/OsNameEnum.java
similarity index 72%
rename from src/main/java/cn/zhouyafeng/itchat4j/utils/OsName.java
rename to src/main/java/cn/zhouyafeng/itchat4j/utils/enums/OsNameEnum.java
index 643e86b..cfcd4ab 100644
--- a/src/main/java/cn/zhouyafeng/itchat4j/utils/OsName.java
+++ b/src/main/java/cn/zhouyafeng/itchat4j/utils/enums/OsNameEnum.java
@@ -1,4 +1,4 @@
-package cn.zhouyafeng.itchat4j.utils;
+package cn.zhouyafeng.itchat4j.utils.enums;
/**
* 系统平台
@@ -8,6 +8,6 @@
* @version 1.0
*
*/
-public enum OsName {
+public enum OsNameEnum {
WINDOWS, LINUX, DARWIN, MAC, OTHER
}
diff --git a/src/main/java/cn/zhouyafeng/itchat4j/utils/enums/ResultEnum.java b/src/main/java/cn/zhouyafeng/itchat4j/utils/enums/ResultEnum.java
new file mode 100644
index 0000000..f505b7d
--- /dev/null
+++ b/src/main/java/cn/zhouyafeng/itchat4j/utils/enums/ResultEnum.java
@@ -0,0 +1,35 @@
+package cn.zhouyafeng.itchat4j.utils.enums;
+
+/**
+ * 返回结构枚举类
+ *
+ * Created by xiaoxiaomo on 2017/5/6.
+ */
+public enum ResultEnum {
+
+ SUCCESS("200", "成功"),
+ WAIT_CONFIRM("201", "请在手机上点击确认"),
+ WAIT_SCAN("400", "请扫描二维码");
+
+ private String code;
+ private String msg;
+
+ ResultEnum(String code, String msg) {
+ this.code = code;
+ this.msg = msg;
+ }
+
+ public String getCode() {
+ return code;
+ }
+
+// public static MsgInfoEnum getCode(String code) {
+// switch (code) {
+// case "Text":
+// return MsgInfoEnum.TEXT;
+// default:
+// return MsgInfoEnum.VIDEO;
+// }
+// }
+
+}
diff --git a/src/main/java/cn/zhouyafeng/itchat4j/utils/enums/RetCodeEnum.java b/src/main/java/cn/zhouyafeng/itchat4j/utils/enums/RetCodeEnum.java
new file mode 100644
index 0000000..97f807d
--- /dev/null
+++ b/src/main/java/cn/zhouyafeng/itchat4j/utils/enums/RetCodeEnum.java
@@ -0,0 +1,30 @@
+package cn.zhouyafeng.itchat4j.utils.enums;
+
+public enum RetCodeEnum {
+
+ NORMAL("0", "普通"),
+ LOGIN_OUT("1102", "退出"),
+ LOGIN_OTHERWHERE("1101", "其它地方登陆"),
+ MOBILE_LOGIN_OUT("1102", "移动端退出"),
+ UNKOWN("9999", "未知")
+
+ ;
+
+
+ private String code;
+ private String type;
+
+ RetCodeEnum(String code, String type) {
+ this.code = code;
+ this.type = type;
+ }
+
+ public String getCode() {
+ return code;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+}
diff --git a/src/main/java/cn/zhouyafeng/itchat4j/utils/enums/StorageLoginInfoEnum.java b/src/main/java/cn/zhouyafeng/itchat4j/utils/enums/StorageLoginInfoEnum.java
new file mode 100644
index 0000000..1d00ea1
--- /dev/null
+++ b/src/main/java/cn/zhouyafeng/itchat4j/utils/enums/StorageLoginInfoEnum.java
@@ -0,0 +1,59 @@
+package cn.zhouyafeng.itchat4j.utils.enums;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Created by xiaoxiaomo on 2017/5/7.
+ */
+public enum StorageLoginInfoEnum {
+
+ //URL
+ url("url",new String()),
+ fileUrl("fileUrl",new String()),
+ syncUrl("syncUrl",new String()),
+
+ deviceid("deviceid",new String()), //生成15位随机数
+
+ //baseRequest
+ skey("skey",new String()),
+ wxsid("wxsid",new String()),
+ wxuin("wxuin",new String()),
+ pass_ticket("pass_ticket",new String()),
+
+
+ InviteStartCount("InviteStartCount",new Integer(0)),
+ User("User",new JSONObject()),
+ SyncKey("SyncKey",new JSONObject()),
+ synckey("synckey",new String()),
+
+
+
+ MemberCount("MemberCount",new String()),
+ MemberList("MemberList",new JSONArray()),
+
+
+
+ ;
+
+ private String key;
+ private Object type;
+
+ StorageLoginInfoEnum(String key, Object type) {
+ this.key = key;
+ this.type = type;
+ }
+
+ public String getKey() {
+ return key;
+ }
+
+
+ public Object getType() {
+ return type;
+ }
+
+}
diff --git a/src/main/java/cn/zhouyafeng/itchat4j/utils/enums/URLEnum.java b/src/main/java/cn/zhouyafeng/itchat4j/utils/enums/URLEnum.java
new file mode 100644
index 0000000..1656b16
--- /dev/null
+++ b/src/main/java/cn/zhouyafeng/itchat4j/utils/enums/URLEnum.java
@@ -0,0 +1,40 @@
+package cn.zhouyafeng.itchat4j.utils.enums;
+
+/**
+ * URL
+ * Created by xiaoxiaomo on 2017/5/6.
+ */
+public enum URLEnum {
+
+
+
+ BASE_URL("https://login.weixin.qq.com","基本的URL"),
+ UUID_URL(BASE_URL.url+"/jslogin","UUIDLURL"),
+ QRCODE_URL(BASE_URL.url+"/qrcode/","初始化URL"),
+ STATUS_NOTIFY_URL(BASE_URL.url+"/webwxstatusnotify?lang=zh_CN&pass_ticket=%s","微信状态通知"),
+ LOGIN_URL(BASE_URL.url+"/cgi-bin/mmwebwx-bin/login","登陆URL"),
+ INIT_URL("%s/webwxinit?r=%s&pass_ticket=%s","初始化URL"),
+ SYNC_CHECK_URL("/synccheck","检查心跳URL"),
+ WEB_WX_SYNC_URL("%s/webwxsync?sid=%s&skey=%s&pass_ticket=%s","web微信消息同步URL"),
+ WEB_WX_GET_CONTACT("%s/webwxgetcontact","web微信获取联系人信息URL"),
+ WEB_WX_SEND_MSG("%s/webwxsendmsg","发送消息URL"),
+ WEB_WX_UPLOAD_MEDIA("%s/webwxuploadmedia?f=json", "上传文件到服务器"),
+ WEB_WX_GET_MSG_IMG("%s/webwxgetmsgimg", "下载图片消息"),
+ WEB_WX_GET_VOICE("%s/webwxgetvoice", "下载语音消息"),
+ WEB_WX_GET_VIEDO("%s/webwxgetvideo", "下载语音消息")
+
+ ;
+
+ private String url;
+ private String msg;
+
+ URLEnum(String url, String msg) {
+ this.url = url;
+ this.msg = msg;
+ }
+
+
+ public String getUrl() {
+ return url;
+ }
+}
diff --git a/src/main/java/cn/zhouyafeng/itchat4j/utils/enums/parameters/BaseParaEnum.java b/src/main/java/cn/zhouyafeng/itchat4j/utils/enums/parameters/BaseParaEnum.java
new file mode 100644
index 0000000..8f36e8d
--- /dev/null
+++ b/src/main/java/cn/zhouyafeng/itchat4j/utils/enums/parameters/BaseParaEnum.java
@@ -0,0 +1,36 @@
+package cn.zhouyafeng.itchat4j.utils.enums.parameters;
+
+/**
+ *
+ * 基本请求参数
+ * 1. webWxInit 初始化
+ * 2. wxStatusNotify 微信状态通知
+ *
+ *
+ * Created by xiaoxiaomo on 2017/5/7.
+ */
+public enum BaseParaEnum {
+
+ Uin("Uin", "wxuin"),
+ Sid("Sid", "wxsid"),
+ Skey("Skey", "skey"),
+ DeviceID("DeviceID", "pass_ticket");
+
+ private String para;
+ private String value;
+
+ BaseParaEnum(String para, String value) {
+ this.para = para;
+ this.value = value;
+ }
+
+ public String para() {
+ return para;
+ }
+
+
+ public Object value() {
+ return value;
+ }
+
+}
diff --git a/src/main/java/cn/zhouyafeng/itchat4j/utils/enums/parameters/LoginParaEnum.java b/src/main/java/cn/zhouyafeng/itchat4j/utils/enums/parameters/LoginParaEnum.java
new file mode 100644
index 0000000..0c0021a
--- /dev/null
+++ b/src/main/java/cn/zhouyafeng/itchat4j/utils/enums/parameters/LoginParaEnum.java
@@ -0,0 +1,31 @@
+package cn.zhouyafeng.itchat4j.utils.enums.parameters;
+
+/**
+ * 登陆
+ *
+ * Created by xiaoxiaomo on 2017/5/7.
+ */
+public enum LoginParaEnum {
+
+ LOGIN_ICON("loginicon", "true"),
+ UUID("uuid", ""),
+ TIP("tip", "0"),
+ R("r", ""),
+ _("_", "");
+
+ private String para;
+ private String value;
+
+ LoginParaEnum(String para, String value) {
+ this.para = para;
+ this.value = value;
+ }
+
+ public String para() {
+ return para;
+ }
+
+ public String value() {
+ return value;
+ }
+}
diff --git a/src/main/java/cn/zhouyafeng/itchat4j/utils/enums/parameters/StatusNotifyParaEnum.java b/src/main/java/cn/zhouyafeng/itchat4j/utils/enums/parameters/StatusNotifyParaEnum.java
new file mode 100644
index 0000000..9bbdf32
--- /dev/null
+++ b/src/main/java/cn/zhouyafeng/itchat4j/utils/enums/parameters/StatusNotifyParaEnum.java
@@ -0,0 +1,30 @@
+package cn.zhouyafeng.itchat4j.utils.enums.parameters;
+
+/**
+ * 状态通知
+ *
+ * Created by xiaoxiaomo on 2017/5/7.
+ */
+public enum StatusNotifyParaEnum {
+
+ CODE("Code", "3"),
+ FROM_USERNAME("FromUserName", ""),
+ TO_USERNAME("ToUserName", ""),
+ CLIENT_MSG_ID("ClientMsgId", ""); //时间戳
+
+ private String para;
+ private String value;
+
+ StatusNotifyParaEnum(String para, String value) {
+ this.para = para;
+ this.value = value;
+ }
+
+ public String para() {
+ return para;
+ }
+
+ public String value() {
+ return value;
+ }
+}
diff --git a/src/main/java/cn/zhouyafeng/itchat4j/utils/enums/parameters/UUIDParaEnum.java b/src/main/java/cn/zhouyafeng/itchat4j/utils/enums/parameters/UUIDParaEnum.java
new file mode 100644
index 0000000..ef716e8
--- /dev/null
+++ b/src/main/java/cn/zhouyafeng/itchat4j/utils/enums/parameters/UUIDParaEnum.java
@@ -0,0 +1,30 @@
+package cn.zhouyafeng.itchat4j.utils.enums.parameters;
+
+/**
+ * UUID
+ *
+ * Created by xiaoxiaomo on 2017/5/7.
+ */
+public enum UUIDParaEnum {
+
+ APP_ID("appid", "wx782c26e4c19acffb"),
+ FUN("fun", "new"),
+ LANG("lang", "zh_CN"),
+ _("_", "时间戳");
+
+ private String para;
+ private String value;
+
+ UUIDParaEnum(String para, String value) {
+ this.para = para;
+ this.value = value;
+ }
+
+ public String para() {
+ return para;
+ }
+
+ public String value() {
+ return value;
+ }
+}
diff --git a/src/main/java/cn/zhouyafeng/itchat4j/tools/CommonTool.java b/src/main/java/cn/zhouyafeng/itchat4j/utils/tools/CommonTools.java
similarity index 94%
rename from src/main/java/cn/zhouyafeng/itchat4j/tools/CommonTool.java
rename to src/main/java/cn/zhouyafeng/itchat4j/utils/tools/CommonTools.java
index 8101a3a..8e2672f 100644
--- a/src/main/java/cn/zhouyafeng/itchat4j/tools/CommonTool.java
+++ b/src/main/java/cn/zhouyafeng/itchat4j/utils/tools/CommonTools.java
@@ -1,4 +1,4 @@
-package cn.zhouyafeng.itchat4j.tools;
+package cn.zhouyafeng.itchat4j.utils.tools;
import java.io.StringReader;
import java.util.ArrayList;
@@ -21,7 +21,7 @@
import com.vdurmont.emoji.EmojiParser;
import cn.zhouyafeng.itchat4j.utils.Config;
-import cn.zhouyafeng.itchat4j.utils.OsName;
+import cn.zhouyafeng.itchat4j.utils.enums.OsNameEnum;
/**
* 常用工具类
@@ -31,13 +31,13 @@
* @version 1.0
*
*/
-public class CommonTool {
+public class CommonTools {
public static boolean printQr(String qrPath) {
- switch (Config.getOsName()) {
+ switch (Config.getOsNameEnum()) {
case WINDOWS:
- if (Config.getOsName().equals(OsName.WINDOWS)) {
+ if (Config.getOsNameEnum().equals(OsNameEnum.WINDOWS)) {
Runtime runtime = Runtime.getRuntime();
try {
runtime.exec("cmd /c start " + qrPath);
@@ -47,7 +47,7 @@ public static boolean printQr(String qrPath) {
}
break;
case MAC:
- if (Config.getOsName().equals(OsName.MAC)) {
+ if (Config.getOsNameEnum().equals(OsNameEnum.MAC)) {
Runtime runtime = Runtime.getRuntime();
try {
runtime.exec("open " + qrPath);
@@ -64,9 +64,9 @@ public static boolean printQr(String qrPath) {
}
public static boolean clearScreen() {
- switch (Config.getOsName()) {
+ switch (Config.getOsNameEnum()) {
case WINDOWS:
- if (Config.getOsName().equals(OsName.WINDOWS)) {
+ if (Config.getOsNameEnum().equals(OsNameEnum.WINDOWS)) {
Runtime runtime = Runtime.getRuntime();
try {
runtime.exec("cmd /c " + "cls");
diff --git a/src/main/java/cn/zhouyafeng/itchat4j/tools/DownloadTools.java b/src/main/java/cn/zhouyafeng/itchat4j/utils/tools/DownloadTools.java
similarity index 73%
rename from src/main/java/cn/zhouyafeng/itchat4j/tools/DownloadTools.java
rename to src/main/java/cn/zhouyafeng/itchat4j/utils/tools/DownloadTools.java
index 44da9e7..2ab698d 100644
--- a/src/main/java/cn/zhouyafeng/itchat4j/tools/DownloadTools.java
+++ b/src/main/java/cn/zhouyafeng/itchat4j/utils/tools/DownloadTools.java
@@ -1,4 +1,4 @@
-package cn.zhouyafeng.itchat4j.tools;
+package cn.zhouyafeng.itchat4j.utils.tools;
import java.io.FileOutputStream;
import java.io.OutputStream;
@@ -14,9 +14,10 @@
import com.alibaba.fastjson.JSONObject;
-import cn.zhouyafeng.itchat4j.utils.Core;
-import cn.zhouyafeng.itchat4j.utils.MsgType;
+import cn.zhouyafeng.itchat4j.core.Core;
import cn.zhouyafeng.itchat4j.utils.MyHttpClient;
+import cn.zhouyafeng.itchat4j.utils.enums.MsgTypeEnum;
+import cn.zhouyafeng.itchat4j.utils.enums.URLEnum;
/**
* 下载工具类
@@ -45,13 +46,13 @@ public static Object getDownloadFn(JSONObject msg, String type, String path) {
Map headerMap = new HashMap();
List params = new ArrayList();
String url = "";
- if (type.equals(MsgType.PIC)) {
- url = String.format("%s/webwxgetmsgimg", (String) core.getLoginInfo().get("url"));
- } else if (type.equals(MsgType.VOICE)) {
- url = String.format("%s/webwxgetvoice", (String) core.getLoginInfo().get("url"));
- } else if (type.equals(MsgType.VIEDO)) {
+ if (type.equals(MsgTypeEnum.PIC.getType())) {
+ url = String.format(URLEnum.WEB_WX_GET_MSG_IMG.getUrl(), core.getLoginInfo().get("url"));
+ } else if (type.equals(MsgTypeEnum.VOICE.getType())) {
+ url = String.format(URLEnum.WEB_WX_GET_VOICE.getUrl(), core.getLoginInfo().get("url"));
+ } else if (type.equals(MsgTypeEnum.VIEDO.getType())) {
headerMap.put("Range", "bytes=0-");
- url = String.format("%s/webwxgetvideo", (String) core.getLoginInfo().get("url"));
+ url = String.format(URLEnum.WEB_WX_GET_VIEDO.getUrl(), core.getLoginInfo().get("url"));
}
params.add(new BasicNameValuePair("msgid", msg.getString("NewMsgId")));
params.add(new BasicNameValuePair("skey", (String) core.getLoginInfo().get("skey")));
diff --git a/src/main/resources/log4j.properties b/src/main/resources/log4j.properties
new file mode 100644
index 0000000..dc30ec0
--- /dev/null
+++ b/src/main/resources/log4j.properties
@@ -0,0 +1,6 @@
+log4j.rootLogger=INFO, stdout
+
+log4j.appender.stdout = org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern = %d %-5p => %m%n
+
diff --git a/src/test/java/cn/zhouyafeng/itchat4j/demo/TulingRobot.java b/src/test/java/cn/zhouyafeng/itchat4j/demo/TulingRobot.java
index 46a8b05..1770476 100644
--- a/src/test/java/cn/zhouyafeng/itchat4j/demo/TulingRobot.java
+++ b/src/test/java/cn/zhouyafeng/itchat4j/demo/TulingRobot.java
@@ -13,11 +13,11 @@
import com.alibaba.fastjson.JSONObject;
import cn.zhouyafeng.itchat4j.Wechat;
+import cn.zhouyafeng.itchat4j.core.Core;
import cn.zhouyafeng.itchat4j.face.IMsgHandlerFace;
-import cn.zhouyafeng.itchat4j.utils.Core;
-import cn.zhouyafeng.itchat4j.utils.DownloadTools;
-import cn.zhouyafeng.itchat4j.utils.MsgType;
import cn.zhouyafeng.itchat4j.utils.MyHttpClient;
+import cn.zhouyafeng.itchat4j.utils.enums.MsgTypeEnum;
+import cn.zhouyafeng.itchat4j.utils.tools.DownloadTools;
/**
* 图灵机器人示例
@@ -29,7 +29,7 @@
*/
public class TulingRobot implements IMsgHandlerFace {
MyHttpClient myHttpClient = Core.getInstance().getMyHttpClient();
- String apiKey = "597b34bea4ec4c85a775c469c84b6817";
+ String apiKey = "597b34bea4ec4c85a775c469c84b6817"; // 这里是我申请的图灵机器人API接口,每天只能5000次调用,建议自己去申请一个,免费的:)
Logger logger = Logger.getLogger("TulingRobot");
@Override
@@ -66,7 +66,7 @@ public String picMsgHandle(JSONObject msg) {
public String voiceMsgHandle(JSONObject msg) {
String fileName = String.valueOf(new Date().getTime());
String voicePath = "D://itchat4j/voice" + File.separator + fileName + ".mp3";
- DownloadTools.getDownloadFn(msg, MsgType.VOICE, voicePath);
+ DownloadTools.getDownloadFn(msg, MsgTypeEnum.VOICE.getType(), voicePath);
return "收到语音";
}
@@ -74,7 +74,7 @@ public String voiceMsgHandle(JSONObject msg) {
public String viedoMsgHandle(JSONObject msg) {
String fileName = String.valueOf(new Date().getTime());
String viedoPath = "D://itchat4j/viedo" + File.separator + fileName + ".mp4";
- DownloadTools.getDownloadFn(msg, MsgType.VIEDO, viedoPath);
+ DownloadTools.getDownloadFn(msg, MsgTypeEnum.VIEDO.getType(), viedoPath);
return "收到视频";
}
diff --git a/src/test/java/cn/zhouyafeng/itchat4j/demo/demo1/MyTest.java b/src/test/java/cn/zhouyafeng/itchat4j/demo/demo1/MyTest.java
new file mode 100644
index 0000000..53835de
--- /dev/null
+++ b/src/test/java/cn/zhouyafeng/itchat4j/demo/demo1/MyTest.java
@@ -0,0 +1,20 @@
+package cn.zhouyafeng.itchat4j.demo.demo1;
+
+import cn.zhouyafeng.itchat4j.Wechat;
+import cn.zhouyafeng.itchat4j.face.IMsgHandlerFace;
+
+/**
+ *
+ * @author https://github.com/yaphone
+ * @date 创建时间:2017年4月28日 上午12:44:10
+ * @version 1.0
+ *
+ */
+public class MyTest {
+ public static void main(String[] args) {
+ String qrPath = "D://itchat4j//login"; // 保存登陆二维码图片的路径
+ IMsgHandlerFace msgHandler = new SimpleDemo(); // 实现IMsgHandlerFace接口的类
+ Wechat wechat = new Wechat(msgHandler, qrPath); // 【注入】
+ wechat.start(); // 启动服务,会在qrPath下生成一张二维码图片,扫描即可登陆,注意,二维码图片如果超过一定时间未扫描会过期,过期时会自动更新,所以你可能需要重新打开图片
+ }
+}
diff --git a/src/test/java/cn/zhouyafeng/itchat4j/demo/SimpleDemo.java b/src/test/java/cn/zhouyafeng/itchat4j/demo/demo1/SimpleDemo.java
similarity index 55%
rename from src/test/java/cn/zhouyafeng/itchat4j/demo/SimpleDemo.java
rename to src/test/java/cn/zhouyafeng/itchat4j/demo/demo1/SimpleDemo.java
index 40f9e8a..597fa89 100644
--- a/src/test/java/cn/zhouyafeng/itchat4j/demo/SimpleDemo.java
+++ b/src/test/java/cn/zhouyafeng/itchat4j/demo/demo1/SimpleDemo.java
@@ -1,15 +1,17 @@
-package cn.zhouyafeng.itchat4j.demo;
+package cn.zhouyafeng.itchat4j.demo.demo1;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
+import org.apache.log4j.Logger;
+
import com.alibaba.fastjson.JSONObject;
-import cn.zhouyafeng.itchat4j.Wechat;
+import cn.zhouyafeng.itchat4j.api.MessageTools;
import cn.zhouyafeng.itchat4j.face.IMsgHandlerFace;
-import cn.zhouyafeng.itchat4j.utils.DownloadTools;
-import cn.zhouyafeng.itchat4j.utils.MsgType;
+import cn.zhouyafeng.itchat4j.utils.enums.MsgTypeEnum;
+import cn.zhouyafeng.itchat4j.utils.tools.DownloadTools;
/**
* 简单示例程序,收到文本信息自动回复原信息,收到图片、语音、小视频后根据路径自动保存
@@ -20,27 +22,25 @@
*
*/
public class SimpleDemo implements IMsgHandlerFace {
+ Logger LOG = Logger.getLogger(SimpleDemo.class);
@Override
public String textMsgHandle(JSONObject msg) {
- // String docFilePath = "D:/itchat4j/pic/test.docx";
- // String pngFilePath = "D:/itchat4j/pic/test.png";
- // String pdfFilePath = "D:/itchat4j/pic/测试.pdf";
- // String txtFilePath = "D:/itchat4j/pic/test.txt";
- // MessageTools.sendFileMsgByNickName("yaphone", docFilePath);
- // MessageTools.sendFileMsgByNickName("yaphone", pngFilePath);
- // MessageTools.sendFileMsgByNickName("yaphone", pdfFilePath);
- // MessageTools.sendFileMsgByNickName("yaphone", txtFilePath);
- String text = msg.getString("Text");
- return text;
- // return null;
+ String docFilePath = "D:/itchat4j/pic/test.docx"; // 这里是需要发送的文件的路径
+ if (!msg.getBoolean("groupMsg")) { // 群消息不处理
+ String userId = msg.getString("FromUserName");
+ MessageTools.sendFileMsgByUserId(userId, docFilePath); // 发送文件
+ String text = msg.getString("Text"); // 发送文本消息,也可调用MessageTools.sendFileMsgByUserId(userId,text);
+ return text;
+ }
+ return null;
}
@Override
public String picMsgHandle(JSONObject msg) {
- String fileName = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss").format(new Date());
- String picPath = "D://itchat4j/pic" + File.separator + fileName + ".jpg";
- DownloadTools.getDownloadFn(msg, MsgType.PIC, picPath);
+ String fileName = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss").format(new Date());// 这里使用收到图片的时间作为文件名
+ String picPath = "D://itchat4j/pic" + File.separator + fileName + ".jpg"; // 调用此方法来保存图片
+ DownloadTools.getDownloadFn(msg, MsgTypeEnum.PIC.getType(), picPath); // 保存图片的路径
return "图片保存成功";
}
@@ -48,7 +48,7 @@ public String picMsgHandle(JSONObject msg) {
public String voiceMsgHandle(JSONObject msg) {
String fileName = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss").format(new Date());
String voicePath = "D://itchat4j/voice" + File.separator + fileName + ".mp3";
- DownloadTools.getDownloadFn(msg, MsgType.VOICE, voicePath);
+ DownloadTools.getDownloadFn(msg, MsgTypeEnum.VOICE.getType(), voicePath);
return "声音保存成功";
}
@@ -57,7 +57,7 @@ public String viedoMsgHandle(JSONObject msg) {
System.out.println(msg);
String fileName = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss").format(new Date());
String viedoPath = "D://itchat4j/viedo" + File.separator + fileName + ".mp4";
- DownloadTools.getDownloadFn(msg, MsgType.VIEDO, viedoPath);
+ DownloadTools.getDownloadFn(msg, MsgTypeEnum.VIEDO.getType(), viedoPath);
return "视频保存成功";
}
@@ -66,10 +66,4 @@ public String nameCardMsgHandle(JSONObject msg) {
return "收到名片消息";
}
- public static void main(String[] args) {
- IMsgHandlerFace msgHandler = new SimpleDemo();
- Wechat wechat = new Wechat(msgHandler, "D://itchat4j/login");
- wechat.start();
- }
-
}