使用 scriptable 實現每日詩詞小組件

什麼是 scriptable

scriptable可以讓我們用 js 就可以創建出 ios 中的桌面小組件,而不需要掌握 ios 開發。由於最近深感自己文化水平低,所以想借助 scriptable實現一個每日詩詞小組件,這樣可以提高一下自己的文化水平。

效果

代碼

scriptable支持多種 api,比如發起請求,插入圖片,佈局。。。詳細文檔可以在 https://docs.scriptable.app 查閱

let url = "https://v2.jinrishici.com/one.json"
let req = new Request(url);
let json = await req.loadJSON();

// log(json)

let poem=json.data.origin.content[0]

let dotflag = /。|,|!|?/g
let dot=poem.match(dotflag)

poem=(poem.split(dotflag))
log(poem)


let str3=json.data.origin.author
let str4=json.data.origin.title


console.log(json.data.origin)

let widget = new ListWidget()

let lineColor=new LinearGradient()
// 自定義背景顏色
// widget.backgroundColor=new Color("#DC143C")

// 背景圖片
let bgImg="https://d2w9rnfcy7mm78.cloudfront.net/8867234/original_63cd43c88048a9ff6279c0340faea9db.jpg?1601084036?bc=0"
const i = await new Request(bgImg);
const img = await i.loadImage();
widget.backgroundImage=img

for (let str of poem) {
  let strWidget=widget.addText(str)
  strWidget.font=new Font("KaiTi", 16)
  strWidget.textColor=new Color("#ffffff")
}

  
  widget.spacing=14
//   作者信息
  let author=widget.addText("-"+str3+"《"+str4+"》")
  author.textColor=new Color("#ffffff")
  author.rightAlignText()
  
  widget.presentMedium()


Script.setWidget(widget)
Script.complete()

one more thing

https://github.com/Nicolasking007/Scriptable

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章