刷机
https://hicairo.com/post/76.html 玩客云盒子(OneCloud)刷 Armbian 系统
https://mao.fan/article/36 玩客云刷机armbian变身openwrt旁路由教程
https://rupu.net/archives/armbian-init Armbian环境一键初始化脚本
https://isedu.top/index.php/archives/141/ 玩客云刷机-玩机教程
2024/12/7大约 2 分钟
https://hicairo.com/post/76.html 玩客云盒子(OneCloud)刷 Armbian 系统
https://mao.fan/article/36 玩客云刷机armbian变身openwrt旁路由教程
https://rupu.net/archives/armbian-init Armbian环境一键初始化脚本
https://isedu.top/index.php/archives/141/ 玩客云刷机-玩机教程
npm install cors --save-dev
#Or
pnpm install cors --save-dev
const cors = require('cors');
app.use(cors());
https://follow.is/
const closeElement = document.querySelector("#close")
closeElement.addEventListener("click", () => {
eventSource.close();
});
const eventSource = new EventSource("http://localhost:4001/")
eventSource.onmessage = (val) => {
console.log('val', val)
};
eventSource.onerror = (val) => {
console.log('onerror', val)
};
在 TypeScript 中,interface
和 type
都用于定义对象的形状(shape)或类型,但它们之间存在一些关键的区别和适用场景。了解这些区别有助于你根据具体需求选择最合适的工具。
// 判断arr是否为一个数组,返回一个bool值
function isArray (arr) {
return Object.prototype.toString.call(arr) === '[object Array]';
}
// 深度克隆
function deepClone (obj) {
// 对常见的“非”值,直接返回原来值
if([null, undefined, NaN, false].includes(obj)) return obj;
if(typeof obj !== "object" && typeof obj !== 'function') {
//原始类型直接返回
return obj;
}
var o = isArray(obj) ? [] : {};
for(let i in obj) {
if(obj.hasOwnProperty(i)){
o[i] = typeof obj[i] === "object" ? deepClone(obj[i]) : obj[i];
}
}
return o;
}
export default deepClone;
let timeout = null;
/**
* 防抖原理:一定时间内,只有最后一次操作,再过wait毫秒后才执行函数
*
* @param {Function} func 要执行的回调函数
* @param {Number} wait 延时的时间
* @param {Boolean} immediate 是否立即执行
* @return null
*/
function debounce(func, wait = 500, immediate = false) {
// 清除定时器
if (timeout !== null) clearTimeout(timeout);
// 立即执行,此类情况一般用不到
if (immediate) {
var callNow = !timeout;
timeout = setTimeout(function() {
timeout = null;
}, wait);
if (callNow) typeof func === 'function' && func();
} else {
// 设置定时器,当最后一次操作后,timeout不会再被清除,所以在延时wait毫秒后执行func回调方法
timeout = setTimeout(function() {
typeof func === 'function' && func();
}, wait);
}
}
export default debounce
/* 滚动槽 */
::-webkit-scrollbar {
width: 6px;
height: 6px;
}
::-webkit-scrollbar-track {
border-radius: 3px;
background: rgba(0, 0, 0, 0.06);
-webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.08);
}
/* 滚动条滑块 */
::-webkit-scrollbar-thumb {
border-radius: 3px;
background: rgba(0, 0, 0, 0.12);
-webkit-box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.2);
}
在 JavaScript 中,有几种方式可以实现复制文本到剪贴板。以下是几种常用的方法:
const textToCopy = "要复制的文本";
navigator.clipboard.writeText(textToCopy)
.then(() => {
console.log("文本已复制到剪贴板!");
})
.catch((err) => {
console.error("复制失败:", err);
});