uni-id-pages 中 login-by-weixin.js 文件为什么要限制weixinPlatform !== 'mp'??这些信息不应该只有微信登录才能获得的吗?详见下面源码。按照这个逻辑,貌似微信小程序登录还是注册都永远不能满足if条件。
if (type === 'register' &&** weixinPlatform !== 'mp'**) {
const {
nickname,
avatar
} = await weixinApi.getUserInfo({
accessToken,
openid
})
if (avatar) {
// eslint-disable-next-line n/no-deprecated-api
const avatarPath = url.parse(avatar).pathname
const extName = avatarPath.indexOf('.') > -1 ? url.parse(avatar).pathname.split('.').pop() : 'jpg'
const cloudPath = `user/avatar/${openid.slice(-8) + Date.now()}-avatar.${extName}`
const getAvatarRes = await uniCloud.httpclient.request(avatar)
if (getAvatarRes.status >= 400) {
throw {
errCode: ERROR.GET_THIRD_PARTY_USER_INFO_FAILED
}
}
const {
fileID
} = await uniCloud.uploadFile({
cloudPath,
fileContent: getAvatarRes.data
})
extraData.avatar_file = {
name: cloudPath,
extname: extName,
url: fileID
}
}
extraData.nickname = nickname
}
1 个回复
DCloud_uniCloud_WYQ
微信小程序用户信息是在客户端获取的,只有微信app登录还保留着这样的获取方式