|
|
@@ -157,7 +157,7 @@
|
|
|
left: 0;
|
|
|
right: 0;
|
|
|
bottom: 0;
|
|
|
- z-index: 20;
|
|
|
+ z-index: 200;
|
|
|
padding: 10px 15px calc(10px + var(--safe-bottom));
|
|
|
background: linear-gradient(180deg, rgba(244, 246, 251, 0) 0%, #f4f6fb 36%);
|
|
|
pointer-events: none;
|
|
|
@@ -211,10 +211,12 @@
|
|
|
min-height: 48px;
|
|
|
border-radius: 999px;
|
|
|
overflow: hidden;
|
|
|
+ z-index: 2;
|
|
|
}
|
|
|
|
|
|
body.is-wechat.wx-jssdk-ready #launch-btn {
|
|
|
display: block;
|
|
|
+ pointer-events: auto;
|
|
|
}
|
|
|
|
|
|
body.is-wechat.wx-jssdk-ready #btnContinue {
|
|
|
@@ -348,6 +350,17 @@
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /** 对话 payload 在 query 中会导致 URL 过长,微信 JSSDK / 开放标签易 launch:fail;读完后清掉 query */
|
|
|
+ function stripPayloadQueryFromUrl() {
|
|
|
+ try {
|
|
|
+ if (!location.search || location.search.indexOf("payload=") < 0) return;
|
|
|
+ var u = new URL(location.href);
|
|
|
+ u.searchParams.delete("payload");
|
|
|
+ var next = u.pathname + (u.search || "") + (u.hash || "");
|
|
|
+ history.replaceState(null, document.title, next);
|
|
|
+ } catch (eStrip) {}
|
|
|
+ }
|
|
|
+
|
|
|
function getFirstUserQuestion(messages) {
|
|
|
var list = Array.isArray(messages) ? messages : [];
|
|
|
for (var i = 0; i < list.length; i++) {
|
|
|
@@ -601,8 +614,7 @@
|
|
|
}
|
|
|
|
|
|
function getWxConfigSignUrl() {
|
|
|
- if (String(q("wxSignBaseOnly") || "") === "1") return getWxHtmlUrlBase();
|
|
|
- return getWxSignPageUrlForApi();
|
|
|
+ return getWxHtmlUrlBase();
|
|
|
}
|
|
|
|
|
|
function getWxGetConfigApiUrl() {
|
|
|
@@ -1020,10 +1032,17 @@
|
|
|
document.body.classList.add("is-wechat");
|
|
|
}
|
|
|
|
|
|
+ document.addEventListener("WeixinOpenTagsError", function (e) {
|
|
|
+ console.warn("[WeixinOpenTagsError]", e && e.detail);
|
|
|
+ });
|
|
|
+
|
|
|
+ var sharePayload = parsePayload();
|
|
|
+ stripPayloadQueryFromUrl();
|
|
|
+
|
|
|
bindWeChatLaunchTagEvents();
|
|
|
- scheduleWeChatJssdkBootstrap();
|
|
|
document.getElementById("btnContinue").addEventListener("click", tryOpenApp);
|
|
|
- render(parsePayload());
|
|
|
+ render(sharePayload);
|
|
|
+ scheduleWeChatJssdkBootstrap();
|
|
|
})();
|
|
|
</script>
|
|
|
</body>
|