优化: 清理无意义注释(走查编号前缀/过时历史标注/死代码注释)

This commit is contained in:
lxy
2026-08-15 18:05:43 +08:00
parent 5a4c821629
commit 5ac815b9ca
137 changed files with 735 additions and 737 deletions
+15 -15
View File
@@ -3,7 +3,7 @@ import { t } from '@/i18n/i18n-helpers'
import type { NodeStatus, WorkflowEventPayload } from '@/api/types'
import { state, _eventUnlisten, setEventUnlisten } from './state'
// B-41: 工作流进度共享推导。liveEvents 已全局收集所有 workflow-event,
// 工作流进度共享推导。liveEvents 已全局收集所有 workflow-event,
// 此处按 execution_id 重放派生节点状态/进度,供 TaskDetail/ProjectDetail 同源使用,
// 替代各自维护一份 onEvent 累加状态(单事实源,并发工作流互不干扰)。
export interface WorkflowProgress {
@@ -74,7 +74,7 @@ function deriveWorkflowProgress(
return { nodeStatuses, runningNode, doneCount, totalNodes, result }
}
// B-03b-R10(⑦ 互斥): 审批响应/取消 IPC 进行中标记(模块级单例,createWorkflowStore 每会话只跑一次)。
// b-R10(⑦ 互斥): 审批响应/取消 IPC 进行中标记(模块级单例,createWorkflowStore 每会话只跑一次)。
// 防双击/连点在同一轮 IPC 未返回前发起第二次(后端无幂等键,第二次会重复消费 Request 触发
// "node already completed" 类报错)。store 层守卫优于按钮 disabled: 共享单例 state,跨调用方统一。
let _approvalInFlight = false
@@ -112,18 +112,18 @@ export function createWorkflowStore() {
if (_eventUnlisten) return _eventUnlisten
const unlisten = await workflowApi.onEvent((payload) => {
try {
// 固时间戳(FR-C1):formattedEvents computed 重算时用事件发生时刻,非当前时刻
// 固时间戳formattedEvents computed 重算时用事件发生时刻,非当前时刻
state.liveEvents.push({ ...payload, _ts: Date.now() })
// 限长(FR-R3):防 liveEvents 无限增长撑爆内存,保留最近 200 条
// 限长防 liveEvents 无限增长撑爆内存,保留最近 200 条
if (state.liveEvents.length > 200) {
state.liveEvents.splice(0, state.liveEvents.length - 200)
}
// 处理人工审批请求
// WorkflowEvent serde tag=type rename_all=snake_case → type='human_approval_request',字段扁平(无 data 包装)(B-03b-R7)
// WorkflowEvent serde tag=type rename_all=snake_case → type='human_approval_request',字段扁平(无 data 包装)(b-R7)
if (payload.event?.type === 'human_approval_request') {
state.pendingApproval = payload.event as unknown as typeof state.pendingApproval
}
// B-03b-R10(⑤ 终态不清): 工作流走到终态(completed/failed)或审批节点被取消时,
// b-R10(⑤ 终态不清): 工作流走到终态(completed/failed)或审批节点被取消时,
// 若 pendingApproval 仍属于本次 execution,说明该审批未经 approve/cancel 正常路径关闭
// (上游节点失败/工作流被整体取消/用户「稍后」关闭弹窗但 state 仍残留),清掉陈旧态
// 避免下次进 ProjectDetail 时 watch immediate 误判仍有待审批。
@@ -150,7 +150,7 @@ export function createWorkflowStore() {
}
/**
* B-41: 按 execution_id 派生工作流进度(读全局 liveEvents,响应式)。
* 按 execution_id 派生工作流进度(读全局 liveEvents,响应式)。
* 供 TaskDetail(自身推进的 execId)/ ProjectDetail(最近一次执行)共用同源状态。
*/
function workflowProgress(execId: string | null): WorkflowProgress {
@@ -165,25 +165,25 @@ export function createWorkflowStore() {
* - 多选(select_type='multiple'):decisions 透传全量。
*
* CR-11⑪:签名保持 approveHumanApproval(decisions: string[], comment?)。
* F-260615-01: decisions/select_type 透传,与后端 IPC 签名对齐。
* decisions/select_type 透传,与后端 IPC 签名对齐。
*/
async function approveHumanApproval(
decisions: string[],
comment?: string,
) {
if (!state.pendingApproval) return
// B-03b-R10(⑦ 互斥): 上一轮 IPC 未返回,忽略重复点击(连点/双击)
// b-R10(⑦ 互斥): 上一轮 IPC 未返回,忽略重复点击(连点/双击)
if (_approvalInFlight) return
_approvalInFlight = true
const selectType = state.pendingApproval.select_type ?? 'single'
// CR-260615-18:删死逻辑三元(原 selectType 多/单分支返回值相同)
// 删死逻辑三元(原 selectType 多/单分支返回值相同)
// 单选取首项(后端 decision 单值);多选 decision 取首项占位(后端按 decisions 走)
const decision = decisions[0] ?? ''
try {
// R-PD-5: 透传 options 闭环后端校验(options 非空时 decision 必须 ∈ options,否则 IPC 报错)。
// 透传 options 闭环后端校验(options 非空时 decision 必须 ∈ options,否则 IPC 报错)。
// options 来自已收到的 HumanApprovalRequest 事件 payload(IPC 无法访问节点 config)。
// B-260615-34:snake_case 由 api 层对齐后端 workflow.rs:211
// snake_case 由 api 层对齐后端 workflow.rs:211
await workflowApi.approveHumanApproval({
execution_id: state.pendingApproval.execution_id,
node_id: state.pendingApproval.node_id,
@@ -200,7 +200,7 @@ export function createWorkflowStore() {
console.error('审批失败:', error)
state.error = error?.toString() ?? t('projects.err.approveFailed')
} finally {
// B-03b-R10(⑦ 互斥): 无论成功/失败,IPC 已返回,释放重入锁
// b-R10(⑦ 互斥): 无论成功/失败,IPC 已返回,释放重入锁
_approvalInFlight = false
}
}
@@ -208,7 +208,7 @@ export function createWorkflowStore() {
/** 取消当前待审批节点(调 cancel_workflow_node IPC 置节点 Cancelled) */
async function cancelHumanApproval() {
if (!state.pendingApproval) return
// B-03b-R10(⑦ 互斥): 上一轮 IPC 未返回,忽略重复点击
// b-R10(⑦ 互斥): 上一轮 IPC 未返回,忽略重复点击
if (_approvalInFlight) return
_approvalInFlight = true
@@ -223,7 +223,7 @@ export function createWorkflowStore() {
console.error('取消审批失败:', error)
state.error = error?.toString() ?? t('projects.err.cancelFailed')
} finally {
// B-03b-R10(⑦ 互斥): 无论成功/失败,IPC 已返回,释放重入锁
// b-R10(⑦ 互斥): 无论成功/失败,IPC 已返回,释放重入锁
_approvalInFlight = false
}
}