fix(wechat): sync MindSpace pages after MP generation and redirect on 401
Memind CI / Test, build, and release guards (push) Failing after 3m31s
Memind CI / Test, build, and release guards (push) Failing after 3m31s
WeChat page delivery now triggers syncUserGeneratedPages so write_file HTML gets page records; public share widget redirects unauthenticated owners to WeChat OAuth instead of only showing an error. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -40,6 +40,13 @@ function withParam(url,key,value){var next=new URL(url);next.searchParams.set(ke
|
||||
function fallbackCopy(text){var ta=document.createElement('textarea');ta.value=text;ta.style.position='fixed';ta.style.left='-9999px';ta.style.opacity='0';document.body.appendChild(ta);ta.focus();ta.select();var ok=document.execCommand('copy');ta.remove();if(!ok)throw new Error('复制失败');}
|
||||
async function copyText(text){if(navigator.clipboard&&navigator.clipboard.writeText){try{await navigator.clipboard.writeText(text);return;}catch(e){}}fallbackCopy(text);}
|
||||
function workspaceRelativePath(){var parts=location.pathname.split('/').filter(Boolean);if(parts[0]==='MindSpace'&&parts.length>=3)return parts.slice(2).join('/');return'';}
|
||||
function redirectToMindSpaceLogin(){
|
||||
var returnTo=encodeURIComponent(cleanUrl());
|
||||
var inWechat=/MicroMessenger/i.test(navigator.userAgent||'');
|
||||
if(inWechat){location.href='/auth/wechat/authorize?intent=login&return_to='+returnTo;return;}
|
||||
location.href='/?return_to='+returnTo;
|
||||
}
|
||||
function handleUnauthorizedResponse(){redirectToMindSpaceLogin();return new Error('正在跳转登录…');}
|
||||
function showPlazaView(name){Object.keys(plazaViews).forEach(function(key){var view=plazaViews[key];if(view)view.hidden=key!==name;});}
|
||||
function openPlazaDialog(){if(!dialog)return;dialog.hidden=false;showPlazaView('loading');void refreshPlazaDialog();}
|
||||
function closePlazaDialog(){if(dialog)dialog.hidden=true;showPlazaView('confirm');}
|
||||
@@ -55,7 +62,7 @@ try{
|
||||
var res=await fetch('/api/mindspace/v1/pages/quick-plaza-from-public-html/status?relative_path='+encodeURIComponent(relativePath),{credentials:'same-origin'});
|
||||
var payload=await res.json().catch(function(){return{};});
|
||||
if(!res.ok){
|
||||
if(res.status===401)throw new Error('请先登录 MindSpace');
|
||||
if(res.status===401)throw handleUnauthorizedResponse();
|
||||
var errBody=apiErrorBody(payload);
|
||||
throw new Error(errBody.message||'无法检查发布状态');
|
||||
}
|
||||
@@ -87,7 +94,7 @@ try{
|
||||
var res=await fetch('/api/mindspace/v1/pages/quick-plaza-from-public-html',{method:'POST',credentials:'same-origin',headers:{'Content-Type':'application/json'},body:JSON.stringify({relative_path:relativePath})});
|
||||
var payload=await res.json().catch(function(){return{};});
|
||||
if(!res.ok){
|
||||
if(res.status===401)throw new Error('请先登录 MindSpace');
|
||||
if(res.status===401)throw handleUnauthorizedResponse();
|
||||
var errBody=apiErrorBody(payload);
|
||||
var plazaUrl=resolvePlazaUrl(payload);
|
||||
if(errBody.code==='ALREADY_PUBLISHED'){showAlreadyPublished(plazaUrl);setStatus('该内容已在广场发布',false,true);return;}
|
||||
@@ -143,7 +150,7 @@ try{
|
||||
var res=await fetch('/api/mindspace/v1/pages/quick-wechat-draft-from-public-html/status?relative_path='+encodeURIComponent(relativePath),{credentials:'same-origin'});
|
||||
var payload=await res.json().catch(function(){return{};});
|
||||
if(!res.ok){
|
||||
if(res.status===401)throw new Error('请先登录 MindSpace');
|
||||
if(res.status===401)throw handleUnauthorizedResponse();
|
||||
var errBody=apiErrorBody(payload);
|
||||
throw new Error(errBody.message||'无法检查公众号草稿状态');
|
||||
}
|
||||
@@ -177,7 +184,7 @@ try{
|
||||
var res=await fetch('/api/mindspace/v1/pages/quick-wechat-draft-from-public-html',{method:'POST',credentials:'same-origin',headers:{'Content-Type':'application/json'},body:JSON.stringify({relative_path:relativePath})});
|
||||
var payload=await res.json().catch(function(){return{};});
|
||||
if(!res.ok){
|
||||
if(res.status===401)throw new Error('请先登录 MindSpace');
|
||||
if(res.status===401)throw handleUnauthorizedResponse();
|
||||
var errBody=apiErrorBody(payload);
|
||||
throw new Error(errBody.message||'推送失败');
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user