Taro-授权登录

授权登录

首先小程序在获取用户信息前应先检查微信是否授权登录,这里需要先获取用户的当前设置——Taro.getSetting

// 使用方法一
import Taro from '@tarojs/taro'

Taro.getSetting({
    success (res) {}
})

// 或者
Taro.getSetting().then(res => {})

// 使用方法二
import Taro, { getSetting } from '@tarojs/taro'
// 同上,去掉前面的Taro

调用此方法后判断用户是否授权:

import { hideTabBar } from '@tarojs/taro'
getSetting().then(res => {
    let authSetting = res.authSetting
    // 如果没有授权则跳转至授权页面或者唤起授权弹框
    if (!authSetting['scope.userInfo']) {
      // 这里要唤起自定义的授权弹框,因为现在微信上只能通过按钮来触发授权,如果是在 tabBar 的页面,需要先隐藏掉 tabBar
        hideTabBar()
        // 然后唤起弹框
        this.setState({
            authShow: true
        })
    }
})

那我们先自定义一个授权弹框在首页:

getUserInfo = () => {
    // ...
}

<AtModal isOpened>
  <AtModalHeader>授权登录</AtModalHeader>
  <AtModalContent>
    您还尚未授权,请授权后登录
  </AtModalContent>
  <AtModalAction>
    <Button onClick={this.handleCancel}>取消</Button>
    <Button
	  open-type="getUserInfo"
	  onGetUserInfo={this.getUserInfo}
 	>确定</Button>
  </AtModalAction>
</AtModal>

然后如果没有授权就显示这个弹框,然后点击确定就可以授权了。授权后就可以进行下一步操作,比如用户账号绑定,手机号码绑定等等。

公众号:Coder 杂谈,欢迎关注
在这里插入图片描述

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值