修复小程序生成前订阅授权体验

生成前订阅授权页自动弹出微信授权框

授权返回或跳过后继续执行拼图生成提交

避免订阅页改写上一页 web-view URL 导致回首页

更新订阅消息生成前授权与终态发送文档口径
This commit is contained in:
kdletters
2026-06-08 13:48:49 +08:00
parent 3a918687c5
commit 59b5bd1f83
7 changed files with 90 additions and 28 deletions

View File

@@ -1,4 +1,4 @@
/* global wx, getCurrentPages */
/* global wx */
const SUBSCRIBE_RESULT_STORAGE_KEY = 'genarrative:wechat-subscribe-result';
@@ -26,13 +26,6 @@ function buildSubscribeResultValue(requestId, status, reason) {
function notifyPreviousWebView(requestId, status, reason) {
const result = buildSubscribeResultValue(requestId, status, reason);
wx.setStorageSync(SUBSCRIBE_RESULT_STORAGE_KEY, result);
const pages = getCurrentPages();
const previousPage = pages.length >= 2 ? pages[pages.length - 2] : null;
if (previousPage && typeof previousPage.setData === 'function') {
previousPage.setData({
webViewUrl: appendSubscribeResult(previousPage.data.webViewUrl, result),
});
}
}
function resolveSubscribeStatus(result, templateId) {
@@ -64,6 +57,14 @@ function createSubscribeMessagePage(pageContext, options = {}) {
const page = pageContext ?? this;
page.requestId = String(query.requestId || '');
page.hasNotifiedSubscribeResult = false;
page.autoRequest = query.autoRequest === '1' || query.autoRequest === true;
if (page.autoRequest) {
setTimeout(() => {
if (!page.hasNotifiedSubscribeResult) {
this.requestSubscribe.call(page);
}
}, 0);
}
},
notifyResult(status, reason) {