微信小程序-获取openid
本文共 2,375 字,预计阅读时间 8 分钟
当需要获取当前用户的微信openid时,需要调用微信提供的接口进行获取,这里以从后端获取为例进行说明。
1.小程序代码
ts(之前叫js):
Page({ data: { info:'hello' }, clickMe:function(){ wx.login({ success(res) { if (res.code) { //发起网络请求 wx.request({ url: "http://localhost:8080/user/getInfo?code="+res.code, method: "POST", success(res){ console.log(res.data) } }) } else { wx.showToast({ title: '出现错误', icon: 'error', duration: 5000 }) console.log('出现错误!' + res.errMsg) } } }) }, onLoad() { this.setData({ }) }, })
wxml:
<view class="container log-list"> <button bindtap="clickMe">获取</button> </view>
2.后台代码
后端代码以springboot为模板
controller:
@RestController @RequestMapping("/user") public class TestController { /** * 获取微信的openid * * @param code * @return */ @PostMapping("/getInfo") public JSONObject getInfo(@RequestParam String code) { String wxspAppid = "appid,在微信公众平台获取"; String wxspSecret = "appSecret,在获取公众平台获取"; // 授权(必填)固定 String grant_type = "authorization_code"; Map<String, Object> params = new HashMap<>(); params.put("appid", wxspAppid); params.put("secret", wxspSecret); params.put("js_code", code); params.put("grant_type", grant_type); // 发送请求 String res = HttpUtil.post("https://api.weixin.qq.com/sns/jscode2session", params); JSONObject json = JSONObject.parseObject(res); log.info("解析code请求结果:" + json.toString()); //获取openid String openid = json.getString("openid"); log.info("openid=" + openid); return json; } }
引入的依赖:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.8.15</version> </dependency>
点击按钮后即可获取到用户信息
就是这么简单,你学废了吗?感觉有用的话,给笔者点个赞吧 !
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)