中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

微信小程序怎么同步請求授權(quán)-創(chuàng)新互聯(lián)

本文小編為大家詳細(xì)介紹“微信小程序怎么同步請求授權(quán)”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“微信小程序怎么同步請求授權(quán)”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。

成都創(chuàng)新互聯(lián)是一家專業(yè)提供開陽企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計、H5場景定制、小程序制作等業(yè)務(wù)。10年已為開陽眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。

微信小程序 同步請求授權(quán)的詳解

需求分析:


1.在小程序首次打開的時候,我需要同時請求獲取多個權(quán)限,由用戶逐一授權(quán)。


([‘scope.userInfo',‘scope.userLocation',‘scope.address',‘scope.record',‘scope.writePhotosAlbum'])

問題分析:


1. wx.authorize接口同時調(diào)用,請求多個權(quán)限,由于異步原因,將授權(quán)請求一并發(fā)出,顯然不符合要求。


2. promise能很好的解決問題,試著嘗試了一下,下面代碼分為兩個文件。

// scope.js
import es6 from '../helpers/es6-promise'

// 獲取用戶授權(quán)
function getScope(scopeName) {
 return new es6.Promise(function (resolve, reject) {
  // 查詢授權(quán)
  wx.getSetting({
   success(res) {
    if (!res.authSetting[scopeName]) {
     // 發(fā)起授權(quán)
     wx.authorize({
      scope: scopeName,
      success() {
       resolve(0)
      }, fail() {
       resolve(1)
      }
     })
    }
   }
  })
 })
}

module.exports = { getScope: getScope }
// index.js
import scope from "../../service/scope"
Page({
onShow() {
  let list = ["scope.userInfo", "scope.userLocation", "scope.address", "scope.record"];
  // 記錄請求結(jié)果
  let num = 0;
  // 問題1:怎么改成循環(huán)方式?
  scope.getScope(list[0]).then(function (res) {
   num += res;
   scope.getScope(list[1]).then(function (res) {
    num += res;
    scope.getScope(list[2]).then(function (res) {
     num += res;
     scope.getScope(list[3]).then(function (res) {
      num += res;
      // 調(diào)起設(shè)置界面
      if (num) {
       wx.openSetting({
        success(res) {
         // 允許獲取用戶信息
         if (res.authSetting["scope.userInfo"])
          userService.login()
        }
       })
      } else {
       userService.login()
      }
     })
    })
   })
  })
})

分析求解:


1.代碼中問題1寫法過于笨,但是嘗試通過循環(huán)方式調(diào)用寫法,又不知道如何處理回調(diào)問題。


2.wx.authorize接口,success參數(shù)官方給出的解釋是(接口調(diào)用成功的回調(diào)函數(shù)),其實(shí)不然,實(shí)際上是接口調(diào)用成功,并且獲取到了scope指定的權(quán)限

讀到這里,這篇“微信小程序怎么同步請求授權(quán)”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點(diǎn)還需要大家自己動手實(shí)踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)站標(biāo)題:微信小程序怎么同步請求授權(quán)-創(chuàng)新互聯(lián)
轉(zhuǎn)載源于:http://www.rwnh.cn/article38/doejsp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、網(wǎng)站改版手機(jī)網(wǎng)站建設(shè)、面包屑導(dǎo)航、網(wǎng)站內(nèi)鏈虛擬主機(jī)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)
安塞县| 锡林浩特市| 浦江县| 夏邑县| 通辽市| 西乌珠穆沁旗| 蒙阴县| 泊头市| 秦皇岛市| 泾川县| 信丰县| 墨竹工卡县| 兴文县| 遵义县| 澜沧| 通山县| 乡城县| 朝阳市| 高雄市| 静安区| 南昌县| 奈曼旗| 田阳县| 罗甸县| 琼海市| 磐安县| 景谷| 普陀区| 屏东市| 宣恩县| 外汇| 正定县| 永安市| 浦城县| 汽车| 达州市| 道孚县| 郎溪县| 济南市| 马山县| 巴马|