Salesforce mainframe UI source code

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://jerry.blog.csdn.net/article/details/100048697

<!DOCTYPE html><html lang="en"><head><title>Lightning Experience</title><meta content="initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, minimal-ui" name="viewport"/>
<meta content="initial-scale=1.0,user-scalable=no,maximum-scale=1, minimal-ui" name="viewport" id="vp" media="(device-height: 568px)"/>
<meta content="yes" name="apple-mobile-web-app-capable"/>
<meta content="black-translucent" name="apple-mobile-web-app-status-bar-style"/>
<meta content="telephone=no" name="format-detection"/>
<meta content="no" name="msapplication-tap-highlight"/>
<meta data-referer="Other" name="meta-app-referer" data-requestid="4HRHVHBmyi0meP-qbwHz2-"/>
<link rel="prefetch" href="/jslibrary/1524085772000/canvas/CanvasRendering.js" as="script"/>
<link rel="prefetch" href="/jslibrary/1524085772000/ui-analytics-reporting/EclairNG.js" as="script"/>
<script nonce="c42863bb-7fec-51c6-bdf3-6f62b27ae33f" >
(function () {
    window.pageStartTime = (new Date()).getTime();
    window.Aura || (window.Aura = {});
    window.Aura.bootstrap || (window.Aura.bootstrap = {});

    var time = window.performance && window.performance.now ? window.performance.now.bind(performance) : function(){return Date.now();};
    window.Aura.bootstrap.execInlineJs = time();

    window.Aura.inlineJsLoaded = true;
    var auraConfig = {"deftype":"APPLICATION",
    "ns":{"privileged":["FSC","FSC1","FSC10gs0","FSC11","FSC12","FSC13","FSC14","FSC15","FSC2","FSC3","FSC4","FSC5","FSC6gs0","FSC7gs0","FSC8gs0","FSC9gs0","FSC_RB","FinServ","FinServWaveExt","FinServ_CB","FinServ_CB_Pre","FinServ_CB_SB","FinServ_INS_Pre","FinServ_INS_SB","FinServ_RB","FinServ_RB_Pre","FinServ_RB_SB","FinServ_SB","FinServ_WM","FinServ_WM_SB","HC10gs0","HC11","HC12","HC13","HC14","HC15","HC4","HC4a","HC5","HC6","HC6gs0","HC7","HC7gs0","HC8","HC8gs0","HC9","HC9gs0","HealthCloud","HealthCloudGA","HealthCloud_SB","einsteinservice","et4ae5","fsc1_r1","fsc2_r1","fsc3_r1","fscfma","fscmainstgpu","fscmainstguat","fscprerelease","fscr1pu","fscr1uat","fscsbpu","fscsbuat","fscwealth","fscwealthE","fscwealthfuture","fscwealthpatch","fscwmmain","hc1_r1","hc2_r1","hc3_r1","hcfma","hcmainstgpu","hcmainstguat","hcperf","hcr1pu","hcr1uat","hcsbpu","hcsbuat","iqinbox","mcdm_15","mcdm_21","mcdm_22","mcdm_23","mcdm_24","mcdm_25","mcdm_26","mcdm_27","mcdm_28","mcdm_29","mcdm_3","mcdm_30","mcdm_8","mcsocsel","mcsocsel_1","mcsocsel_10","mcsocsel_2","mcsocsel_3","mcsocsel_4","mcsocsel_5","mcsocsel_6","mcsocsel_7","mcsocsel_8","mcsocsel_9","relateiq","wealthone","wealthoneblitz","wealthonep"],"internal":["adminui","aloha_sales_forecasting","aloha_sales_opptysplit","aloha_sales_tm2","analytics","analyticsHome","anikodev","aotp","aotp_demo","appexUi","appexUiDev","assistantFramework","assistantFrameworkModules","aura","auraStorage","auradev","auradocs","aurajstest","auraplat","builder_industries_survey","builder_platform_interaction","builder_platform_process","builder_service_chatbots","calendar","chatbots","clients","commerce","communitySetup","componentExamples","componentReference","console","cooper","cordaDashboards","dashboards","dataImporter","ddcProspector","desktopDashboards","dutchdev","einsteinbuilder","emailStream","emailui","embeddedService","environmenthub","externalServicesSetup","feeds","feeds_emoji","fieldService","flexipage","flexipageEditor","flowruntime","folder","force","forceChatter","forceCommunity","forceContent","forceDiscovery","forceKnowledge","forceSearch","forceTopic","gaterTest","googleConnector","hammerSetup","home","indtstfmwk","instrumentation","interop","iot","kbmanagement","knowledgeone","lbpm","lcperf","lcwizard","lightning","lightningComponentDemo","lightningsnapin","liveAgent","ltng","ltngdoc","ltngx","macros","mcdm","mcdm_1","mcdm_10","mcdm_16","mcdm_17","mcdm_18","mcdm_19","mcdm_2","mcdm_20","mcdm_4","mcdm_5","mcdm_6","mcdm_7","mcdm_9","module","myday","native","notes","objectManager","offline","omni","onboarding","onboardingTest","one","onesetup","opencti","packagingSetupUI","platformencryption","processui","processuiappr","processuicommon","processuimgnt","processuirule","processuitest","reports","runtime_all_walkthroughs","runtime_all_walkthroughsTest","runtime_all_walkthroughsinternal","runtime_all_walkthroughsinternalTest","runtime_approval_process","runtime_communities_nba","runtime_einstein_discovery","runtime_industries_actionplan","runtime_ladybug","runtime_marketing_btobma","runtime_platform_am","runtime_platform_sfdx","runtime_platform_testhistory","runtime_platformservices_condBuilder","runtime_platformservices_transactionSecurity","runtime_retail_runtime","runtime_retail_setup","runtime_retail_setup_core","runtime_rtc","runtime_rtc_spark","runtime_sales_activities","runtime_sales_ade","runtime_sales_campaign","runtime_sales_commerce","runtime_sales_dedupe","runtime_sales_emailtemplateui","runtime_sales_forecasting","runtime_sales_insights","runtime_sales_lead","runtime_sales_leadiq","runtime_sales_merge","runtime_sales_pathassistant","runtime_sales_pipelineboard","runtime_sales_quotes","runtime_sales_skype","runtime_sales_social","runtime_sales_xclean","runtime_search_federated","runtime_service_fieldservice","runtime_service_liveagent","runtime_service_livemessage","runtime_service_omnichannel","runtime_service_predictions","runtime_service_scs","runtime_service_trials","s1wizard","salesforceIdentity","securityHealth","securitycentral","selfService","serviceCommunity","setup","setupAssistant","setup_lightning_visualforce","setup_mobile_appclone","setup_platform_api_wsdl","setup_platform_ltngbolt","setup_platform_notifications","setup_platform_perms","setup_platform_sfdx","setup_platformservices_customplatform","setup_sales_actionplan","setup_sales_forecasting","setup_sales_insights","setup_sales_leadiq","setup_sales_pardot","setup_sales_pathassistant","setup_sales_spark","setup_service","setup_service_fieldservice","setup_service_livemessage","setup_service_predictions","setup_service_scs","setupnav","setupwizard","sfa","siteforce","siteforceBuilder","skipdev","support","survey","templatesetup","today","ui","uiExamples","uns","userProvisioningUI","visualEditor","voice","wave","wits","work","workAloha"]},"host":"","context":{"mode":"PROD","app":"one:one","fwuid":"1bO4dJePbDnoI-_VdhdsEQ","loaded":{"APPLICATION@markup://one:one":"g1ad8Qc8ZUwOL_CjOJZ1ow"},"pathPrefix":"","ls":1,"scriptNonce":"c42863bb-7fec-51c6-bdf3-6f62b27ae33f","m":1,"mna":{"lightning":"interop"}},"descriptor":"markup://one:one","pathPrefix":"","token":"HCQAHBgEMTAwMBQCGAcxMDAwMjA2GAcxMDAwMjA2ABQCGfMQveXrZ3dv_AZaPlkhXNF-lBaE8rKd3FgAGfMgIJVnoBO6objtSBXWnx8NPUlJnAfQI_wCquhy3ttOHoQA","MaxParallelXHRCount":6,"XHRExclusivity":false};

    function auraPreInitBlock () {
   		$A.storageService.setIsolation("00D7F000006PdUa0057F000002v3re");
        $A.storageService.setVersion("42.0");
        (function(debug, key){
			function setCryptoKey(key) {
    var buffer, view;
    if (Array.isArray(key) && (key.length === 32 || key.length === 16)) {
        try {
            buffer = new ArrayBuffer(key.length);
            view = new Uint8Array(buffer);
            view.set(key);
        } catch (ignored) {}
    }
    CryptoAdapter.setKey(buffer);
}

debug && $A.log('CryptoAdapter registering');
var CryptoAdapter = $A.storageService.CryptoAdapter;
CryptoAdapter.register();
if (!$A.storageService.isRegisteredAdapter(CryptoAdapter.NAME)) {
    $A.log('CryptoAdapter was not registered');
    return;
}
setCryptoKey(key);

}(true,[98, 76, 31, 40, -70, 122, -119, 16, 31, -23, 56, -86, -21, -55, 95, 52, 71, 73, -60, -2, 91, -119, 37, 116, 111, 102, -22, 119, -88, 8, -38, 13]));
            $A.clientService.setParallelBootstrapLoad(true);
        $A.storageService.initStorage({name: 'actions', persistent: true, secure: true, maxSize: 10485760, expiration: 900, autoRefreshInterval: 30, debugLogging: false, clearOnInit: false, version: ''});
$A.storageService.initStorage({name: 'ComponentDefStorage', persistent: true, secure: false, maxSize: 15728640, expiration: 900, autoRefreshInterval: 900, debugLogging: false, clearOnInit: false, version: ''});

            $A.metricsService.skipBootstrapLogging();
            $A.log("one/template.cmp: aura.js and app.js not loaded yet");
            window.FORCE=$A.one=(function(Aura){
                var CONTAINER_CLASS='.center',
                    PREFIX=(function () {
                    var styles=window.getComputedStyle(document.documentElement, ''),
                        pre=(Array.prototype.slice.call(styles).join('').match(/-(moz|webkit|ms)-/) || (styles.OLink === '' && ['', 'o']))[1],
                        dom=('WebKit|Moz|MS|O').match(new RegExp('(' + pre + ')', 'i'))[1];
                    /*W-2599121*/ if(window.navigator.userAgent.indexOf('Edge')!=-1){ pre = 'webkit';}
                    return {dom:dom,lowercase:pre,css:'-'+pre+'-',js:pre[0].toUpperCase()+pre.substr(1)};
                })();
                var ANIMATION_END_EVENT_NAMES={webkit:"webkitAnimationEnd",o:"oAnimationEnd",moz:"animationend",ms:"animationend"},
                    TRANSITION_END_EVENT_NAMES={webkit:"webkitTransitionEnd",o:"oTransitionEnd",moz:"transitionend",ms:"transitionend"},
                    ONE_OBJ={
                    getPrefixCSS:function (){return PREFIX.css;},
                    getPrefixJS:function(){return PREFIX.js;},
                    getPrefix: function (upperCase) {var prefix=PREFIX.lowercase,up=$A.util.isIE && upperCase;return up ? prefix.toUpperCase() : prefix;},
                    getAnimationEndEventName: function () { return ANIMATION_END_EVENT_NAMES[this.getPrefix()] || 'animationend';},
                    getTransitionEndEventName: function () {return TRANSITION_END_EVENT_NAMES[this.getPrefix()] || 'transitionend';},
                    layouts : { PHONE: "phone", TABLET: "tablet", DESKTOP: "desktop" },
                    mark:function(msg) {if(window.console && window.console.markTimeline) window.console.markTimeline(msg);},
                    cookies:{
                        getCookie:function(e){for(var t,o=e+"=",i=document.cookie.split(";"),n=0;n < i.length;n++)for(t=i[n];" "==t.charAt(0);)if(t=t.substring(1,t.length),0==t.indexOf(o))return t.substring(o.length,t.length);return null},
                        setCookie:function(e,t,o){var i;if(o){var n=new Date;n.setTime(n.getTime()+24*o*60*60*1e3),i="; expires="+n.toGMTString()}else i="";document.cookie=e+"="+t+i+"; path=/"},
                        removeCookie:function(e){this.setCookie(e,"",-1)}
                    },
                    getContainer:function () {return document.querySelector(CONTAINER_CLASS);},
                    getContainerWidth: function () {var container=document.querySelector(CONTAINER_CLASS);if (container) { return container.offsetWidth;}},
                    getContainerHeight: function () {var container = document.querySelector(CONTAINER_CLASS);if(container){return container.offsetHeight;}},
                    spinnerLagTime: {spinner:300,toast:9000},
                    viewport: { height:window.innerHeight, width:window.innerWidth},
                };
                window.addEventListener('beforeinstallprompt', function (e) { ONE_OBJ.androidBannerPromise = e.userChoice; }); // W-2900934
                return ONE_OBJ;
            }($A));
        
    }

    function initFramework () {
        window.Aura = window.Aura || {};
        window.Aura.app = auraConfig["context"]["app"];
        window.Aura.beforeFrameworkInit = Aura.beforeFrameworkInit || [];
        window.Aura.beforeFrameworkInit.push(auraPreInitBlock);
        window.Aura.inlineJsReady = time();

        if (!window.Aura.frameworkJsReady) {
            window.Aura.initConfig = auraConfig;
        } else {

            // LockerService must be initialized before scripts can be executed.
            $A.lockerService.initialize(auraConfig.context.ls);

            // scripts inside custom templates with Locker active are stored
            // until now since we need LockerService before running

            var scripts = window.Aura.inlineJsLocker;
            if (scripts) {
                for (var i = 0; i < scripts.length; i++) {
                    $A.lockerService.runScript(scripts[i]["callback"], scripts[i]["namespace"]);
                }
                delete window.Aura.inlineJsLocker;
            }

            if (true) {
                $A.initAsync(auraConfig);
            } else if (false) {
                $A.initConfig(auraConfig);
            }
        }
    }

    // Error msg
    var x = document.getElementById('dismissError');
    if (x) {
        x.addEventListener("click", function () {
            var auraErrorMask = document.getElementById('auraErrorMask');
            if (window['$A']) {
                $A.util.removeClass(auraErrorMask, 'auraForcedErrorBox');
                $A.util.removeClass($A.util.getElement('auraErrorReload'), 'show');
            } else {
                document.body.removeChild(auraErrorMask);
            }
        });
    }

    setTimeout(initFramework, 0); // ensure async

    
    Aura.PreloadLayout = (function (config) {
        function buildParams(o) {
            return Object.keys(o).reduce(function (r, k) {
                r.push(encodeURIComponent(k) + '=' + encodeURIComponent(o[k]));
                return r;
            }, []).join('&');
        }

        function prefetchAuraActions(actions, callback) {
            var ctx = config.context; 
            var contextToSend = { mode : ctx.mode, fwuid : ctx.fwuid, loaded : ctx.loaded, app : ctx.app };
            if (ctx.m) {
                contextToSend["m"] = 1;
            }
            var payload = {
                "aura.token": config.token, 
                "aura.context": JSON.stringify(contextToSend), 
                message: JSON.stringify({ actions: actions }) 
            };

            function onPrefetchError(e) { 
                callback(e, this); 
            }
            var params = buildParams(payload);

            var xhr = new XMLHttpRequest();
            xhr.open("POST", config.host + "/aura?preloadActions");
            xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            

            xhr.addEventListener('error', onPrefetchError);
            xhr.addEventListener('timeout', onPrefetchError);
            xhr.addEventListener('load', function (e) {
                if (this.status === 200) {
                    callback(null, this);
                } else {
                    onPrefetchError.call(this, e);
                }
            });

            xhr.send(params);
        }

        function hookAfterDefsReady(callback) {
            if (Aura.afterAppDefsReady) {
                callback();
            } else {
                Aura.afterAppDefsReady = Aura.afterAppDefsReady || [];
                Aura.afterAppDefsReady.push(callback);
            }
        }

        function preloadActionMap(actions, actionsToPreload) {
            var map = {};

            if(actions){
                for (var i=0;i<actions.length;i++) {
                    var action = actions[i];
                    if(action){
                        var key = action.getStorageKey();

                        if (!actionsToPreload[key]) {
                            return;
                        }

                        map[action.getId()] = actionsToPreload[key].id;
                    }
                }
            }

            return map;
        }

        function enqueueActions (actions) {
            actions.forEach(function (action) {
                $A.enqueueAction(action);
            });
        }

        return {
            // state
            actionsKeys: {},
            actionsToPreload: {},
            actionsPrefetched: false,
            actionsStorageChecked: false,
            actionsDispatched: false,
            actionsOnStorage: null,
            queueActionsHydration : null,
            preloadFromCache : false,

            preload: function (actions) {
                actions.forEach(function (action, i) {
                    var key = action.descriptor + ":" + JSON.stringify(action.params);
                    action.id = i + ";p";
                    this.actionsKeys[key] = true;
                    this.actionsToPreload[key] = action;
                }.bind(this));

                prefetchAuraActions(actions, this._afterPrefetch.bind(this));
                hookAfterDefsReady(this._afterDefsReady.bind(this));
            },
            _afterPrefetch: function (error, xhr) {
                this.actionsPrefetched = true;
                this.xhrResponse = xhr;

                if (!this.actionsDispatched && this.queueActionsHydration) {
                    if (this.actionsOnStorage === null) { 
                        // network arrive earlier than cache so is kind of cached
                        this.preloadFromCache = true;
                    }
                     
                    return this.queueActionsHydration();
                }
            },
            _afterDefsReady: function () {
                var actionStorage = $A.storageService.getStorage('actions');
                var actionKeys = Object.keys(this.actionsKeys);

                if (actionStorage) {
                    actionStorage.getAll(actionKeys).then(function (storedActions) {
                        this.actionsStorageChecked = true;
                        if (Object.keys(storedActions).length === actionKeys.length) {
                            this.actionsOnStorage = true;
                            this.preloadFromCache = true;
                            if (!this.actionsDispatched && this.queueActions) {
                                this.queueActions();
                            }
                        }
                    }.bind(this));
                } else {
                    this.actionsStorageChecked = true;
                }
            },
            enqueue: function (actions) {
                var actionsToPreload = this.actionsToPreload;
                var preloadMapId = preloadActionMap(actions, actionsToPreload);
                
                var hydrate = function () {
                    this.actionsDispatched = true;
                    $A.clientService.hydrateActions(actions, preloadMapId, this.xhrResponse);
                }.bind(this);

                var enqueue = function () {
                    this.actionsDispatched = true;
                    enqueueActions(actions);
                }.bind(this);

                if (preloadMapId) {
                    // If we already got the results from the server, just hydrate
                    if (this.actionsPrefetched) {
                        this.preloadFromCache = true;
                        setTimeout($A.getCallback(hydrate), 0); // ensure asyncronizity
                        return;
                    } else {
                        this.queueActionsHydration = hydrate;
                    }

                    if (this.actionsStorageChecked) {
                        if (this.actionsOnStorage) {
                            enqueue();
                            return;
                        }
                    } else {
                        this.queueActions = enqueue;
                    }

                } else {
                    $A.log('Preloads not found for the give actions, doing regular enqueing');
                    this.actionsDispatched = true;
                    enqueueActions(actions);
                }
            }
        };

    })(auraConfig);

    
            var key = 'appContextId';
            var appId;
            try {
                appId = window.sessionStorage.getItem(key) || window.localStorage.getItem(key);
            } catch (e) {
                appId = null; 
            }

            function skipPreload() {
                var authority = location.protocol + "//" + location.hostname + (location.port ? ":" + location.port : "");
                var exp = new RegExp(authority + "(?:/[^/]+)?/(one/one.app|lightning)(?:\\?|$)");
                var referrer = document.referrer || "";
                // check for (1) same authority and (2) one.app with optional site prefix
                return exp.test(referrer);
            }
            
            if( skipPreload() ) {
                
                delete Aura.PreloadLayout;
            } else {
                var action = {
                    descriptor:"serviceComponent://ui.global.components.one.one.controller.OneController/ACTION$getCurrentApp",
                    params:{}
                };
                if (appId) {
                    // only set appContextId param if it has a value, otherwise the gvp gets hosed (W-4158012)

                    // It is critical to keep the params consistent with how they are sent in oneHelper.js's getCurrentApp logic.
                    // Any changes to logic should be reflected both here and in oneHelper.js
                    action.params = { appContextId: appId };
                }
                Aura.PreloadLayout.preload([action]);
            }
        

    var appCssLoadingCount = 0;
    function onLoadStyleSheets(event) {
        var element = event.target;
        element.removeEventListener('load',onLoadStyleSheets);
        element.removeEventListener('error',onLoadStyleSheets);
        window.Aura.bootstrap.appCssLoading = (--appCssLoadingCount) > 0;
        if (!window.Aura.bootstrap.appCssLoading) {
            if (typeof window.Aura.bootstrap.appCssLoadedCallback === "function") {
                window.Aura.bootstrap.appCssLoadedCallback();
                window.Aura.bootstrap.appCssLoadedCallback = undefined;
            }
        }
    }



    var auraCss = document.getElementsByClassName('auraCss');
    var current;
    window.Aura.bootstrap.appCssLoading = auraCss.length > 0;
    for (var c=0,length=auraCss.length;c<length;c++) {
        current = auraCss[c];
        appCssLoadingCount++;
        current.addEventListener('load',onLoadStyleSheets);
        current.addEventListener('error',onLoadStyleSheets);
        current.href = current.getAttribute("data-href");
    }

}());

    </script><script data-src="/jslibrary/1524085772000/canvas/CanvasRendering.js"></script><script data-src="/jslibrary/1524085772000/ui-analytics-reporting/EclairNG.js"></script><script data-src="/jslibrary/1524085772000/ui-sfdc-javascript-impl/OneDesktop.js"></script><script data-src="/jslibrary/1524085772000/walkthrough/WalkthroughOneDesktop.js"></script><!--"'--><script nonce="c42863bb-7fec-51c6-bdf3-6f62b27ae33f">;(function() { window.Aura = window.Aura || {}; window.Aura.beforeFrameworkInit = Aura.beforeFrameworkInit || []; window.Aura.beforeFrameworkInit.push(function() { /*
 * This code is for Internal Salesforce use only, and subject to change without notice.
 * Customers shouldn't reference this file in any web pages.
 */
var RecordGlobalValueProvider=function(a,b,c,d,e){this._cmp=null;this.configs={refresh:1E3*a,expiration:1E3*b,maxSize:c,version:d,previousVersion:e,minSaveToStorageInterval:3E3};Object.freeze(this.configs)};RecordGlobalValueProvider.prototype.getValues=function(){return{}};RecordGlobalValueProvider.prototype.merge=function(a){$A.util.isEmpty(a)||(this._createCmp(),this._cmp.helper.recordLib.records._receiveFrom$RecordGvp(a))};
RecordGlobalValueProvider.prototype.get=function(a,b){if("configs"===a)return this.configs;this._requestFromServer(a)};RecordGlobalValueProvider.prototype._requestFromServer=function(a){if(this._createCmp()){var b=this._cmp.get("c.getRecord");b.setParams({recordDescriptor:a});b.setCallback(this,$A.getCallback(function(b){"INCOMPLETE"===b.getState()&&this._cmp.helper.handleIncomplete.call(this._cmp.helper,a)}));$A.enqueueAction(b);$A.run(function(){},"RecordGlobalValueProvider._requestFromServer")}};
RecordGlobalValueProvider.prototype._createCmp=function(){this._cmp||(this._cmp=$A.createComponentFromConfig({descriptor:"markup://force:recordGlobalValueProvider",attributes:null}));return!$A.util.isUndefinedOrNull(this._cmp)};

//# sourceMappingURL=/javascript/1524038675000/ui-sfdc-javascript-impl/source/RecordGVP.js.map

$A.addValueProvider('$Record', new RecordGlobalValueProvider(30, 900, 5120, '42.0', '41.0')) ; });  }());</script><script src="/auraFW/javascript/1bO4dJePbDnoI-_VdhdsEQ/aura_prod.js"></script><script src="/l/%7B%22mode%22%3A%22PROD%22%2C%22app%22%3A%22one%3Aone%22%2C%22serializationVersion%22%3A1%2C%22loaded%22%3A%7B%22APPLICATION%40markup%3A%2F%2Fone%3Aone%22%3A%22g1ad8Qc8ZUwOL_CjOJZ1ow%22%7D%2C%22pathPrefix%22%3A%22%22%2C%22ls%22%3A1%2C%22m%22%3A1%7D/appcore.js"></script><script src="/l/%7B%22mode%22%3A%22PROD%22%2C%22app%22%3A%22one%3Aone%22%2C%22serializationVersion%22%3A1%2C%22loaded%22%3A%7B%22APPLICATION%40markup%3A%2F%2Fone%3Aone%22%3A%22g1ad8Qc8ZUwOL_CjOJZ1ow%22%7D%2C%22pathPrefix%22%3A%22%22%2C%22ls%22%3A1%2C%22m%22%3A1%7D/app.js"></script><script src="/l/%7B%22mode%22%3A%22PROD%22%2C%22app%22%3A%22one%3Aone%22%2C%22fwuid%22%3A%221bO4dJePbDnoI-_VdhdsEQ%22%2C%22loaded%22%3A%7B%22APPLICATION%40markup%3A%2F%2Fone%3Aone%22%3A%22g1ad8Qc8ZUwOL_CjOJZ1ow%22%7D%2C%22pathPrefix%22%3A%22%22%2C%22ls%22%3A1%2C%22m%22%3A1%7D/bootstrap.js?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..hzj3O-uUHQ5erDcoND5VqtQy5fYi1CocyntG91no9yc"></script><!--"'--><script data-src="/jslibrary/1524085772000/analytics-reporting-impl/CordaPopChart.js" type="text/javascript" defer="1" async="1" nonce="c42863bb-7fec-51c6-bdf3-6f62b27ae33f" ></script><!--"'--><script type="text/javascript" nonce="c42863bb-7fec-51c6-bdf3-6f62b27ae33f" >
        Aura.alohaPageConfig = "673f78885d1fbf8f71c021060af3330bcc09869a6fc384c7fea51aa0078c3158"; 
    </script><!--"'--><script type="text/javascript" nonce="c42863bb-7fec-51c6-bdf3-6f62b27ae33f" >
   Aura.canvasConfig = {"sublocations":{"S1MobileCard":{"Fullview":"S1MobileCardFullview","Preview":"S1MobileCardPreview"},"S1RecordHome":{"Fullview":"S1RecordHomeFullview","Preview":"S1RecordHomePreview"}},"sessionId":"00D7F000006PdUa!AREAQJgKsKnX8NTXSoOm3qXakeCGe9wlNPNUdyEB8rubV8ivrPRZ42OT6YM7bo6E1rpEtBr41D.KdDczP0qx5SBZq4NbXcR5","apiVersion":"42.0","serverUrl":"https://ap5.salesforce.com","scriptUrls":["/jslibrary/1509745748000/ui-sfdc-javascript-impl/SfdcCoreLean.js","/jslibrary/1518537600000/canvas/CanvasRendering.js"],"cacheLabels":"{\"preview\":\"Preview\",\"purged1Entry\":\"Purged 1 item from the cache\",\"advanced\":\"Advanced\",\"title\":\"Squid Cache Manager\",\"purgedNEntries\":\"Purged {0} items from the cache\",\"varyHeadersRecommendations\":\"Recommendations for purging varied contents\",\"regEx\":\"Java regular expression\",\"urlNote\":\"Please note that Squid stores http:// and https:// URLs separately.\",\"cacheContentPreview\":\"Cache Content Preview\",\"cachedDate\":\"Cached Date\",\"varyMarker\":\"Vary Marker\",\"filterCriteria\":\"Filter Criteria\",\"purgeInBulk\":\"Purge in Bulk\",\"method\":\"Method\",\"proxyServer\":\"Proxy Server\",\"previewedNEntries\":\"{0} cached items displayed\",\"cacheInfo\":\"Cache Information\",\"additionalItemsInCache\":\"Please note that additional items that match the filter criteria might exist in the cache.\",\"url\":\"URL\",\"startsWithWithGlobbing\":\"startsWith with asterisk globbing\",\"lastUsed\":\"Last Used Date\",\"varyHeaders\":\"Vary Headers\",\"size\":\"Data Size (Bytes)\",\"pleaseWait\":\"Please Wait...\",\"cacheContents\":\"Cache Contents\",\"lastUpdate\":\"Last Update Date\",\"previewed1Entry\":\"1 cached item displayed\",\"expiration\":\"Expiration Date\"}","previewKey":"Preview","fullviewKey":"Fullview","labels":"{\"subscribeRequiresAPI\":\"The user and application requires API permissions before it can subscribe to events [{0}].\",\"userApprovalRequired\":\"The user must approve this canvas application before a signed request can successfully be retrieved.\",\"loadingStatus\":\"Loading {0}...\",\"subscribeGenericError\":\"Received status code [{0}] attempting to subscribe to events [{1}]\",\"appInfo\":\"Application Information\",\"containerElementNotFound\":\"Container element not found [{0}].\",\"signedRequestRetrievalError\":\"Unable to retrieve signed request from the server. Please try your request later. {0}\",\"testOnlyLabelNotReferenced\":\"This label is for testing only for special characters and should not be referenced in code. It must be present in all languages to make sure it's parsed in JSON. Single quote '\",\"invalidSignedRequestFormat\":\"Unable to understand signed request due to invalid format.\",\"eventNamespaceReserved\":\"Namespace has already been reserved\",\"missingIdInContext\":\"Error: Expecting identifier in canvas application client context.\",\"clientParentVersionsMismatch\":\"The canvas app is using the pilot version of the SDK. Please have the developer upgrade to the generally available version.\",\"unsupportedBrowser\":\"You are using an unsupported browser.  Please refer to the Canvas Developers guide for a list of supported browsers.\",\"iframeTitle\":\"Canvas IFrame for application {0}.\",\"missingSid\":\"Error: Session ID not supplied or found in DOM.\",\"insufficientAppContainerInfo\":\"Error: Insufficient container and/or app parameter information passed in. Canvas requires the API name or reference Id of the canvas app.\",\"defaultNotifyTitle\":\"Canvas - {0}\",\"defaultRenderSummary\":\"Oops, there was an error rendering Canvas application [{0}].\",\"invalidTraceEventName\":\"Precondition Error: Event name is required (options.name).\",\"unableToParseApp\":\"Unable to retrieve application metadata from signed request due to invalid format.\",\"unsupportedServerResponse\":\"Unable to retrieve signed request from the server. Please try your request later.\",\"authTypeMismatch\":\"You are requesting a service that is only supported for canvas apps of auth type SignedRequest.\",\"missingParentVersionInfo\":\"Error: Parent version information not supplied.\",\"invalidTraceEventType\":\"Precondition Error: Invalid event type (options.type).\",\"sessionInvalid\":\"Your browsing session has ended or is invalid.  Please re-login to Salesforce.com again.\",\"eventMultipleNamespaces\":\"Event names can only contain one namespace\",\"errorOccurredInRendering\":\"An error occurred: [{0}].\",\"invalidTraceCanvasAppNameOrId\":\"Precondition Error: Canvas application name or reference ID is required (options.canvas).\",\"configureLabel\":\"Click to configure\",\"eventInvalidCharacters\":\"Event name contains invalid characters\"}","userData":"{\"ampm\":[\"AM\",\"PM\"],\"isAccessibleMode\":false,\"uiSkin\":\"Theme3\",\"salesforceURL\":\"https://ap5.salesforce.com\",\"dateFormat\":\"M/d/yyyy\",\"language\":\"en_US\",\"locale\":\"en_US\",\"userName\":\"cle.ee-txok@force.com\",\"userId\":\"0057F000002v3re\",\"isCurrentlySysAdminSU\":false,\"renderMode\":\"RETRO\",\"startOfWeek\":\"1\",\"vfDomainPattern\":\"(?:[^.]+).ap5.visual.force.com\",\"auraDomain\":\"ap5.lightning.force.com\",\"dateTimeFormat\":\"M/d/yyyy h:mm a\",\"orgPreferences\":[{\"index\":257,\"name\":\"TabOrganizer\",\"value\":true},{\"index\":113,\"name\":\"GroupTasks\",\"value\":true}],\"siteUrlPrefix\":\"\",\"isDefaultNetwork\":true,\"labelLastModified\":\"1524085772000\",\"today\":\"4/19/2018 11:55 PM\",\"timeFormat\":\"h:mm a\",\"userPreferences\":[{\"index\":112,\"name\":\"HideInlineEditSplash\",\"value\":false},{\"index\":114,\"name\":\"OverrideTaskSendNotification\",\"value\":false},{\"index\":115,\"name\":\"DefaultTaskSendNotification\",\"value\":false},{\"index\":119,\"name\":\"HideUserLayoutStdFieldInfo\",\"value\":false},{\"index\":116,\"name\":\"HideRPPWarning\",\"value\":false},{\"index\":87,\"name\":\"HideInlineSchedulingSplash\",\"value\":false},{\"index\":88,\"name\":\"HideCRUCNotification\",\"value\":false},{\"index\":89,\"name\":\"HideNewPLESplash\",\"value\":false},{\"index\":90,\"name\":\"HideNewPLEWarnIE6\",\"value\":false},{\"index\":122,\"name\":\"HideOverrideSharingMessage\",\"value\":false},{\"index\":91,\"name\":\"HideProfileILEWarn\",\"value\":false},{\"index\":93,\"name\":\"HideProfileElvVideo\",\"value\":false},{\"index\":97,\"name\":\"ShowPicklistEditSplash\",\"value\":false},{\"index\":92,\"name\":\"HideDataCategorySplash\",\"value\":false},{\"index\":128,\"name\":\"ShowDealView\",\"value\":false},{\"index\":129,\"name\":\"HideDealViewGuidedTour\",\"value\":false},{\"index\":132,\"name\":\"HideKnowledgeFirstTimeSetupMsg\",\"value\":false},{\"index\":104,\"name\":\"DefaultOffEntityPermsMsg\",\"value\":false},{\"index\":135,\"name\":\"HideNewCsnSplash\",\"value\":false},{\"index\":101,\"name\":\"HideBrowserWarning\",\"value\":false},{\"index\":139,\"name\":\"HideDashboardBuilderGuidedTour\",\"value\":false},{\"index\":140,\"name\":\"HideSchedulingGuidedTour\",\"value\":false},{\"index\":180,\"name\":\"HideReportBuilderGuidedTour\",\"value\":false},{\"index\":183,\"name\":\"HideAssociationQueueCallout\",\"value\":false},{\"index\":194,\"name\":\"HideQTEBanner\",\"value\":false},{\"index\":193,\"name\":\"HideChatterOnboardingSplash\",\"value\":false},{\"index\":195,\"name\":\"HideSecondChatterOnboardingSplash\",\"value\":false},{\"index\":270,\"name\":\"HideIDEGuidedTour\",\"value\":false},{\"index\":282,\"name\":\"HideQueryToolGuidedTour\",\"value\":false},{\"index\":196,\"name\":\"HideCSIGuidedTour\",\"value\":false},{\"index\":271,\"name\":\"HideFewmetGuidedTour\",\"value\":false},{\"index\":272,\"name\":\"HideEditorGuidedTour\",\"value\":false},{\"index\":205,\"name\":\"HideApexTestGuidedTour\",\"value\":false},{\"index\":206,\"name\":\"HideSetupProfileHeaderTour\",\"value\":false},{\"index\":207,\"name\":\"HideSetupProfileObjectsAndTabsTour\",\"value\":false},{\"index\":213,\"name\":\"DefaultOffArticleTypeEntityPermMsg\",\"value\":false},{\"index\":214,\"name\":\"HideSelfInfluenceGetStarted\",\"value\":false},{\"index\":215,\"name\":\"HideOtherInfluenceGetStarted\",\"value\":false},{\"index\":216,\"name\":\"HideFeedToggleGuidedTour\",\"value\":false},{\"index\":268,\"name\":\"ShowChatterTab178GuidedTour\",\"value\":false},{\"index\":275,\"name\":\"HidePeopleTabDeprecationMsg\",\"value\":false},{\"index\":276,\"name\":\"HideGroupTabDeprecationMsg\",\"value\":false},{\"index\":224,\"name\":\"HideUnifiedSearchGuidedTour\",\"value\":false},{\"index\":226,\"name\":\"ShowDevContextMenu\",\"value\":true},{\"index\":227,\"name\":\"HideWhatRecommenderForActivityQueues\",\"value\":false},{\"index\":228,\"name\":\"HideLiveAgentFirstTimeSetupMsg\",\"value\":false},{\"index\":232,\"name\":\"HideGroupAllowsGuestsMsgOnMemberWidget\",\"value\":false},{\"index\":233,\"name\":\"HideGroupAllowsGuestsMsg\",\"value\":false},{\"index\":234,\"name\":\"HideWhatAreGuestsMsg\",\"value\":false},{\"index\":235,\"name\":\"HideNowAllowGuestsMsg\",\"value\":false},{\"index\":236,\"name\":\"HideSocialAccountsAndContactsGuidedTour\",\"value\":false},{\"index\":237,\"name\":\"HideAnalyticsHomeGuidedTour\",\"value\":false},{\"index\":238,\"name\":\"ShowQuickCreateGuidedTour\",\"value\":false},{\"index\":245,\"name\":\"HideFilePageGuidedTour\",\"value\":false},{\"index\":250,\"name\":\"HideForecastingGuidedTour\",\"value\":false},{\"index\":251,\"name\":\"HideBucketFieldGuide\",\"value\":false},{\"index\":263,\"name\":\"HideSmartSearchCallOut\",\"value\":false},{\"index\":265,\"name\":\"HideSocialProfilesKloutSplashScreen\",\"value\":false},{\"index\":273,\"name\":\"ShowForecastingQuotaAttainment\",\"value\":false},{\"index\":280,\"name\":\"HideForecastingQuotaColumn\",\"value\":false},{\"index\":301,\"name\":\"HideManyWhoGuidedTour\",\"value\":false},{\"index\":298,\"name\":\"HideFileSyncBannerMsg\",\"value\":false},{\"index\":299,\"name\":\"HideTestConsoleGuidedTour\",\"value\":false},{\"index\":302,\"name\":\"HideManyWhoInlineEditTip\",\"value\":false},{\"index\":303,\"name\":\"HideSetupV2WelcomeMessage\",\"value\":false},{\"index\":312,\"name\":\"ForecastingShowQuantity\",\"value\":false},{\"index\":313,\"name\":\"HideDataImporterIntroMsg\",\"value\":false},{\"index\":314,\"name\":\"HideEnvironmentHubLightbox\",\"value\":false},{\"index\":316,\"name\":\"HideSetupV2GuidedTour\",\"value\":false},{\"index\":317,\"name\":\"HideFileSyncMobileDownloadDialog\",\"value\":false},{\"index\":322,\"name\":\"HideEnhancedProfileHelpBubble\",\"value\":false},{\"index\":328,\"name\":\"ForecastingHideZeroRows\",\"value\":false},{\"index\":330,\"name\":\"HideEmbeddedComponentsFeatureCallout\",\"value\":false},{\"index\":341,\"name\":\"HideDedupeMatchResultCallout\",\"value\":false},{\"index\":340,\"name\":\"HideS1BrowserUI\",\"value\":false},{\"index\":346,\"name\":\"HideS1Banner\",\"value\":false},{\"index\":358,\"name\":\"HideEmailVerificationAlert\",\"value\":false},{\"index\":354,\"name\":\"HideLearningPathModal\",\"value\":false},{\"index\":359,\"name\":\"HideAtMentionsHelpBubble\",\"value\":false},{\"index\":368,\"name\":\"LightningExperiencePreferred\",\"value\":true}],\"networkId\":\"\"}"};
</script></body></html>
```要获取更多Jerry的原创文章,请关注公众号"汪子熙":
<img src="https://user-images.githubusercontent.com/5669954/61616089-2a87e180-ac9a-11e9-861d-c29c2cf897af.png">

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券