diff --git a/README.md b/README.md
index c726dfa..7746a71 100644
--- a/README.md
+++ b/README.md
@@ -16,17 +16,17 @@ https://www.apifox.cn/apidoc/project-1035094/doc-840833
## 兼容版本(重要)
-经过测试验证的版本:企业微信 4.0.2 至 4.0.12 (8月11日上架最新版本)、企业微信政务版
+经过测试验证的版本:企业微信 4.0.2 至 4.0.16 (9月13日上架)、企业微信政务版
## 快速使用
[快速入门文档](https://www.apifox.cn/apidoc/project-1035094/doc-850007)
-1. 准备一台无人使用的可联网安卓手机(本APP兼容99%安卓机型)
+1. 准备一台无人使用的可联网安卓手机(本APP兼容99%安卓机型 系统要求>=Android7.0)
2. 手机登录企业微信(账号需要提前实名认证,不然很多功能无法正常使用)
3. 建议提前给该企业微信账号开通"工作台"-"客户群"权限(如无需外部群创建和管理可不开启)
-4. 自助申请一个[机器人链接号(点击这里)](https://www.apifox.cn/apidoc/project-1035094/api-21488840),您也可以加入QQ群向管理员咨询如何操作。
-5. 在这台手机上安装[WorkTool APP安装包(点击下载)](https://cdn.asrtts.cn/uploads/worktool/apk/worktool-2.2.3.apk)
+4. 自助申请一个[机器人链接号(点击这里)](https://wt.asrtts.cn/regist.html),您也可以加入QQ群向管理员咨询如何操作。
+5. 在这台手机上安装[WorkTool APP安装包(点击下载)](https://cdn.asrtts.cn/uploads/worktool/apk/worktool-2.2.5.apk)
6. 打开WorkTool APP,按照APP提示保存链接号,开启主功能,并打开到企业微信界面,不要关闭屏幕即可。
如果您想使用自己开发的QA回调接口接收机器人收到的所有消息并定制回答,请参考[第三方QA回调接口规范(点击这里)](https://www.apifox.cn/apidoc/project-1035094/doc-861677)开发接口,并在[机器人第三方QA配置(点击这里)](https://www.apifox.cn/apidoc/project-1035094/api-22587884)提交您的机器人id和回调接口地址
@@ -58,6 +58,8 @@ Apache License, Version 2.0
# 版本更新
+tag 2.2.5 2022-09-15 主动加好友可改附言;移除[自动回复]前缀;群内回复@提醒;搜索更加精准;学校类企业兼容
+
tag 2.2.3 2022-08-26 兼容主动添加好友;文本匹配优化;其他已知问题优化
tag 2.2.1 2022-08-25 多控件类型兼容;兼容多版本系统;其他已知问题修复
diff --git a/app/build.gradle b/app/build.gradle
index 195fdbb..e509df5 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -9,8 +9,8 @@ android {
applicationId "org.yameida.worktool"
minSdkVersion 24
targetSdkVersion 30
- versionCode 225
- versionName "2.2.5"
+ versionCode 226
+ versionName "2.2.6"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
diff --git a/app/libs/SaaS_TalkingDataSDK_Android_V5.0.8.jar b/app/libs/SaaS_TalkingDataSDK_Android_V5.0.8.jar
new file mode 100644
index 0000000..37d6897
Binary files /dev/null and b/app/libs/SaaS_TalkingDataSDK_Android_V5.0.8.jar differ
diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro
index ffe1813..f406dfd 100644
--- a/app/proguard-rules.pro
+++ b/app/proguard-rules.pro
@@ -45,3 +45,8 @@
#bean
-dontwarn org.yameida.worktool.model.**
-keep class org.yameida.worktool.model.**{*;}
+
+#talkingdata
+-dontwarn com.tendcloud.tenddata.**
+-keep class com.tendcloud.** {*;}
+-keep public class com.tendcloud.** { public protected *;}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index ed17bb0..e45dca6 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -60,6 +60,8 @@
android:resource="@xml/accessibility_service_config" />
+
+
\ No newline at end of file
diff --git a/app/src/main/java/org/yameida/worktool/MyApplication.kt b/app/src/main/java/org/yameida/worktool/MyApplication.kt
index 729a63d..1ffcb9b 100644
--- a/app/src/main/java/org/yameida/worktool/MyApplication.kt
+++ b/app/src/main/java/org/yameida/worktool/MyApplication.kt
@@ -3,6 +3,7 @@ package org.yameida.worktool
import android.app.Application
import com.blankj.utilcode.util.SPUtils
import com.blankj.utilcode.util.Utils
+import com.tendcloud.tenddata.TalkingDataSDK
import com.umeng.commonsdk.UMConfigure
import org.yameida.worktool.config.GlobalException
import update.UpdateAppUtils
@@ -19,6 +20,7 @@ class MyApplication : Application() {
if (SPUtils.getInstance().getString("uminit", "1") == "1") {
UMConfigure.init(this, "6284a3a3d024421570f97c3c", "main_channel", UMConfigure.DEVICE_TYPE_PHONE, "")
}
+ TalkingDataSDK.init(this, "80E9C84E39904DAFB28562910FF7C86C", "worktool_master", SPUtils.getInstance().getString(Constant.LISTEN_CHANNEL_ID));
//初始化自动更新
UpdateAppUtils.init(this)
//设置全局异常捕获重启
diff --git a/app/src/main/java/org/yameida/worktool/utils/WeworkRoomUtil.kt b/app/src/main/java/org/yameida/worktool/utils/WeworkRoomUtil.kt
index 9f9e32e..132e05d 100644
--- a/app/src/main/java/org/yameida/worktool/utils/WeworkRoomUtil.kt
+++ b/app/src/main/java/org/yameida/worktool/utils/WeworkRoomUtil.kt
@@ -104,10 +104,10 @@ object WeworkRoomUtil {
sleep(Constant.CHANGE_PAGE_INTERVAL)
//消息页搜索结果列表
val selectListView = findOneByClazz(getRoot(), Views.ListView)
- val searchResult = AccessibilityUtil.findOneByText(
+ val regex = "^$trimTitle(-.*)?(…)?(\\(.*?\\))?" + if (needTrim) "" else "$"
+ val searchResult = AccessibilityUtil.findOneByTextRegex(
selectListView,
- trimTitle,
- exact = !needTrim,
+ regex,
timeout = 2000,
root = false
)