feat(desktop): 实现一些功能

1. 实现任务暂停功能

2. 实现页面的国际化功能

3.优化项目的结构以及BUG

4. 优化系统架构

5. 实现一大堆的功能
This commit is contained in:
2026-01-25 03:30:23 +08:00
parent 3f7347427e
commit 455dd1f4cd
88 changed files with 13451 additions and 581 deletions

View File

@@ -0,0 +1,61 @@
import pLimit from 'p-limit' // 建议使用 v2.2.0 以兼容 CJS
/**
* 并发管理器,负责动态调整并发数
*/
export class ConcurrencyManager {
private baseConcurrency: number
private currentConcurrency: number
private limit: ReturnType<typeof pLimit>
constructor(baseConcurrency: number = 2) {
this.baseConcurrency = baseConcurrency
this.currentConcurrency = baseConcurrency
this.limit = pLimit(this.currentConcurrency)
}
/**
* 获取当前的并发限制器
*/
getLimit() {
return this.limit
}
/**
* 增加并发数
*/
increaseConcurrency(): void {
this.currentConcurrency++
this.limit = pLimit(this.currentConcurrency)
}
/**
* 减少并发数
*/
decreaseConcurrency(): void {
if (this.currentConcurrency > 1) {
this.currentConcurrency--
this.limit = pLimit(this.currentConcurrency)
}
}
/**
* 重置并发数为基准值
*/
resetConcurrency(): void {
this.currentConcurrency = this.baseConcurrency
this.limit = pLimit(this.currentConcurrency)
}
/**
* 根据系统资源动态调整并发数
*/
adjustConcurrency(): void {
// 这里可以添加根据系统资源如CPU、内存使用率动态调整并发数的逻辑
// 目前实现一个简单的基于任务类型的调整策略
this.resetConcurrency()
}
}
// 导出一个单例实例
export const concurrencyManager = new ConcurrencyManager()