小型マイクロチャネルプログラムは、対応する顧客情報を格納し、更新するために使用されるユーザーの一意のIDとして、ユーザーのOpenIDを取得する必要があります。例えば、ノード背景、要求前景、背景フォワードアクセスチャネルは、マイクロのOpenIDを取得するインターフェイスに対応します。
1.遠位アプレット要求:
getUserInfo:関数(E){ app.globalData.userInfo = e.detail.userInfo この.setData({ ユーザー情報:e.detail.userInfo、 hasUserInfo:真 }) wx.login({ 成功:RES => { app.globalData .usercode = res.code // 1.获取ユーザーコード作为后面获取のOpenID的参数 } }) のvar ID = nullの ID = wx.getStorageSync( 'OpenIDの' ) であれば!(ID) { wx.request({ URL:getOpenId、//バックAPI設定の.js // 2に設定 方法: "POST" 、 データ:{ js_code:app.globalData.usercode、 }、成功(RES){ VARのOpenID = res.data.openid VAR A SESSIONKEY = res.data。 SESSION_KEY にconsole.log(RES) wx.setStorageSync( "OpenIDの" 、OpenIDの) app.globalData.openId = OpenIDの IF(OpenIDの!!)は{ // 3.取得のOpenIDを処理した後、自分の論理書込み追従することができる アプリ。 = globalData.openId OpenIDの wxlogin(OpenIDの) } } }) } } })
2.ノードJS舞台裏のOpenIDを取得:
router.post( '/ wxgetOpenId'、関数(REQ、RES、次へ){ VARデータ= req.bodyの VAR APP_URL = 'HTTPS://api.weixin.qq.com/sns/jscode2session'へ のvar APP_ID = 'wxXXXXXXXXX' // アプリケーション上記のIDアプレット、バックグラウンドであなたは、公共の開発者の見ることができます するvar APP_SECRETを=「8ad6f0XXXXXXXXXXXX」 // アプリケーションSecrectプログラム公共開発者のバックグラウンドで見ることができ VAR ResData = nullの VAR thisRes = RES IF !!(データ.js_code) { 要求(APP_URLする`$ {} ?のAppID APP_ID} = $ {$&秘密= {}&js_code APP_SECRET data.js_code = {} $ =&grant_typeのauthorization_code`、(エラーレスポンスボディ)=> { console.log( 'からstatusCode:'、応答&& response.statusCode) にconsole.log(本体) res.end(本体)}) } })