# simple-schedule
**Repository Path**: littlevv/simple-schedule
## Basic Information
- **Project Name**: simple-schedule
- **Description**: 适用于vue的前端定时任务组件。
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 6
- **Forks**: 2
- **Created**: 2019-08-12
- **Last Updated**: 2022-03-23
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
- [1. SimpleSchedule](#1-simpleschedule)
- [1.1 简介](#11-简介)
- [1.2 使用方式](#12-使用方式)
- [1.2.1 组件安装](#121-组件安装)
- [1.2.2 main.js中引用组件](#122-mainjs中引用组件)
- [1.2.3 App.vue中注册全局任务](#123-appvue中注册全局任务)
- [1.2.4 子组件监听定时任务](#124-子组件监听定时任务)
- [1.2 Event](#12-event)
- [1.3 Params](#13-params)
- [1.3.1 基本参数](#131-基本参数)
- [1.3.1 taskObject](#131-taskobject)
- [1.3.2 taskParams](#132-taskparams)
# 1. SimpleSchedule
## 1.1 简介
- 传统项目开发中,如果存在大量的定时轮训任务(多个位置多个文件中存在setInterval或者requestAnimationFrame),会造成页面卡顿,定时任务执行异常,定时任务不可控制。可使用此组件,统一管理所有定时任务。轮训方式为requestAnimationFrame与SetInterval结合的方式进行轮训,窗口激活状态下使用requestAnimationFrame完成轮训,窗口非激活状态下自动切换回setInterval方式轮训。适用vue项目中使用。
## 1.2 使用方式
### 1.2.1 组件安装
```javascript
cnpm install -S https://gitee.com/littlevv/simple-schedule.git#master
```
### 1.2.2 main.js中引用组件
```javascript
...
import SimpleSchedule from 'SimpleSchedule'
Vue.use(SimpleSchedule)
```
### 1.2.3 App.vue中注册全局任务
- (建议在app.vue中注册,这样可借助EventBus等在子组件中触发定时操作)
```javascript
...
// created钩子函数中初始化schedule.设置三个定时任务,任务id分别为(task1,task2,task3),执行事件间隔分别为1s,5s,10s.回调方法为
created () {
this.$schedule.init({
tasks: {
task1: 1000,
task2: 5000,
task3: 10000
},
callBack: (params) => {
this.$EventBus.$emit(params.taskId, {taskId: params.taskId, realTime: this.dealWithTime(new Date()), mode: params.mode})
}
})
// 开启定时任务
this.$schedule.start()
}
```
### 1.2.4 子组件监听定时任务
- HeaderBar.vue
```html
...
```
## 1.2 Event
|事件名称|说明|调用方式|
|---|---|---|
|start|开启定时任务|this.$schedule.start()|
|cacle|退出所有定时任务|this.$schedule.cancle()|
|parse|暂停所有定时任务,可以通过start再次唤醒|this.$schedule.parse()|
## 1.3 Params
### 1.3.1 基本参数
|name| type| default|备注|
|---|---|---|---|
|tasks|TaskObject|[]|任务列表|
|callBack|function(taskParams)|null|任务回调|
### 1.3.1 taskObject
|name|type|default| 备注|
|---|---|---|---|
|taskId|string|null|任务id|
|time|Integer|0|定时任务执行间隔|
### 1.3.2 taskParams
|name|type|default|备注|
|---|---|---|---|
|taskId|String|--|当前触发任务ID|
|realTime|Integer|--|触发当前任务的时间毫秒值|
|mode|String|--|触发当前任务所使用的轮训模式,RequestAnimationFrame&SetInterval|