zoukankan      html  css  js  c++  java
  • 微信小程序~App.js中获取用户信息

    (1)代码:主要介绍下获取用户信息部分

      onLaunch: function () {
        // 展示本地存储能力
        var logs = wx.getStorageSync('logs') || []
        logs.unshift(Date.now())
        wx.setStorageSync('logs', logs)
    
        // 登录
        wx.login({
          success: res => {
            // 发送 res.code 到后台换取 openId, sessionKey, unionId
          }
        })
        // 获取用户信息
        wx.getSetting({
          success: res => {
            if (res.authSetting['scope.userInfo']) {
              // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
              wx.getUserInfo({
                success: res => {
                  // 可以将 res 发送给后台解码出 unionId
                  this.globalData.userInfo = res.userInfo
    
                  // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
                  // 所以此处加入 callback 以防止这种情况
                  if (this.userInfoReadyCallback) {
                    this.userInfoReadyCallback(res)
                  }
                }
              })
            }
          }
        })

        onLaunch为小程序生命周期---小程序初始化

       

    (2)获取用户数据

          wx.getSetting({...})或者wx.openSetting({...})

         开发者可以调用 wx.openSetting 打开设置界面,引导用户开启授权

         参数:

        

        obj.success 的成功回调函数参数:

      

    wx.openSetting({
        success:function(res){
            
        }
    })
    或者

    wx.openSetting({
        success=>res{

        }
    })

    AuthSetting

    用户授权设置信息

    scope对应接口描述
    scope.userInfo wx.getUserInfo 用户信息
    scope.userLocation wx.getLocationwx.chooseLocation 地理位置
    scope.address wx.chooseAddress 通讯地址
    scope.invoiceTitle wx.chooseInvoiceTitle 发票抬头
    scope.invoice wx.chooseInvoice 获取发票
    scope.werun wx.getWeRunData 微信运动步数
    scope.record wx.startRecord 录音功能
    scope.writePhotosAlbum wx.saveImageToPhotosAlbumwx.saveVideoToPhotosAlbum 保存到相册
    scope.camera camera 组件 摄像头

    代码:

        // 获取用户信息
        wx.openSetting({
    /*接口调用成功的回调函数*/ success: res
    => {
    /*success成功回调函数的参数:authorSetting对象*/
    /*authSetting对象属性之一:scope.userInfo授权用户信息*/
    if (res.authSetting['scope.userInfo']) { /*scope.userInfo(是否授权用户信息,对应接口 wx.getUserInfo)*/
    wx.getUserInfo({
    }) } } })

    (3)获取用户信息

        wx.getUserInfo(Object object)获取用户信息

        参数:

        

        object.success 回调函数的参数

       

        // 获取用户信息
        wx.openSetting({
          success: res => {
            if (res.authSetting['scope.userInfo']) {
              // 必须是在用户已经授权的情况下调用
              wx.getUserInfo({
                success: res => {
                  // globalData函数设置全局变量,方便其他页面调用。
                  this.globalData.userInfo = res.userInfo
                  // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
                  // 所以此处加入 callback 以防止这种情况
                  if (this.userInfoReadyCallback) {
                    this.userInfoReadyCallback(res)
                  }
                }
              })
            }
          }
        })

        globalData函数设置全局变量,详见下篇文章使用globalData函数设置全局变量

    .

  • 相关阅读:
    统计字符的有效字数
    Ubuntu Wifi网络连接不上或经常断网
    Git实战指南----跟着haibiscuit学Git(第十一篇)
    Git实战指南----跟着haibiscuit学Git(第十篇)
    Git实战指南----跟着haibiscuit学Git(第九篇)
    Git实战指南----跟着haibiscuit学Git(第八篇)
    Git实战指南----跟着haibiscuit学Git(第七篇)
    Git实战指南----跟着haibiscuit学Git(第六篇)
    linux之网络命令
    Ceph实战入门之安部署篇
  • 原文地址:https://www.cnblogs.com/fightjianxian/p/11111484.html
Copyright © 2011-2022 走看看