Git Product home page Git Product logo

rememberber / wepush Goto Github PK

View Code? Open in Web Editor NEW
4.0K 145.0 965.0 44.69 MB

专注批量推送的小而美的工具,目前支持:模板消息-公众号、模板消息-小程序、微信客服消息、微信企业号/企业微信消息、阿里云短信、阿里大于模板短信 、腾讯云短信、云片网短信、E-Mail、HTTP请求、钉钉、华为云短信、百度云短信、又拍云短信、七牛云短信

Home Page: https://rememberber.github.io/WePush/

License: MIT License

Java 99.66% HTML 0.24% Batchfile 0.10%
java swing gui wechat weixin push sms send mail sender

wepush's Introduction

WePush-Logo

WePush

专注批量推送的小而美的工具

码云Gitee GitHub stars GitHub release GitHub license

支持的平台

Windows • Linux • macOS

目前已经支持的消息类型

  • 模板消息-公众号
  • 模板消息-小程序
  • 订阅消息-小程序
  • 微信客服消息
  • 微信企业号/企业微信消息
  • 小程序统一服务消息
  • 钉钉
  • 阿里云短信
  • 阿里大于模板短信
  • 腾讯云短信
  • 华为云短信
  • 百度云短信
  • 又拍云短信
  • 七牛云短信
  • 云片网短信
  • E-Mail
  • HTTP请求(单次、批量、压测)

计划中支持的消息类型

  • 网易云信短信
  • 榛子云短信
  • Luosimao短信
  • 极光短信
  • 极光推送

功能&亮点

  1. 支持自定义消息内容并批量推送
  2. 支持变量消息(可实现根据发送目标用户不同每条消息内容不一样)
  3. 支持消息编辑、预览、消息管理
  4. 支持通过文件导入用户(txt、csv、excel)
  5. 支持通过MySQL导入用户
  6. 支持微信公众号全员推送
  7. 支持微信全家桶消息(公众号、小程序、企业号)
  8. 支持各种粒度的定时推送
  9. 支持推送历史管理和失败重新推送
  10. 支持多账号管理和切换(微信)
  11. 支持各种搜索、导入、导出
  12. 小而美的可视化界面,支持亮暗多种外观风格
  13. 支持全局字体字号设置
  14. 支持推送结果邮件通知
    ……

截图速览

Overview Overview Overview Overview Overview Overview Overview Overview

安装文件下载

WePush下载地址

使用到的一些小技术点

  • Java
  • Java Swing
  • 线程池
  • 连接池(数据库:HikariCP、HTTP:PoolingHttpClient)
  • HttpClient
  • HttpAsyncClient
  • 定时任务
  • SQLite
  • MyBatis

遇到的麻烦和挑战

  • Swing界面不好控制,导致需要投入较多精力和耐心
  • 工作过于饱和,经常到半夜很晚才挤出一点时间
  • 要做的事情有很多,比如WePush中间件及其附属的集消息中心、通知报警、任务、批量、重试、统计等于一身的方便部署的Web管理应用
  • 陪家人时间变少或无
  • 锻炼身体时间变少或无
  • 越来越发现需要不断学习源码和底层的重要性

特别感谢

WxJava
Hutool
FlatLaf

开发&构建

https://gitee.com/zhoubochina/WePush/wikis/build

使用帮助

https://gitee.com/zhoubochina/WePush/wikis/help
QQ交流群:

WePush

鼓励&赞赏

如果WePush对您有所帮助或便利,
欢迎对我每天下班和周末时光的努力进行肯定,
您的赞赏将会给我带来更多动力

WePush

wepush's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

wepush's Issues

关于使用url获取access token的建议

首先感谢作者开源提供如此好用的产品,这里有一些小建议:
多账号情况下,希望可以将url获取access token的URL,作为账号级的配置,而不是全局的
因为,不同账号,或需要使用不同url来获取access token
当前配置下,每次切换账号即需要修改一次URL,略有不便

关于swing组件初始化的一点疑惑

作者你好,我在看MainWindow.java这个启动类的时候感觉很疑惑,所有的布局都没有用java语言写(代码里没看到),所有的private变量都是只有声明没有初始化,而且在main类当中我看到除了主界面那个“关于”页面以及字体的初始化之外其他的都是直接绑定的listener(找不到初始化),调试也没有看到这些swing组件都是怎么初始化的,除了一个可疑的form后缀文件之外丝毫找不到任何跟布局有关的东西(但是我删除了form文件重新编译还是没有问题依然可以运行)。
所以我觉的很奇怪,可以透露下项目里的界面组件是什么时候或者怎么new出来的吗?
20180301161939
20180301162237

可否支持企业微信推送文件

现象描述

[描述问题的现象,最好能够提供屏幕截图 或 gif 动画]

环境信息

[在此填写操作系统名称+版本等与问题相关的环境信息]

重现步骤

[在此填写能够重现该问题的操作步骤]

  • 步骤1,...
  • 步骤2,...
  • 步骤3,...

报错信息

[在此填写WePush安装目录下logs文件夹内的报错信息]

加个微信指导配置如何发送

具体配置能指导一下嘛 一直配置不成功啊 认证公众号 需要配置那些参数token 需要嘛我配置了appid和开发密码

微信小程序模板信息中FORMID问题

下发微信小程序的模板信息;除了提供用户的openid外,还需要提供用户的FORMID,并且每个formid是只能使用一次;在wepush中有填写formid的地方,单独给用户发没有问题,但大量群发的时候,请问在wepush中如何填写formid?谢谢

多线程问题?

如果我有两个公众号同时推送,会不会出现他们之间的数据不安全问题?

希望支持私有化部署的企业微信

在本项目使用的weixin-java-cp-4.1.0.jar -> me.chanjar.weixin.cp.config.impl.WxCpDefaultConfigImpl.class:50
中存在如下代码:
if (this.baseApiUrl == null) { this.baseApiUrl = "https://qyapi.weixin.qq.com"; }
默认是直接调用腾讯官方的企业微信服务器,但是企业微信支持私有化部署,当私有化部署时此域名会发生变化

我在本项目的 com.fangxuele.tool.push.logic.msgsender.WxCpMsgSender 第89行
增加configStorage.setBaseApiUrl("https://myserver.host.com/");
测试后验证通过,推送功能正常

希望作者能将此功能加入设置的配置项中,兼容官方企业微信和私有化部署版企业微信的推送功能。

pom 文件引用本地 jar 的一点儿小建议

pom 文件引用本地 jar 的一点儿小建议

pom 文件中引用本地 jar 包,可以不进行 install 操作,可以避免 污染 本地库?

<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
<executions>
  <execution>
      <id>install-taobao-sdk-auto</id>
      <phase>clean</phase>
      <configuration>
          <file>lib/taobao-sdk-java-auto.jar</file>
          <groupId>com.taobao</groupId>
          <artifactId>taobao-sdk-java-auto</artifactId>
          <version>1.0.0</version>
          <packaging>jar</packaging>
          <generatePom>true</generatePom>
      </configuration>
      <goals>
          <goal>install-file</goal>
      </goals>
  </execution>

在引用 本地 jar 包时,举例

<dependency>
      <groupId>com.taobao</groupId>
      <artifactId>taobao-sdk-java-auto</artifactId>
      <version>1.0.0</version>
      <scope>system</scope>
      <systemPath>${basedir}/lib/taobao-sdk-java-auto.jar</systemPath>
</dependency>

这样操作的话,需要将本地 jar 包所在的目录添加到 <resources> 标签中,这样打包也就会自动打进去了。

<build>

        <resources>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
            <resource>
                <directory>lib</directory>
                <targetPath>libs</targetPath> <!--这行有没有不影响,只是为了打出来的 jar 里面的内容没那么乱 -->
            </resource>
        </resources>

</build>

在发送客服消息的文本消息时候失败errcode:44004

现象描述

在发送客服消息的文本消息时候失败

环境信息

Windows7 64位

重现步骤

[在此填写能够重现该问题的操作步骤]

  • 步骤1,选择消息类型->公众号-客服消息
  • 步骤2,编辑消息->新建->消息类型文本消息
  • 步骤3,输入内容:一条客服文本消息,去百度
  • 步骤5,使用个人微信号向公众号发送一条消息,确保已经互动
  • 步骤6,开始推送,去除勾选的空跑,点击 开始按钮
  • 步骤7,显示全部失败

报错信息

10:24:47.455 [main] INFO c.f.tool.push.util.UpgradeUtil :100 - 平滑升级开始
10:24:51.905 [main] INFO c.f.tool.push.util.UpgradeUtil :117 - 旧版本v_3.6.2_190811
10:24:51.940 [main] INFO c.f.tool.push.util.UpgradeUtil :118 - 当前版本v_3.6.3_190825
10:24:51.990 [main] INFO c.f.tool.push.util.UpgradeUtil :122 - 更新版本索引32开始
10:24:52.050 [main] INFO c.f.tool.push.util.UpgradeUtil :155 - 执行升级脚本开始,版本索引:32
10:24:52.115 [main] INFO c.f.tool.push.util.UpgradeUtil :220 - 执行升级脚本结束,版本索引:32
10:24:52.166 [main] INFO c.f.tool.push.util.UpgradeUtil :139 - 更新版本索引32结束
10:24:52.238 [main] INFO c.f.tool.push.util.UpgradeUtil :145 - 平滑升级结束
10:25:41.631 [pool-3-thread-2] WARN c.f.tool.push.util.ConsoleUtil :30 - 关注该公众账号的总用户数:14
10:25:41.633 [pool-3-thread-2] WARN c.f.tool.push.util.ConsoleUtil :30 - 拉取的OPENID个数:14
10:25:41.729 [pool-3-thread-2] WARN c.f.tool.push.util.ConsoleUtil :30 - 拉取的OPENID个数:0
10:25:51.170 [pool-3-thread-2] WARN c.f.tool.push.util.ConsoleUtil :30 - 拉取的OPENID个数:2
10:25:51.234 [pool-3-thread-2] WARN c.f.tool.push.util.ConsoleUtil :30 - 拉取的OPENID个数:0
10:26:10.315 [pool-3-thread-4] WARN c.f.tool.push.util.ConsoleUtil :30 - 消息总数:2
10:26:10.316 [pool-3-thread-4] WARN c.f.tool.push.util.ConsoleUtil :30 - 可用处理器核心:4
10:26:10.349 [pool-3-thread-4] WARN c.f.tool.push.util.ConsoleUtil :30 - 线程数:23
10:26:10.408 [pool-3-thread-4] WARN c.f.tool.push.util.ConsoleUtil :30 - 线程池大小:100
10:26:10.419 [pool-3-thread-4] WARN c.f.tool.push.util.ConsoleUtil :30 - 推送开始……
10:26:10.428 [pool-4-thread-1] WARN c.f.tool.push.util.ConsoleUtil :30 - 线程T-0负责处理第:0-1条数据
10:26:10.429 [pool-4-thread-2] WARN c.f.tool.push.util.ConsoleUtil :30 - 线程T-1负责处理第:1-2条数据
10:26:10.430 [pool-3-thread-4] WARN c.f.tool.push.util.ConsoleUtil :30 - 所有线程宝宝启动完毕……
10:26:10.727 [pool-4-thread-1] ERROR m.c.w.m.api.impl.BaseWxMpServiceImpl :344 -
【请求地址】: https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=25_cNbFvO_PZhHkHLuZTM8x1bJOkstKYrGK9MbwwEee0EX3zmlkNs5nxMYeBqJEH2b-4qrWEzfdVUeIVrlaPpajf80UrgsF_MleJsh8kIXGRaoLCdYBvsh7u55ACJKa_GZzjAu8HWrxLio2TGdaXJBiADAPBT
【请求参数】:{"touser":"okmq0twCiVuRiF4_8C2i_lw9n8gg","msgtype":"text","text":{"content":""}}
【错误信息】:{"errcode":44004,"errmsg":"empty content hint: [QIjKVA0170shb1]"}
10:26:10.728 [pool-4-thread-1] ERROR c.f.t.p.l.msgsender.WxKefuMsgSender :44 - me.chanjar.weixin.common.error.WxErrorException: {"errcode":44004,"errmsg":"empty content hint: [QIjKVA0170shb1]"}

10:26:10.742 [pool-4-thread-1] WARN c.f.tool.push.util.ConsoleUtil :30 - T-0已处理完第0-1条的数据
10:26:10.831 [pool-4-thread-2] ERROR m.c.w.m.api.impl.BaseWxMpServiceImpl :344 -
【请求地址】: https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=25_1W_T7MgefgjGjlMpTM8x1bJOkstKYrGK9MbwwEee0EX3zmlkNs5nxMYeBqLSqMdBY_pqUiGH8M5e1y943bZCZFAXnghNLM0JQVAjXi3MDyxRKV9MtvVu3YxP5aJGZ4KOd0F3zq-mOT1VUMbMYOEiADAGWM
【请求参数】:{"touser":"okmq0t36FiLuqoVIdM0lujnfh4W4","msgtype":"text","text":{"content":""}}
【错误信息】:{"errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint: [_KkmOA01703055]"}
10:26:10.832 [pool-4-thread-2] ERROR c.f.t.p.l.msgsender.WxKefuMsgSender :44 - me.chanjar.weixin.common.error.WxErrorException: {"errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint: [_KkmOA01703055]"}
10:26:10.833 [pool-4-thread-2] WARN c.f.tool.push.util.ConsoleUtil :30 - T-1已处理完第1-2条的数据
10:26:12.167 [pool-3-thread-4] WARN c.f.tool.push.util.ConsoleUtil :30 - 正在保存结果数据……
10:26:13.545 [pool-3-thread-4] WARN c.f.tool.push.util.ConsoleUtil :30 - 结果数据保存完毕!

计划中的功能

1.增加支持发送阿里云短信(已完成)
2.增加支持发送email
3.增加Mac版(已完成)
4.优雅的安装包(内置jre版)(已完成)
5.增加支持发送云片网短信(已完成)
6.客服消息支持多条图文
7.考虑利用cahce提高性能
8.减少maven依赖冲突(已完成)
9.代码0 warning(已完成)
10.使用线程池(已完成)
11.支持华为云
12.使用Velocity模板引擎处理变量消息
13.支持又拍云
14.支持多个微信账号切换
15.全局httpclient优化,多路复用等,提高性能
16.支持企业号/企业微信消息
17.支持钉钉相关消息(已完成)
18.微信相关消息使用代理,避免在平台上频繁设置安全ip
19.bug:由于单例的原因,如果设置中的账号在使用过程中修改并保存,需要重置对应的单例为null,否则还是旧的配置
20.低分辨率如1366*768显示不全的问题(已完成)
21.全局输入框的撤销+重做快捷键支持(已完成)
22.CMPP、SMGP、SGIP和SMPP协议的支持
23.编辑消息时自动下载已创建的模板列表,直接选择,自动填充(已完成)
24.使用自己的连接池
25.优化http连接并发性能
26.支持批量发送HTTP请求,参数动态配置,GET/POST等方式可选(已完成)

发送客服消息使用外部API获得access_token不缓存

现象描述

使用本地直接获取access_token会缓存,但使用外部access_token时依然不缓存。

如果使用了外部token再切换回本地直接获取方式进行发送,此时获取到的access_token也不再缓存。

【本次测试仅修改过 bug fix:修复微信小程序相关消息accessToken缓存机制问题 修改的4个文件,未测试9月5日最新版本】

环境信息

JDK1.8

重现步骤

  • 步骤1,设置 -> 微信公众号->填写appid及appscreate
  • 步骤2,新建消息、获取openid等操作
  • 步骤3,发送消息,查看日志 access_token缓存
  • 步骤4,设置 -> 微信公众号->勾选使用外部accesstoken ...
  • 步骤4,发送消息,查看日志 使用了不同的access_token
  • 步骤5,设置 -> 微信公众号->去掉勾选使用外部accesstoken ...
  • 步骤4,发送消息,查看日志 使用了不同的access_token

重启软件后可恢复。

报错信息

【请求地址】: https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=25_wuJjQhzN-YJ4Jnj9RdJ81D3eeRbT1DU2rq0iimqvNsHH3g9em3MBFBYW7iLrADAtL8dsHftkSkbKoh-slgDoQTD7PM4u8kOVgMjCBS-aDDnBxJx-fukpmEJBxoXbJvDae4VBAmr9XN-eazBZVTVeAJARPR
【请求参数】:{"touser":"okmq0t5eg-23MbwOxmdwq1ANv07A","msgtype":"text","text":{"content":"一条客服文本消息,<a href="https://www.baidu.com\">去百度\n\nCJNET OK"}}
【错误信息】:{"errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint: [FV3y3a06532066]"}
11:04:14.562 [pool-5-thread-3] ERROR c.f.t.p.l.msgsender.WxKefuMsgSender :44 - me.chanjar.weixin.common.error.WxErrorException: {"errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint: [FV3y3a06532066]"}
11:04:14.563 [pool-5-thread-3] WARN c.f.tool.push.util.ConsoleUtil :30 - T-2已处理完第2-3条的数据
11:04:14.582 [pool-5-thread-4] ERROR c.f.tool.push.util.WeWxMpServiceImpl :324 -
【请求地址】: https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=25_qjmuOQ3kyFq3cXYvRdJ81D3eeRbT1DU2rq0iimqvNsHH3g9em3MBFBYW7iL-GPc14YzfnS4CW5WAIBLc_YyeWGJddQyxAdC8ef3C-EBed7wCUnUu4yqmk_GMCe2RuUKepeuf8VLrkkiWAy0PFIQeAJAZCK
【请求参数】:{"touser":"okmq0t-YpNTT7KYLXbXnVEL8oJfE","msgtype":"text","text":{"content":"一条客服文本消息,<a href="https://www.baidu.com\">去百度\n\nCJNET OK"}}
【错误信息】:{"errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint: [aNUQbA06534107]"}
11:04:14.583 [pool-5-thread-4] ERROR c.f.t.p.l.msgsender.WxKefuMsgSender :44 - me.chanjar.weixin.common.error.WxErrorException: {"errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint: [aNUQbA06534107]"}
11:04:14.584 [pool-5-thread-4] WARN c.f.tool.push.util.ConsoleUtil :30 - T-3已处理完第3-4条的数据
11:04:14.749 [pool-5-thread-2] ERROR c.f.tool.push.util.WeWxMpServiceImpl :324 -
【请求地址】: https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=25_XBl4v3miyUCnjBIyRdJ81D3eeRbT1DU2rq0iimqvNsHH3g9em3MBFBYW7iKPntNjF_eFRrVnEnLfmIB21XJMGZpyALQJufmxCR4rxwt3pe3qweqkllNQhFqKFoU_adKDoHUrYJaHzDazspUQLOIeAJAEHB
【请求参数】:{"touser":"okmq0t27Nvzp1nploE7oFynpEqMs","msgtype":"text","text":{"content":"一条客服文本消息,<a href="https://www.baidu.com\">去百度\n\nCJNET OK"}}
【错误信息】:{"errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint: [G2fm7a06544121]"}
11:04:14.749 [pool-5-thread-2] ERROR c.f.t.p.l.msgsender.WxKefuMsgSender :44 - me.chanjar.weixin.common.error.WxErrorException: {"errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint: [G2fm7a06544121]"}
11:04:14.750 [pool-5-thread-2] WARN c.f.tool.push.util.ConsoleUtil :30 - T-1已处理完第1-2条的数据
11:04:14.783 [pool-5-thread-6] ERROR c.f.tool.push.util.WeWxMpServiceImpl :324 -
【请求地址】: https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=25_9nhOmg5-hQQT1R4RRdJ81D3eeRbT1DU2rq0iimqvNsHH3g9em3MBFBYW7iJjo9baQKuAS9ahFVpwhib83LhySsiA2AWQtpW5TG8s01nMPppYpu_shdMfaR-kkeTaBf85u17W4WWRdQmL6M3kKTJeAJARAQ
【请求参数】:{"touser":"okmq0t2jha0MpsC6ahaMmjdIAuyw","msgtype":"text","text":{"content":"一条客服文本消息,<a href="https://www.baidu.com\">去百度\n\nCJNET OK"}}
【错误信息】:{"errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint: [1k06543937]"}
11:04:14.783 [pool-5-thread-6] ERROR c.f.t.p.l.msgsender.WxKefuMsgSender :44 - me.chanjar.weixin.common.error.WxErrorException: {"errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint: [1k06543937]"}
11:04:14.784 [pool-5-thread-6] WARN c.f.tool.push.util.ConsoleUtil :30 - T-5已处理完第5-6条的数据
11:04:14.833 [pool-5-thread-7] ERROR c.f.tool.push.util.WeWxMpServiceImpl :324 -
【请求地址】: https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=25_RZ9dmc8FSi10mKSkRdJ81D3eeRbT1DU2rq0iimqvNsHH3g9em3MBFBYW7iLXrh61JFWGbMj_LeUoT-_TgiiFe3G1dnZz5v1xKbcP_UdxtAcecqpIRBzcxniwMzEmC8-4IHTntbFuXZM5hmT7PETeAJAHWL
【请求参数】:{"touser":"okmq0t-lPwrsdJLzl3-83vqENGdY","msgtype":"text","text":{"content":"一条客服文本消息,<a href="https://www.baidu.com\">去百度\n\nCJNET OK"}}
【错误信息】:{"errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint: [ts6m606543948]"}
11:04:14.834 [pool-5-thread-7] ERROR c.f.t.p.l.msgsender.WxKefuMsgSender :44 - me.chanjar.weixin.common.error.WxErrorException: {"errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint: [ts6m606543948]"}
11:04:14.835 [pool-5-thread-7] WARN c.f.tool.push.util.ConsoleUtil :30 - T-6已处理完第6-7条的数据
11:04:14.914 [pool-5-thread-11] ERROR c.f.tool.push.util.WeWxMpServiceImpl :324 -
【请求地址】: https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=25_VvrFVug63OyvzmiCRdJ81D3eeRbT1DU2rq0iimqvNsHH3g9em3MBFBYW7iLSAkY0857HVprFdcquyv-0wIOnI0YOCHBRQTAzh19lp8WqziZqdcYrKxtu73kNsJZvyLujTO2SAUhvUwxCnUSMWSQeAJAPLJ
【请求参数】:{"touser":"okmq0twwypbEw9yS-td7s5lra2vU","msgtype":"text","text":{"content":"一条客服文本消息,<a href="https://www.baidu.com\">去百度\n\nCJNET OK"}}
【错误信息】:{"errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint: [n28tAa06544102]"}
11:04:14.914 [pool-5-thread-11] ERROR c.f.t.p.l.msgsender.WxKefuMsgSender :44 - me.chanjar.weixin.common.error.WxErrorException: {"errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint: [n28tAa06544102]"}
11:04:14.915 [pool-5-thread-11] WARN c.f.tool.push.util.ConsoleUtil :30 - T-10已处理完第10-11条的数据
11:04:14.956 [pool-5-thread-12] ERROR c.f.tool.push.util.WeWxMpServiceImpl :324 -
【请求地址】: https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=25_Ou03ITRNVy-NArJlRdJ81D3eeRbT1DU2rq0iimqvNsHH3g9em3MBFBYW7iJtq1CvwmMt4NzXaJm_lpc_2ZPVUzsLPld-S5uXSeDPkXlkGT62Gzp2WP6T4Pc8u5At0KorpGyeIclK5TeEyRoJRZPeAJAFND
【请求参数】:{"touser":"okmq0t4DDN81IaohuuwholtlJlgQ","msgtype":"text","text":{"content":"一条客服文本消息,<a href="https://www.baidu.com\">去百度\n\nCJNET OK"}}
【错误信息】:{"errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint: [AV49Va06543951]"}
11:04:14.956 [pool-5-thread-12] ERROR c.f.t.p.l.msgsender.WxKefuMsgSender :44 - me.chanjar.weixin.common.error.WxErrorException: {"errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint: [AV49Va06543951]"}
11:04:14.957 [pool-5-thread-12] WARN c.f.tool.push.util.ConsoleUtil :30 - T-11已处理完第11-12条的数据
11:04:15.012 [pool-5-thread-5] ERROR c.f.tool.push.util.WeWxMpServiceImpl :324 -
【请求地址】: https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=25_82AtxoAalY0rhSNMRdJ81D3eeRbT1DU2rq0iimqvNsHH3g9em3MBFBYW7iK7fG1PgGU5v1-5TckIX_uiwPiI1o7cS3p6sXpQHpP9qan-ZbuPsP52dzIxeQ0vU72P0TBIVXa7LZsIKIQvbN1tHBGeAJAZTY
【请求参数】:{"touser":"okmq0txGYoLcy_aN-29QWD0hdXVE","msgtype":"text","text":{"content":"一条客服文本消息,<a href="https://www.baidu.com\">去百度\n\nCJNET OK"}}
【错误信息】:{"errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint: [QJ__6a06544122]"}
11:04:15.012 [pool-5-thread-5] ERROR c.f.t.p.l.msgsender.WxKefuMsgSender :44 - me.chanjar.weixin.common.error.WxErrorException: {"errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint: [QJ__6a06544122]"}
11:04:15.013 [pool-5-thread-5] WARN c.f.tool.push.util.ConsoleUtil :30 - T-4已处理完第4-5条的数据
11:04:15.047 [pool-5-thread-9] ERROR c.f.tool.push.util.WeWxMpServiceImpl :324 -
【请求地址】: https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=25_84zWY4vggIhFe56yRdJ81D3eeRbT1DU2rq0iimqvNsHH3g9em3MBFBYW7iL4HXSdTR3dOMKWWJz55uYvTldPI-4iBClsi8UDkjagRdyLv6v9Dm8uf-pe4gLSEBbQgxNoqt_OvhLc0TBy0V0NAOQeAJAFTV
【请求参数】:{"touser":"okmq0t84B1vMqmjAWnkb7scT-QA8","msgtype":"text","text":{"content":"一条客服文本消息,<a href="https://www.baidu.com\">去百度\n\nCJNET OK"}}
【错误信息】:{"errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint: [JTkpja06544120]"}
11:04:15.047 [pool-5-thread-9] ERROR c.f.t.p.l.msgsender.WxKefuMsgSender :44 - me.chanjar.weixin.common.error.WxErrorException: {"errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint: [JTkpja06544120]"}
11:04:15.049 [pool-5-thread-9] WARN c.f.tool.push.util.ConsoleUtil :30 - T-8已处理完第8-9条的数据
11:04:15.058 [pool-5-thread-13] ERROR c.f.t.p.l.msgsender.WxKefuMsgSender :44 - me.chanjar.weixin.common.error.WxErrorException:
11:04:15.059 [pool-5-thread-13] WARN c.f.tool.push.util.ConsoleUtil :30 - T-12已处理完第12-13条的数据
11:04:15.060 [pool-5-thread-8] ERROR c.f.t.p.l.msgsender.WxKefuMsgSender :44 - me.chanjar.weixin.common.error.WxErrorException:
11:04:15.061 [pool-5-thread-8] WARN c.f.tool.push.util.ConsoleUtil :30 - T-7已处理完第7-8条的数据
11:04:15.062 [pool-5-thread-10] ERROR c.f.t.p.l.msgsender.WxKefuMsgSender :44 - me.chanjar.weixin.common.error.WxErrorException:
11:04:15.063 [pool-5-thread-10] WARN c.f.tool.push.util.ConsoleUtil :30 - T-9已处理完第9-10条的数据
11:04:15.128 [pool-5-thread-14] ERROR c.f.tool.push.util.WeWxMpServiceImpl :324 -
【请求地址】: https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=25_g33Cy1e-wNMhN96iRdJ81D3eeRbT1DU2rq0iimqvNsHH3g9em3MBFBYW7iId4ncPkrm6U2k4r4MFUr2RK5mpLO3h4UUU0COE9vnJXyP5UihBqY7G3ihQstelImub1L2kYsDYrkd_MHmUotOeTEVeAJABMD
【请求参数】:{"touser":"okmq0tyC_O2vMWvT2PzZfaVwh4Tc","msgtype":"text","text":{"content":"一条客服文本消息,<a href="https://www.baidu.com\">去百度\n\nCJNET OK"}}
【错误信息】:{"errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint: [E2HGAA06544107]"}
11:04:15.129 [pool-5-thread-14] ERROR c.f.t.p.l.msgsender.WxKefuMsgSender :44 - me.chanjar.weixin.common.error.WxErrorException: {"errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint: [E2HGAA06544107]"}

email发送问题

版本是v_4.2.0_191129

两个问题:

1.邮件发送的正文,html被解析成了文本
image

2.html编辑器无法下拉
image
没滚动条,下面是啥也看不见

发送客服消息时access_token没有被重复利用,而是不断重置

现象描述

发送客服消息文本消息时,根据日志记录,软件在请求API接口时每一次都使用了新的access_token,而没有将其缓存起来重复使用。

同样测试了使用外部AccessToken勾选->通过接口获取的情况,问题也一致。

外部API页面获得的值案例:
{"access_token":"25_AeIuxNYnU5WsaJCzpgdDkDCGDOEkeR1AcvF_ScUfEafMUmQG0C685SEcikMowkIjDwtIqhr-bdC-wxE-hnOVX5Nx9DqJyIPHDryZAG15uA5hUKouXLee-ys_7La-Ann3uYjEFdzDyfkAY5ENHNDhAIAVBR","expires_in":720}

由于发送模板消息请求API的地址在日志中没有被记录,因此无法确定模板消息的发送是否也一样。

环境信息

windows 7 64位
jdk 1.8

重现步骤

  • 步骤1,设置 -> 微信公众号->填写appid及appscreate
  • 步骤2,新建消息、获取openid等操作
  • 步骤3,发送客服消息
  • 步骤4,发送模板消息

日志信息

【请求地址】: https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=25_2R5eUHdLNXTuGcyjK1pY-Q4BVBX89uk-HrlYkM8FmGeJNDj51kjcJMyZUVBV84hREhZPVcudABmXJSwCZpHtn5b0XIUXacSSGJN61a2FP1dt6SqW1H5tLqQGkXlLB3sqUBJDR9xWrLejiJXfHMFiADANSL
【请求参数】:{"touser":"okmq0t5eg-23MbwOxmdwq1ANv07A","msgtype":"text","text":{"content":"一条客服文本消息,<a href="https://www.baidu.com\">去百度\n\nCJNET"}}
【错误信息】:{"errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint: [pq6u909944105]"}
15:16:33.932 [pool-4-thread-3] ERROR c.f.t.p.l.msgsender.WxKefuMsgSender :44 - me.chanjar.weixin.common.error.WxErrorException: {"errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint: [pq6u909944105]"}
15:16:33.936 [pool-4-thread-3] WARN c.f.tool.push.util.ConsoleUtil :30 - T-2已处理完第2-3条的数据
15:16:34.136 [pool-4-thread-11] ERROR c.f.tool.push.util.WeWxMpServiceImpl :324 -
【请求地址】: https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=25_MFazl_i9Jg1Pgkq3K1pY-Q4BVBX89uk-HrlYkM8FmGeJNDj51kjcJMyZUVB_kv2_s0F-Y2qlvZKwcPR0eIGZkpnn89pTpoa5SWSiyk0p7AiO6BwrCXaT0Umh_5753yl-eVMANVByq2UUvoqYRHRiADAZPZ
【请求参数】:{"touser":"okmq0twwypbEw9yS-td7s5lra2vU","msgtype":"text","text":{"content":"一条客服文本消息,<a href="https://www.baidu.com\">去百度\n\nCJNET"}}
【错误信息】:{"errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint: [XvIwFa09943114]"}
15:16:34.137 [pool-4-thread-11] ERROR c.f.t.p.l.msgsender.WxKefuMsgSender :44 - me.chanjar.weixin.common.error.WxErrorException: {"errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint: [XvIwFa09943114]"}
15:16:34.138 [pool-4-thread-11] WARN c.f.tool.push.util.ConsoleUtil :30 - T-10已处理完第10-11条的数据
15:16:34.332 [pool-4-thread-10] ERROR c.f.tool.push.util.WeWxMpServiceImpl :324 -
【请求地址】: https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=25_oFEfwaZaNLEMRRjuK1pY-Q4BVBX89uk-HrlYkM8FmGeJNDj51kjcJMyZUVDBuDyan4ah2GGci9P5uFKWjqFKHkMoHBAepyF6D20K1EmR3ZHGsxs4R1A6KWsIFhurl6IjBB4i4jR-NCYA9q9BEHXiADAORH
【请求参数】:{"touser":"okmq0t36FiLuqoVIdM0lujnfh4W4","msgtype":"text","text":{"content":"一条客服文本消息,<a href="https://www.baidu.com\">去百度\n\nCJNET"}}
【错误信息】:{"errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint: [BkwIgA09943929]"}
15:16:34.333 [pool-4-thread-10] ERROR c.f.t.p.l.msgsender.WxKefuMsgSender :44 - me.chanjar.weixin.common.error.WxErrorException: {"errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint: [BkwIgA09943929]"}
15:16:34.334 [pool-4-thread-10] WARN c.f.tool.push.util.ConsoleUtil :30 - T-9已处理完第9-10条的数据
15:16:34.494 [pool-4-thread-2] ERROR c.f.tool.push.util.WeWxMpServiceImpl :324 -
【请求地址】: https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=25_mYBjWF4hSKpzIBwmK1pY-Q4BVBX89uk-HrlYkM8FmGeJNDj51kjcJMyZUVDYAuizz74kQ2yFhs1Se07l9tVisApG8etpQPiHkG9iRC7_VEUKb8jOLstoUWQ1zf7IA8F8TfE6OLaKZaSj6yOxYGWiADANVL
【请求参数】:{"touser":"okmq0t27Nvzp1nploE7oFynpEqMs","msgtype":"text","text":{"content":"一条客服文本消息,<a href="https://www.baidu.com\">去百度\n\nCJNET"}}
【错误信息】:{"errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint: [B6ZruA09944119]"}
15:16:34.495 [pool-4-thread-2] ERROR c.f.t.p.l.msgsender.WxKefuMsgSender :44 - me.chanjar.weixin.common.error.WxErrorException: {"errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint: [B6ZruA09944119]"}
15:16:34.496 [pool-4-thread-2] WARN c.f.tool.push.util.ConsoleUtil :30 - T-1已处理完第1-2条的数据
15:16:34.686 [pool-4-thread-6] ERROR c.f.tool.push.util.WeWxMpServiceImpl :324 -
【请求地址】: https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=25_9_amPqxG38nZOPB4w9Il7ljV6wUuOlkgWsHSvAbV7AibnmFeDKxABD83s7pWXW_GaMEhSUQiUR28duo974PC-FL08ZCOfwhRYOH7Do5MgEiUvB1uxj8ydsg9uQSvt3HvfmlZQeejdChfy6xMMNNhAAAFGG
【请求参数】:{"touser":"okmq0t2jha0MpsC6ahaMmjdIAuyw","msgtype":"text","text":{"content":"一条客服文本消息,<a href="https://www.baidu.com\">去百度\n\nCJNET"}}
【错误信息】:{"errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint: [4QuNfA09953935]"}
15:16:34.687 [pool-4-thread-6] ERROR c.f.t.p.l.msgsender.WxKefuMsgSender :44 - me.chanjar.weixin.common.error.WxErrorException: {"errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint: [4QuNfA09953935]"}
15:16:34.688 [pool-4-thread-6] WARN c.f.tool.push.util.ConsoleUtil :30 - T-5已处理完第5-6条的数据
15:16:34.902 [pool-4-thread-5] ERROR c.f.tool.push.util.WeWxMpServiceImpl :324 -
【请求地址】: https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=25_RUDkevDOgcec53drw9Il7ljV6wUuOlkgWsHSvAbV7AibnmFeDKxABD83s7rdvLkp_LwB5kmO1H97-OEpiwI0uH_VvqkYt3hUvl9rQxnBDXlpJx9KQ0OtPqVS6wCm6hMJvY2S3CPYO85VvvG5AGMhAAAQWC
【请求参数】:{"touser":"okmq0txGYoLcy_aN-29QWD0hdXVE","msgtype":"text","text":{"content":"一条客服文本消息,<a href="https://www.baidu.com\">去百度\n\nCJNET"}}
【错误信息】:{"errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint: [XJbzIa09954963]"}
15:16:34.903 [pool-4-thread-5] ERROR c.f.t.p.l.msgsender.WxKefuMsgSender :44 - me.chanjar.weixin.common.error.WxErrorException: {"errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint: [XJbzIa09954963]"}
15:16:34.904 [pool-4-thread-5] WARN c.f.tool.push.util.ConsoleUtil :30 - T-4已处理完第4-5条的数据
15:16:35.118 [pool-4-thread-7] ERROR c.f.tool.push.util.WeWxMpServiceImpl :324 -
【请求地址】: https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=25_Jb6jxNpwYgEaJjhrw9Il7ljV6wUuOlkgWsHSvAbV7AibnmFeDKxABD83s7rQsoWNLjXaNX-VWnG-Ki7eoIhBgBb2yN1WLegowr00p7Dxp-zj6CgTMKV4SQaf89oeevF8erLO6DuTA1bT_8juHENhAAAYVE
【请求参数】:{"touser":"okmq0t-lPwrsdJLzl3-83vqENGdY","msgtype":"text","text":{"content":"一条客服文本消息,<a href="https://www.baidu.com\">去百度\n\nCJNET"}}
【错误信息】:{"errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint: [0t6aNA09953114]"}
15:16:35.118 [pool-4-thread-7] ERROR c.f.t.p.l.msgsender.WxKefuMsgSender :44 - me.chanjar.weixin.common.error.WxErrorException: {"errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint: [0t6aNA09953114]"}
15:16:35.119 [pool-4-thread-7] WARN c.f.tool.push.util.ConsoleUtil :30 - T-6已处理完第6-7条的数据
15:16:35.329 [pool-4-thread-9] ERROR c.f.tool.push.util.WeWxMpServiceImpl :324 -
【请求地址】: https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=25__wk-3rFd9ug3hQ-Ww9Il7ljV6wUuOlkgWsHSvAbV7AibnmFeDKxABD83s7rdm7lmrmI8NRgQr3rQB_dkDrLOCVx-tN1-IEbVmf9PVWGixFJiMtp06pGOMCmES3wwrPRb4fy5WvxzfN8vKcTrXPOhAAAQIH
【请求参数】:{"touser":"okmq0t84B1vMqmjAWnkb7scT-QA8","msgtype":"text","text":{"content":"一条客服文本消息,<a href="https://www.baidu.com\">去百度\n\nCJNET"}}
【错误信息】:{"errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint: [eYjc_09953949]"}
15:16:35.330 [pool-4-thread-9] ERROR c.f.t.p.l.msgsender.WxKefuMsgSender :44 - me.chanjar.weixin.common.error.WxErrorException: {"errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint: [eYjc_09953949]"}
15:16:35.331 [pool-4-thread-9] WARN c.f.tool.push.util.ConsoleUtil :30 - T-8已处理完第8-9条的数据
15:16:35.564 [pool-4-thread-14] WARN c.f.tool.push.util.ConsoleUtil :30 - T-13已处理完第13-14条的数据
15:16:35.739 [pool-4-thread-13] ERROR c.f.tool.push.util.WeWxMpServiceImpl :324 -
【请求地址】: https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=25_TVUPzrih9ceWFFJ4w9Il7ljV6wUuOlkgWsHSvAbV7AibnmFeDKxABD83s7o8vPth5cucweQypDgE9YbAd5mXQS5kmkGCGwoVgwaS-3zQZtBjvL2yDIT-uJgja86IHlqKlOMdrjwkT6Jhw6v1MJLhAAAQNP
【请求参数】:{"touser":"okmq0twAPMx9u4tVIdT-iik2SAg0","msgtype":"text","text":{"content":"一条客服文本消息,<a href="https://www.baidu.com\">去百度\n\nCJNET"}}
【错误信息】:{"errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint: [Mb.vBa09963935]"}
15:16:35.740 [pool-4-thread-13] ERROR c.f.t.p.l.msgsender.WxKefuMsgSender :44 - me.chanjar.weixin.common.error.WxErrorException: {"errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint: [Mb.vBa09963935]"}
15:16:35.742 [pool-4-thread-13] WARN c.f.tool.push.util.ConsoleUtil :30 - T-12已处理完第12-13条的数据
15:16:35.864 [pool-4-thread-8] ERROR c.f.t.p.l.msgsender.WxKefuMsgSender :44 - me.chanjar.weixin.common.error.WxErrorException:
15:16:35.864 [pool-4-thread-12] ERROR c.f.t.p.l.msgsender.WxKefuMsgSender :44 - me.chanjar.weixin.common.error.WxErrorException:
15:16:35.866 [pool-4-thread-8] WARN c.f.tool.push.util.ConsoleUtil :30 - T-7已处理完第7-8条的数据
15:16:35.864 [pool-4-thread-4] ERROR c.f.t.p.l.msgsender.WxKefuMsgSender :44 - me.chanjar.weixin.common.error.WxErrorException:
15:16:35.866 [pool-4-thread-12] WARN c.f.tool.push.util.ConsoleUtil :30 - T-11已处理完第11-12条的数据
15:16:35.867 [pool-4-thread-4] WARN c.f.tool.push.util.ConsoleUtil :30 - T-3已处理完第3-4条的数据
15:16:35.993 [pool-4-thread-1] WARN c.f.tool.push.util.ConsoleUtil :30 - T-0已处理完第0-1条的数据
15:16:37.183 [pool-3-thread-5] WARN c.f.tool.push.util.ConsoleUtil :30 - 正在保存结果数据……
15:16:37.694 [pool-3-thread-5] WARN c.f.tool.push.util.ConsoleUtil :30 - 结果数据保存完毕!
15:23:34.025 [pool-3-thread-2] WARN c.f.tool.push.util.ConsoleUtil :30 - 关注该公众账号的总用户数:14
15:23:34.029 [pool-3-thread-2] WARN c.f.tool.push.util.ConsoleUtil :30 - 拉取的OPENID个数:14
15:23:34.086 [pool-3-thread-2] WARN c.f.tool.push.util.ConsoleUtil :30 - 拉取的OPENID个数:0
15:23:42.629 [pool-3-thread-1] WARN c.f.tool.push.util.ConsoleUtil :30 - 消息总数:14
15:23:42.630 [pool-3-thread-1] WARN c.f.tool.push.util.ConsoleUtil :30 - 可用处理器核心:4
15:23:42.636 [pool-3-thread-1] WARN c.f.tool.push.util.ConsoleUtil :30 - 线程数:23
15:23:42.642 [pool-3-thread-1] WARN c.f.tool.push.util.ConsoleUtil :30 - 线程池大小:100
15:23:42.674 [pool-3-thread-1] WARN c.f.tool.push.util.ConsoleUtil :30 - 推送开始……
15:23:42.682 [pool-4-thread-2] WARN c.f.tool.push.util.ConsoleUtil :30 - 线程T-1负责处理第:1-2条数据
15:23:42.682 [pool-4-thread-14] WARN c.f.tool.push.util.ConsoleUtil :30 - 线程T-13负责处理第:13-14条数据
15:23:42.684 [pool-4-thread-1] WARN c.f.tool.push.util.ConsoleUtil :30 - 线程T-0负责处理第:0-1条数据
15:23:42.684 [pool-4-thread-4] WARN c.f.tool.push.util.ConsoleUtil :30 - 线程T-3负责处理第:3-4条数据
15:23:42.682 [pool-4-thread-5] WARN c.f.tool.push.util.ConsoleUtil :30 - 线程T-4负责处理第:4-5条数据
15:23:42.690 [pool-4-thread-11] WARN c.f.tool.push.util.ConsoleUtil :30 - 线程T-10负责处理第:10-11条数据
15:23:42.683 [pool-4-thread-3] WARN c.f.tool.push.util.ConsoleUtil :30 - 线程T-2负责处理第:2-3条数据
15:23:42.684 [pool-4-thread-6] WARN c.f.tool.push.util.ConsoleUtil :30 - 线程T-5负责处理第:5-6条数据
15:23:42.685 [pool-4-thread-7] WARN c.f.tool.push.util.ConsoleUtil :30 - 线程T-6负责处理第:6-7条数据
15:23:42.686 [pool-4-thread-8] WARN c.f.tool.push.util.ConsoleUtil :30 - 线程T-7负责处理第:7-8条数据
15:23:42.687 [pool-4-thread-9] WARN c.f.tool.push.util.ConsoleUtil :30 - 线程T-8负责处理第:8-9条数据
15:23:42.688 [pool-4-thread-12] WARN c.f.tool.push.util.ConsoleUtil :30 - 线程T-11负责处理第:11-12条数据
15:23:42.689 [pool-4-thread-10] WARN c.f.tool.push.util.ConsoleUtil :30 - 线程T-9负责处理第:9-10条数据
15:23:42.692 [pool-4-thread-13] WARN c.f.tool.push.util.ConsoleUtil :30 - 线程T-12负责处理第:12-13条数据
15:23:42.693 [pool-3-thread-1] WARN c.f.tool.push.util.ConsoleUtil :30 - 所有线程宝宝启动完毕……
15:23:43.338 [pool-4-thread-3] WARN c.f.tool.push.util.ConsoleUtil :30 - T-2已处理完第2-3条的数据
15:23:43.488 [pool-4-thread-14] WARN c.f.tool.push.util.ConsoleUtil :30 - T-13已处理完第13-14条的数据
15:23:43.781 [pool-4-thread-9] WARN c.f.tool.push.util.ConsoleUtil :30 - T-8已处理完第8-9条的数据
15:23:43.926 [pool-4-thread-6] WARN c.f.tool.push.util.ConsoleUtil :30 - T-5已处理完第5-6条的数据
15:23:44.168 [pool-4-thread-5] WARN c.f.tool.push.util.ConsoleUtil :30 - T-4已处理完第4-5条的数据
15:23:44.338 [pool-4-thread-1] WARN c.f.tool.push.util.ConsoleUtil :30 - T-0已处理完第0-1条的数据
15:23:44.548 [pool-4-thread-13] WARN c.f.tool.push.util.ConsoleUtil :30 - T-12已处理完第12-13条的数据
15:23:44.726 [pool-4-thread-10] WARN c.f.tool.push.util.ConsoleUtil :30 - T-9已处理完第9-10条的数据
15:23:44.923 [pool-4-thread-2] WARN c.f.tool.push.util.ConsoleUtil :30 - T-1已处理完第1-2条的数据
15:23:45.114 [pool-4-thread-11] WARN c.f.tool.push.util.ConsoleUtil :30 - T-10已处理完第10-11条的数据
15:23:45.210 [pool-4-thread-8] ERROR c.f.t.p.l.m.WxMpTemplateMsgSender :73 - me.chanjar.weixin.common.error.WxErrorException:
15:23:45.210 [pool-4-thread-12] ERROR c.f.t.p.l.m.WxMpTemplateMsgSender :73 - me.chanjar.weixin.common.error.WxErrorException:
15:23:45.210 [pool-4-thread-4] ERROR c.f.t.p.l.m.WxMpTemplateMsgSender :73 - me.chanjar.weixin.common.error.WxErrorException:
15:23:45.215 [pool-4-thread-8] WARN c.f.tool.push.util.ConsoleUtil :30 - T-7已处理完第7-8条的数据
15:23:45.215 [pool-4-thread-12] WARN c.f.tool.push.util.ConsoleUtil :30 - T-11已处理完第11-12条的数据
15:23:45.216 [pool-4-thread-4] WARN c.f.tool.push.util.ConsoleUtil :30 - T-3已处理完第3-4条的数据
15:23:45.307 [pool-4-thread-7] WARN c.f.tool.push.util.ConsoleUtil :30 - T-6已处理完第6-7条的数据
15:23:46.528 [pool-3-thread-1] WARN c.f.tool.push.util.ConsoleUtil :30 - 正在保存结果数据……
15:23:47.147 [pool-3-thread-1] WARN c.f.tool.push.util.ConsoleUtil :30 - 结果数据保存完毕!

使用接口url获取accesstoken报错

现象描述

使用接口url获取accesstoken报错:javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure

环境信息

Windows10 64+v4.5

重现步骤

  • 步骤1,勾选“使用外部accesstoken
  • 步骤2,选择”通过接口获取“
  • 步骤3,接口url配置为带https的url

报错信息

15:09:43.266 [main] ERROR c.f.t.p.u.form.msg.MpTemplateMsgForm :337 - java.lang.RuntimeException: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
15:09:43.465 [pool-2-thread-2] ERROR c.f.t.p.u.form.msg.MpTemplateMsgForm :337 - java.lang.RuntimeException: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
15:09:44.369 [AWT-EventQueue-0] ERROR c.f.t.p.u.form.msg.MpTemplateMsgForm :337 - java.lang.RuntimeException: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
15:09:46.308 [AWT-EventQueue-0] ERROR c.f.t.p.l.m.WxMpTemplateMsgSender :74 - java.lang.RuntimeException: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
at com.fangxuele.tool.push.util.WeWxMpServiceImpl.getAccessToken(WeWxMpServiceImpl.java:98)
at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.executeInternal(BaseWxMpServiceImpl.java:380)
at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.execute(BaseWxMpServiceImpl.java:344)
at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.post(BaseWxMpServiceImpl.java:298)
at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.post(BaseWxMpServiceImpl.java:303)
at me.chanjar.weixin.mp.api.impl.WxMpTemplateMsgServiceImpl.sendTemplateMsg(WxMpTemplateMsgServiceImpl.java:34)
at com.fangxuele.tool.push.logic.msgsender.WxMpTemplateMsgSender.send(WxMpTemplateMsgSender.java:69)
at com.fangxuele.tool.push.logic.PushControl.preview(PushControl.java:96)
at com.fangxuele.tool.push.ui.listener.MessageEditListener.lambda$addListeners$3(MessageEditListener.java:91)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.desktop/java.awt.Component.processMouseEvent(Unknown Source)
at java.desktop/javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.desktop/java.awt.Component.processEvent(Unknown Source)
at java.desktop/java.awt.Container.processEvent(Unknown Source)
at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Window.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Unknown Source)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Unknown Source)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source)
at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source)
at java.base/sun.security.ssl.TransportContext.fatal(Unknown Source)
at java.base/sun.security.ssl.Alert$AlertConsumer.consume(Unknown Source)
at java.base/sun.security.ssl.TransportContext.dispatch(Unknown Source)
at java.base/sun.security.ssl.SSLTransport.decode(Unknown Source)
at java.base/sun.security.ssl.SSLSocketImpl.decode(Unknown Source)
at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(Unknown Source)
at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:436)
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:384)
at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:142)
at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:374)
at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:393)
at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)
at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186)
at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108)
at com.fangxuele.tool.push.util.WeWxMpServiceImpl.getAccessToken(WeWxMpServiceImpl.java:78)
... 43 more

小程序页面路径

最新版的程序v2.2在小程序页面路径设置为
pages/specialPage/specialPage?labelGroupId=26
只会进入小程序的首页,不知道是什么问题,麻烦拉大检测一下

发送预览的结果和输入的不一致

这是输入界面:
1588841939(1)
手机上的效果:
1588841918(1)
电脑上的效果:
faae84020b33f85e85f6cdd9db14dd1
在输入界面上我已经保存好了,然后点击预览发送的时候就出现了这样的问题,
版本是v_4.2.1_200308

钉钉Markdown消息如何调用变量

现象描述

通过钉钉发送Markdown消息调用数据中变量失败,直接发送的变量名,如 ${var1} ${var2} 这种的

环境信息

windows10 64位

程序启动时报空指针异常

现象描述

程序启动报错

环境信息

系统版本: archlinux x86_64 Linux 5.5.13-arch2-1

java 版本: openjdk version "11.0.6" 2020-01-14

报错信息

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.bulenkov.darcula.DarculaLaf (file:/home/lg/Downloads/WePush-4.2.0/lib/darcula-lnf-1.0.jar) to field javax.swing.text.html.HTMLEditorKit.DEFAULT_STYLES_KEY
WARNING: Please consider reporting this to the maintainers of com.bulenkov.darcula.DarculaLaf
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Exception in thread "main" java.lang.ExceptionInInitializerError
	at com.bulenkov.iconloader.IconLoader.<clinit>(IconLoader.java:53)
	at com.bulenkov.darcula.DarculaLaf.getDefaults(DarculaLaf.java:97)
	at java.desktop/javax.swing.UIManager.setLookAndFeel(UIManager.java:587)
	at java.desktop/javax.swing.UIManager.setLookAndFeel(UIManager.java:633)
	at com.fangxuele.tool.push.ui.Init.initTheme(Init.java:111)
	at com.fangxuele.tool.push.App.main(App.java:37)
Caused by: java.lang.NullPointerException
	at com.bulenkov.iconloader.util.UIUtil.initSystemFontData(UIUtil.java:254)
	at com.bulenkov.iconloader.util.JBUI.calculateScaleFactor(JBUI.java:47)
	at com.bulenkov.iconloader.util.JBUI.<clinit>(JBUI.java:33)
	... 6 more

[在此填写WePush安装目录下logs文件夹内的报错信息]
image

怎么转换成gradle

clone之后
gradle init --type pom
结果idea打开缺依赖

Ubuntu 16
gradle 4.2
idea 2017.2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.