如何在SAPUI5应用程序中初始化sap.ushell.bootstrap?

如何在SAPUI5应用程序中初始化sap.ushell.bootstrap?,sapui5,sap-cloud-platform,Sapui5,Sap Cloud Platform,我尝试使用在SAPUI5应用程序中显示用户id 所需的代码片段是: sap.ushell.Container.getService("UserInfo").getId() sap.ushell不包含任何服务方法,如中所述,它只包含特定于UI的条目。 我的HCP帐户没有初始化sap.ushell所需的任何ABAP JS,如下所述: 为方便起见,提供了特定于平台的引导代码,并且可以 在SAPUI5引导程序之前,可以很容易地被公司shell包括在内 详情如下: src=“/sap/public/bc

我尝试使用在SAPUI5应用程序中显示用户id

所需的代码片段是:

sap.ushell.Container.getService("UserInfo").getId()
sap.ushell
不包含任何服务方法,如中所述,它只包含特定于UI的条目。 我的HCP帐户没有初始化
sap.ushell
所需的任何ABAP JS,如下所述:

为方便起见,提供了特定于平台的引导代码,并且可以 在SAPUI5引导程序之前,可以很容易地被公司shell包括在内 详情如下:

src=“/sap/public/bc/ui5\u ui5/resources/sap/ushell\u abap/bootstrap/abap.js”>
此引导代码将自动延迟的初始化 SAPUI5,直到容器可用。这是一种比较好的方法 引导统一Shell


如何初始化sap.ushell? My index.html具有以下引导功能:

<script src="https://sapui5.hana.ondemand.com/1.34.9/resources/sap-ui-

        core.js" id="sap-ui-bootstrap"
                data-sap-ui-libs="sap.m,sap.ui.commons, sap.ui.table,sap.ui.ux3,sap.ushell"
                data-sap-ui-theme="sap_bluecrystal"
                data-sap-ui-preload="async"
                >

            </script>

                  <script>
                     sap.ui.getCore().attachInit(function () {....
                     });
            </script>

sap.ui.getCore().attachInit(函数(){…)。。。。
});

您可以通过以下操作获取当前用户(在HCP登录)的id:

  • 在neo-app.json文件中添加相应的服务条目:

    "welcomeFile": "index.html",
    "routes": [
    ...
    {
    "path": "/services/userapi",
    "target": {
    "type": "service",
    "name": "userapi"
    }
    ...
    
  • 在任意位置设置用户模型(例如,在component.js中):


  • 在userapi模型中,您可以访问一些用户信息,包括用户id。

    您可以获取当前用户(在HCP登录)的id,执行以下操作:

  • 在neo-app.json文件中添加相应的服务条目:

    "welcomeFile": "index.html",
    "routes": [
    ...
    {
    "path": "/services/userapi",
    "target": {
    "type": "service",
    "name": "userapi"
    }
    ...
    
  • 在任意位置设置用户模型(例如,在component.js中):

  • 在userapi模型中,您可以访问一些用户信息,包括用户id

    "welcomeFile": "index.html",
    "routes": [
    ...
    {
    "path": "/services/userapi",
    "target": {
    "type": "service",
    "name": "userapi"
    }
    ...
    
    // set user model
    var userModel = new sap.ui.model.json.JSONModel();
    userModel.loadData("/services/userapi/currentUser", null, false);
    this.setModel(userModel, "userapi");