夜雨聆风学习资料网

ARTICLE · 1246685

【程序源代码】微信公众号后端接口管理平台

【程序源代码】微信公众号后端接口管理平台

关键字:singBoot,WxJava, 微信公众号,多公众号,公众号回调,Java 微信开发

项目名称:微信公众号后端接口管理平台

项目介绍

本项目是基于 SpringBoot + WxJava SDK 开发的微信公众号后端演示 Demo,支持**多公众号同时接入**,封装公众号消息回调、事件处理、菜单管理等基础能力。项目为 WxJava 官方配套示例工程,提供完整消息处理器模板,开发者在此基础上快速拓展公众号业务,减少对接微信公众平台接口的重复开发工作。适合 Java 开发者学习微信公众号后端开发,也可作为课程设计、毕业设计公众号相关业务的参考模板。

项目工程结构

    项目主要技术框架

    3.1核心底层框架

    基于 SpringBoot 构建,集成 WxJava 微信开发 SDK,支持配置多个公众号 appId、secret,实现一套服务对接多个公众号;提供消息回调入口,不同公众号请求按 appId 路由到对应配置实例;支持 Redis 缓存 access_token;开发者实现 Handler 接口即可自定义回复消息、处理各类公众号事件。项目仅提供后端接口,无前端页面。

    3.2后端技术栈

    开发语言:Java8‑Java17

    核心框架:SpringBoot

    微信 SDK:WxJava(weixin‑java‑mp‑spring‑boot‑starter)

    工具:Lombok

    缓存:Redis(可选,用于 token 缓存)

    构建工具:Maven

      3.3前端技术栈

      开发语言:JavaScript、Vue

      开发框架:UniApp

      开发工具:HBuilderX、微信开发者工具

      运行载体:微信小程序

        3.4 数据库

        本 Demo 默认不需要数据库,公众号账号信息全部写在 yml 配置文件; 如需持久化多公众号配置,需要自行扩展 MySQL 存储公众号 appId、secret、token、aesKey。

          3.5开发及生产环境

          开发环境:JDK8+,Maven3.6+,可选 Redis;IDE 推荐 IDEA 开源协议:Apache‑2.0 项目状态:持续维护的官方 Demo 示例

          项目状态:Demo 成品项目,适合学习二次开发。

          项目主要功能

          4.1 核心业务模块

          4.1.1 多公众号配置接入

          yml 配置文件支持配置多组公众号 appId、secret、token、EncodingAESKey,一套服务实例同时对接多个公众号。

          4.1.2 微信回调消息接收

          提供统一回调接口 /wx/portal/{appId},接收微信服务器推送的文本消息、事件消息,根据 appId 分发对应公众号配置实例。

          4.1.3 消息 & 事件处理器

          • 文本消息处理器:处理用户发送的文字消息,自定义回复内容
          • 关注 / 取消关注事件处理器:处理用户关注、取关公众号事件
          • 菜单点击事件处理器:处理自定义菜单点击事件
          • 其他事件可自行新增 Handler 实现拓展

          4.1.4 公众号 API 示例

          演示调用公众号基础 API,包括自定义菜单创建、查询、删除,获取用户信息等,可在此基础拓展模板消息、素材管理等能力。

          4.2 通用功能模块

          4.2.1Access_token 缓存

          支持开启 Redis 存储 access_token,避免频繁调用微信接口获取 token。

          4.2.2 消息 AES 加密解密

          完整支持公众号消息的 AES 加密 / 解密模式。

          4.2.3 可扩展 Handler 机制

          新增业务只需要新增 Handler 实现类,无需修改核心回调控制器,方便业务迭代。

          项目部署

          5.1 前置环境准备

          JDK8 及以上,Maven;Redis 为可选组件。

          注意:项目使用 Lombok,IDE 需要安装 Lombok 插件,否则编译报错。

          5.2 后端 SpringBoot 服务部署

          1. 克隆源码到本地
          2. 进入src/main/resources,复制application.yml.template重命名为application.yml;
          3. 修改 yml 配置,填入自己公众号的 appId、secret、token、aesKey;如需 Redis,修改 redis 相关配置;
          4. maven 打包编译
          mvn clean package -DskipTestsjava -jar target/wx‑java‑mp‑demo‑springboot‑xxx.jar

          5.3 首次运行配置

          1. 启动 WxMpDemoApplication;
          2. 服务器需要公网可访问域名,微信公众号后台配置接口回调地址:http://你的域名/wx/portal/你的公众号appId;
          3. 根据业务修改 handler 目录下各个处理器,实现自己的回复与事件逻辑。

          重要提示:微信回调接口必须是公网 80/443 端口,本地调试可使用内网穿透工具。

          5.4 常见故障排查

          1. Lombok 报错:IDE 安装 Lombok 插件,开启注解处理;
          2. 微信回调校验失败:核对 token,yml 冒号后面必须有空格;检查公网接口可外网访问;
          3. access_token 获取失败:核对 appId、appSecret 是否正确;网络是否可以访问微信开放平台接口;
          4. 多公众号不生效:确认 yml 中 configs 数组格式正确,每个公众号配置项完整。

          这个源码适合的学习人群

          该项目代码结构清晰、注释规范、无过度封装、轻量化易上手,极其适合四类人群学习:Java后端初学者、微信小程序开发学习者、计算机专业在校学生、个人开源项目爱好者。

          1.UniApp 小程序开发者,学习线下服务预约类小程序开发; 

          2. 计算机专业学生,按摩门店预约方向课程设计、毕业设计; 

          3. 二次开发人员,基于项目拓展推拿、理疗、到店服务类小程序。

          这个项目源码获取方式

          关注公众号,回复:微信公众号后端

          相关学习资料