diff --git a/src/platforms/app-plus/service/api/plugin/oauth.js b/src/platforms/app-plus/service/api/plugin/oauth.js index 1faf21f455a0cf5f5711c28b9c6541443a731478..791231a1d8fdfb94cc38b453c98071727fe624c1 100644 --- a/src/platforms/app-plus/service/api/plugin/oauth.js +++ b/src/platforms/app-plus/service/api/plugin/oauth.js @@ -18,7 +18,13 @@ const loginByService = (provider, callbackId) => { code: err.code, errMsg: 'login:fail:' + err.message }) - }) + }, { scope: 'email' }) + // apple登录logout之后无法重新触发获取email,fullname + if (provider === 'apple') { + login() + } else { + loginServices[provider].logout(login, login) + } } // 先注销再登录 loginServices[provider].logout(login, login) @@ -74,6 +80,16 @@ export function getUserInfo (params, callbackId) { avatarUrl: wechatUserInfo.headimgurl, unionId: wechatUserInfo.unionid } + } else if (provider === 'apple') { + const appleInfo = loginService.appleInfo + userInfo = { + openId: appleInfo.user, + fullName: appleInfo.fullName, + email: appleInfo.email, + authorizationCode: appleInfo.authorizationCode, + identityToken: appleInfo.identityToken, + realUserStatus: appleInfo.realUserStatus + } } else { loginService.userInfo.openId = loginService.userInfo.openId || loginService.userInfo.openid || loginService.authResult.openid