diff --git a/src/main/java/com/hotlcc/wechat4j/Wechat.java b/src/main/java/com/hotlcc/wechat4j/Wechat.java index 4f2ba46..c37f2c4 100644 --- a/src/main/java/com/hotlcc/wechat4j/Wechat.java +++ b/src/main/java/com/hotlcc/wechat4j/Wechat.java @@ -569,17 +569,21 @@ public class Wechat { * 退出登录 */ public void logout(boolean clearAllLoginInfo) { - try { - isOnlineLock.lock(); + if (isOnline) { + try { + isOnlineLock.lock(); - webWeixinApi.logout(httpClient, urlVersion, new BaseRequest(wxsid, skey, wxuin)); - isOnline = false; + if (isOnline) { + webWeixinApi.logout(httpClient, urlVersion, new BaseRequest(wxsid, skey, wxuin)); + isOnline = false; - if (clearAllLoginInfo) { - clearAllLoginInfo(); + if (clearAllLoginInfo) { + clearAllLoginInfo(); + } + } + } finally { + isOnlineLock.unlock(); } - } finally { - isOnlineLock.unlock(); } } diff --git a/src/test/java/TestClass2.java b/src/test/java/TestClass2.java index b6c6a4d..dbae62a 100644 --- a/src/test/java/TestClass2.java +++ b/src/test/java/TestClass2.java @@ -4,6 +4,7 @@ import com.hotlcc.wechat4j.api.WebWeixinApi; import com.hotlcc.wechat4j.handler.ReceivedMsgHandler; import com.hotlcc.wechat4j.model.ReceivedMsg; import com.hotlcc.wechat4j.model.UserInfo; +import com.sun.scenario.effect.GaussianShadow; public class TestClass2 { public static void main(String[] args) { @@ -22,5 +23,9 @@ public class TestClass2 { } }); wechat.autoLogin(); + UserInfo userInfo = wechat.getContactByNickName(false, "Allen"); + System.out.println(JSONObject.toJSONString(userInfo)); + wechat.sendText("aaa", userInfo.getUserName()); + wechat.logout(); } }