面板 (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({})
不修改任何内容。