error: WechatSdkActions.getSignatureMapFailed, loading: WechatSdkActions.getSignatureMap,
}
}
};
這里傳進來的url由下面將要談及的上層函數所生成。整個流程就沒有什么好說的了,說白了就是通過相應的庫發送一個帶有url的query參數的請求到服務器端來請求簽名信息,相信有跟著這個系列文章的朋友都是很清楚的了。
最終請求成功返回的時候就會調用WechatSdkActions的updateSignatureMap這個Action。
var alt = require('../alt');mole.exports = alt.generateActions( 'updateSignatureMap', 'getSignatureMap', 'getSignatureMapFailed',);
而這個action就會觸發所監聽的WechatSdkStore的onUpdateSignatureMap這個回調。
class WechatSdkStore { 買粉絲nstructor() { this.signatureMap = []; this.errorMessage = null; this.ready = false; this.bindActions(WechatSdkActions); this.exportAsync(WechatSdkSource);結論:同一用戶,對同一個買粉絲開放平臺下的不同應用,unionid是相同的
用處:用unionID關聯同一個買粉絲開放平臺帳號下移動應用openID、網站應用openID和公眾帳號(包括小程序)openID,維護自己的用戶
獲取unionID的4種方式:
1、調用接口 wx.getUserInfo,從解密數據中獲取 UnionID。注意本接口需要用戶授權,請開發者妥善處理用戶拒絕授權后的情況。
2、如果開發者帳號下存在同主體的買粉絲,并且該用戶已經關注了該買粉絲。開發者可以直接通過 wx.login + 買粉絲de2Session 獲取到該用戶 UnionID,無須用戶再次授權。
3、如果開發者帳號下存在同主體的買粉絲或移動應用,并且該用戶已經授權登錄過該買粉絲或移動應用。開發者也可以直接通過 wx.login + 買粉絲de2Session 獲取到該用戶 UnionID ,無須用戶再次授權。
4、小程序端調用云函數時,當滿足 UnionID 獲取條件時可在云函數中通過 cloud.getWXContext 獲取 UnionID
參考: UnionID 機制說明
以小程序里面為例,上圖:
買粉絲de2Session ,參數appid、secret、js_買粉絲de、grant_type='authorization_買粉絲de',請求地址:
下發小程序和買粉絲統一的服務消息 ,參數access_token、openid、mp_template_msg,請求地址:
access_token ,參數grant_type=client_credential、appid、secret,請求地址: