Sapui5 SAP Fiori在UI5应用程序中登录用户详细信息

Sapui5 SAP Fiori在UI5应用程序中登录用户详细信息,sapui5,sap-fiori,sap-cloud-platform,sap-web-ide,sap-business-technology-platform,Sapui5,Sap Fiori,Sap Cloud Platform,Sap Web Ide,Sap Business Technology Platform,我有一个SAP Fiori应用程序,需要获取当前登录的用户详细信息。 我在网上搜索过,但找不到解决方案 是否有任何方法可以从launchpad获取当前登录的用户详细信息。可以从SDK检索用户ID。 请参阅尝试以下操作: new sap.ushell.services.UserInfo().getId() 有一个来自FLP shell的服务,可以如下方式检索: 控制器中的{// doSomethingUserDetails:async函数(){ const-oUserInfo=等待此消息。get

我有一个SAP Fiori应用程序,需要获取当前登录的用户详细信息。 我在网上搜索过,但找不到解决方案


是否有任何方法可以从launchpad获取当前登录的用户详细信息。

可以从SDK检索用户ID。 请参阅

尝试以下操作:

new sap.ushell.services.UserInfo().getId()
有一个来自FLP shell的服务,可以如下方式检索:

控制器中的
{//
doSomethingUserDetails:async函数(){
const-oUserInfo=等待此消息。getUserInfoService();
const sUserId=userinfo.getId();//在SAPUI5 1.86中,这些都是公共的:.getEmail(),.getFirstName(),.getLastName(),.getFullName()。。。
// ...
},
getUserInfoService:function(){
返回新承诺(resolve=>sap.ui.require([
“sap/ushell/library”
],oSapUshellLib=>{
const-oContainer=oSapUshellLib.Container;
const pService=oContainer.getServiceAsync(“UserInfo”);/。getService已被弃用!
解决(pService);
}));
},
}
为了与当前的最佳实践保持一致,避免直接调用
sap.ushell.Container.getService

  • getService
    已弃用。改用
  • 需要库,而不是通过全局命名空间(
    sap.ushell.*
    )引用容器,如上所示
或者,有关当前用户的信息也可以通过应用程序路由器从SAP Business Technology Platform(SAP BTP)中公开的来检索



*如果应用程序部署到旧的Neo环境,请参阅。

如果您想在launchpad中运行应用程序时访问用户详细信息。然后,您可以通过添加以下代码段来检索当前用户详细信息:

var userInfo = sap.ushell.Container.getService("UserInfo");
var email = userInfo.getEmail();

然后可以检索有关用户的更多详细信息,如电子邮件和全名。请参阅API。

API参考明确警告不要直接调用构造函数:“[new…]只能由统一Shell的容器调用,其他人必须调用
sap.ushell.container.getServiceAsync(“UserInfo”)
”类似这样的内容:这是否回答了您的问题?