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>

然後如果沒有授權就顯示這個彈框,然後點擊確定就可以授權了。授權後就可以進行下一步操作,比如用戶賬號綁定,手機號碼綁定等等。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章