Java后端如何实现使用uni-app获取微信小程序openid
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章将为大家详细讲解有关Java后端如何实现使用uni-app获取微信小程序openid,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。前言这个是纯
千家信息网最后更新 2025年12月02日Java后端如何实现使用uni-app获取微信小程序openid
这篇文章将为大家详细讲解有关Java后端如何实现使用uni-app获取微信小程序openid,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
前言
这个是纯前端(uniapp)获取openid的:https://my.oschina.net/u/4284277/blog/3168782
但是这个有一个问题就是小程序正式上线后无法拿到openid,所以更新了下面这个后端(Java)获取的,希望对你有帮助。
一、 介绍openid
微信开发时, 用户使用小程序需要授权, 这时就要用到openid进行绑定这个用户。 openid是微信用户在公众号appid下的唯一用户标识(appid不同,则获取到的openid就不同),可用于永久标记一个用户,同时也是微信JSAPI支付的必传参数。
1. 为什么要使用openid呢?
openid是指这个用户在某一个小程序中授权后的唯一标识(比如你的身份证)
2. 如果不使用会带来什么问题呢?
第一次授权时将用户数据保存到数据库, 然后用户把缓存清理了, 第二次授权的时候我们就无法知道这个用户是否授权过。用户就会重新保存一份新的数据进数据库。这是不符合正常逻辑的,因为如果该用户买过东西,再次授权,东西都看不到了,会像新的号一样。当然了, 有的设计是有自己的记录方式的,比如需要注册登录。
3. openid如何获取?
需要用到wx指定的接口
二、 实现
1. uniapp
//@author 兮赫uni.login({ success: res => { //code值(5分钟失效) console.info(res.code); uni.request({ //改成自己的服务地址 url:'http://192.168.1.4:10010/wx/getOpenid/'+res.code, method:'GET', success: (res) => { //这里就拿到openid了,不过一般都是直接在后端使用了,不需要拿到前端了,我就是为了做个演示。 console.info(res); } }) }});2. pom依赖
HttpClient的依赖和json转换的依赖
com.alibaba fastjson 1.2.54 org.apache.httpcomponents httpclient 4.5.10
3. Java接口
/** * @author 兮赫 * 微信controller */@RestController@RequestMapping("/wx")public class WChat { //小程序appid ,需要改为真实的 private final static String APPID = "wx3599fdagf87366c9"; //小程序secret ,需要改为真实的 private final static String SECRET = "1a5567978djhs875ss8s2397er57jce"; /** * 通过 appid & secret & code 获取 openid * @param code */ @GetMapping("/getOpenid/{code}") public String getOpenid(@PathVariable String code) throws IOException { //wx接口路径 String url = "https://api.weixin.qq.com/sns/jscode2session?grant_type=authorization_code&" + "appid=" + APPID + "&secret=" + SECRET + "&js_code=" + code; //使用HttpClient发送请求 CloseableHttpClient httpclient = HttpClients.createDefault(); //发送Get请求 HttpGet request = new HttpGet(url); request.addHeader("Content-Type", "application/json"); //获得响应 CloseableHttpResponse response = httpclient.execute(request); //拿到响应体 HttpEntity httpEntity = response.getEntity(); //使用工具转换 String result = EntityUtils.toString(httpEntity, "UTF-8");// 转成string JSONObject jsonObject = JSONObject.parseObject(result); System.out.println(jsonObject);//拿到的所有内容 String openid = jsonObject.get("openid").toString(); System.out.println(openid);//拿到的openid return openid; }}关于Java后端如何实现使用uni-app获取微信小程序openid就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
用户
程序
数据
内容
接口
不同
东西
前端
就是
数据库
文章
更多
标识
知识
篇文章
问题
帮助
不错
公众
再次
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
风暴峭壁服务器
恐鬼症手游怎么设置服务器
网络安全应注意的问题
免费数据库mysql
政企部门网络安全培训
凉山软件开发成交价
网络安全意识1000字
中国金融科技软件开发公司排名
闵行区项目数据库服务销售
服务器3c证书
jdbc删除数据库表格
数据库1294
双线机房和服务器
不同的ad域服务器信任
护航网络安全教育活动
监测服务器访问ip
企业网络安全问卷调查目的
app 服务器端安全架构
网络安全威胁解决方案
vb代码和数据库连接
计算机网络安全竞赛官网
哪个数据库可以帮我们学习英语
香港云服务器浏览youtube
界面服务器
天津正规软件开发要求
南京果蔬配送软件开发
软件开发职业技能规划书
私人 服务器
sas 建立数据库
服务器怎么用管理口看型号