跳到主要内容
版本:1.x

介绍

Serein JS插件的详细文档

🚧警告

由于一些原因,本文档和JS插件开发助手可能更新不及时,一切内容以GitHub的源码为准

JS标准

ECMAScript 2022(具体特性支持列表详见sebastienros/jint

危险

以下情况将导致Serein无响应或崩溃

  • 以极快的速度重复执行语句
  • 无限递归导致堆栈溢出

特色

插件特色

由于JS引擎的特性,你可以导入NET几乎所有的命名空间以及其对象、类、方法和属性

importNamespace(name:string) 导入命名空间

或直接使用命名空间(如System.IO.File

提示

配合一定C#基础食用更佳
C#语法详见 .NET API 浏览器

// https://learn.microsoft.com/zh-cn/dotnet/api/system.io.file
const File = System.IO.File;
File.WriteAllText(
"1.txt", // 路径
"一些文本"// 文本
);
// 输出到文件
// https://learn.microsoft.com/zh-cn/dotnet/api/system.diagnostics.process
const Process = System.Diagnostics.Process;
Process.Start("cmd.exe");
// 启动cmd.exe
提示
  • 这里你可以找到更详细的示例
  • 部分命名空间需要设置预加载配置后才能导入
注意

已知缺点如下

  • 对于加密混淆后的代码,运行效率极其低下
    • 运行时间可能长达原来的数十倍以上
  • 初始化类时貌似未阻塞线程,导致未初始化完毕就执行剩下的语句
    • 包括但不限于和反射程序集得到的类
    • 临时解决方案:使用setTimeout异步处理

JS插件开发助手

详见HelperLib