1. 程式人生 > >SAP Cloud for Customer裡圖片資料讀取的邏輯

SAP Cloud for Customer裡圖片資料讀取的邏輯

這篇文章介紹SAP Cloud for Customer系統裡這些圖片的資料是如何讀取的:


image
們C4C的程式碼中會呼叫這裡的GetImagePath:

路徑:
image

/**
* @param sImage:
*            XREP path. Allowed formats: "xrep:////BYD_COD/SalesOnDemand/Product/Product_Icon.png" - XREP file. "AddFavorite" - logical name of an Icon. Is
*            handled as XREP file as well as JS resource
* @returns {string} sPath: File path (in case of resource url pointing to backend it will be proxified when running on localhost)
*/
Util.getImagePath = function(sImage, bHover, sRepositoryUrl) { // eslint-disable-line complexity, max-statements
   var sImagePath = Util._getImagePath(sImage, bHover, sRepositoryUrl);

   if (sImagePath !== null && sap.client.getCurrentApplication && window.location.hostname && /^localhost$/.test(window.location.hostname)) { // relevant for Extended Apps as well as local testing
      var oApp = sap.client.getCurrentApplication();
      if (oApp.getHostUrl && oApp.getHostUrl() && oApp.getHost && oApp.getHost() && sImagePath.indexOf(oApp.getHostUrl()) === 0) {
         var sStringToReplace = sImagePath.substring(0, sImagePath.indexOf('/', oApp.getHostUrl().length));
         sImagePath = sImagePath.replace(sStringToReplace, oApp.getHost());
      }
   }

   return sImagePath;
};

這個方法會呼叫本身的私有方法:_getImagePath:

image

裡面有一條if分支是專門處理RUI的get Icon請求:

image
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":