【搭建你的日记本】使用 Properties 与 templates 实现一个日记模板

Ctrl + Shift + i 或者 ⌥ + ⌘ + I

打开console看一下具体报什么错

你再检查一下你的腾讯key申请的对不对,复制过来的时候有没有大小写空格之类的问题,这个报错是因为参数不对导致API返回一个undefined

另外还有可能是配额的问题,你翻翻上面的回复,有讨论过

感谢,成功了,一下就丰富了起来

腾讯的比较坑,要手动分配限额,默认只能调用一次。其实高德也有获取位置的接口,只需要一个key 就可以了,这是全用高德api的模版。

<%* 
let weatherUrl = 'https://restapi.amap.com/v3/weather/weatherInfo'
let key = 'YOUR_KEY'

let ipUrl = 'https://restapi.amap.com/v3/ip';

let ipResult = JSON.parse(await request({url: ipUrl + '?key=' + key, method: "GET"}))
console.log("ipResult: ", ipResult)

let adcode = ipResult.adcode
console.log("adcode: " + adcode)

let 位置 = ''
let 天气 = ''
let 温度 = ''
let 风向 = ''
await fetch(weatherUrl + `?key=${key}&city=${adcode}&extensions=all`)
.then(res => res.json())
.then((data) => {
	let info = data.forecasts[0]
	
	console.log("info:" + info)
	
	位置 = info.province + '-' + info.city
	天气 = '🌅' + info.casts[0].dayweather + ' / 🌃' + info.casts[0].nightweather
	温度 = '🌅' + info.casts[0].daytemp_float + '℃' + '/ 🌃' + info.casts[0].nighttemp_float + '℃'
})
-%>
---
🌻日期🌻: <% tp.file.creation_date("YYYY MM DD HH:mm:ss") %>
🌙星期🌙: <% tp.file.creation_date("dddd") %>
⌚️时间⌚️: <% tp.file.creation_date("HH:mm:ss") %>
🌍位置🌍: <% 位置 %>
☁️天气☁️: <% 天气 %>
🌡️温度🌡️: <% 温度 %>
---
<%*
let 一言 = ""
let 来源 = ""
let 作者 = ""

await fetch('https://v1.hitokoto.cn/?c=d&c=h&c=i&c=j')
.then(response => response.json())
.then(data => { 
	一言 = data.hitokoto
	来源 = data.from
	作者 = data.from_who === null ? '佚名' : data.from_who
})
-%>
>[!quote] 一言
 <% 一言 %>  —— 《<% 来源 %>》 · <% 作者 %>

---
# Tracking


# Diary




---
<< [[<% tp.date.now("YYYY-MM-DD", -1) %>]] | [[<% tp.date.now("YYYY-MM-DD", 1) %>]] >>
1 个赞


大佬大佬,我按照你的代码格式换成了第一个换了高德key,第二个换了腾讯key,但是我插入模板没有效果,控制台模式里连报错也没有,只有remotely-save另一个插件的通知,是不是我插件配置有什么问题

看了下插件手册应该没有会影响获取API的配置啊,怎么会完全没反应呢

这个看上去是你的模板文件吧,你需要用日记插件插入日记,或者templater插件生成文件才会调用这个模板文件生成正文,不然他就只是一个静态的文件

image

谢谢大佬回复,图一二是系统默认日记功能和我下载的templates插件目前的设置
图三可以看到我创建的模板文件就是在普通的文件夹下的,我通过下载的日记插件Calendar给出的日历点击2024-1-19那天出来的日记还是没有运行代码,同时开发者模式控制台也没有模板插件templates运行的记录,这是为什么呢?

我和你一样,插入到日记里和模版还是一样的,不执行
求解

我觉得是templates插件的设置或者用法问题,要不是看到你这条我都快忘了这回事了,晚点我看看templates插件的博客,试下能不能解决

好的,期待你的方案,谢谢

我目前腾讯ip可以正常调用了,但是高德的天气api用不了,高德的网址连同key一起传进去会返回
屏幕截图 2024-02-08 145919
看了下官方文档说这是"请求参数非法. 请求参数的值没有按照规范要求填写"

如果是连同city=110000&extensions=all以北京作为参数一起调用可以正常获得完整结果

新用户只能上一个图,目前我是不知道这里怎么解决

完全搞定


这个第一行是我看楼主其他博客上加的,我把它删了之后这个问题就解决了,找了半天 :yum:

效果如下


我遇到的有几个问题
1.一开始直接alt+t插入全是代码?
要用左边Templater按钮插入模板才行,这个我看楼主有说,我疏忽了

2.控制台报错无法正确显示?
首先是腾讯的https://apis.map.qq.com/ws/location/v1/ip&key= 这里加上你的key,可以看到是否能正常调用,注意关掉网络全局代理,我一开始不行,后面在腾讯key那里WebServiceAPI-授权IP加上我的IP就可以了,如果你不知道自己IP可以先随便打一个,然后调用前面这个网址,它会告诉你你目前的IP

3.高德地图{“status”:“0”,“info”:“INVALID_PARAMS”,“infocode”:“20000”}
这个我找出来错误好像因人而异,我是按楼主原模板说的把upURL删掉就成功了

ps:如果你不清楚高德天气查不到是key的问题还是自己模板的问题可以试试这个
(https://restapi.amap.com/v3/weather/weatherInfo?key=(自己的key)&city=110000&extensions=all)
这个110000是北京城市参数,如果能正确返回就是你key申请没问题,是模板细节问题

因为我对json不是很熟,所以说得有点啰嗦,希望能帮到你

1 个赞

请问这个在移动端是不是用不了?我在电脑上运行成功了,在安卓上只能显示出源码

手机上好像不能用,大佬知道原因吗