From 04760838345cc0c63ca1b8656524255fc45e8bac Mon Sep 17 00:00:00 2001 From: qiang Date: Thu, 1 Aug 2019 19:02:44 +0800 Subject: [PATCH] fix: app-plus uni.getUserInfo --- .../app-plus/service/api/plugin/oauth.js | 47 +++++++++---------- 1 file changed, 22 insertions(+), 25 deletions(-) diff --git a/src/platforms/app-plus/service/api/plugin/oauth.js b/src/platforms/app-plus/service/api/plugin/oauth.js index 4e76d3875..1faf21f45 100644 --- a/src/platforms/app-plus/service/api/plugin/oauth.js +++ b/src/platforms/app-plus/service/api/plugin/oauth.js @@ -52,7 +52,7 @@ export function login (params, callbackId) { } } -const getUserInfo = function (params, callbackId) { +export function getUserInfo (params, callbackId) { const provider = params.provider || 'weixin' const loginService = loginServices[provider] if (!loginService || !loginService.authResult) { @@ -60,10 +60,11 @@ const getUserInfo = function (params, callbackId) { errMsg: 'operateWXData:fail:请先调用 uni.login' }) } - loginService.getUserInfo(res => { + loginService.getUserInfo(res => { + let userInfo if (provider === 'weixin') { const wechatUserInfo = loginService.userInfo - const userInfo = { + userInfo = { openId: wechatUserInfo.openid, nickName: wechatUserInfo.nickname, gender: wechatUserInfo.sex, @@ -73,33 +74,29 @@ const getUserInfo = function (params, callbackId) { avatarUrl: wechatUserInfo.headimgurl, unionId: wechatUserInfo.unionid } - invoke(callbackId, { - errMsg: 'operateWXData:ok', - data: { - data: JSON.stringify(userInfo), - rawData: '', - signature: '', - encryptedData: '', - iv: '' - } - }) } else { loginService.userInfo.openId = loginService.userInfo.openId || loginService.userInfo.openid || loginService.authResult.openid loginService.userInfo.nickName = loginService.userInfo.nickName || loginService.userInfo.nickname loginService.userInfo.avatarUrl = loginService.userInfo.avatarUrl || loginService.userInfo.avatarUrl || - loginService.userInfo.headimgurl - invoke(callbackId, { - errMsg: 'operateWXData:ok', - data: { - data: JSON.stringify(loginService.userInfo), - rawData: '', - signature: '', - encryptedData: '', - iv: '' - } - }) - } + loginService.userInfo.headimgurl + userInfo = loginService.userInfo + } + const result = { + errMsg: 'operateWXData:ok' + } + if (params.data && params.data.api_name === 'webapi_getuserinfo') { + result.data = { + data: JSON.stringify(userInfo), + rawData: '', + signature: '', + encryptedData: '', + iv: '' + } + } else { + result.userInfo = userInfo + } + invoke(callbackId, result) }, err => { invoke(callbackId, { errMsg: 'operateWXData:fail:' + err.message -- GitLab