无题
启动
1npm run docs:dev
自动设置侧边栏默认侧边栏全部手敲,文件一多就很麻烦,自动设置侧边栏原理讲解
项目根目录新建文件utils/auto_set_sidebar.mjs
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970import path from "node:path";import fs from "node:fs";// 文件根目录const DIR_PATH = path.resolve();// 白名单,过滤不是文章的文件和文件夹const WHITE_LIST = [ "index.md", ".vitepress", "node_modules", ".idea", "assets",]; ...
Windows 远程控制
主机配置
主板:华硕A520M
CPU:R5-5600G
显卡:CPU自带核显
系统:Windows 10 专业版
远控软件选择
微软远程桌面是有公网IP用户的首选,没有公网的话推荐使用第三方远控软件
微软远程桌面windows专业版或者企业版系统自带服务端,开启方法:设置>系统>远程桌面,微软账号登录验证可在高级设置里关闭
可不联网,默认内网使用,但可设置到外网访问有公网IP的在拨号路由器上把服务端主机的3389端口映射到外网即可访问,没有公网就只能通过内网穿透服务访问了,稳定的内网穿透服务都是收费的,不推荐
依赖 Windows 账号,同一账号只允许一个IP登录使用,显示一个画面,远程用户登录后本地用户强制锁屏,本地用户解锁后远程用户会强制丢失连接
可自定义分辨率
拓展功能:多用户同时远程使用同一台电脑,实现类似虚拟机功能,参考教程rdpwrap:https://github.com/anhkgg/SuperRDP/tree/main
综上微软远程桌面满足绝大多数场景使用,但不可一户两登,类似远程录屏操作需要有稳定的远程连接,若网络不稳定导致录屏只有声音没有 ...
IPTV直播源抓取
ADB设置代理
1adb shell settings put global http_proxy 192.168.2.127:8888
8888好像是 Fiddler 代理地址
ADB清除代理
12adb shell settings delete global global_http_proxy_hostadb shell settings delete global global_http_proxy_port
OPPO电视折腾记录
开启USB调试设置 > 系统 > 关于本机 > 设备型号,依次快速按方向键上 上 右 右 确认键
安装当贝桌面OPPO智能电视无法安装第三方桌面,具体参考这个链接
解决方法:打开桌面软件appAndroidManifest.xml文件,删除以下内容即可
12<category android:name="android.intent.category.DEFAULT" />
BUG:当贝桌面设置里打开WIFI会触发致命bug,导致WIFI永远打不开,只能恢复出厂设置,所以需要关闭当贝桌面WIFI入口修改res/layout/activity_set_new.xml
123456789 <com.dangbei.launcher.control.view.FitSettingItemFrameView android:id="@7f09045d"+ android:visibility="gone" app: ...
armbian折腾记录
手上有一台 X96MAX+,曾经刷过 恩山flippy大的 armbian,但是很久没更新了,很多毛病,于是闲置了很久,直到最近偶然发现了这个神仙项目 /ophub/amlogic-s9xxx-armbian,居然一直在更新 这类盒子的 armbian 系统,无比激动,必须折腾一波
设备与环境
硬件:X96MAX+_arm64(4+32G)
固件下载:Armbian_23.11.0_amlogic_s905x3_bullseye_6.1.62_server_2023.11.12.img
系统安装
用 rufus 将下载的 armbian 系统刷入U盘中
拔掉 X96MAX+ 电源,插入制作好的U盘,找根牙签按住 AV 孔的按钮同时插上电源,用网线接到路由器上,找出机器IP
通过 SSH 登录到系统,用户名:root,密码:1234
将U盘系统刷入 EMMC,执行以下命令根据提示刷入,成功后拔掉U盘重启即可1armbian-install
系统设置系统自带小工具
1234567891011121314# 系统配置(配置静态IP方便)armbian-confi ...
光猫折腾记录
光猫能够将光信号转换为电信号,还兼路由器功能,如果采用光猫默认配置,会少很多折腾的乐趣
光猫初始化
光猫初始化后可以重新注册(输入LOID),还能恢复光猫默认后台密码,防止某些地区运营商改掉后台密码不让用户修改配置
1、关电源,拔掉光纤及所有网线。2、按住复位按钮不放再打开电源,大约10秒后待红灯由常亮变为闪烁后再松开复位按钮。(不同光猫不一样,也有的光猫先接电打开,灯亮了之后再按复位按钮的,但都需要按10秒等灯闪烁之后松开)3、等待一分钟后再关电源,然后再打开电源。
有些光猫后台就有恢复开箱配置选项,进入后台恢复即可(前提有超管密码),光猫复位成功后,一般情况下默认超级账号密码如下:
电信:http://192.168.1.1,管理员用户名:telecomadmin,口令:nE7jA%5m
移动:http://192.168.1.1,管理员用户名:CMCCAdmin,口令:aDm8H%MdA
联通:http://192.168.1.1/cu.html ,管理员用户名:CUAdmin,口令:CUAdmin、123456、admin
华为光猫:http://192.1 ...
Vue笔记
快速开始安装@vue/cli
1234# npmnpm install @vue/cli# yarnyarn gloable add @vue/cli
创建第一个项目
1vue create demo
基础过滤器全局过滤器
1234// 全局过滤器定义Vue.filter("reverse", (val, s) => { return val.split("").reverse().join(s)})
局部过滤器
12345678910<script>export default { // 局部过滤器定义(只能在当前vue文件内使用) filters: { toUp (val) { return val.toUpperCase() } }}</script>
使用
123456<template> <div> <p>使用翻转过滤器: { ...
NodeJS基础
基础模块化CommonJS规范
1234567891011121314// 1. 共享成员// 在一个自定义模块中,默认情况下, module.exports = {}const age = 20// 向 module.exports 对象上挂载 username 属性module.exports.username = 'zs'// 向 module.exports 对象上挂载 sayHello 方法module.exports.sayHello = function() { console.log('Hello!')}// 2. 导入模块const fs = require('fs') /* 内置模块 */const fs = require('./xx.js') /* 自定义模块,后缀名可省略 */const fs = require('moment') /* 第三方模块 */
ES6模块化规范
12345678910111213141516 ...
jQuery速查手册
一个经典javascript库官网文档:https://doc.jquery.com/第三方中文文档:https://jquery.cuishifeng.cn/
jQuery基础jQuery特性
1234// 隐式迭代(自动循环遍历获取的伪数组)$("li").css("color", "red")// 链式编程(因为多数jQuery对象返回值仍是原对象)$("li").css("color", "red").sibling().css("color", "");
jQuery 对象和 DOM 对象转换
12345678910// 1.DOM对象转换成jQuery对象,方法只有一种let box = document.getElementById("box"); // 获取DOM对象let $jQueryObject = $(box); // 把DOM对象转换为 jQuery 对象// 2.jQuer ...
JavaScript笔记-基础
参考:
JavaScript教程 | MDN
JavaScript教程 | 菜鸟教程 教程版本较低
JavaScript 参考 - MDN
JavaScript 标准内置对象 | MDN
VsCode插件
Error Lens 代码错误提示
JS基础JS执行机制JS是一门单线程语言,通过异步和同步可以实现类似多线程操作。同步任务都在主线程上执行,形成一个执行栈;异步通过回调函数实现,异步任务会添加到任务队列(消息队列),等待同步任务都执行完毕后任务队列中的任务按照异步API规定的顺序进入执行栈执行,首个异步任务执行完后会回到任务队列查询剩余异步任务,如存在则再次进入执行栈执行,循环往复(事件循环),直到任务全部执行完毕
Promise()new 出来的实例对象代表一个异步操作
1const p = new Promise()
模板字符串1234// 普通字符串拼接document.write('大家好,我叫' + name + ',今年' + age + '岁')// 模板字符串拼接(注意括号内为反引号)docu ...