完整目录
这一篇介绍前端的实现
首先是前端表单
这里只介绍cron组件, 其他的都是文本输入组件, 非常简单
使用了react-js-cron这个组件
import { Cron } from 'react-js-cron' function generationMonth() { let a = [] for (let i =1; i <=12; i++){ a.push(i+ "月") } return a } const months = generationMonth() const weeks = ["星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期天"] let CronI18 = { everyText: "每", emptyMonths: "每月", emptyMonthDays: "一个月的某一天", emptyMonthDaysShort: "1号", emptyWeekDays: "一周的某一天", emptyWeekDaysShort: "星期一", emptyHours: "每小时", emptyMinutes: "每分钟", emptyMinutesForHourPeriod: "任何时候", yearOption: "年", monthOption: "月", weekOption: "周", dayOption: "日", hourOption: "小时", minuteOption: "分钟", rebootOption: "重启", prefixPeriod: "每", prefixMonths: " ", prefixMonthDays: " ", prefixWeekDays: " ", prefixWeekDaysForMonthAndYearPeriod: " ", prefixHours: " ", prefixMinutes: ":", prefixMinutesForHourPeriod: " ", suffixMinutesForHourPeriod: "分钟", errorInvalidCron: "错误的cron表达式", weekDays: weeks, months: months, altWeekDays: weeks, altMonths: months, } function PeriodicTaskCreate(props) { const [value, setValue] = useState('* */2 * * *') return ( <Cron value={value} locale={CronI18} setValue={(v)=> {setValue(v)}} /> ) }

有几个字段可以在提交表单时进行校验,
- 环境变量, 我们可以在提交时检查, 如果环境变量不为空, 那么我们就把它转换为json, 如果转换失败, 那么就报错提示用户格式错误
- 通知列表,如果不为空, 检查格式是用;分割的一个个标准邮箱
- git的地址是否为标准的git ssh地址
当用户输入完所有信息后, 点击确定, 就会调用后端的API创建任务
发表回复