【Spring Boot 快速入门】二十一、基于Spring Boot 开发一个微信小程序

简介: 【Spring Boot 快速入门】二十一、基于Spring Boot 开发一个微信小程序

前言


  嗨,大家好,现在微信使用的用户很多,作为开发人员也可以建立一个自己的微信小程序,本期与大家分享一下作者建立微信小程序的开发流程。


申请


百度搜索微信公众号平台,然后扫码登录注册一个微信公众号,image.png

  进入申请页面之后,需要及时完善小程序相关信息。


image.png


首次进行微信小程序的开发,需要在开发者管理中,找到开发者设置中可以查看我们需要的开发者ID,开发者ID主要包含:AppID(小程序ID)和AppSecret(小程序密钥),需要注意的是出于安全考虑,AppSecret不再被明文保存,忘记密钥请点击重置,因此我们申请了和AppSecret之后,需要记录下来,如果忘记的话,就需要重新申请可能导致线上项目失效。

  在开发者ID最下面,可以设置常用的域名信息。需要注意的是所有设置的域名必须是HTTPS的域名,设置好域名之后就可以开发微信小程序啦。

image.png


开发


后端


  开发微信小程的后端框架选择,本次开发一个【在线实用工具箱】,主要是供个人使用的,所以后台就选择了Spring Boot 作为基础进行开发,数据库是使用MySQL。整个项目的目录如下所示。


image.png


 整个后端的项目开发与正常项目开发一致,主要是给小程序提供服务接口信息。目前已经实现的主要功能:服装尺码对照表、谚语大全、车牌查询、全国邮编查询、全国区号查询、好玩手持弹葆、BM计算器、数字转大写、笑话大全、生肖查询、血遗传查询、历史朝代表等功能,更多功能正在完善中。

  需要特别注意的是,在有用户输入新碟接口中,需要对输入信息进行敏感词校验,否则在审核的过程中无法通过。小程序为我们提供了敏感信息校验的接口,这个接口是免费的,因此直接调用即可。


检查一段文本是否含有违法违规内容调用接口代码如下:


Map<String,String> map = new HashMap<>();
map.put("content",text);
String post1 = HttpUtil.post(postUrl+token,
        JSON.toJSONString(map));
log.info("请求参数是:{},数据校验返回信息是:{}",text,post1);
JSONObject jsonObject = JSONObject.parseObject(post1);
int code = (int) jsonObject.get("errcode");
if(code==0){
    return "0";
}else {
    return "1";
}


 由于需要与微信小程序进行交互,因此在配置文件中需要把经常使用的微信服务的后台地址配置在配置文件中,当调用时直接取值即可。 application.properties配置文件如下


server.port=8080
# mysql
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?useSSL=false&useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=Asia/Shanghai
spring.datasource.username=test
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
mybatis.mapper-locations=classpath*:mapper/**/*.xml
# 开启swagger bootstrap ui
swagger.enable=true
#swagger.enable=true
wx.access_token_url=https://api.weixin.qq.com/cgi-bin/token
wx.access_token_grant_type=client_credential
wx.access_token_appid=wx123456789
wx.access_token_secret=2e741123456789
wx.access_token_post=https://api.weixin.qq.com/wxa/msg_sec_check?access_token=
wx.access_token_rk_url=https://api.weixin.qq.com/cgi-bin/token
wx.access_token_grant_rk_type=client_credential
wx.access_token_rk_appid=wx0123456789
wx.access_token_rk_secret=430c123456789
wx.access_token_rk_post=https://api.weixin.qq.com/wxa/msg_sec_check?access_token=

  

在与微信小程序交互的过程中,需要根据appid和secret去获取当前请求的小程序的token。在请求其他服务的过程中需要使用到token信息。例如下面进行的敏感文本信息校验功能等。


public String getToken(){
    String token = HttpUtil.get(url+"?grant_type=" + type + "&appid=" + appid + "&secret=" + secret);
    log.info("获取token返回信息是:"+token);
    JSONObject jsonObject1 = JSONObject.parseObject(token);
    String accessToken = (String) jsonObject1.get("access_token");
    return accessToken;
}


 后台使用的都是最基础的服务,主要是为小程序提供接口,启动项目之后,在Swagger中可以看到所有的接口信息。


image.png


调用一下查询车牌归属地的接口,输入北京,可以看到北京地区的车牌归属地信息已经正常返回即可为微信小程序提供查询服务。


image.png


前端


  上面的接口服务已经开发完成了,下面将基于微信开发者工具进行前端的开发,前端采用ColorUI组件库进行开发,在配置文件中引入即可使用。整体的开发页面如下图所示。


image.png


 需要注意的是在本地调试的过程中如果遇到无法访问服务接口的情况,需要在详情,本地配置中选择不校验合法域名这一条,否则本地的基本上请求不到服务。


image.png


 将上面后台中的本地服务启动,然后将域名信息配置到app.js中。这样就可以全局使用host: "http://localhost:8080"。如下图:


image.png


点击其中的一个页面,输入查询数据,可以看到正常访问到数据了,可以正常访问喽。


image.png


结语


  好了,以上就是基于Spring Boot 开发一个微信小程序的过程



目录
相关文章
|
11月前
|
前端开发 Java 应用服务中间件
《深入理解Spring》 Spring Boot——约定优于配置的革命者
Spring Boot基于“约定优于配置”理念,通过自动配置、起步依赖、嵌入式容器和Actuator四大特性,简化Spring应用的开发与部署,提升效率,降低门槛,成为现代Java开发的事实标准。
|
11月前
|
前端开发 Java 微服务
《深入理解Spring》:Spring、Spring MVC与Spring Boot的深度解析
Spring Framework是Java生态的基石,提供IoC、AOP等核心功能;Spring MVC基于其构建,实现Web层MVC架构;Spring Boot则通过自动配置和内嵌服务器,极大简化了开发与部署。三者层层演进,Spring Boot并非替代,而是对前者的高效封装与增强,适用于微服务与快速开发,而深入理解Spring Framework有助于更好驾驭整体技术栈。
|
11月前
|
XML Java 应用服务中间件
【SpringBoot(一)】Spring的认知、容器功能讲解与自动装配原理的入门,带你熟悉Springboot中基本的注解使用
SpringBoot专栏开篇第一章,讲述认识SpringBoot、Bean容器功能的讲解、自动装配原理的入门,还有其他常用的Springboot注解!如果想要了解SpringBoot,那么就进来看看吧!
838 2
|
12月前
|
人工智能 Java 机器人
基于Spring AI Alibaba + Spring Boot + Ollama搭建本地AI对话机器人API
Spring AI Alibaba集成Ollama,基于Java构建本地大模型应用,支持流式对话、knife4j接口可视化,实现高隐私、免API密钥的离线AI服务。
7619 2
基于Spring AI Alibaba + Spring Boot + Ollama搭建本地AI对话机器人API
存储 JSON Java
1039 0
|
人工智能 Java 开发者
【Spring】原理解析:Spring Boot 自动配置
Spring Boot通过“约定优于配置”的设计理念,自动检测项目依赖并根据这些依赖自动装配相应的Bean,从而解放开发者从繁琐的配置工作中解脱出来,专注于业务逻辑实现。
3056 0
|
12月前
|
消息中间件 人工智能 Java
抖音微信爆款小游戏大全:免费休闲/竞技/益智/PHP+Java全筏开源开发
本文基于2025年最新行业数据,深入解析抖音/微信爆款小游戏的开发逻辑,重点讲解PHP+Java双引擎架构实战,涵盖技术选型、架构设计、性能优化与开源生态,提供完整开源工具链,助力开发者从理论到落地打造高留存、高并发的小游戏产品。
|
小程序 JavaScript API
uni-halo + 微信小程序开发实录:我的第一个作品诞生记
这篇文章介绍了使用uni-halo框架进行微信小程序开发的过程,包括选择该框架的原因、开发目标以及项目配置和部署的步骤。
662 0
uni-halo + 微信小程序开发实录:我的第一个作品诞生记