细节调整及优化(26.8.3)
This commit is contained in:
@@ -37,20 +37,20 @@ export class AppProvider implements QPProvider {
|
||||
priority = 95
|
||||
|
||||
async search(query: string): Promise<QPItem[]> {
|
||||
const apps = await loadApps()
|
||||
if (!query.trim()) {
|
||||
// 空查询:不显示应用(避免列表过长),由命令入口承担
|
||||
// 空查询:不显示应用(避免列表过长),也跳过应用扫描 IPC(不阻塞默认视图首屏)
|
||||
return []
|
||||
}
|
||||
const apps = await loadApps()
|
||||
const results: Array<{ item: QPItem; score: number }> = []
|
||||
let idx = 0
|
||||
for (const app of apps) {
|
||||
const forms = buildItemForms(app.name)
|
||||
const score = bestScore(query, forms)
|
||||
if (score >= 0) {
|
||||
results.push({
|
||||
item: {
|
||||
id: `app-${idx}`,
|
||||
// 稳定 id(基于路径):扫描结果顺序变化时历史记录仍能恢复原应用
|
||||
id: `app-${app.path}`,
|
||||
title: app.name,
|
||||
subtitle: app.path,
|
||||
group: '应用',
|
||||
@@ -62,7 +62,6 @@ export class AppProvider implements QPProvider {
|
||||
score,
|
||||
})
|
||||
}
|
||||
idx++
|
||||
}
|
||||
results.sort((a, b) => b.score - a.score)
|
||||
return results.slice(0, 15).map(r => ({ ...r.item, score: r.score }))
|
||||
|
||||
Reference in New Issue
Block a user