検索
ホームページWeChat アプレットミニプログラム開発同期リクエスト承認を実装した WeChat アプレットの分析例

同期リクエスト承認を実装した WeChat アプレットの分析例

Sep 12, 2017 am 11:38 AM
アプレット承認する聞く

この記事では主に、WeChat アプレットの同期認証リクエストの詳細な説明に関する関連情報を紹介します。アプレットを初めて開くとき、同時に複数の権限をリクエストする必要があり、ユーザーはそれらを 1 つずつ認証します。このような要件が実現されると、それを必要とする友人は以下を参照してください

WeChat アプレット同期リクエストの承認の詳細な説明

要件分析:

1. アプレットが最初に開かれたとき。同時に複数の権限をリクエストする必要があり、ユーザーはそれらを 1 つずつ承認します。


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

問題分析:

1. 非同期の理由により、認可リクエストが同時に送信され、明らかに満たされていません。要求事項。


2. Promise は問題をうまく解決できます。次のコードは 2 つのファイルに分かれています。


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

// 获取用户授权
function getScope(scopeName) {
 return new es6.Promise(function (resolve, reject) {
  // 查询授权
  wx.getSetting({
   success(res) {
    if (!res.authSetting[scopeName]) {
     // 发起授权
     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"];
  // 记录请求结果
  let num = 0;
  // 问题1:怎么改成循环方式?
  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;
      // 调起设置界面
      if (num) {
       wx.openSetting({
        success(res) {
         // 允许获取用户信息
         if (res.authSetting["scope.userInfo"])
          userService.login()
        }
       })
      } else {
       userService.login()
      }
     })
    })
   })
  })
})

分析と解決策:

1. コードの問題 1 はあまりにも愚かなので、ループで呼び出そうとしましたが、方法がわかりません。コールバックの問題に対処します。


2.wx.authorize インターフェイスでは、success パラメーターの公式の説明は (成功したインターフェイス呼び出しに対するコールバック関数) ですが、実際にはそうではなく、インターフェイスの呼び出しは成功し、スコープで指定された権限が付与されます。入手しました

以上が同期リクエスト承認を実装した WeChat アプレットの分析例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール