微信公众号号开发小记(六)使用开源框架开发

article/2025/10/8 15:47:37

到了现在,必须要正视一个问题了,之前所作的都是不推荐的,为什么,因为你没发现之前咱们还在调用官方API接口吗?还在写程序去获取token机械json数据呢?而且json数据咱们还要自己拼接,这可是不行的,要知道在实际的开发中,是奔着以最快时间达成目标为主要的,所以,怎么办?

使用开源框架啊,现如今,做微信公众号开发这块也是比较成熟的,也有一些比较好的开源框架,可以说,使用了开源框架之后,很多事情基本上一行代码搞定。

我这里使用的开源框架是—Wx-tools

GitHub地址:https://github.com/antgan/wx-tools

技术文档地址:https://www.w3cschool.cn/wxtools/

这个开源库给的文档还是相当详细的,可以看一下文档目录

所以基本上看着文档就能实现大多数功能,这里真的要感谢这位开源作者了,偷偷告诉你,这位开源作者跟我一样年龄,唉,惭愧啊,不过人家工作早,赞!自己要加油了!

这里简单说一下用法,首先导入项目依赖

<!--wx-tools--><dependency><groupId>com.soecode.wx-tools</groupId><artifactId>wx-tools</artifactId><version>2.1.4-RELEASE</version></dependency>

这里还要依赖一些其他的包,这里一并给出

 <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api --><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.25</version></dependency><!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-classic --><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.2.3</version><scope>test</scope></dependency><!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient --><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5.3</version></dependency><!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpmime --><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpmime</artifactId><version>4.5.3</version></dependency><!-- https://mvnrepository.com/artifact/org.codehaus.jackson/jackson-mapper-asl --><dependency><groupId>org.codehaus.jackson</groupId><artifactId>jackson-mapper-asl</artifactId><version>1.9.13</version></dependency><!-- https://mvnrepository.com/artifact/com.thoughtworks.xstream/xstream --><dependency><groupId>com.thoughtworks.xstream</groupId><artifactId>xstream</artifactId><version>1.4.10</version></dependency><!-- https://mvnrepository.com/artifact/commons-io/commons-io --><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.4</version></dependency><!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 --><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.7</version></dependency>

导入以上maven依赖之后就可以开心使用这个开源框架了。

服务器验证

首先从最开始的服务器验证这块,对于wx-tools这个框架,总的接口就是IService,而我们要使用的则是它的实现类WxService,很多功能都是通过它调用的,比如我们进行服务器签名验证

这里使用开源框架来替换我们之前写的工具类,记得这里多了一个参数,看,现在使用开源框架我们一行代码就可以搞定服务器验证,而不使用框架的话我们就得自己实现验证的工具类了。

解决token调取上限问题

其实在之前的操作中一直隐藏着一个很大的问题,那就是AccessToken的问题,因为调用任何接口基本上都要用到AccessToken,但是每调用一次产生的AccessToken两小时后自动失效,就要重新调用,也许你会说,两个小时足够了啊,可是我们进行本地调试的时候,免不了重启服务器,这样AccessToken就会被刷新,所以很可能会出现一个AccessToken调取达到上限的问题,因为AccessToken的调用每天是有限制的,所以,这里对AccessToken采用硬编码。

也就是将调取得到的AccessToken进行硬编码,等到两个小时之后再次获取,使用框架获取AccessToken是这样的

String accessToken = iService.getAccessToken();

所以我这里新建一个MyWxService去继承WxService

/*** 继承自WxService以便修改响应方法* 比如对token的存储*/
public class MyWxService extends WxService {@Overridepublic String getAccessToken() throws WxErrorException {/*** token每天调取上限位2000次* 为避免达到上限* 将获得的token以硬编码方式存储* 一个token的使用时长有两个小时左右*///开发测试采用,两小时过后需要调用上线采用的方法刷新获取新的tokenreturn "12_2sztWZDG-06oyyQ5ObBFwW1TiN3LibX7nJ1FCoxLfVpj0TOdu0YLfwQHpCvZTIgi0mavu0B9D0wPQ3DA98e2lTGTB0gQLWHftgVLk1WnKcHCeSgDluza-tUzYKxxZqWDLImTwcjg1bnuy9yqCYAbACAUQS";//正常上线采用
//        return super.getAccessToken();}
}

需要获取AccessToken的话就是用新创建的MyWxService调用,也就是这样

IService iService = new MyWxService();
String accessToken = iService.getAccessToken();

如此一来就可以解决AccessToken调取上限问题。使用了框架之后对于公众号的具体业务开发,比如接收消息,响应消息或者用户管理等都变得非常简单了,剩下的就是看你的具体需求了。

根据你的需求,查看wx-tools的技术文档,实现具体的业务逻辑,就是你接下来要做的事了,本来想再举几个wx-tools的使用例子,可是人家的文档上已经写的很详细,所以就没必要再写了。

所以嘞,仔细看文档,仔细看文档,仔细看文档!!!


http://chatgpt.dhexx.cn/article/FtTMHAqU.shtml

相关文章

WxJava微信公众号开发实战

本文从本人博客搬运&#xff0c;原文格式更加美观&#xff0c;可以移步原文阅读&#xff1a;WxJava微信公众号开发实战 之前我们介绍了Java如何进行微信公众号开发&#xff0c;阅读本文前小伙伴们可以先去了解下Java微信公众号开发 之前我们开发微信公众号时&#xff0c;都是…

【程序源代码】微信公众号开发框架

关键字&#xff1a;java 管理系统 公众号开发框架 正文 | 内容 01 — 【概述】 本项目基于Spring Cloud 和Ant Design Pro实现前后端管理平台一站式脚手架&#xff0c;便于快速开发企业级应用。 02 — 【技术框架】 软件架构 核心框架&#xff1a;Spring Boot 2.2.5.RELEAS…

微信公众号开发(三)前端界面

有问题可以关注公众号&#xff1a;提着月亮去火星 由于该公众号主要的用途是用于公司售后服务,经沟通确定相关需求. 第一: 了解相关的UI框架,最终选定了Jquery-WeUI框架. 第二: 制作简单案例,在移动端进行测试,要达到移动端的自适应. 目前完成三个界面如下: 上面的就是 目前…

Java开发微信公众号之整合weixin-java-tools框架开发微信公众号

微信开发者接入文档 &#xff1a; https://mp.weixin.qq.com/wiki?tresource/res_main&idmp1421135319 微信公众平台测试账号申请&#xff1a; http://mp.weixin.qq.com/debug/cgi-bin/sandbox?tsandbox/login 一、前言 首先&#xff0c;在要做微信项目开发前&#xf…

微信公众号开发入门

实在是太折腾&#xff0c;太难懂了。也太坑了。 下面是这几天来&#xff0c;有关微信公众号的工作总结。算不上全面&#xff0c;只是作为一个初学者的记录&#xff0c;仅以备忘。 一、微信公众号开发&#xff0c;开发什么&#xff1f; 公众号与小程序不同。小程序类似手机AP…

微信公众平台快速开发框架源码

ASP.NET微信快速开发框架源码 微信公众平台快速开发框架源码 框架主要技术&#xff1a; ASP.NET MVC5、ASP.NET Identity、Bootstrap、KnockoutJs、Entity Framework等。 主要特色&#xff1a; 快速迭代开发&#xff0c;提供最好的威信开发框架&#xff1b; 基于ASP.NET MVC5Bo…

微信公众号开发,原来这么简单?[java框架]

终于有时间更新啦&#xff01;&#xff01;最新教程双手奉上&#xff01;公众号开发之wx-toolsspringboot应用实战-音乐爬虫推送[JAVA] 下面都是旧的教程&#xff0c;建议参考上面最新的教程~~ 可能你不知道&#xff0c;有个框架叫wx-tools&#xff08;小心翼翼地说&#xff09…

公众号开发(2) —— 盛派.net SDK + vue搭建微信公众号网页开发框架

需求&#xff1a;通过微信公众号菜单跳转到手机端网页&#xff0c;跳转后通过微信授权登录获取微信公众号用户的OpenId&#xff08;用户关注公众号后&#xff0c;用户在公众号的唯一凭证&#xff09;&#xff0c;通过OpenId和后台数据库用户信息绑定起来并实现一些业务逻辑。 技…

微信公众号开发框架讲解

微信公众号的开发在基于微信给的开发文档基础上&#xff0c;特别做微商城那底层用Java框架会相当方便。下面长沙Java培训给大家具体讲讲微信公众号开发框架&#xff1a; 核心框架&#xff1a;Spring Boot2 Spring Cloud Alibaba Spring Cloud Gateway 配置中心、注册中心&am…

人工智能博弈树极大极小搜索算法alpha-beta剪枝实现五子棋,带禁手

由于2020的特殊情况&#xff0c;导致了一个被拖了挺久的大作业。。。。 五子棋其实大家很多时候会在闲暇时刻和朋友随便玩玩&#xff0c;这不仅让我回忆起了高中时候摸鱼休息就喜欢和同学在自己打的格子中用铅笔来一盘五子棋&#xff0c;回想起来确实是至今以来最快乐的一段时光…

基于Python的人机交互的五子棋博弈树搜索

1. 算法原理 1.1 博弈树 博弈树针对的是二人零和博弈的问题&#xff0c;二人轮流行动&#xff0c;行动时令自己的优势最大。二人零和博弈有如下特点&#xff1a; 确定性&#xff1a;二人的行动有多种选择&#xff0c;但最终的行动是确定的信息完备性&#xff1a;博弈双方知道…

C++实现基于博弈树的5x5一子棋人机对战

基于博弈树的5x5一子棋人机对战 919106840637实验2 这是智能计算三个课程实验的第二个实验&#xff0c;即博弈树搜索 。我之前对博弈树的了解不多&#xff0c;所以实现起来比较的简略&#xff0c;仅仅是基本达到了要求 实验语言 C 实验内容 实践博弈树搜索——“5x5格子的一…

人工智能作业——搜索树博弈树一阶逻辑表达式CNF范式

1. 人工智能定义 1. 简述什么是人工智能 人工智能可分为两个维度:一个维度是从思维推理过程到行为结果(过程与结果);另一个维度是与人类表现的逼真度到数学与工程结合后的精确性(主观与客观)。 像人—样行动&#xff1a;图灵测试的途径&#xff1b;像人—样思考&#xff1a;认…

AlphaBeta剪枝算法求解博弈树最优选择 头歌实验平台

AlphaBeta剪枝算法求解博弈树最优选择 头歌实验平台 前言一、AlphaBeta剪枝是什么&#xff1f;1.由来, 最大最小决策树2.发展3. AlphaBeta剪枝 二、实验算法伪代码三、实验算法代码四、实验结果在这里插入图片描述 五、感谢 前言 产生本文的缘由 人工智能原理课程 可选实验 “…

并行博弈树搜索算法-第3篇 优秀的园丁:Alpha-Beta算法

3.1 Alpha-Beta算法 虽然博弈树的状态是有限的,但是状态个数却非常多.假设博弈树的深度为d,每个结点有b个分支,即分支因子&#xff08;branchingfactor&#xff09;为b,那么使用Min-Max方法搜索这个博弈树需要搜索个结点. 然而幸运的是,Min-Max方法的一些搜索是没有必要的,…

利用α-β搜索的博弈树算法编写一字棋游戏 python

游戏规则 “一字棋"游戏&#xff08;又叫"三子棋"或"井字棋”&#xff09;&#xff0c;是一款十分经典的益智小游戏。“井字棋"的棋盘很简单&#xff0c;是一个 33 的格子&#xff0c;很像中国文字中的"井"字&#xff0c;所以得名"井字…

博弈树 极小极大分析法

一、博弈概述 博弈特点&#xff1a; &#xff08;1&#xff09;博弈的初始格局是初始节点 &#xff08;2&#xff09;在博弈树中&#xff0c;“或”和“与”是交替出现的。自己一方的扩展节点是“或”关系&#xff0c;对方扩展的节点是“与”关系。双方轮流扩展节点。 &…

第6-2课:决策树、博弈树和行为树

在以各种“XX学习”为代表的人工智能技术普及之前,游戏里常见的角色 AI 都是各种预设的行为逻辑,比如博弈树和行为树,当然也会用到各种专家知识库。当这些预设的行为逻辑足够复杂的时候,往往会让游戏玩家觉得游戏里的人物很“智能”。从本质上来说,这些都还不算是真正的 A…

并行博弈树搜索算法-第4篇 更上一层楼:Alpha-Beta算法的改进

在Alpha-Beta算法被广泛运用后,对该算法的很多改进算法也相继被提出.这些改进算法主要在以下几个方面对Alpha-Beta算法进行改进[7]: 1. 择序&#xff08;ordering&#xff09;.在搜索博弈树时,内部结点有多个可能的移动.择序指的是搜索这些分支的顺序.择序影响着搜索叶结点的个…

博弈树的启发式搜索

什么是博弈树 在博弈过程中, 任何一方都希望自己取得胜利。因此,当某一方当前有多个行动方案可供选择时, 他总是挑选对自己最为有利而对对方最为不利的那个行动方案。 此时,如果我们站在A方的立场上,则可供A方选择的若干行动方案之间是“或”关系, 因为主动权操在A方手里,他或…