fix(cron): 用中文说明替代解析器原始报错

- 后端 CronPreviewError 增加 user_message,预览与任务保存共用;解析器英文原文只写日志
- 针对「0/2」这类单数字步长给出具体改法(*/2 或 1-10/2)
- 前端预览面板用警告图标 + 中文提示展示,网络异常回退通用文案,Cron 输入同步 aria-invalid
This commit is contained in:
2026-11-02 22:35:39 +08:00
parent b2ff255e32
commit b7ded69a7d
5 changed files with 51 additions and 10 deletions
+10 -4
View File
@@ -4,6 +4,7 @@ import {
Button,
Checkbox,
FormField,
Icon,
Input,
Modal,
Notice,
@@ -290,7 +291,7 @@ export function TaskEditorModal({
{...register('cron')}
className="mono-input"
placeholder="0 0 2 * * *"
aria-invalid={Boolean(errors.cron)}
aria-invalid={Boolean(errors.cron) || cronPreview.isError}
/>
</FormField>
@@ -354,9 +355,14 @@ export function TaskEditorModal({
</Text>
</div>
) : cronPreview.isError ? (
<Text size="sm" className="cron-preview-error">
{cronPreview.error.message}
</Text>
<div className="cron-preview-error">
<Icon name="warning_line" />
<span>
{cronPreview.error instanceof ApiRequestError
? cronPreview.error.message
: '暂时无法计算运行时间,请稍后重试'}
</span>
</div>
) : cronPreview.data?.runs.length ? (
<div className="cron-run-grid">
{cronPreview.data.runs.map((run, index) => (