fix(scan): 登录后首次拉包自动触发扫描
CI / Backend tests (push) Canceled after 0s
CI / Frontend build (push) Canceled after 0s

ensureScan 原本只在每日自动扫描被调用,/api/packages 未接线,
导致部署重启后 rawCache 为空、登录拉包返回空列表且无扫描动作,
必须手动点「重新扫描」。现在 /api/packages 首次访问懒触发扫描,
返回 scanning 状态供前端轮询,登录后即可自动扫描。
This commit is contained in:
DuMate
2026-09-22 00:50:41 +08:00
parent 8f02af82e2
commit 552eb0df3f
+2 -1
View File
@@ -335,7 +335,8 @@ app.get('/api/packages', (req, res) => {
const demo = isDemoMode() const demo = isDemoMode()
const storage = currentStorage() const storage = currentStorage()
const validation = demo ? { ok: true, message: 'demo' } : validateStorage(storage) const validation = demo ? { ok: true, message: 'demo' } : validateStorage(storage)
const packages = buildPackages(req.query.keyword || '') // 先构建(触发懒扫描并填充缓存) ensureScan() // 懒触发:登录后首次拉包自动启动扫描(rawCache 缺失时),返回 scanning 状态供前端轮询
const packages = buildPackages(req.query.keyword || '') // 先构建(填充缓存)
res.json({ res.json({
demo, demo,
storageDir: storage || null, storageDir: storage || null,