首页 > 编程语言 >记录--微信小程序获取用户信息的最新方法记录

记录--微信小程序获取用户信息的最新方法记录

时间:2022-12-07 17:58:51浏览次数:474  
标签:code 记录 -- 微信 用户 获取 res wx

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助

微信小程序获取用户信息的几种方式

以下三种方式都无法获取到用户的openID

1. 开放组件获取用户信息<open-data></open-data>该功能已无效

  • 该组件的type属性根据不同的属性值可以展示用户不同的信息
  • 该方式不需要授权,因为该方式值能获取到当前登录用户自己的基础信息
  • 但是该方法获取的用户信息只能展示,不可以通过js方法获取到
  • 组件功能调整 开发者在未获取用户明示同意的情况下通过 组件 在小程序中展示用户个人信息,用户容易误以为自己的个人信息在未授权的情况下,被小程序获取。平台计划从2022年2月21日24时起回收通过展示个人信息的能力,若小程序需收集用户昵称头像等信息,可以通过 头像昵称填写功能 功能进行收集。具体回收方式为:

头像展示 灰色头像

用户昵称展示“微信用户”

用户性别、地区、语言展示为为空(“”)

<open-data type="userAvatarUrl">用户头像</open-data>
<open-data type="userNickName">用户昵称</open-data>
<open-data type="userCountry">用户国家</open-data>
<open-data type="userCity">用户城市</open-data>

2. wx.getUserInfo({})方法

  • 该api只有已经授权过的用户才会被获取到信息,没有授权过的话调用是没用用的
wx.getUserInfo({
    success: (res)=>{
        console.log(res)
    }
})

3. 配置open-type属性

  • 该方法可以弹出授权框,授权后可使用上面第二种方法获取用户信息

使用bindgetuserinfo属性绑定事件,该事件出发后有一个event参数,

<button open-type="getUserInfo"
        bindgetuserinfo="onGetuserinfo">
    获取用户信息
</button>

onGetuserinfo(event){ //
    console.log(event)
},

想要获取到用户的openID有两种方法

1. 传统的小程序开发

1.  调用wx.login方法成功后获取到code
2.  使用wx.request发起网络请求将code传递给后端服务器
3.  后端会使用code换取到openid和session_key后再返回给前端
onLoad: function(options) {
    wx.login({
      success: function(res) {
        if (res.code) { //如果调用wx.login后获取到code
          //发起网络请求
          wx.request({
            url: '后端接口',
            data: {
              code: res.code
            },
            success: function(res) {
              const self = this
              if (逻辑成功) {
                //获取到用户凭证 存儲 3rd_session 
                var json = JSON.parse(res.data.Data)
                wx.setStorage({
                  key: "third_Session",
                  data: json.third_Session
                })
                getUserInfo()
              } else {
 
              }
            },
            fail: function(res) {
 
            }
          })
        }
      },
      fail: function(res) {
 
      }
    })
}

2. 小程序云开发

创建微信小程序云开发项目后,云函数中会自带一个login云函数,该云函数中已经有获取用户openid的方法,调用该云函数后会返回当前小程序的appid和openid

wx.cloud.callFunction({
    name: 'login'
}).then((res)=>{
    console.log(res)
})

https://www.niwoxuexi.com/blog/wechat/article/1938

如果对您有所帮助,欢迎您点个关注,我会定时更新技术文档,大家一起讨论学习,一起进步。

 

标签:code,记录,--,微信,用户,获取,res,wx
From: https://www.cnblogs.com/smileZAZ/p/16963825.html

相关文章

  • AmazonS3对象存储实现增删查
    1importcom.amazonaws.AmazonServiceException;2importcom.amazonaws.SdkClientException;3importcom.amazonaws.auth.AWSStaticCredentialsProvider;4......
  • http常见状态码有哪些?【杭州多测师_王sir】【杭州多测师】
    一、1开头的状态码(信息类)100:接受的请求正在处理,信息类状态码二、2开头的状态码(成功类)2xx(成功)表示成功处理了请求的状态码200:(成功)服务器已成功处理了请求。三、3开......
  • Vue视频 | 【Vue2 + Vue3 前端教程】完整版
    目前大部分公司还是以vue、react技术为主的,而Vue中还是以Vue2为主流,但不可否认Vue3是未来所必须的且已有这个趋向了今天给大家介绍一个Vue的教程里面既有现在主流的Vue2......
  • vue+element列表排序
    1.默认排序很简单在el-table标签中加入默认属性:default-sort="{prop:'date',order:'descending'}"然后在单独一列中<el-table-columnprop="date"l......
  • scrapy架构介绍,scrapy中settings相关配置,scrapy中的request和response
    scrapy架构scrapy解析数据settings相关配置,提高爬取效率持久化方案全站爬取cnblogs文章request和response对象传递参数解析下一页并继续爬取爬虫......
  • 生成器
    目录生成器一.生成器对象1.本质2.区别3.创建生成器的基本语法4.练习5.yield冷门用法二.生成器表达式生成器一.生成器对象1.本质还是内置有__iter__和__next__的迭代器......
  • 环境(局部)变量与全局变量的使用
     postman中的变量类型环境变量:实质是局部变量,理论上只能在某个请求中使用,使用时先添加环境变量,然后在窗口右上角选择创建的环境变量,然后在接口地址中或参数值中使用{{......
  • Python爬虫实战,requests模块,Python抓取虎牙直播美女封面图片
    前言今天给大家的介绍Python爬取海量美女图片并保存本地。开发工具Python版本:3.8相关模块:requests模块multiprocessing模块urllib模块json模块环境搭建安装Pyth......
  • bootstrap
    今日内容概要作业讲解jQuery查找标签jQuery节点操作jQuery事件绑定Bootstrap页面框架今日内容详细作业讲解1.校验用户数据 letusernameEle=document.ge......
  • Pycharm cannot set up a python SDK问题解决方法
    xcrun:error:invalidactivedeveloperpath(/Library/Developer/CommandLineTools),missingxcrun...解决方法:打开终端输入xcode-select--install回车后,系统......