• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

easy-cron: 这是基于Vue.js和iviewui封装一个crontab表达式的组件,可以方便、快捷直 ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

easy-cron

开源软件地址:

https://gitee.com/toktok/easy-cron

开源软件介绍:

easy-cron

1. 介绍

Cron表达式看则简单,但是实际上如果手写的话,非常容易出错的,而且很难及时发现,而easy-cron就是为此应运而生的。

easy-cron是基于Vue.js和iview实现crontab表达式的UI组件,支持多种特性,可以方便、快捷直观地定义cron表达式,并支持给定开始时间后的执行时间点,方便排除错误。

本工程包括测试代码,和vue原始文件。

imageimageimageimage

2. 软件特性

支持特性:

  • 纯js代码实现,可以方便和其他iview&vue.js项目无缝接入。
  • v-model双向数据绑定
  • 多种crontab表达式,可以支持到参数年
  • cron表达式校验器validator
  • 提供easy-cron原始界面组件,方便开发者自己封装
  • 默认提供input-cron输入组件,开发者可以直接使用,内置validator校验
  • 纯js模拟cron表达式的执行触发时间点列表
  • 可以指定开始之后,观察cron表达式触发执行时间点
  • 可隐藏参数秒和年的配置(hideSeconde,hideYear)
  • 配置远程函数,获取执行预览时间列表

依赖组件列表:

3. 安装教程

3.1 Demo编译运行

如果要运行demo,可以直接运行命令即可: npm run dev,当然也看直接在线查看。

3.2 集成到项目中

可以将src/componets/easy-cron中的代码直接复制到工程中,就可以直接导入使用。

3.3 支持格式

*    *    *    *    *    *   *┬    ┬    ┬    ┬    ┬    ┬   ┬│    │    │    │    │    |   └ year (可选)│    │    │    │    │    └ day of week (0 - 7) (0 or 7 is Sun)│    │    │    │    └───── month (1 - 12)│    │    │    └────────── day of month (1 - 31)│    │    └─────────────── hour (0 - 23)│    └──────────────────── minute (0 - 59)└───────────────────────── second (0 - 59) (可选)

星期对应的单词缩写映射关系如下:

'SUN': 0 或 7'MON': 1'TUE': 2'WED': 3'THU': 4'FRI': 5'SAT': 6
  • 注意: cron表达式执行预览时间,暂时不支持特殊参数(L,W,#)

4. 使用说明

4.1 快速使用input-cron输入cron表达式组件

直接参考代码如下

import InputCron from './easy-cron/input-cron'...<FormItem label="输入组件" prop="cronValue">  <input-cron type="text" v-model="formData.cronValue1"    placeholder="请输入cron表达式(http://www.easysb.cn)"/></FormItem>

4.2 直接使用easy-cron元组件

直接参考代码如下

import EasyCron from './easy-cron'...<FormItem label="原始组件(700px)" prop="cronValue">  <easy-cron style="width: 700px;"    v-model="formData.cronValue2"></easy-cron></FormItem>// 可以调整元组件大小// disabled属性用来禁用编辑// hideSecond属性表示是否隐藏参数秒,同时年参数也将会被隐藏// hideYear属性表示是否隐藏参数年// remote属性表示设置获取执行预览时间列表的函数<FormItem label="原始组件(800px)" prop="cronValue">  <easy-cron style="width: 800px;"    v-model="formData.cronValue3" :disabled="true"    :remote="remote"></easy-cron></FormItem>......methods: {    remote (val, time, cb) {      const msg = `remote called: ${val} ${time}`      console.info(msg)      setTimeout(() => {        // get result for e via http...        const result = msg        // ...        // callback        cb(result)      }, 200)    }  },  

4.3 使用cron表达式校验器

直接参考代码如下

<FormItem label="原始组件(800px)" prop="cronValue">  <easy-cron style="width: 800px;"    v-model="formData.cronValue3"></easy-cron></FormItem>....import CronValidator from './easy-cron/validator'...data () {  return {    msg: 'Cron表达式测试页面',    formData: {      ....      cronValue1: '',      cronValue2: '4 1/2 5 7-8 1 ?',      cronValue3: '1 2-4 3/5 3/12 4,5,8 ? *'    },    formDataValidator: {      cronValue: [        { validator: CronValidator }      ]  }}

5. 属性说明

属性名参数类型说明
v-modelString双向绑定
disabledBoolean是否禁止编辑
exeStartTimeNumber, String, Date设置cron表达式开始执行时间
hideSecondBoolean是否隐藏参数设置,如果隐藏,那么参数将会全部忽略掉。
hideYearBoolean是否隐藏参数设置,如果隐藏,那么参数将会全部忽略掉
remoteFunction获取预览执行时间列表的函数,格式为:remote (cron值, time时间戳, cb回调函数)

6. 参与贡献

  1. Fork 本仓库
  2. 在个人博客留言: 水滴石 http://www.easysb.cn

7. 参考项目

本组件实现参考以下多位大佬:


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
prex: Prex基于Spring Boot 2.1.9 、Spring Cloud Greenwich.RELEASE、Spring Cloud ...发布时间:2022-03-23
下一篇:
ZrAdminNetCore: 发布时间:2022-03-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap