找回密码
 立即注册

SpringBoot对接微信小程序的开发教程

匿名  发表于 2023-3-10 09:45:36 阅读模式 打印 上一主题 下一主题
Spring Boot对接微信小法式的开辟教程。
步调一:注册微信小法式

在起头之前,你需要先注册一个微信小法式账号,注册链接:https://mp.weixin.qq.com/
注册后,你需要在小法式背景获得到小法式的appId和appSecret,这两个参数在后续的开辟进程中会用到。

SpringBoot对接微信小法式的开辟教程-1.jpg
步调二:建立Spring Boot项目

在当地建立一个Spring Boot项目,可以利用Maven或Gradle停止构建。这里以Maven为例,建立一个根本的Spring Boot项目。
在pom.xml文件中增加以下依靠:
  1. xmlCopy code
  2. <dependency>
  3.     <groupId>com.github.binarywang</groupId>
  4.     <artifactId>weixin-java-miniapp</artifactId>
  5.     <version>3.8.0</version>
  6. </dependency>
复制代码
这个依靠是我们要用到的微信小法式Java SDK,可以帮助我们快速对接微信小法式的接口。
步调三:设置微信小法式参数

在application.properties文件中增加以下设置:
  1. Copy code
  2. wx.miniapp.appid=your-appid
  3. wx.miniapp.appsecret=your-appsecret
复制代码
其中,your-appid和your-appsecret别离是在微信小法式背景获得到的appId和appSecret。
然后在Java代码中读取这些设置参数:
  1. javaCopy code
  2. @Configuration
  3. @ConfigurationProperties(prefix = "wx.miniapp")
  4. public class WechatMiniAppConfig {
  5.     private String appid;
  6.     private String appsecret;
  7.     // getters and setters
  8. }
复制代码
步调四:实现微信小法式登录接口

在Spring Boot中,我们可以利用@Controller和@ResponseBody注解来实现Web接口。
首先,我们需要建立一个接口,用于处置微信小法式的登录请求:
  1. javaCopy code
  2. @Controller
  3. @RequestMapping("/api/wechat")
  4. public class WechatMiniAppLoginController {
  5.     @Autowired
  6.     private WechatMiniAppConfig wechatMiniAppConfig;
  7.     @PostMapping("/login")
  8.     @ResponseBody
  9.     public Map<String, Object> login(String code) throws WxErrorException {
  10.         WxMaService wxMaService = new WxMaServiceImpl();
  11.         wxMaService.setWxMaConfig(new WxMaDefaultConfigImpl());
  12.         WxMaJscode2SessionResult session = wxMaService.getUserService().getSessionInfo(code);
  13.         Map<String, Object> result = new HashMap<>();
  14.         result.put("openid", session.getOpenid());
  15.         result.put("sessionKey", session.getSessionKey());
  16.         return result;
  17.     }
  18. }
复制代码
这个接口会接收微信小法式传递过来的code参数,然后经过Java SDK获得到用户的openid和sessionKey,最初返回给小法式端。
步调五:编写小法式端代码

最初,我们需要在小法式端挪用我们的登录接口,获得到用户的openid和sessionKey。
前端代码
  1. jsCopy code
  2. // 在App.js中界说全局变量
  3. App({
  4.   globalData: {
  5.     openid: null,
  6.     sessionKey: null
  7.   }
  8. })
  9. // 在登录页面的Page工具中界说login方式
  10. Page({
  11.   data: {
  12.     canIUse: wx.canIUse('button.open-type.getUserInfo')
  13.   },
  14.   onLoad: function () {
  15.     var that = this
  16.     wx.login({
  17.       success: res => {
  18.         // 发送 res.code 到背景调换 openId, sessionKey, unionId
  19.         wx.request({
  20.           url: 'https://your-hostname/api/wechat/login',
  21.           data: {
  22.             code: res.code
  23.           },
  24.           success: res => {
  25.             var app = getApp()
  26.             app.globalData.openid = res.data.openid
  27.             app.globalData.sessionKey = res.data.sessionKey
  28.           }
  29.         })
  30.       }
  31.     })
  32.   }
  33. })
复制代码
这个示例代码中,我们在App.js文件中界说了一个全局变量globalData,用于保存用户的openid和sessionKey。在小法式的登录页面中,我们利用wx.login方式获得用户的code,然后挪用我们在步调四中编写的登录接口,获得到用户的openid和sessionKey,最初将这些数据存储到全局变量中。
需要留意的是,在现实开辟中,我们应当将登录逻辑封装成一个零丁的办事,供多个页面挪用。同时,在获得用户的openid和sessionKey后,我们还需要将这些数据存储到办事器端,用于后续的营业逻辑处置。假如你想深入进修微信小法式的开辟,倡议参考微信官方文档:[https://developers.weixin.qq.com/miniprogram/dev/](https://developers.weixin.qq.com/miniprogram/dev/)
本期给大师保举一些生活好物,感爱好的可以点击下方商品链接检察购物。
回复

使用道具

说点什么

您需要登录后才可以回帖 登录 | 立即注册
HOT • 推荐

神回复

站长姓名:王殿武 杭州共生网络科技 创始人 云裂变新零售系统 创始人 飞商人脉对接平台 创始人 同城交友聚会平台 创始人 生活经验分享社区 创始人 合作微信:15924191378(注明来意)