本文最后一次在 2021 年 11 月 15 日更新,部分内容可能已经过时!

视频点此

一个很简单的想法,源于我的KDE桌面——要知道,我的KDE桌面壁纸设置的就是每日一图,bing来源。

思路也很简单。现如今iOS系统已经预置了一个十分方便但异常强大的组件:快捷指令,而根据KDE可以使用bing每日一图来推断,便可知道bing的图片接口是开放的。所以前提条件都准备好了,就直接来编写快捷指令吧。

打开快捷指令,新建。

首先就是要获取bing当天推荐的图片。而获取的方法自然是通过Bing提供的API获取。

API地址如下:https://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1

快捷指令中已经提供了从API获取js结果的功能,直接搜索添加获取URL内容,其中获取来源填入上面的API地址即可。

从这个网址获取到的结果是一个json字符。在快捷指令中,可以很方便的将json串转换为词典并从词典中提取指定键对应的值。而这也是作为互联网上面API使用最多的数据传输方法。上述Bing的API得到的json保存有很多信息。而我们只需要其中的图片路径即可。假定上述获取到的json命名为Bing,那么它有关图片地址的键就在Bing.images.url。而这个路径并不是完整的,它没有保存这个图片对应的通用的网址前缀。而这个前缀就是Bing的网址https://www.bing.com/

在了解了上述规律之后,就可以继续完成这个快捷指令了。我们现在只是拿到了最初始的json字符串,接下来就是要解析并获取真正的图片了。而这些功能快捷指令都有着对应的功能。

增加一个功能获取词典值,来源位置会自动加入前一步骤得到的结果(URL的内容),也就是刚刚通过API获取的json。而为了之后简化路径,可以在这里先进行一次筛选,使之后的选择可以以Bing.images中进行。

点击URL的内容,弹出的小窗口中,类型(第二行蓝字位置)选择词典

下方获取键对应的值输入images,完成。这样变把此处的来源变成Bing.images里的内容了。

这个功能的后方,输入网址对应的键名url,获取的是

设置完成后这个功能整体表现出来的是这样的:

得到了URL,现在就可以补全URL来获取图片了。但是要注意,这里还是通过网址来获取的,所以使用的功能仍然是获取URL内容,而路径要输入完成的,补全的路径。因此需要在默认填入的词典值前面加上通用前缀https://www.bing.com/。整体看起来是这样的

最后,把获取到的墙纸设置为得到的图片即可。添加一个操作,名为设定墙纸,根据自己的需要,选择设置锁定界面还是主界面,而来源里边默认加入的URL的内容要注意,因为获取到的是图片,所以需要把类型设置为图像。如图。

同时,展开这个功能折叠的内容,关闭显示预览(否则执行后会进入到设定壁纸的预览界面,手工确定才能完成,就不符合原始的需要了。

已有 6 条评论

  1. 想请问一下ipad吧1920乘1080的图像转换为1024乘768的图像之后,应该是能正好适配横屏屏幕,但是他总是要放大一些,不能按我的设想来。该怎么解决? —— Devoir Devoir 发表。 回复TA
    1. 不能啊 iPad不是4:3的屏幕 —— 飞蚊话 飞蚊话 [作者] 于 发表。 回复TA
      1. ipad是四比三的阿
        是1024乘768的,横屏其实是大小正好的,但是用快捷指令的话,自动设置的壁纸会有一点放大,看着就很别扭 —— Devoir Devoir 发表。 回复TA
        1. 快捷指令里边可以导出获取到的图片,我觉得可以看看获取到的具体分辨率是多少。另外,快捷指令设置壁纸的时候不要开启视角缩放。否则会自动放大一些保证四周可移动。最后,只有iPad的分辨率是真4:3,air、pro都不是。是不是只是因为系列不一样导致的啊 —— 飞蚊话 飞蚊话 [作者] 于 发表。 回复TA
  2. 怎么添加自动化? —— Tangcb Tangcb 发表。 回复TA
    1. 直接在快捷指令中增加即可,触发条件随意 —— 飞蚊话 飞蚊话 [作者] 于 发表。 回复TA

添加新评论