JavsScript 脚本
面板(Tile)

面板 (Tile)

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

配置格式

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

参数:

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

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

⚠️

更多关于 SF Symbols 详情请参考 Apple Developer (opens in a new tab)

语法与接口

请参考 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 背景颜色。
  • url: 可选,新的跳转 URL 。

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