5 分钟,给你的 iPhone 添加丰富精美实用的组件(原创开源)

2020 年 10 月 12 日
 im3x

预览视频:

https://v.qq.com/txp/iframe/player.html?chid=17&vid=c31599njg4i&autoplay=true&full=true&show1080p=true

✨ 程序介绍

最近,一款 iOS App 引起了我的兴趣:Scriptable
它可以通过编写 Javascript 脚本,来给 iPhone 桌面添加自定义界面和功能的组件
这对于熟练 JS 的开发者朋友们来说,简直是难得的神器!

但很可惜,目前还没有找到合适的功能和界面都合心意的插件分享 :(

于是,爱造轮子且致力造好的我,在经过仔细阅读文档、手机上敲了千上万行代码、一边开发一边连载教程文章的认真投入之后,终于完成了这个项目:
Scriptables

这是一个经过踩了很多的坑,界面改版无数的经验之后完成的项目。
它可以让你使用非常简单的办法,给自己的 iPhone 设置各种精美丰富实用的桌面组件!

👉 快速上手

  1. 安装 Scriptable App 后打开
  2. Safari 浏览器中点击下载 加载器 Loader.Gitee,然后用 Scriptable 应用打开,完成插件代码安装
  3. 长按 iPhone 桌面,添加组件,选择 Scriptable 应用,添加组件后点击进入配置界面,最下方 Parameter 参数中,输入你想要的插件代码,完成即可!

插件参数格式:插件名称 @功能版本号:传递的参数
比如,你想要显示 V2EX 站点的热门文章列表,则输入 v2ex@api:hot
要显示 V2EX 站点指定节点的列表,输入: v2ex@go:create
以此类推,灵活配置!

目前我写了几个桌面组件,并在不断更新增加中:

  1. one 韩寒 ONE·一个图文
  2. v2ex V2EX 最新、最热文章
  3. bing Bing 每日必应壁纸
  4. weibo 微博热搜榜
  5. 一言 随机更新一句话
  6. 毒鸡汤 随机更新一条毒鸡汤
  7. 彩云天气 显示当前位置的天气预报情况
  8. 知乎日报 显示知乎日报文章信息
  9. 网易云音乐 网易云音乐热评等

每一个组件代码,都可以单独下载使用,也可以直接通过加载器输入配置,完成加载显示

❤️ 项目地址

https://github.com/im3x/Scriptables
创作不易,感谢你的支持!

23366 次点击
所在节点    分享创造
136 条回复
psterman
2020 年 10 月 13 日
@psterman 显示插件不存在
im3x
2020 年 10 月 13 日
@psterman #101
v2ex 组件插件目前支持的版本和参数参考:
1. api 版本,参数: v2ex@api 、v2ex@api:hot
2. 首页列表,参数: v2ex@tab 、v2ex@tab:tech
3. 节点版本,参数: v2ex@go 、v2ex@go:create

插件不存在说明参数配置不正确(可能你只输入了`v2ex` 参数,之前的目录是没有默认`latest`版本的,后边我把 api 版本设置成了 latest 默认版本,可以直接输入 `v2ex` 加载了
psterman
2020 年 10 月 13 日
@psterman 好了 是 v2ex@api
psterman
2020 年 10 月 13 日
@im3x #102 谢谢楼主,找到了 V2EX 创意节点!没细读文档!我的锅!
我也搜了一些脚本,供参考 https://github.com/psterman/Scriptables
如果能实现 rss 监控就太棒了,rsshub 是每天必用的
dengjscn
2020 年 10 月 13 日
可以支持叠放吗,就是一个组件内部可以左右或者上下滑动切换
dengjscn
2020 年 10 月 13 日
还发现一个问题,就是每次点击,都要进去 scriptable 再跳转,有点难受
dengjscn
2020 年 10 月 13 日
第一点我找到了,直接拖过去就可以叠放了,嘿嘿😝
im3x
2020 年 10 月 13 日
@dengjscn #105
支持叠放
点击后进入 Scriptable 再跳转,这是不得已的操作。 因为脚本依赖这款应用运行,你点击桌面的其他组件 也是跳转到组件对应的应用的。
我们目前正在研发优化点击后在 Scriptable 内操作的新功能(这样就不需要跳转链接,给用户提供更优秀体验的交互)
dengjscn
2020 年 10 月 13 日
@im3x
x2ex
2020 年 10 月 16 日
网络上 Scriptable 相关的太少了,感谢分享
TashinV
2020 年 10 月 17 日
楼主赞一个……
话说 widgets 的背景色能否不用纯黑的啊?
im3x
2020 年 10 月 17 日
@TashinV #111
默认背景色是根据系统的模式(夜间)来显示的
如果想自定义背景颜色(图片)
可以使用:

``` js
widget.backgroundColor = Color.red()

let req = new Request("https://xx.com/xx.jpg")
let img = await req.loadImage()

widget.backgroundImage = img
```
TashinV
2020 年 10 月 22 日
@im3x

楼主,研究了半天没有找对方法。
能否伸手党一回,求一个您写好的自定义背景颜色或者图片的代码?
im3x
2020 年 10 月 23 日
@TashinV
现写:
自定义背景颜色:

``` js
let widget = new ListWidget()
widget.backgroundColor = Color.red() // new Color('#000000', 1)
widget.addText("hello")
Script.setWidget(widget)
Script.complete()
```

自定义图片:
``` js
let widget = new ListWidget()
let _req = new Request("https://dss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=1930662946,3376692344&fm=26&gp=0.jpg")
let image = await _req.loadImage()
widget.backgroundImage = image
widget.addText("hello")
Script.setWidget(widget)
Script.complete()
```
TashinV
2020 年 10 月 23 日
@im3x

显示这个:

2020-10-23 15:09:34: Error on line 1:3: TypeError: "" is not a function (near '...``...')
TashinV
2020 年 10 月 23 日
@im3x

好像找到方式了。另外问一下楼主,这段自定义背景的代码可以插入到您的 loader.gitee 加载器代码里面使用嘛?
im3x
2020 年 10 月 23 日
@TashinV 不能,这是独立运行的脚本,自己新建个插件用
wayilive
2020 年 10 月 28 日
v2ex 点击后跳到 scriptable 会先出来菜单,要点多一个取消才能去掉,有什么办法?
im3x
2020 年 10 月 28 日
@wayilive #118
没遇到你说的这个问题,一般的情况是点击了桌面组件对应帖子,会跳转到 Scriptable 然后进入到相应的网页

如果是「小件件」小程序里的独立插件版本,那么就是自带的操作菜单,不需要去掉(点帖子会跳转到帖子,点其他的会跳转到操作菜单)
wayilive
2020 年 10 月 28 日
@im3x 我的配置是 loader.github,参数是 v2ex@api:hot,组件显示没问题,点击帖子,跳转到 Scriptable,然后弹出菜单(选项 /welcome/管理已下载组件 /取消),点击取消后,在 Scriptable 打开 safari,但是 weibo 就不会弹出菜单,safari 也不是在 Scriptable 内打开

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/714027

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX