Skip to content

Commit 9c471fa

Browse files
committed
feat: 自动任务执行时间可配置, Colse #1
1 parent 3ace9fa commit 9c471fa

File tree

3 files changed

+41
-8
lines changed

3 files changed

+41
-8
lines changed

data/system/default_config.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,9 @@
22
"logger": {
33
"logLevel": "info",
44
"saveToFile": true
5+
},
6+
"autoTask": {
7+
"enabled": true,
8+
"execTime": "0 2 0 * * ? "
59
}
610
}

guoba.support.js

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,10 @@ export function supportGuoba() {
4747
configInfo: {
4848
// 配置项 schemas
4949
schemas: [
50+
{
51+
component: 'Divider',
52+
label: '日志设置'
53+
},
5054
{
5155
field: 'logger.logLevel',
5256
label: '日志等级',
@@ -66,9 +70,28 @@ export function supportGuoba() {
6670
{
6771
field: 'logger.saveToFile',
6872
label: '保存日志',
69-
bottomHelpMessage: '将日志保存到文件',
73+
helpMessage: '独立保存库洛插件的日志, 保存目录位于插件根目录 ./data/logs/',
74+
bottomHelpMessage: '是否将日志保存到文件',
7075
component: 'Switch'
7176
},
77+
{
78+
component: 'Divider',
79+
label: '自动任务设置'
80+
},
81+
{
82+
field: 'autoTask.enabled',
83+
label: '启用自动任务',
84+
helpMessage: '若关闭, 将一同关闭插件的检查更新任务, 但是插件每次被载入仍会检查更新',
85+
bottomHelpMessage: '是否启用自动任务, 重启 Yunzai 生效',
86+
component: 'Switch'
87+
},
88+
{
89+
field: 'autoTask.execTime',
90+
label: '任务执行时间',
91+
helpMessage: '默认为每天 00:02:00 自动执行, 暂不可配置检查更新任务(默认每天 6/18 点检查)',
92+
bottomHelpMessage: '任务执行时间, <a href="https://www.runoob.com/linux/linux-comm-crontab.html" target="_blank">corntab 表达式</a>, 请<a href="https://tool.lu/crontab/" target="_blank">检查</a>后再保存, 重启 Yunzai 生效',
93+
component: 'Input'
94+
},
7295
],
7396
// 获取配置数据方法(用于前端填充显示数据)
7497
getConfigData() {

model/autoTask.js

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,23 +14,29 @@ import {
1414
import { getRandomInt, sendMsgFriend, sleepAsync } from './utils.js'
1515
import { getToken } from '../model/kuroBBSTokenHandler.js'
1616
import cfg from '../../../lib/config/config.js'
17+
import config from '../components/config.js'
1718

1819
export async function initAutoTask() {
20+
if(!config.getConfig().autoTask.enabled) {
21+
kuroLogger.info(pluginThemeColor(`自动任务已被禁用, 取消载入定时任务`))
22+
return false
23+
}
24+
const autoTaskTime = config.getConfig().autoTask.execTime
1925
kuroLogger.info(pluginThemeColor(`载入定时任务 gameSignTask:pns`))
20-
schedule.scheduleJob('0 2 0 * * ? ', function () {
26+
schedule.scheduleJob(autoTaskTime, function () {
2127
gameSignTask('pns')
2228
})
23-
kuroLogger.info(pluginThemeColor(`载入定时任务 gameSignTask:mc`))
24-
schedule.scheduleJob('0 2 0 * * ? ', function () {
25-
gameSignTask('mc')
26-
})
29+
// kuroLogger.info(pluginThemeColor(`载入定时任务 gameSignTask:mc`))
30+
// schedule.scheduleJob(autoTaskTime, function () {
31+
// gameSignTask('mc')
32+
// })
2733
kuroLogger.info(pluginThemeColor(`载入定时任务 bbsDailyTask`))
28-
schedule.scheduleJob('0 2 0 * * ? ', function () {
34+
schedule.scheduleJob(autoTaskTime, function () {
2935
bbsDailyTask()
3036
})
3137

3238
kuroLogger.info(pluginThemeColor(`载入定时任务 bbsActivityTask`))
33-
schedule.scheduleJob('0 2 5 * * ? ', function () {
39+
schedule.scheduleJob(autoTaskTime, function () {
3440
bbsActivityTask()
3541
})
3642

0 commit comments

Comments
 (0)