接入 ESLint 并清理未使用代码

- 前后端接入 ESLint 10 扁平配置(typescript-eslint 类型感知检查 + react-hooks/react-refresh),新增 lint / lint:check / lint:fix 脚本并纳入 check 链路
- 清理全部 no-unused-vars 与 no-useless-assignment 警告,修复 floating promises、正则转义等问题
- 删除确认无引用的死代码(markKuaishouCloudBindUrlRefreshFailed、未使用 helper 等)
This commit is contained in:
yml2213
2026-08-16 18:04:55 +08:00
parent 5c7c3e14e3
commit 81ae04dae0
55 changed files with 3031 additions and 628 deletions
@@ -63,7 +63,7 @@ export default function WorkerHallPage() {
useEffect(() => {
if (!autoRefresh) return
const timer = window.setInterval(() => {
refreshAll()
void refreshAll()
}, 5000)
return () => window.clearInterval(timer)
}, [autoRefresh])
@@ -57,7 +57,7 @@ export default function WorkerLoginPage() {
const response = await loginWorker(values)
setWorkerSession(response.data.token, response.data.expiresAt, response.data.worker)
message.success('登录成功')
navigate('/hall', { replace: true })
void navigate('/hall', { replace: true })
} catch (error) {
message.error(error instanceof Error ? error.message : '登录失败')
} finally {
@@ -8,9 +8,7 @@ import {
} from '@ant-design/icons'
import { useQuery, useQueryClient } from '@tanstack/react-query'
import {
AutoComplete,
App,
Alert,
Button,
Card,
Descriptions,
@@ -29,7 +27,7 @@ import {
Typography,
} from 'antd'
import type { TableColumnsType } from 'antd'
import { useEffect, useState } from 'react'
import { useState } from 'react'
import { DeadlineCountdown } from '@/components/DeadlineCountdown'
import ImagePreviewList from '@/components/files/ImagePreviewList'
@@ -652,7 +650,7 @@ export default function WorkerOrdersPage() {
)
const screenshots = getMaterialScreenshots(order)
const canCopyInfo = getCopyOrderInfoItems(order).length > 0
const submittedAt = getAcceptanceSubmittedAt(order)
const _submittedAt = getAcceptanceSubmittedAt(order)
const acceptanceFiles = getUniqueAcceptanceFiles(getWorkerAcceptance(order))
const hasAcceptance = acceptanceFiles.length > 0
const draftFiles = getUniqueAcceptanceFiles(getWorkerDraft(order))
@@ -1409,28 +1407,6 @@ function getUniqueAcceptanceFiles(source?: WorkerAcceptance | null): UploadedFil
})
}
function getAcceptanceFiles(row: WorkOrder): UploadedFile[] {
return getAcceptanceFilesFromSource(getWorkerAcceptance(row))
}
function getAcceptanceImageUrls(row: WorkOrder): string[] {
const imageUrls = getWorkerAcceptance(row)?.imageUrls
return Array.isArray(imageUrls)
? imageUrls.map((item) => String(item || '').trim()).filter(Boolean)
: []
}
function getDraftFiles(row: WorkOrder): UploadedFile[] {
return getAcceptanceFilesFromSource(getWorkerDraft(row))
}
function getDraftImageUrls(row: WorkOrder): string[] {
const imageUrls = getWorkerDraft(row)?.imageUrls
return Array.isArray(imageUrls)
? imageUrls.map((item) => String(item || '').trim()).filter(Boolean)
: []
}
function getAcceptanceSubmittedAt(order: WorkOrder): string | null {
if (order.myShare) return order.myShare.submittedAt
const acceptanceSubmittedAt =
@@ -166,7 +166,7 @@ export default function WorkerProfilePage() {
} finally {
clearWorkerSession()
message.success('已退出登录')
navigate('/', { replace: true })
void navigate('/', { replace: true })
}
}
@@ -250,7 +250,7 @@ export default function WorkerProfilePage() {
})
message.success('密码已修改,请重新登录')
clearWorkerSession()
navigate('/', { replace: true })
void navigate('/', { replace: true })
} catch (error) {
message.error(error instanceof Error ? error.message : '修改密码失败')
} finally {