大佬们我想知道怎么让home页面实现实时天气的显示啊?就像是bt主题那样,试过移植bt的文件,但是没移植全导致失败,open weather插件需要申请特定网站api,请问还有其他方法吗?或者有没有大佬讲一下bt主题天气实现方法啊?
用dataview可以实现,样式定制看dataviewjs的文档就好。
基本流程:找一个提供天气信息的网站 → 提取天气信息(正则、Json或其它) → 定制自己需要的输出样式!
示例:
let url = 'https://www.tianqi.com/beijing/'
let res = await request({url: url,method: "GET"});
res = res.replace(/\n/g,'')
let dqwd = /<p class="now"><b>(\d+)<\/b><i>℃<\/i><\/p>/.exec(res)
let tqwdfw = /<span><b>(.*?)<\/b>(.*?)<\/span>/.exec(res)
let sdfxzwx = /<dd class="shidu"><b>(.*?)<\/b><b>(.*?)<\/b><b>(.*?)<\/b><\/dd>/.exec(res)
let kqzlrcrl = /<dd class="kongqi" ><h5 style="background-color:#[0-9a-z]{6};">(.*?)<\/h5><h6>(.*?)<\/h6><span>(.*?)<br \/>(.*?)<\/span><\/dd>/.exec(res)
let 当前温度 = '当前温度:' + dqwd[1]+'℃'
let 天气 = '天气:' + tqwdfw[1]
let 温度范围 = '温度范围:' + tqwdfw[2]
let 湿度 = sdfxzwx[1]
let 风向 = sdfxzwx[2]
let 紫外线 = sdfxzwx[3]
let 空气质量 = kqzlrcrl[1] + ' ' + kqzlrcrl[2]
let 日出日落 = kqzlrcrl[3] + ' ' +kqzlrcrl[4]
dv.paragraph(当前温度);
dv.paragraph(天气);
dv.paragraph(温度范围);
dv.paragraph(湿度);
dv.paragraph(风向);
dv.paragraph(紫外线);
dv.paragraph(空气质量);
dv.paragraph(日出日落);
基本代码可以参考Template的:
好的,感谢,我试一下