同一段代碼,一個開發者能獲取用戶資訊,另一個開發者卻獲取不了這個是什么情況
比如說,你我是同一個小程式專案的開發者,同一份代碼的情況下,我獲取不了用戶資訊,但你可以。我改了appid后也正常獲取用戶資訊。這個是什么情況。代碼如下
//app.js
App({
onLaunch: function () {
// 展示本地存盤能力
var logs = wx.getStorageSync('logs') || []
logs.unshift(Date.now())
wx.setStorageSync('logs', logs)
wx.cloud.init({
env: 'a111-ypiun',
traceUser: true,
})
// 登錄
wx.login({
success: res => {
// 發送 res.code 到后臺換取 openId, sessionKey, unionId
if (res.code) {
// console.log("this is app.js")
//this.onGetOpenid()
} else {
console.log('登錄失敗!' + res.errMsg)
}
}
})
// 獲取用戶資訊
wx.getSetting({
success: res => {
if (res.authSetting['scope.userInfo']) {
// 已經授權,可以直接呼叫 getUserInfo 獲取頭像昵稱,不會彈框
wx.getUserInfo({
success: res => {
// 可以將 res 發送給后臺解碼出 unionId
this.globalData.userInfo = res.userInfo
//console.log("this is app ")
// console.log(this.globalData.userInfo)
// 由于 getUserInfo 是網路請求,可能會在 Page.onLoad 之后才回傳
// 所以此處加入 callback 以防止這種情況
if (this.userInfoReadyCallback) {
this.userInfoReadyCallback(res)
}
}
})
}
}
})
},
globalData: {
userInfo: null,
openid:'',
userID:[],
},
onGetOpenid: function() {
// 呼叫云函式 獲取openID
var that = this
wx.cloud.callFunction({
name: 'login',
data: {},
success: res => {
that.globalData.openid = res.result.openid
console.log('[云函式] [login] user openid: ', res.result.openid)
},
fail: err => {
console.error('[云函式] [login] 呼叫失敗', err)
}
})
console.log(this.globalData.openid)
},
})
:):
uj5u.com熱心網友回復:
考慮1:sdk版本,設定里改動
2:ide問題
3:是否正常登錄開發者賬號
uj5u.com熱心網友回復:
你說的不夠清楚,什么情況下獲取誰的資訊,一個可以一個不可以。我默認是你在除錯或預覽的時候無法獲取你自己的資訊,但是另一個開發者可以獲得他的資訊,那么可能是你有一次獲取用戶權限的時候,選中了取消,之后權限沒有彈出來,所以一直無法獲取。你可以看下小程式設定里面用戶資訊權限是否勾選,也可以在開發工具里清空一下資料,再嘗試
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/67347.html
標籤:微信開發
