マイクロ手紙アプレットは1--コールマイクロチャネルの許可ウィンドウピット日記を強化しました

I.はじめに

  小型マイクロチャネルプログラムは、ユーザーエクスペリエンスを最適化するために、すぐにアプレットを入力するときに、許可ウィンドウが表示されますキャンセル。イニシアチブは、認証ウィンドウをトリガーするボタンをクリックして、ユーザーが必要です。

  まあ、私の練習では、以下のような問題点がありました。

1 。承認ウィンドウ取り出さない
 2。希望する場合には、ユーザは、非表示ボタンを認可されています

1.実現

  OnLaunch()app.js機能を、個人情報を取得するスニペットを追加します。ケースに実装されたユーザーは、(例えばアプレットを開くために二回目、)権限を持つユーザーは、自動的にユーザーの許可なしに個人情報を取得します。

// 取得したユーザ情報
wx.getSetting({ 
    成功:RES => {
         IF(res.authSetting [ ' scope.userInfo ' ]){ 
            はconsole.log(" アプリケーションは:" + " ユーザーが権限を持っている" // 認可されました、 getUserInfoヘッドが直接ブロック再生することはできません、取得ニックネームを呼び出すことができます
            wx.getUserInfo({ 
                RES:成功 => {
                     // バックデコード解像度へ送られるかもしれないが、unionid 
                    これは .globalData.userInfo = res.userInfo 
                    はconsole.log(これを.globalData.userInfo)
                     この .globalData.hasUserInfoは= trueに
                    // getUserInfoネットワーク要求ので、Page.onLoadまで戻らないことがあり
                     // ので、ここで、このコールバックを防止するために添加される
                    IFこの.userInfoReadyCallback){
                         この。 userInfoReadyCallback(RES)
                    } 
                }、
                失敗:(RES) => { 
                    はconsole.log(" アプリケーション:" + " ユーザー情報が失敗します" 
                } 
            })
        } { 
            にconsole.log(" アプリ:" + " 一時的に不正なユーザ" 
        } 
    } 
})

  (特定のページあなたの実際の状況に応じて)承認ボタンを追加しますme.wxml。

< ブロックWX:もし= "{!{hasUserInfo}}" > 
    < 画像クラス= "userAvatar" SRC = '.. / .. /画像/アイコン/ wechat.png' > </ 画像> 
    < ボタン開放型= "getUserInfo" bindgetuserinfo = "getUserInfo" >微信授权登录</ ボタン> 
</ ブロック>

  以下の変数やメソッドme.jsは、イニシアチブは、ボタンをクリックし、ユーザを必要とし、許可なしにユーザーの前に、追加しました。

データ:{ 
    ユーザー情報:ヌル
    hasUserInfo:
}、
getUserInfo:関数(E){ 
    にconsole.log( "私:" + "用户点击授权" であれば(e.detail.userInfo){
         この.setData({ 
            ユーザー情報: e.detail.userInfo、
            hasUserInfo:
        })
    } 
}

2.認証ウィンドウをポップません

  

  ここでは、注意する必要があります

  認証ウィンドウには、ときにのみ、ユーザー第一の許可表示されます、つまり、一度だけ!

  私たちがする必要がマイクロチャネルアプレット開発ツールですべてのキャッシュをクリアします

  

3.場合は、非表示ボタンを認可されています

  ユーザーが時間を承認しているので、app.jsは(ではない)でユーザーの個人情報を取得しますが、プロセスは非同期です

 

おすすめ

転載: www.cnblogs.com/Lu-Yuyang/p/11237362.html