微信客服接口的返回数据在官方网站上没有仔细说明。 只能在程序中进行调试了。 如果正常的话,返回接口的数据还是很简单的 JSON 格式的。 {"errcode":0,"errmsg":"ok"} 如上图的格式。 在程序中看起来就是上面这样的。 https://www.ossez.com/t/topic/14324
微信客服接口的返回数据在官方网站上没有仔细说明。 只能在程序中进行调试了。 如果正常的话,返回接口的数据还是很简单的 JSON 格式的。 {"errcode":0,"errmsg":"ok"} 如上图的格式。 在程序中看起来就是上面这样的。 https://www.ossez.com/t/topic/14324
错误的信息如下: errcode=45015, errmsg=response out of time limit or subscription is canceled rid: 5f8fd8b7-0f8aa1a9-4b6215a5 微信的文档 看着这微信不清不楚的文档:微信公众平台 在这个文档界面中,有句话: 这句话,我估计正常人看的都是云里雾里的。 用土话来说,就是你的客服消息不是你想法就可以发的,微信限制公众号主动发送消息的能力。 这 48 小时的定义为: 用户 A,发送了一个消息给公众号,公众号会回复消息给客户 A。 通常这种情况是在异步模式下,因为你的服务器可能没有办法做到在 5 秒内回复消息给客户,那么你需要调用这个客服接口。 但是你又不能等个 10 天半个月的再回复。 这个回复的消息应该是在 48 小时内。 用更土的话说,如果你的微信公众号用户在 48 小时内没有和你有过什么互动,你就不能主动发消息给你的用户。 解决办法 这个问题通常出现在测试阶段,解决办法就是用你的账号关注公众号。 然后那拿你的账号发个消息给你的公众号,那么你就可以调用接口进行消息回复给你的这个客户了。 这个解释是不是会清楚点呢? https://www.ossez.com/t/api/14323
最近在研究 ChatGPT 的 API 调用。 因为 ChatGPT 的 API 调用时间通常超过 30 秒。 所以我们希望在程序中限制这个方法的执行时间,不要让方法花太长时间去执行了。 JDK 方法 可以使用 JDK 中的 ExecutorService 方法来对调用的方法进行处理。 代码如下: ExecutorService executor = newCachedThreadPool(); Callable<Object> task = new Callable<Object>() { public String call() { return callChatGPT(content); } }; Future<Object> future = executor.submit(task); try { Object result = future.get(15, TimeUnit.SECONDS); contentGPT = (String) result; } catch (TimeoutException ex) { contentGPT = "ChatGPT API Time out, Please Re-try it"; } catch (InterruptedException e) { contentGPT = "ChatGPT API Time out, Please Re-try it"; } catch (ExecutionException e) { contentGPT = "ChatGPT API Time out, Please Re-try it"; } finally { future.cancel(true); // may or may not desire this } 在我们的调用方法 callChatGPT 中,我们配置了一个 ExecutorService 执行器。 在这个执行器中,我们配置一个任务。 然后这个任务我们指定了执行时间为 15 秒。 如果这个方法的执行时间超过了 15 秒,程序将会抛出一个异常。、 可以通过这个方法来限制方法的执行时间。 https://www.ossez.com/t/java/14322
可以在 IntelliJ IDEA 对代码修改为只读模式。 当你把一个源代码修改为只读模式的话,在右上角将会显示这个文件为只读的。 如果你希望把这文件修改为可写的,可以直接通过文件菜单下面修改为可写的。 https://www.ossez.com/t/intellij-idea/14321
IntelliJ IDEA 中 Ctrl+Z 是撤销快捷键 反撤销快捷键为:Ctrl + Shift + Z 这个和 Windows 常用的快捷键不一样,有时候你可能会尝试使用 Ctrl + Y ,这个是没有办法 反撤销的。 官方的文档也说的比较清楚,可以参考上面的截图。 https://www.ossez.com/t/intellij-idea/14320
如果你升级到新的 IntelliJ IDEA 的话,应该可以使用新的 UI 了。 重启后,却再也找不到工具栏了。 重启后的界面。 能够在界面中显示文件的大小。 对一些非常疯狂的代码可能有用。 https://www.ossez.com/t/intellij-idea-ui/14319
我们把 ChatGPT 集成到我们的公众号上了。 其实就是测试用了,看看下面的调用频率和价格,你就知道 ChatGPT 并不便宜了。 送的 18 美元,估计很快就会用完了。 https://www.ossez.com/t/chatgpt-api/14316
我们把 ChatGPT 集成到我们的公众号里面了, 忍不住每天都想问个笑话。 现在的问题就是 ChatGPT 的返回时间经常性超过 4 秒。 我们的公众号又是个人认证公众号,无法发送异步消息。 只有企业认证的公众号才能通过客服接口发送异步消息。 https://www.ossez.com/t/chatgpt/14315
IntelliJ IDEA 是可以帮我们进行 Code Coverage 测试的。 公司方面因为有新的要求,必须要达到多少的代码覆盖率,同时他们设置了 POM 中 JCoCo 的配置,如果达不到就不让编译通过有点头疼。 IntelliJ IDEA 是可以帮我们实现这个本地的快速代码覆盖率查看的。 找到任何一个测试代码,然后选择运行代码同时进行代码覆盖检查。 当测试完成后,就可以在右侧看到我们的代码覆盖率了。 根据情况来增加测试以增加代码的覆盖率。 没有测试到的代码,也会在左侧提示这部分代码没有测试。 通过上面的工具,能够帮我们快速添加测试。 https://www.ossez.com/t/intellij-idea-code-coverage/14314
因项目的需要,构建一个微信请求的 URL。 URL 的配置为: https://open.weixin.qq.com/connect/qrconnect?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect 从这里我们可以看到是 Get 方法中添加参数的方式来进行的。 okHttp okHttp 可以使用下面的方法来进行构建: HttpUrl httpUrl = HttpUrl.parse("https://open.weixin.qq.com/connect/qrconnect").newBuilder() .addQueryParameter("appid", wechatParameterConfMap.get(WeChatUtils.WECHAT_OFFICIAL_ACCOUNT_APP_ID)) .addQueryParameter("redirect_uri", "https://www.usvisatrack.com/wechat/callback") .addQueryParameter("response_type", "code") .addQueryParameter("scope", "snsapi_login") .addQueryParameter("state", UUID.randomUUID().toString() + "#wechat_redirect") .build(); 首先初始化一个 HttpUrl 的对象,然后在对象中 Parse 主机地址。 然后使用方法 addQueryParameter 来添加参数。 如果你有多个参数需要添加的话,直接不停的使用 addQueryParameter 来在后面添加参数就可以了。 然后使用 build 方法来返回一个 HttpUrl 对象。 因为我们需要把构建的字符串返回到前端。 所以最后还使用了 String urlStr = httpUrl.url().toString(); 这个方法,把 HttpUrl 对象中的 URL 作为字符串来进行输出。 https://www.ossez.com/t/okhttp-get-url/14313