Valine评论系统踩坑记录
我个人很早以前就惦记着换上这个评论系统,曾经使用Butterfly主题的时候就有折腾过Valine,当时是浏览器缓存策略和CORS跨域拦截的问题。网上能找到的教程都比较老,几年以前的情况不再适用于现在了,所以现在去折腾的话,大概率要踩非常多的坑。本文主要讲述我个人踩到的坑和解决方法。
关于互联网、书籍、生活琐事以及那些一闪而过的念头
我个人很早以前就惦记着换上这个评论系统,曾经使用Butterfly主题的时候就有折腾过Valine,当时是浏览器缓存策略和CORS跨域拦截的问题。网上能找到的教程都比较老,几年以前的情况不再适用于现在了,所以现在去折腾的话,大概率要踩非常多的坑。本文主要讲述我个人踩到的坑和解决方法。
仓库地址就不放出来了,太耻辱了……
先来看看Main.java
package cn.yingyu5658.lbl;
/**
* @author yingyu5658
*/
public class Main {
public static void main(String[] args) {
LuBuLu cmd = new LuBuLu();
while(true) {
cmd.command();
}
}
}
嗯还写了Author,生怕别人不知道这坨屎是谁拉的。
系统:WSL Arch
代码编辑器:Vim(Neovim)
终端体验优化:tmux
文件管理器:yazi
Neovim和Vim相比,在性能和易用性上有很大的提升,在异步任务表现突出;使用更加现代的lua脚本配置,可读性更高。
Windows下需要在软件顶部Toolbar的Options中随便更改一个选项,然后再点Save Options,这样就会再C:\Users\Username\appdata\Roaming\
下生成.emacs和.emacs.d/
本文章使用Nodejs环境做演示。请求用户数据。代码中的APIKEY要在osu官网申请。
const API_URL = "osu.ppy.sh";
const init = {
k: "YOUR_API_KEY",
type: "string",
u: "kyzzz5658",
};
const https = require("https");
// 将参数序列化为查询字符串
const query = new URLSearchParams(init);
const options = {
hostname: API_URL,
method: "GET",
path: `/api/get_user?${query}` // 附加参数
};
const req = https.request(options, (res) => {
let data = '';
res.on('data', (chunk) => data += chunk);
res.on('end', () => {
try {
console.log(JSON.parse(data[0].username));
} catch (e) {
console.error('JSON 解析失败:', e);
}
});
});
// 错误处理
req.on('error', (err) => {
console.error('请求失败:', err.code);
});
输出: