大白话理解-微信小程序获取授权

Posted π指针

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大白话理解-微信小程序获取授权相关的知识,希望对你有一定的参考价值。

学习目录


微信小程序前端直接获取授权

微信为什么要授权

  1. 微信用户授权,才可以操作微信官方的某些接口。
  2. 简单来说就是:微信定义了很多接口,然后他们认为有一部分是涉及到用户使用安全的,所以把这一部分划分了出来,然后这一部分按照功能来拆开各种范围。于是有了scope列表的东西,scope翻译为中文是范围的意思。(定位属于一个scope,摄像头调用也是一个scope)。
  3. 所以并不是一次授权全部scope都可以用,而是每一个scope都要问过用户,让用户自愿就可以(也就是摄像头同意了,不一定同意定位,这个我们都是非常清楚的)

微信怎么授权?

  1. 调用需要的权限就可以了 wx.xxxx

  2. 如微信文档提供的一些授权范围

  3. 代码演示一下,非常直接的在app.js 的onLauch下调用了这个方法,编译后提示是否授权微信步数

微信小程序入门之授权登录

微信小程序

一.实现微信小程序授权登录
微信小程序每次获得用户的信息时需要授权登录,下面的代码可以实现以下功能

Page(
  data: 
    nickName:''
  ,
  dianji()
   
    console.log("点击了按按钮")
    wx.getUserProfile(
       desc: '获取用户的信息',//获取用户的信息
       success:res => //用户成功授权
        console.log("成功",res)
        this.setData(
          nickName:res.userInfo.nickName,
          touxian:res.userInfo.avatarUrl
        )
    ,
    fail:res=>
      console.log("失败",res)
    
  )
)

结果:

使得登录后可以隐藏点击按钮:
在js文件里面增加以下代码

Page(
  data: 
   userInfo:""
  ,
  dianji()
   
    console.log("点击了按按钮")
    wx.getUserProfile(
       desc: '获取用户的信息',
       success:res => 
         let user=res.userInfo
        console.log("成功",res)
        this.setData(
          userInfo:user   
        )
    ,
    fail:res=>
      console.log("失败",res)
    
  )
)

在wxml里面的代码:

<button wx:if="!userInfo"   bindtap="dianji" >点击</button>
<view wx:else class="root">
     <image class="touxian"  src="userInfo.avatarUrl"></image>
     <text>userInfo.nickName</text>
</view>

理解:
设定条件,由于一开始userInfo为空,所以执行button命令,点击授权之后,userInfo获得了数据所以执行里面的内容。
退出点击按钮的操作:
在之前的代码下面增加一段,同时也要在wxml里面增加相应的操作
js:

 tui()
   this.setData(
    userInfo:""
   )
 

wxml:

  <button bindtap="tui" >退出登录</button>

二.对登录的信息进行缓存
用户在使用微信小程序时,可能需要对用户以前提交的信息进行保存,方便用户的操作,所以对用户登录的信息进行缓存十分重要。
主要是使用了微信小程序里面的这一端代码:
wx.setStorageSync(‘参数1’, 参数2)
上面的参数1其实就是相对与一个用来保存参数2里面内容的地方,可以在微信开发者里面看到缓存的内容:

同时得到保存地方的内容可以用以下代码:
wx.getStorageSync(‘参数1’)

具体实现:

Page(
  data: 
   userInfo:""
  ,
  onLoad()
    let user=wx.getStorageSync('user1')
    console.log("1",user)
    this.setData(
      userInfo:user
    )
  ,
  dianji()
    console.log("点击了按按钮")
    wx.getUserProfile(
       desc: '获取用户的信息',
       success:res => 
         let user=res.userInfo
         wx.setStorageSync('user1', user)
        console.log("成功",res)
        this.setData(
          userInfo:user   
        )
    ,
    fail:res=>
      console.log("失败",res)
    
  ),
 tui()
   this.setData(
    userInfo:""
   )
   wx.setStorageSync('user1', null)
 
)

结果就是每次进入小程序可以保存用户的相关信息,不用总是点击登录输入相关的信息

以上是关于大白话理解-微信小程序获取授权的主要内容,如果未能解决你的问题,请参考以下文章

微信小程序安全授权域名检验文件在哪里获取获取

微信小程序用户授权登录

小程序微信授权测试小结

对于微信小程序登录的理解图

微信授权小程序是啥?

微信小程序用户授权