关于微信小程序如何调用wx.login获取openId和用户信息

这篇具有很好参考价值的文章主要介绍了关于微信小程序如何调用wx.login获取openId和用户信息。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

首先我们需要在微信开发小工具获取code临时登录凭证,下面是js文件也就是一些需要调用的函数。需要做这个的话我们需要上微信公众平台获取AppId和AppSecret

Page({
  data: {},
  onLoad: function (options) {
    //页面初始化调用本方法 options为页面跳转所带来的参数

  },
  tapClick: function () {
    //这个是微信提供的接口,调用成功之后会返回一个临时登录凭证
    wx.login({
      success: function (res) {
          console.log(res.code);
      }
    })
  },
  Click:function(){
    //这个是微信提供的接口,调用成功之后会返回一些用户基本的信息
    wx.getUserProfile({
      desc: '获取用户信息',
      success:(res)=>{
        console.log(res)
      }
    })
  }
})

这个是页面

<button type="primary" bindtap="tapClick">获取code</button>
<button type="primary" bindtap="Click">获取用户基本信息</button>

这是获取到的code

关于微信小程序如何调用wx.login获取openId和用户信息

本来获取用户信息是getUserInfo但是微信官方已经把那个接口废弃了,只能获取到一些默认的信息了,现在这个wx.getUserProfile也只能获取用户名和头像之类的,我们获取到code之后,然后把code给到后端。后端代码如下,把code、应用id和密钥填上去就可以了

String appId = "";
String appSecret = "";
String code = "";
HttpResponse execute = HttpRequest.get("https://api.weixin.qq.com/sns/jscode2session?appid=" + appId + "&secret=" + appSecret + "&js_code=" + req.getCode() + "&grant_type=authorization_code").execute();
JSONObject jsonObject = new JSONObject(execute.body());
if(jsonObject.containsKey("errcode")){
  throw new BusinessException("获取密钥和openId失败");
}
String openid = jsonObject.getStr("openid");
String sessionKey = jsonObject.getStr("session_key");
System.out.println("openId " + openid);
System.out.println("session_key " + sessionKey);

//HttpRequest用的是hutool的一个工具类,依赖如下
/*
     <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>5.8.4</version>
     </dependency>
/*

关于微信小程序如何调用wx.login获取openId和用户信息

这样就可以获取到openId和密钥了,看他微信新更新的公告说用wx.login可直接获取openId,但是不知道为什么我的不行。

关于微信小程序如何调用wx.login获取openId和用户信息

本来我以为用户信息需要解密才能获得,没想到他换这个wx.getUserProfile接口已经可以获得了,通过解密获得的信息和这个一模一样,只是后面多了一串签名之类的直接rawData,只是现在地区之类的啥都不能获取了,就只能获取昵称头像之类的,后面微信官方连头像都不能获取了

关于微信小程序如何调用wx.login获取openId和用户信息文章来源地址https://www.toymoban.com/news/detail-507458.html

到了这里,关于关于微信小程序如何调用wx.login获取openId和用户信息的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【微信小程序】wx.login实现用户登录

    之前用手机号授权的方式实现登录,现在重新整理成笔记 (1)前端通过wx.login()获取登录凭证code,每次调用的code均不同,有效时间5分钟,每个code可验证一回 (2)前端通过wx.request(我这里是用封装好的request.login)将code发送给后端 (3)后端将appid,appSecret(密钥)和code发送给微信接口

    2024年02月08日
    浏览(38)
  • 关于微信小程序调用H5腾讯地图API获取定位信息提示失败问题--解决办法之一

    在跳转到H5页面加载腾讯地图API获取定位信息时,“真机调试”、“开发模式”都可以使用 web-view 组件访问我需要的路径。只有“体验版”、“线上版本”会出现这个错误提示。正常加载都是正常的,但是因为腾讯地图API在获取定位信息的同时,会在页面上内嵌一个隐藏的

    2024年04月26日
    浏览(37)
  • 微信接口wx.login()、wx.request()中获取的内容不能赋值给全局变量(已解决)

    微信接口wx.login()、wx.request()中获取的内容不能赋值给全局变量(已解决) 在写登录模块的时候,需要使用微信的 wx.login() 接口获取临时code,并利用临时code向开发者服务器端发送请求,然后获取openid以及session_key。 官方提供的模板: 我开始的想法 : 在onLoad中按照顺序执行两

    2024年02月09日
    浏览(29)
  • 微信小程序通过wx.navigateBack实现返回上一个页面并调用方法

    需求 从A页面跳到B页面,B页面执行完所有步骤后返回A页面并调用A页面的方法 实现方法 主要用到 wx.navigateBack 和 wx.navigateTo 两个路由跳转方法,从A跳向B需要使用 wx.navigateTo ( 千万不能使用wx.redirectTo,这个跳转后页面就会销毁,无法通过wx.navigateBack返回 ) 参考文档 小程序官方对路

    2024年02月15日
    浏览(28)
  • 【微信小程序内嵌H5调用wx.miniProgram.navigateTo跳转无效问题】

    之前项目遇到的,各种判断逻辑都走通了,代码走到wx.miniProgram.navigateTo面前了就是跳转不了,试了很多种方法,都怀疑是这个api不适用了,结果一次尝试,发现还是地址的问题。 客户给的跳转地址: “pages/check/index/index.html?type=1” 试过但没成功的地址: “/pages/check/index/i

    2024年02月16日
    浏览(43)
  • 微信小程序-关于新版隐私协议接口wx.onNeedPrivacyAuthorization的适配解读以及实现代码

    代码插件已集成,即插即用, 五分钟集成进项目, 免费下载 ,欢迎大家交流  微信小程序用户隐私保护协议弹窗插件下载 官方公告地址:关于小程序隐私保护指引设置的公告 | 微信开放社区 1、首先看一下这个网址,里边包含涉及到的隐私的接口,这些接口都要适配一下,否则将会

    2024年02月10日
    浏览(38)
  • 微信小程序中使用 wx.getLocation获取当前详细位置并计算距离

    wx.getLocation只能够获取经纬度,不能够拿到详细地址;如果你的项目刚好也使用腾讯地图的api,那么可以通过腾讯地图的逆解析就能拿到详细地址了; 先介绍一下wx.getLocation()方法的使用; 此方法可以获取当前的经纬度和速度、高度;官网链接 想要使用这个方法,先需要在

    2024年02月08日
    浏览(37)
  • 【微信小程序】通过调用 wx.navigateBack() 方法来退出当前界面并返回上一个界面

    在点击某个按钮或执行某个条件时触发,示例代码: 在这个示例中, delta 参数指定了要返回的界面数。如果你只想返回上一个界面,可以将 delta 设置为 1。如果你想返回更多的界面,可以增加 delta 的值。 在小程序中,tabBar 页面的返回操作与非 tabBar 页面有所不同。通常,

    2024年02月13日
    浏览(32)
  • uni-app调用微信小程序接口报错Component “pages/login/login“ does not have a method “onChooseAvatar“

    在uni-app中尝试使用接口获得用户头像 但是出错了 vue中template配置: methods配置: 点击按钮报错: Component \\\"pages/login/login\\\" does not have a method \\\"onChooseAvatar\\\" to handle event \\\"chooseavatar\\\" 将bind:chooseavatar=\\\"onChooseAvatar\\\"修改为@chooseavatar=\\\"onChooseAvatar\\\"解决 例如:将原 bind:chooseavatar=\\\"onChooseAvatar\\\" 语

    2024年02月12日
    浏览(36)
  • 微信小程序授权登录wx.getUserProfile获取不到昵称及头像解决方案

    半年前做的个小程序,更新了二个文字,重新上传审核通过,悲剧了,新用户的昵称全部变为微信用户,头像全部变为默认头像,查了半天代码没找到原因,相当头大,搜了一下文档,尴尬了,11月9号新更新的规则,不再返回昵称和头像值....需要用头像昵称获取能力去触发获

    2024年02月11日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包