AI会话任务修复:P1 review状态独立映射+前端待确认提示,P2 移除next_run_at列+删除firePrompt死代码
This commit is contained in:
1 parent
c5678797b2
commit
d1fa66c865
4 files changed
+20
-28
No files matched your search
@@ -38,6 +38,7 @@ async function executeTask(opts) {
|
||||
const restore = () => { if (btn) { btn.disabled = false; btn.innerHTML = oldText; btn.classList.remove('btn-busy'); } };
|
||||
if (btn) { btn.disabled = true; btn.innerHTML = '执行中…'; btn.classList.add('btn-busy'); }
|
||||
let taskId = null;
|
||||
let finished = false;
|
||||
try {
|
||||
const d = await api('/api/run', {
|
||||
method: 'POST',
|
||||
@@ -58,12 +59,14 @@ async function executeTask(opts) {
|
||||
await new Promise((r) => setTimeout(r, 5000));
|
||||
let s = null;
|
||||
try { s = await api('/api/run/status?id=' + encodeURIComponent(taskId)); } catch (e) { continue; }
|
||||
if (!s || s.state === 'notfound') break;
|
||||
if (s.state === 'done') { showToast('✅ 任务执行完成,页面已自动刷新'); refreshCurrentPage(); break; }
|
||||
if (s.state === 'error') { showToast('❌ 任务执行失败' + (s.error ? ':' + s.error : '')); break; }
|
||||
if (!s || s.state === 'notfound') { finished = true; break; }
|
||||
if (s.state === 'done') { finished = true; showToast('✅ 任务执行完成,页面已自动刷新'); refreshCurrentPage(); break; }
|
||||
if (s.state === 'error') { finished = true; showToast('❌ 任务执行失败' + (s.error ? ':' + s.error : '')); break; }
|
||||
if (s.state === 'review') { finished = true; showToast('⏸ 任务待确认,请到左侧会话栏确认执行'); break; }
|
||||
// queued / pending / running → 继续等待
|
||||
}
|
||||
restore();
|
||||
if (!finished) showToast('⏳ 任务仍在执行,请到左侧会话栏查看进度');
|
||||
}
|
||||
|
||||
// 通用确认弹窗:确认后执行 AI 任务(opts: title/desc/target/url/prompt/label/btn/afterText)
|
||||
|
||||
@@ -44,26 +44,6 @@ function bindBack(container) {
|
||||
}));
|
||||
}
|
||||
|
||||
/* 触发 AI 任务:提交 WorkBuddy Automation 一次性任务,WorkBuddy 自动执行,左侧会话栏可见 */
|
||||
let _lastFireTs = 0;
|
||||
async function firePrompt(prompt, label) {
|
||||
const nowTs = Date.now();
|
||||
if (nowTs - _lastFireTs < 5000) { showToast('⏳ 任务刚提交,请在左侧会话栏查看执行'); return false; }
|
||||
_lastFireTs = nowTs;
|
||||
try {
|
||||
const d = await api('/api/run', {
|
||||
method: 'POST',
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
body: JSON.stringify({ prompt, name: label || '工作台任务' }),
|
||||
});
|
||||
showToast('✅ ' + (d.message || '任务已提交,请在左侧会话栏查看执行'));
|
||||
return true;
|
||||
} catch (e) {
|
||||
showToast('❌ 任务提交失败: ' + e.message);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/* AI写脚本 确认弹窗:按账号是否有设定动态文案;选题输入区(手输 / AI 结合人设生成)→ 确认后执行创作任务 */
|
||||
async function confirmAiScript(accountName, btn) {
|
||||
// 判断账号是否有有效设定(persona 非空且非测试占位):有 →「基于当前账号设定」,无 →「先进行账号设定分析」
|
||||
|
||||
Reference in new issue
Block a user