1.獲取用戶手機號
注意點:獲取任何信息前 盡量都重新獲取一遍用戶授權信息 然后再繼續獲取想要的數據 避免不必要的錯誤
html:
原生小程序中 是用的是on指令 在uniapp中 直接替換成@
注意open-type的填寫
<button type="default" open-type="getPhoneNumber" @getphonenumber="getPhoneNumber" @error="onAuthError"
scope='phoneNumber'>授權手機號</button>
請求前后端需要通過 https://opendocs.alipay.com/apis/api_35/alipay.open.auth.app.aes.set
驗證aes密鑰授權
獲取用戶信息授權
1.獲取用戶信息授權(昵稱,頭像,地區)
<button class="get-auth-btn" type="default" open-type="getAuthorize" @getAuthorize="getUserInfo" @error="getUserInfoError" scope="userInfo">授權登錄</button>
注意點:getUserInfo獲取會員基礎信息授權 點擊授權框取消按鈕時不會觸發 @getAuthorize 事件 而是會觸發 @error 事件 放棄授權事件在@error里面處理
2.獲取用戶手機號授權
<button class="get-phone-btn " v-if="isLogin" type="default" open-type="getPhoneNumber" @getphonenumber="getPhoneNumber" scope='phoneNumber'>獲取手機號</button>
注意點:getPhoneNumber 獲取會員手機號授權 點擊授權框取消按鈕時不會觸發 @error 事件 而是會觸發 @getAuthorize 事件 和獲取用戶基礎信息正好相反 所以基本上不寫@error事件也可以
支付寶小程序獲取用戶手機號加密字符串的時候需要注意 添加 protocols#isvAppId 參數:
添加方式:
1 my.getPhoneNumber({ 2 protocols: { 3 // 小程序模板所屬的三方應用appId 4 isvAppId: '11111111111111' 5 }, 6 success: res => { 7 resolve(res.response); 8 }, 9 fail: res => { 10 reject(res); 11 } 12 });
用uniapp開發支付寶小程序 獲取手機號的時候里面的嵌套挺深的 授權成功后返回的 response.response 才是加密字符串
一般支付寶小程序的手機號加密串長度 大概為 88 個字符 超過200的基本都是錯誤的加密串,原因是沒有添加 protocols#isvAppId 參數
