配置文件:
const pageConfig = {
// 状态页面的标题
title: "DQJL's Status Page",
// 在状态页面头部显示的链接,可以设置 `highlight` 为 `true` 来高亮显示
links: [
{ link: 'https://github.com/lightworld689', label: 'GitHub' },
{ link: 'https://dqjl.eu.org/', label: '博客' },
{ link: 'mailto:light689@163.com', label: '给我发邮件', highlight: true },
],
}
const workerConfig = {
// 除非状态发生变化,否则最多每3分钟写入一次 KV
kvWriteCooldownMinutes: 3,
// 在这里定义所有的监控项
monitors: [
// HTTP 监控示例
{
// `id` 应该是唯一的,如果 `id` 保持不变,历史记录将被保留
id: 'blog_a',
// `name` 用于状态页面和回调消息
name: '博客 A',
// `method` 应该是一个有效的 HTTP 方法
method: 'GET',
// `target` 是一个有效的 URL
target: 'https://dqjl.eu.org',
// [可选] `tooltip` 仅用于在状态页面显示工具提示
//tooltip: '这是此监控项的工具提示',
// [可选] `statusPageLink` 仅用于状态页面上的可点击链接
statusPageLink: 'https://dqjl.eu.org',
// [可选] `expectedCodes` 是可接受的 HTTP 响应代码数组,如果未指定,默认为 2xx
expectedCodes: [200],
// [可选] `timeout` 以毫秒为单位,如果未指定,默认为 10000
timeout: 10000,
// [可选] 要发送的头部信息
//headers: {
//'User-Agent': 'Uptimeflare',
//Authorization: 'Bearer YOUR_TOKEN_HERE',
},
// [可选] 要发送的主体内容
//body: 'Hello, world!',
// [可选] 如果指定,响应必须包含关键词才被视为正常运行
//responseKeyword: 'success',
// [可选] 如果指定,检查将在您指定的区域运行,
// 在设置此值之前,请参考文档 https://github.com/lyc8503/UptimeFlare/wiki/Geo-specific-checks-setup
//checkLocationWorkerRoute: 'https://xxx.example.com',
},
],
notification: {
// [可选] apprise API 服务器 URL
// 如果未指定,将不会发送通知
appriseApiServer: "https://apprise.example.com/notify",
// [可选] apprise 的接收者 URL,参考 https://github.com/caronc/apprise
// 如果未指定,将不会发送通知
recipientUrl: "tgram://bottoken/ChatID",
// [可选] 通知消息中使用的时区,默认为 "Etc/GMT"
timeZone: "Asia/Shanghai",
// [可选] 发送通知前的宽限期(以分钟为单位)
// 只有在监控项连续 N 次检查失败后才会发送通知
// 如果未指定,将立即发送通知
gracePeriod: 5,
},
callbacks: {
onStatusChange: async (
env: any,
monitor: any,
isUp: boolean,
timeIncidentStart: number,
timeNow: number,
reason: string
) => {
// 当任何监控项的状态发生变化时,将调用此回调
// 在这里编写任何 Typescript 代码
// 这不会遵循宽限期设置,状态变化时将立即调用
// 如果您想实现宽限期,需要手动处理
},
onIncident: async (
env: any,
monitor: any,
timeIncidentStart: number,
timeNow: number,
reason: string
) => {
// 如果任何监控项有正在进行的事件,此回调将每1分钟调用一次
// 在这里编写任何 Typescript 代码
},
},
}
// 不要忘记这个,否则编译会失败
export { pageConfig, workerConfig }