微信小程序静默登录的实现代码
微信(小程序)  /  管理员 发布于 4年前   599
1.通过 wx.login获取 登录凭证(code) 2.在此处获得 appid 和 secret :https://developers.weixin.qq.com/sandbox 如图 3.小程序端 http://127.0.0.1:8080/jeecg-boot 这一段是自己的访问路径 4.后台代码 工具类 到这里 就能得到openid了 总结 以上所述是小编给大家介绍的微信小程序静默登入的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对站的支持!wx.login({ success: function (res) { console.log(res.code); } })
//app.jsApp({ globalData: { appid: '', appsecret: '',// openid: '' } onLaunch: function () { var that =this; // 登录 wx.login({ success: function (res) { console.log(res.code) wx.request({ url: 'http://127.0.0.1:8080/jeecg-boot/hwork/hworkLog/GetOpenIdServlet', data: { appid: that.globalData.appid, secret: that.globalData.appsecret, js_code: res.code, grant_type: 'authorization_code' }, method: 'POST', header: { 'Content-Type': 'application/x-www-form-urlencoded' }, success: function (res) { console.log(res) //转json var j= JSON.parse(res.data.result) //获取到openid that.globalData.openid = j.openid; } }) } }) }})
package org.jeecg.modules.hworkorder.util;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.HttpURLConnection;import java.net.URL;public class WeChatService { /** * 调用对方接口方法 * @param path 对方或第三方提供的路径 * @param data 向对方或第三方发送的数据,大多数情况下给对方发送JSON数据让对方解析 */ public static String interfaceUtil(String path,String data) { String openId=""; try { URL url = new URL(path); //打开和url之间的连接 HttpURLConnection conn = (HttpURLConnection) url.openConnection(); PrintWriter out = null; //请求方式// conn.setRequestMethod("POST");// //设置通用的请求属性 conn.setRequestProperty("accept", "*/*"); conn.setRequestProperty("connection", "Keep-Alive"); conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"); //设置是否向httpUrlConnection输出,设置是否从httpUrlConnection读入,此外发送post请求必须设置这两个 //最常用的Http请求无非是get和post,get请求可以获取静态页面,也可以把参数放在URL字串后面,传递给servlet, //post与get的 不同之处在于post的参数不是放在URL字串里面,而是放在http请求的正文内。 conn.setDoOutput(true); conn.setDoInput(true); //获取URLConnection对象对应的输出流 out = new PrintWriter(conn.getOutputStream()); //发送请求参数即数据 out.print(data); //缓冲数据 out.flush(); //获取URLConnection对象对应的输入流 InputStream is = conn.getInputStream(); //构造一个字符流缓存 BufferedReader br = new BufferedReader(new InputStreamReader(is)); String str = ""; while ((str = br.readLine()) != null) { openId=str; System.out.println(str); } //关闭流 is.close(); //断开连接,最好写上,disconnect是在底层tcp socket链接空闲时才切断。如果正在被其他线程使用就不切断。 //固定多线程的话,如果不disconnect,链接会增多,直到收发不出信息。写上disconnect后正常一些。 conn.disconnect(); System.out.println("完整结束"); } catch (Exception e) { e.printStackTrace(); } return openId; } public static String GetOpenID(String appid,String appsecret,String Code) { //临时登录凭证 String URL = "https://api.weixin.qq.com/sns/jscode2session?appid="+appid+"&secret="+appsecret+"&js_code="+Code+"&grant_type=authorization_code"; String openId=interfaceUtil(URL, ""); return openId; }}
@RestController@RequestMapping("/hwork/hworkLog")@Slf4jpublic class hworkLogContrller {@RequestMapping(value = "/GetOpenIdServlet", method = RequestMethod.POST) public Result
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!您可能感兴趣的文章:
123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..路人 在
php中使用hyperf框架调用讯飞星火大模型实现国内版chatgpt功能示例中评论 教程很详细,如果加个前端chatgpt对话页面就完美了..Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号