{{ t('task.title') }}
{{ t(`task.status.${task.status}`) }}
```
### 2.2 暂停功能实现指南
#### 2.2.1 数据库模型扩展
1. **修改实体类**
```typescript
// src/main/db/entities/ReadingReflectionTaskBatch.ts
import { Column, CreateDateColumn, Entity, OneToMany, PrimaryColumn } from 'typeorm'
@Entity('reading_reflection_task_batches')
export class ReadingReflectionTaskBatch {
// 现有字段...
@Column({ type: 'boolean', default: false })
isPaused!: boolean
@CreateDateColumn({ type: 'datetime', nullable: true })
pausedAt!: Date | null
}
```
2. **运行数据库迁移**
```bash
npm run typeorm migration:generate -- -n AddPauseFields
npm run typeorm migration:run
```
#### 2.2.2 实现暂停/恢复API
1. **添加RPC方法**
```typescript
// src/rpc/router/task.router.ts
export const taskRouter = router({
// 现有方法...
/**
* 暂停任务批次
*/
pauseBatch: publicProcedure
.input(z.object({ batchId: z.string() }))
.mutation(async ({ input }) => {
const batchRepo = AppDataSource.getRepository(ReadingReflectionTaskBatch)
await batchRepo.update(input.batchId, {
isPaused: true,
pausedAt: new Date()
})
return { success: true }
}),
/**
* 恢复任务批次
*/
resumeBatch: publicProcedure
.input(z.object({ batchId: z.string() }))
.mutation(async ({ input }) => {
const batchRepo = AppDataSource.getRepository(ReadingReflectionTaskBatch)
await batchRepo.update(input.batchId, {
isPaused: false,
pausedAt: null
})
return { success: true }
})
})
```
#### 2.2.3 任务执行器改进
1. **添加暂停检查逻辑**
```typescript
// src/main/manager/taskExecutor.ts
export class TaskExecutor {
// 现有方法...
private async checkPauseStatus(taskId: string): Promise