如何在LWC社区页面中形成一个可以携带用户信息的URL?

How to form an URL in LWC Community Page that can carry User Info?

我正在使用 LWC 在 Lightning Community Experience Builder 中构建一个 Web 应用程序,它已经有一个 URL 承载我的组织的域。

现在我想将 URL 连同附加到其末尾的 Id 移交给用户,这样当用户访问该站点时,我可以使用 JS 从 URL 中检索 Id。 例如,

原文URL:cs-123.aig.lightning.force.com/form

用户登陆: cs-123.aig.lightning.force.com/form?userId=123

我必须能够在使用 renderedCallBack 或 connectedCallBack 加载组件时检索 userId。

提前致谢。

注意:LWC 提供的 Lightning Navigation Service,在 Salesforce、LEX 之外不起作用。

普通JavaScriptURLSearchParams应该就够了。我的项目中有类似的东西,并且在社区中工作正常,页面上嵌入了 LWC。

connectedCallback() {
    // Try to read the preselected id from URL
    if (window.location.href) {
        try {
            let url = new URL(window.location.href);
            let id = url.searchParams.get('id');
            if (id) {
                this.userId = id;
            }
        } catch (e) {
            if (console) {
                console.log(JSON.stringify(e));
            }
        }
    }
}