From 7b11e863a0c4ffb9c14d040338d11bc0d0d79d6a Mon Sep 17 00:00:00 2001 From: gallonyin Date: Fri, 23 Jun 2023 23:01:36 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E7=BE=A4=E4=BF=A1=E6=81=AF=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E6=97=B6=E4=BF=9D=E5=AD=98=E5=88=B0=E9=80=9A=E8=AE=AF?= =?UTF-8?q?=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../worktool/model/WeworkMessageBean.java | 4 ++-- .../org/yameida/worktool/service/MyLooper.kt | 4 ++-- .../worktool/service/WeworkController.kt | 8 +++---- .../worktool/service/WeworkOperationImpl.kt | 24 +++++++++++++++++-- 4 files changed, 30 insertions(+), 10 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 933f220..3f4c1dd 100644 --- a/app/src/main/java/org/yameida/worktool/model/WeworkMessageBean.java +++ b/app/src/main/java/org/yameida/worktool/model/WeworkMessageBean.java @@ -23,7 +23,7 @@ public class WeworkMessageBean { * 在房间内指定回复消息 REPLY_MESSAGE * 在房间内转发消息 RELAY_MESSAGE * 创建群 INIT_GROUP - * 进入群聊并修改群配置 INTO_GROUP_AND_CONFIG + * 进入群聊并修改群配置 UPDATE_GROUP * 推送微盘图片 PUSH_MICRO_DISK_IMAGE * 推送微盘文件 PUSH_MICRO_DISK_FILE * 推送小程序 PUSH_MICROPROGRAM @@ -70,7 +70,7 @@ public class WeworkMessageBean { public static final int REPLY_MESSAGE = 204; public static final int RELAY_MESSAGE = 205; public static final int INIT_GROUP = 206; - public static final int INTO_GROUP_AND_CONFIG = 207; + public static final int UPDATE_GROUP = 207; public static final int PUSH_MICRO_DISK_IMAGE = 208; public static final int PUSH_MICRO_DISK_FILE = 209; public static final int PUSH_MICROPROGRAM = 210; 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 397e8b5..3c6a6a2 100644 --- a/app/src/main/java/org/yameida/worktool/service/MyLooper.kt +++ b/app/src/main/java/org/yameida/worktool/service/MyLooper.kt @@ -148,8 +148,8 @@ object MyLooper { WeworkMessageBean.INIT_GROUP -> { WeworkController.initGroup(message) } - WeworkMessageBean.INTO_GROUP_AND_CONFIG -> { - WeworkController.intoGroupAndConfig(message) + WeworkMessageBean.UPDATE_GROUP -> { + WeworkController.updateGroup(message) } WeworkMessageBean.PUSH_MICRO_DISK_IMAGE -> { WeworkController.pushMicroDiskImage(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 1751871..b1961f5 100644 --- a/app/src/main/java/org/yameida/worktool/service/WeworkController.kt +++ b/app/src/main/java/org/yameida/worktool/service/WeworkController.kt @@ -148,7 +148,7 @@ object WeworkController { /** * 进入群聊并修改群配置 * 群名称、群公告、拉人、踢人、群备注、群模板 - * @see WeworkMessageBean.INTO_GROUP_AND_CONFIG + * @see WeworkMessageBean.UPDATE_GROUP * @param message#groupName 待修改的群 * @param message#newGroupName 修改群名 选填 * @param message#newGroupAnnouncement 修改群公告 选填 @@ -159,9 +159,9 @@ object WeworkController { * @param message#removeList 移除群成员名称列表/踢人 选填 */ @RequestMapping - fun intoGroupAndConfig(message: WeworkMessageBean): Boolean { - LogUtils.d("intoGroupAndConfig(): ${message.groupName} ${message.newGroupName} ${message.newGroupAnnouncement} ${message.selectList} ${message.showMessageHistory} ${message.removeList} ${message.groupRemark} ${message.groupTemplate}") - return WeworkOperationImpl.intoGroupAndConfig( + fun updateGroup(message: WeworkMessageBean): Boolean { + LogUtils.d("updateGroup(): ${message.groupName} ${message.newGroupName} ${message.newGroupAnnouncement} ${message.selectList} ${message.showMessageHistory} ${message.removeList} ${message.groupRemark} ${message.groupTemplate}") + return WeworkOperationImpl.updateGroup( message, message.groupName, message.newGroupName, diff --git a/app/src/main/java/org/yameida/worktool/service/WeworkOperationImpl.kt b/app/src/main/java/org/yameida/worktool/service/WeworkOperationImpl.kt index fc1a4e4..4901f8d 100644 --- a/app/src/main/java/org/yameida/worktool/service/WeworkOperationImpl.kt +++ b/app/src/main/java/org/yameida/worktool/service/WeworkOperationImpl.kt @@ -284,6 +284,7 @@ object WeworkOperationImpl { uploadCommandResult(message, ExecCallbackBean.ERROR_GROUP_TEMPLATE, "创建群成功 群改名成功 群拉人成功 群公告成功 群备注成功 群模板失败", startTime, listOf(), listOf(groupName)) return false } + saveToContract() getGroupQrcode(groupName, groupRemark) uploadCommandResult(message, ExecCallbackBean.SUCCESS, "", startTime, listOf(groupName), listOf()) return true @@ -292,7 +293,7 @@ object WeworkOperationImpl { /** * 进入群聊并修改群配置 * 群名称、群公告、拉人、踢人、群备注、群模板 - * @see WeworkMessageBean.INTO_GROUP_AND_CONFIG + * @see WeworkMessageBean.UPDATE_GROUP * @param groupName 待修改的群 * @param newGroupName 修改群名 选填 * @param newGroupAnnouncement 修改群公告 选填 @@ -302,7 +303,7 @@ object WeworkOperationImpl { * @param showMessageHistory 拉人是否附带历史记录 选填 * @param removeList 移除群成员名称列表/踢人 选填 */ - fun intoGroupAndConfig( + fun updateGroup( message: WeworkMessageBean, groupName: String, newGroupName: String?, @@ -342,6 +343,7 @@ object WeworkOperationImpl { uploadCommandResult(message, ExecCallbackBean.ERROR_GROUP_TEMPLATE, "进入房间成功 群改名成功 群拉人成功 群公告成功 群备注成功 群模板失败", startTime, listOf(), listOf(groupName)) return false } + saveToContract() getGroupQrcode(groupName, groupRemark) uploadCommandResult(message, ExecCallbackBean.SUCCESS, "", startTime, listOf(groupName), listOf()) return true @@ -2687,4 +2689,22 @@ object WeworkOperationImpl { return false } + /** + * 保存到通讯录 + */ + private fun saveToContract(): Boolean { + if (WeworkRoomUtil.intoGroupManager()) { + AccessibilityUtil.findOneByText(getRoot(), "全部群成员", "微信用户创建") ?: return false + LogUtils.d("保存到通讯录") + val tvAddressFlag = AccessibilityUtil.scrollAndFindByText(WeworkController.weworkService, getRoot(), "保存到通讯录", exact = true) + val tvAddress = AccessibilityUtil.findBackNode(tvAddressFlag, minChildCount = 1) + val addressDesc = AccessibilityUtil.findOnceByDesc(tvAddress, "false", "true", exact = true) + if (addressDesc?.contentDescription == "false") { + LogUtils.d("未保存到通讯录 进行保存...") + AccessibilityUtil.performClick(addressDesc) + } + } + return true + } + } \ No newline at end of file