功能介绍
面板(Tile)

面板 (Tile)

用户可以通过 JavaScript 脚本控制 Stash 首页的 Tile 面板。

⚠️

此功能仅支持 Stash 2.0 或以上的版本。

配置格式

tiles:
  - name: your-fancy-script
    interval: 600
    title: 'Awesome Tile'
    content: 'This is Super Cool'
    icon: 'theatermasks.circle.fill' # 或 https://stash.ws/amazing.png
    backgroundColor: '#663399'
 
script-providers:
  your-fancy-script:
    url: https://your-fancy-script.com/your-fancy-script.js
    interval: 86400

参数:

  • title: 可选,脚本第一次运行前的标题默认值。
  • content: 可选,脚本第一次运行前的内容默认值。
  • argument: 可选,脚本执行时的参数,类型为 string
  • icon: 可选,脚本第一次运行前的图标默认值。图标支持 SF Symbols 或以 http 开头的远程图片。
  • backgroundColor: 可选,脚本第一次运行前的背景颜色默认值。

以上字段均可被 $done(object) 覆盖更新。

⚠️

更多关于 SF Symbols 详情请参考 Apple Developer

语法与接口

请参考 JavaScript 脚本语法与接口

例子

$httpClient.get("https://api.my-ip.io/ip", function (error, response, data) {
    $done({
        title: "当前 IP 地址",
        content: data,
        backgroundColor: "#663399",
        icon: "network",
    })
})

$done(value)

⚠️

对于所有脚本,在结束时候必须调用 $done(value) 方法释放资源。

对于 Tile 类型的脚本,调用 $done(object) 可以更新 Tile 面板内容,object 可以包含下述字段:

  • title: 可选,新的 Tile 标题。
  • content: 可选,新的 Tile 内容。
  • icon: 可选,新的 Tile 图标。
  • backgroundColor: 可选,新的 Tile 背景颜色。

以上字段如为空则不更新。你可以直接调用 $done({}) 不修改任何内容。