From 88f7eccaf40c1b20fef5ba117918e46661b08072 Mon Sep 17 00:00:00 2001 From: gallonyin Date: Thu, 26 Jan 2023 16:04:27 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E8=8E=B7=E5=8F=96=E4=BC=81=E4=B8=9A?= =?UTF-8?q?=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../worktool/model/WeworkMessageBean.java | 2 + .../org/yameida/worktool/service/MyLooper.kt | 3 ++ .../worktool/service/WeworkController.kt | 10 +++++ .../yameida/worktool/service/WeworkGetImpl.kt | 39 ++++++++++++++++++- 4 files changed, 52 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/yameida/worktool/model/WeworkMessageBean.java b/app/src/main/java/org/yameida/worktool/model/WeworkMessageBean.java index 09ce2e2..72735e6 100644 --- a/app/src/main/java/org/yameida/worktool/model/WeworkMessageBean.java +++ b/app/src/main/java/org/yameida/worktool/model/WeworkMessageBean.java @@ -48,6 +48,7 @@ public class WeworkMessageBean { * 获取好友信息 GET_FRIEND_INFO * 获取我的信息 GET_MY_INFO * 获取最近聊天列表 GET_RECENT_LIST + * 获取企业列表 GET_CORP_LIST */ public static final int HEART_BEAT = 11; public static final int TYPE_RECEIVE_MESSAGE_LIST = 101; @@ -86,6 +87,7 @@ public class WeworkMessageBean { public static final int GET_MY_INFO = 503; public static final int GET_GROUP_QRCODE = 504; public static final int GET_RECENT_LIST = 505; + public static final int GET_CORP_LIST = 506; /** * roomType diff --git a/app/src/main/java/org/yameida/worktool/service/MyLooper.kt b/app/src/main/java/org/yameida/worktool/service/MyLooper.kt index efa53ca..de3ccc6 100644 --- a/app/src/main/java/org/yameida/worktool/service/MyLooper.kt +++ b/app/src/main/java/org/yameida/worktool/service/MyLooper.kt @@ -187,6 +187,9 @@ object MyLooper { WeworkMessageBean.GET_RECENT_LIST -> { WeworkController.getRecentList(message) } + WeworkMessageBean.GET_CORP_LIST -> { + WeworkController.getCorpList(message) + } WeworkMessageBean.ROBOT_CONTROLLER_TEST -> { WeworkController.test(message) } diff --git a/app/src/main/java/org/yameida/worktool/service/WeworkController.kt b/app/src/main/java/org/yameida/worktool/service/WeworkController.kt index b80a727..2916257 100644 --- a/app/src/main/java/org/yameida/worktool/service/WeworkController.kt +++ b/app/src/main/java/org/yameida/worktool/service/WeworkController.kt @@ -412,4 +412,14 @@ object WeworkController { return WeworkGetImpl.getRecentList(message) } + /** + * 获取企业列表 + * @see WeworkMessageBean.GET_CORP_LIST + */ + @RequestMapping + fun getCorpList(message: WeworkMessageBean): Boolean { + LogUtils.d("getCorpList():") + return WeworkGetImpl.getCorpList(message) + } + } \ No newline at end of file diff --git a/app/src/main/java/org/yameida/worktool/service/WeworkGetImpl.kt b/app/src/main/java/org/yameida/worktool/service/WeworkGetImpl.kt index 9119ce9..179b6fb 100644 --- a/app/src/main/java/org/yameida/worktool/service/WeworkGetImpl.kt +++ b/app/src/main/java/org/yameida/worktool/service/WeworkGetImpl.kt @@ -87,7 +87,7 @@ object WeworkGetImpl { sumInfo = info.toString() } WeworkController.weworkService.webSocketManager.send(weworkMessageBean) - return true + return getCorpList(message) } else { LogUtils.d("未找到我的昵称") log("未找到我的昵称") @@ -135,7 +135,7 @@ object WeworkGetImpl { weworkMessageBean.type = WeworkMessageBean.GET_MY_INFO weworkMessageBean.myInfo = myInfo WeworkController.weworkService.webSocketManager.send(weworkMessageBean) - return true + return getCorpList(message) } /** @@ -238,4 +238,39 @@ object WeworkGetImpl { } return true } + + /** + * 获取企业列表 + */ + fun getCorpList(message: WeworkMessageBean): Boolean { + goHomeTab("消息") + val firstTv = AccessibilityUtil.findAllByClazz(getRoot(), Views.TextView) + .firstOrNull { it.text == null } + AccessibilityUtil.performClick(firstTv, retry = false) + sleep(Constant.CHANGE_PAGE_INTERVAL) + val listviewList = AccessibilityUtil.findAllOnceByClazz(getRoot(), Views.RecyclerView, Views.ListView, Views.ViewGroup) + .filter { it.childCount >= 2 } + val list = listviewList.firstOrNull() + if (list != null) { + val corpList = arrayListOf() + for (i in 0 until list.childCount) { + val item = list.getChild(i) + val tvList = AccessibilityUtil.findAllOnceByClazz(item, Views.TextView) + val textList = tvList.filter { it.text != null }.map { it.text.toString() } + if (textList.isNotEmpty()) { + corpList.add(textList[0]) + } + } + LogUtils.d("我的企业", GsonUtils.toJson(corpList)) + val weworkMessageBean = WeworkMessageBean() + weworkMessageBean.type = WeworkMessageBean.GET_CORP_LIST + weworkMessageBean.titleList = corpList + WeworkController.weworkService.webSocketManager.send(weworkMessageBean) + goHome() + return true + } else { + LogUtils.e("未找到企业列表") + return false + } + } } \ No newline at end of file