青龙面板脚本编写教程

首次知道青龙面板大概是21年底, 说是可以用它来薅京东羊毛. 简单介绍就是会有人维护整合仓库, 经常更新里面的脚本, 当我们订阅之后, 就可以自动做任务领京豆、价格保护、玩小游戏等等. 大概运行了半年左右, 福利越来越少, 感觉自己的京东号也黑了, 于是就删掉了仓库, 因为有定时任务的需求, 所以保留了这个项目.
想在上面开发一些脚本来做一些个性化的消息通知, 在写脚本的过程中, 发现在互联网上搜索不到相关资料「OS: 很罕见, 难道我的搜索姿势错了?」, 本着分享的精神, 写下了此文.

关于青龙面板

可以在项目首页找到对其的描述: “支持python3、javaScript、shell、typescript 的定时任务管理软件”
这里先假定你已经读完了项目的 README. 我推荐使用 Docker 来部署,这样不会污染操作系统.
先说一下我在使用过程中的优点吧:

  1. 在线管理脚本、环境变量、配置文件、依赖框架
  2. 在线查看日志
  3. 在线编写和调试脚本
  4. 默认的通知脚本, 实现了大部分的平台

再补充几点安全提醒:

  1. 尽量不要运行 未经验证 的脚本, 任何脚本都有权利获取你的环境变量. (通常环境变量里面会有Cookie)
  2. 不要暴露默认的端口到公网, 假如某个版本有漏洞而你没有及时修复, 就可能导致你的数据泄露. (这条也适用于部署其他的程序)

编写 Javascript

先提供一个代码模板, 默认需要提供环境变量才会运行.

稍作解释一下:

  • 行2: 导入脚本时候的默认定时配置
  • 行6: 导入脚本时候的名字
  • 行尾: 从 官方脚本 中复制出来, 里面有一些常用功能.

其中 ENV 中的常用函数:

  • $.getdata(key): 从文件读取数据
  • $.setdata(data, key): 写数据到文件中
  • $.wait(ms): 等待多少毫秒
  • $.log(str): 写日志
  • $.msg(str): 写消息, 会添加一条明显的提示线, 区别于写日志
  • $.done(): 标记完成, 会输入脚本运行时间以及对应的日志

除了 ENV, 其他的代码就跟平台无关了, 你可以自由的发挥. 如果引入了其他模块, 可以在后台的依赖管理中添加.

最后

青龙面板的后台做的很人性化, 整体一遍就可以大概知道其功能.
其他语言的脚本, 我还没有编写过, 所以就先不说了, 未来编写的时候, 如果涉及到了平台的部分, 我再更新此文.

在最后, 放上我的一些自用脚本可供参考.