普通视图
学习周刊-总第215期-2025年第24周
Cloudflare/Vercel项目推荐(5)
2025年7款平替 AList 私有部署的网盘软件
AList 是一个支持多存储的文件列表/WebDAV程序,使用 Gin 和 Solidjs。它可以将 40 多款主流网盘聚合到一个网页上,进行文件管理、视频播放等操作。
AList 是一个开源项目,已经卖给了其他公司,现在最新可用收购前版本是 3.40.0
吃瓜地址:Alist 收集用户信息提交记录、Alist被卖 Github用户讨论、Alist被卖 V2讨论、Alist被卖 V2讨论
今天主要推荐几款可以平替 AList 私有部署的网盘软件。
如何取消对 alist 的授权
- 百度网盘(来源: https://pan.baidu.com/union/doc/Jl0j9pza3)
- 百度网盘App:我的 - 设置 - 帐号管理 - 授权管理 - Alist - 解除授权
- 阿里云盘App:我的 - 设置(右上齿轮) - 隐私设置 - 授权管理 - Alist - 解除授权
- OneDrive 解除授权:https://account.live.com/consent/Manage
- 115APP - 生活 下滑 -账号与安全 - 多端登录管理 - 第三方登录
- 联通云盘 - 在网页查询登录账号 - 以后建议 按照 教程抓包登录
- 一刻相册 头像-应用设置-账号管理-授权管理
- 谷歌(网盘和相册)- 管理您的谷歌账号 - 安全性 - 您与第三方应用和服务的关联 - 有权访问账号 - 选择对应的产品
- Dropbox - 设置 - 应用 - 查看 Dropbox 内容
Alist 变形
go-drive
go-drive 是一款简单的云驱动器映射网络应用程序,支持本地、FTP/SFTP、S3、OneDrive、WebDAV 和 Google Drive。
目前支持的云存储
- 本地文件
- FTP
- SFTP
- WebDAV
- S3
- OneDrive (支持世纪互联版及 SharePoint 站点)
- Google Drive
- Dropbox
- 七牛云
功能
-
文件管理
- 上传,下载,复制,移动,重命名,删除
- 拖拽/粘贴上传文件(夹)
- 拖拽复制/移动/挂载
- 支持不经过服务器上传及下载,减少服务器流量消耗(仅部分云存储支持,详见下文)
- 上传文件支持断点续传
按住
Ctrl
,Shift
可进行多选从系统复制文件(夹)后,按
Ctrl + V
直接粘贴上传按住
Alt
并点击文件,可直接下载文件拖拽文件(夹)时,按住
Ctrl
进行复制,按住Alt
创建路径挂载(仅管理员可用) -
文件打包下载
-
基于用户/组的权限控制
支持为某目录或文件分配权限,支持限制到用户或组
-
图片浏览(PhotoSwipe)
-
音乐播放(APlayer)
-
文本编辑(CodeMirror)
-
代码编辑(Monaco Editor)
-
展示缩略图
支持自定义缩略图生成策略,详见缩略图配置
-
路径挂载
允许管理员将某文件/目录挂载到任意位置
-
Drive 管理界面
-
文件搜索
-
通过 WebDAV 访问
-
定时任务(gocron)
支持简单的任务类型(复制/移动/删除)和 JavaScript 脚本类型
红枫云盘
红枫云盘(官网地址) 是一款无服务端的多协议云盘文件上传和管理软件,提供了文件上传、预览、操作、同步备份等功能
支持的存储
- 本地文件
- FTP
- SFTP
- S3
- SMB
- Webdav
- Alist
- Github
- Github Release
- Mirror(镜像站,支持文件查看和下载,支持格式:清华源、阿里源或者其他 NGINX 文件列表源)
- 又拍云
功能
- 支持文件列表查看/复制/移动/删除/重命名/上传/下载
- 支持桌面端拖拽上传(文件或者文件夹)
- 支持文件多选及操作
- 支持文件列表信息缓存
- 支持回收站
- 支持视频、音频、图片和文本文件的预览
- 支持文件加密和压缩
- 支持各存储之间的备份和同步(测试中)
- 支持多语言(中文、英文)
- 支持 Web, Android, MacOS 和 Windows
Zdir
Zdir(前台演示、帮助文档) 是一款集文件索引、在线预览与分享于一体的多功能私有存储程序,支持 WebDAV 和离线下载。
- 挂载第三方存储(S3/WebDAV/SMB)(需要付费)
- 文件索引
- 文件预览(支持图片、文档、音乐、视频等预览)
- 私有文件
- 私有文件分享
- 文件管理(上传、下载、删除、重命名)
- 图片预览
- 图床模式
- API支持
- WebDAV服务端支持(需要付费)
- 全局文件搜索
- 前后台一体化
- 文本编辑
- 音乐列表模式
- 文件移动、复制
- 离线下载
- 多语言
- 在线解压
- HTML小工具
- Ofiice预览
Docker部署命令
docker run --privileged -d --name="zdir" \
-v /opt/zdir/data:/opt/zdir/data \
-v /data/public:/opt/zdir/data/public \
-v /data/private:/opt/zdir/data/private \
-p 6080:6080 \
--restart=always \
pub.tcp.mk/helloz/zdir
File Browser
File Browser(官网地址)国外作者开源的一款私有存储软件,支持多用户且界面友好,但是不支持挂载第三方存储
,适合管理和分享本地文件。
filebrowser 提供了一个指定目录下的文件管理界面,可用于上传、删除、预览、重命名和编辑文件。它允许创建多个用户,每个用户可以拥有自己的目录。它可作为独立应用程序使用。
FileBrowser Quantum
FileBrowser Quantum 最好的免费自托管网络文件管理器,是File Browser开源项目的一个大型分叉。
- 支持多种来源
- ✅ 登录支持 OIDC、密码 + 2FA 和代理。
- ✅ 全新用户界面
- ✅ 通过
config.yaml
配置文件简化配置。 - ✅ 超高效索引和实时更新
- 键入时实时显示搜索结果。
- 用户界面实时监控和更新。
- 搜索支持文件和文件夹大小以及各种过滤器。
- ✅ 更好地浏览列表
- 更多文件类型预览,如办公和视频文件预览
- 即时切换视图模式和排序顺序,无需重新加载数据。
- 显示文件夹大小。
- 导航时会记住上次滚动的位置。
- 开发人员应用程序接口支持
- 能够创建长期有效的 API 标记。
/swagger
端点为启用 API 的用户提供了有用的 Swagger 页面。
Zfile
Zfile(演示地址) 是一款使用JAVA开发的在线目录展示程序,支持将本地文件、FTP、SFTP、S3、OneDrive 等存储在网站上展示并浏览,Zfile分为免费的开源版本和功能更强大的捐赠版本。
- 支持本地存储、Amazon S3、阿里云、腾讯云、又拍云、FTP、SFTP、OneDrive、SharePoint 等存储类型
- WebDav 需要付费
dirlist
dirlist(预览地址)是彩虹大佬用 PHP 开发的目录列表程序,无需数据库,安装简单,使用方便。dirlist 功能上稍微要弱一些且不支持挂载第三方存储
,如果用不到这些功能的话 dirlist 也是一个不错的选择。
- 在线预览图片、视频、音频、文本文件、Markdown文件、Office文档等
- 自动识别目录下的README.md文件并展示(类GitHub)
- 后台管理可设置网站标题、公告、底部代码等信息
- 文件搜索功能,支持缓存文件索引
- 自带全新的文件管理功能
- 支持中文文件名编码设置,解决乱码问题
- 支持安装在子目录
Cloudreve
Cloudreve 可以让您快速搭建起公私兼备的网盘系统。Cloudreve 在底层支持不同的云存储平台。可以使用 Cloudreve 搭建个人用网盘、文件分享系统,亦或是针对大小团体的公有云系统。
- 支持使用本机、从机、七牛、阿里云 OSS、腾讯云 COS、华为云 OBS、S3、OneDrive 作为存储端,上传/下载均支持客户端直传,无需服务器中转。
- 将磁力链、种子文件、下载链接交给 Cloudreve 处理,Cloudreve 会在服务端下载您指定的文件,并自动上传到对应的存储端中。您还可以通过从机 Cloudreve 节点,将不同的离线下载和转存任务分配到不同服务器处理,减轻主节点的负载压力。
Cloudreve 本身是一款“网盘”而非“其他网盘的管理器”,其所支持的存储提供商大多为公有云的存储专用产品,而非针对个人消费者的网盘。下面情况并不适合使用 Cloudreve:
- 需要用 Cloudreve 管理多个网盘上的文件;
- 对于 Cloudreve 存储的文件,我同时也会使用其他文件管理器一起管理;
- 想把其他网盘存储服务“再分发”给我的用户使用;
暂且这样吧,启用Redis对象缓存
近日站点访问速度时好时坏,宝塔面板也无法登录,MySQL经常崩溃而停止服务,内存溢出现象比较严重。
针对这一系列问题,我也没有太好的方法。WordPress虽然臃肿,但不至于此,可能是服务器哪里出了问题。又因不精通Linux操作及优化,SSH尝试无果后,重启Linux服务器后似乎正常了。
接下来开始搞搞WordPress的缓存,进一步优化缓存,希望这些措施奏效。
自建站以來,仅使用WP-Super-Cache插件的简单模式,对WordPress的缓存并不上心,甚至没有观察过页面加载时间。对加载速度意向凭感觉,只要能接受就好。
想到了大多数博友常用的WP-Rocket插件。此插件未在WordPress库中找到,虽然在GitHub中能找到该插件,但安装后无法启用,不知是何原因,百度AI给了一些建议尝试均无效果。
本着简单至上,放弃WP-Rocket,转而下载了Redis Object Cache插件,使用宝塔安装了Redis服务,将Nginx更换为Apache服务器,这样可以使用WP-Super-Cache插件的专家模式。
WP Super Cache与Redis Object Cache相互配合构成了目前站点的缓存方案。
趁此机会安装了WPAvatar文派头像,这应该是解决头像不显示的便捷且简单的方案吧。
XuanSecret
XuanSecret
一个 Typecho 文章内容隐藏插件,支持隐藏文字、图片、附件等内容,访客评论后即可查看。
下载
功能特点
- 支持隐藏任意内容(文字、图片、附件、链接等)
- 管理员和文章作者可直接查看隐藏内容
- 评论过的用户永久可见该文章的隐藏内容
- 支持游客无需登录即可评论
- 自定义提示文本
- 支持设置所需评论次数
- 支持内容预览功能
- 响应式设计
- 编辑器快捷插入按钮
使用方法
在文章编辑时可以:
使用编辑器右侧的"插入隐藏内容"按钮
或手动输入短代码:[secret]这里是隐藏的内容[/secret]
开源地址
BaiduPush
BaiduPush
一个用于自动将Typecho博客文章推送到百度收录的插件。
下载
功能特点
- 自动推送新发布的文章
- 支持手动批量推送
- 支持多种URL格式
- 自动控制推送频率
- 详细的推送日志记录
开源地址
PostUrlDisplay
PostUrlDisplay
本插件可以在Typecho后台的文章管理页面中显示每篇文章的完整URL地址,方便管理员快速查看和复制文章链接。插件会自动调整表格列宽,确保所有列都能正常显示而不会重合。
下载
主要特性
- URL列显示: 在文章管理表格中新增URL地址列
- 智能布局调整: 自动重新分配列宽,防止列重合问题
- 灵活位置配置: 可选择URL列在表格中的显示位置(标题后、日期前、日期后)
- 一键复制: 点击URL链接即可复制到剪贴板,同时在新窗口打开
- 智能识别: 自动识别草稿文章并显示相应提示
- 响应式设计: 在移动设备上自动隐藏URL列以保持界面简洁
- 悬停预览: 鼠标悬停时显示完整URL,避免长链接显示问题
效果演示

开源地址
n8n 玩法之备份 Mastodon 嘟文
服务器磁盘满了,该如何清理?
突然发现服务器磁盘占比到了80%了,其实也没存储啥,附件图片都在cos上,那就奇怪了,一步步排查看看吧
使用以下命令查看各目录占比情况,一步步排查大文件
du -h --max-depth=1
小水管机,太难了,一查询文件,内存就爆红了,哎
建议避免全盘扫描,最好带上目录,类似下面这种
du -h --max-depth=1 /var/log
先排查日志
宝塔中自带有日志工具,可以直接使用,扫描成功后会显示日志占比,我的只有100M的样子,所以肯定不是这个问题,继续往下走
docker镜像及容器
我之前使用过docker,看了下 /var/lib/docker/overlay2 占用了接近4G,其实我只用了一个镜像,也才200M,所以也需要清除
# 清理未使用的镜像
docker image prune -a
# 清理未使用的容器
docker container prune
# 清理未使用的数据卷
docker volume prune
# 一次性清理所有未使用的资源
docker system prune -a
# 查看Docker磁盘使用情况
docker system df
清理完毕后,发现内存 +4G
,继续往下走。
清理了定时备份
数据备份很重要,重要数据库我都是1天备份一次,网站一周备份一次,当然只保留了3份,所以占比也不是太大,不过我还是选择清理了一些,内存 +1G
。
定时清除日志脚本
每次手动清除日志太麻烦了,弄个脚本自动清除吧。宝塔中计划任务添加自定义脚本,然后设置清除时间即可
#!/bin/bash
# 定义日志目录
LOG_DIR="/var/log/myapp"
# 清除日志文件
find "$LOG_DIR" -type f -name "*.log" -mtime +30 -exec rm {} \;
# 或者清空日志文件而不删除
# find "$LOG_DIR" -type f -name "*.log" -exec truncate -s 0 {} \;
我这一套下来,大概省了10G左右。
面对Alist商业化:如何从Alist解绑阿里云盘?如何避免阿里云盘的数据被第三方应用读取
2025最佳预订——伟大的艺术品
{cat_bili p="1" q="16" key="BV1UzXNYKEoN"}
前些日子断断续续打完《漫威银河护卫队》之后,闲来无事翻油管,突然被一个reaction视频吸引了。utuber是一个关注的游戏游戏主播,但是玩的游戏我却不曾见过。搜了一下,出现了一个很吸引我的名字——《光与影:33号远征队》。
问过朋友,朋友说游戏剧情口碑不好,于是打算自己玩玩试试,结果一下子玩到现在通过,只能用几个词来形容我现在的心情:酣畅淋漓,美不胜收,真正的第九艺术。
简单说说游玩过后的感想。
首先是音乐。全部OST154首音乐插曲,每一首都是极其优秀的曲目。让我印象最深刻的有四首,一首开局时的《Lumière》,以及第二幕关末的雷诺阿战斗曲和绘母战斗曲,还有一首是终章的那首激昂的战斗曲——《Une vie à t'aimer》(用一生去爱你)。
{cat_webmusic id="2692441575"}
{cat_webmusic id="2692441576"}
{cat_webmusic id="2692439142"}
{cat_webmusic id="2692443161"}
{cat_webmusic id="2692443203"}
{cat_webmusic id="2692441670"}
曲子虽然繁多,但是每一首都恰到好处,没有那种很突出的与众不同的杂乱的节奏,仿佛就和游戏一样,一幕幕下来,仿佛一场歌剧直到最终落下帷幕。
然后搭配画面,每一帧都是完美的镜头,完美的光影,所以我截了许多截图,每一张都不舍得去掉。在游玩的时候搭配美妙的音乐,真的是梦一般的享受。
{cat_gallery}
{/cat_gallery}
下段落剧透预警
当然,剧情是绕不开的话题。开篇说过,许多人反应剧情虎头蛇尾,还有人说见仁见智,甚至游戏开发商还为此发过文说东亚玩家对剧情存疑可能是文化差异,说是不是很习惯这种悲剧结尾。秉着好奇心,我完全没有被剧透,因此远征队的覆没(woc吕西安光速白给了,卡特林也死在了尸堆)古斯塔夫的死给了我一震,竟然真的死了?(上次一震还是玩异度之刃1的时候女主光速便当,不过后面剧情复活了,最终也是大团圆结局)然后就是绘母的反转,玛埃尔的身世等等。其实游戏一直都有透露细节,比如众人一直在议论玛埃尔,甚至雷诺阿战斗曲Une vie à t'aimer的含义,用一生去爱你等等,所以这种铺垫更让游戏有一种精妙作品的感觉。
整体剧情通关之后玩下来,给我的第一感觉就是,完美的剧情!甚至他只在结尾给了你两个选择,更加的开放式。但是我就不理解为什么网上有人说不好了。这结局也不悲剧啊,结局哪有开头的悲剧啊?难不成现在都只看王道和合家欢???直到后来看有人评论到:央视春晚年年包饺子是不无道理的,然后我就理解了。
当然我给了他9.5分,也是有不足之处的,这不足之处在于游戏性上。一点是数值的崩坏,但是这是不可避免的,毕竟一直都是倍数叠加,崩坏也正常。然后有几处个人不喜欢的,一个是怪物种类有点少了,那个默偶和滚球完全是格格不入的东西..然后就是露营时培养的角色感情线,太唐突了。不如去掉感情点数,直接做随机触发好了。
总的来说,这部游戏我甚是喜爱,也推荐给大家,有机会可以慢慢享受一下游戏。
Bilibili、YouTube等视频网站频繁出现缓冲卡顿的解决方案
某一天开始,我发现电脑在使用外接 USB 音响播放 B 站视频时,大约在播放 1、2 分钟后,会突然卡住,缓冲一段时间后再开始播放,之后就一直重复缓冲、播放几秒到十几秒再次缓冲的过程,之后发现不仅仅是 bilibili,其实 YouTube 等其他视频网站都存在这个问题。
在一番搜索查找后终于知道问题所在:这个看似是网络卡顿的现象,居然是瑞昱(Realtek)的音频驱动导致的,不用 Realtek 驱动就可以解决问题。
播放缓冲卡顿故障表现细节
故障前提
- 必须是win10或win11系统
- 使用瑞昱(Realtek)声卡并安装了 Realtek 官方驱动
故障表现
- 在使用外接USB音响、蓝牙耳机、有线耳机、笔记本自己的音响等播放 Bilibili、YouTube、奈飞 等视频网站内视频时。如果视频一直在播放大概率不会出问题。
-
如果中间暂停视频一段时间后再播放,再次播放一段时间后会突然卡住,显示正在缓冲,缓冲一段时间后再开始播放,之后就一直重复缓冲、播放几秒到十几秒再次缓冲的过程。(如果暂停后马上恢复播放则大概率不会出现问题)
-
此时网络实际很通畅、使用视频网站的测试工具也显示不存在网络问题。
-
USB音响可以通过拔下再插上恢复正常,蓝牙耳机可以通过关闭蓝牙再打开恢复正常,最不济可以通过重启电脑恢复正常。
-
但是过一段时间又出现上述状况,而且浏览器类型(起码我测试chrome、edge、Firefox都一样)、浏览器扩展(无痕模式、安全模式都有这个问题)、网络情况(获取直链后用工具下载时无任何问题)、用什么播放器(用potplayer播放网络URL也会出现这个问题)等等都无关。
故障解决
定位故障点
这个问题困扰了我很久,但奇怪的是我用蓝牙耳机播放时几乎从来不会出现这个问题,不过因为我一般都是用蓝牙耳机为主,对我影响不大,所以这个问题也就一直放着没管。
直到我看到了这篇文章《如何解决B站暂停视频后一直缓冲问题 – 龙鲲博客》 如同醍醐灌顶,我电脑的现象和博主的简直如出一辙。至于为何我用蓝牙耳机反而不会像原文所说的那样有问题呢,可能因为我使用了替换的蓝牙驱动吧。
卸载Realtek(R) Audio 的官方驱动
简单说就是 Realtek(R) Audio 的官方驱动有bug,卸载官方驱动后换成 Windows 自带的通用驱动,并防止 Windows 自动更新将驱动为 Realtek(R) Audio 官方驱动即可。
- 在开始菜单按钮上右键或在开始菜单里搜索「设备管理器」,找到「设备管理器」启动。
-
点开「声音、视频和游戏控制器」,找到「Realtek(R) Audio」,右键单击,选择「更新驱动程序」
-
点击 「浏览我的计算机以查找驱动程序软件」
-
点击 「让我从计算机上的可用驱动程序列表中选择」
-
取消勾选「显示兼容硬件」,在左侧厂商框里找到并点击「Microsoft」,在右侧型号框内找到「High Definition Audio 设备 版本:XX.XX.XXX.YYYY [YYYY/MM/DD]」,选择版本号最大,日期最近的那个。
进阶步骤
因为有可能 windows 系统更新时还会自动安装 Realtek(R) Audio 的官方驱动,所以最好还是禁止一下。
通过组策略禁止自动更新驱动
仅限 Windows 专业版、企业版、服务器版等有组策略的系统
1. 按 「Win + R」,输入 「gpedit.msc」,回车打开「组策略编辑器」
- 依次展开:「计算机配置」 → 「管理模板」 → 「Windows 组件」 → 「Windows 更新」 → 「管理从 Windows 更新提供的更新」 → 双击左侧的「Windows 更新不包括驱动程序」 → 选择 已启用 → 点击「确定」
- (可选步骤)以管理员身份,在命令行中执行
gpupdate /force
让组策略强制生效。
通过注册表禁止自动更新驱动
- 按 「Win + R」,输入 「regedit」,回车,同意 UAC 提示。(如果有的话)
-
依次展开:
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate
→
在窗口右侧,右键 → 新建 → [DWORD (32 位) 值」,命名为ExcludeWUDriversInQualityUpdate
- 双击该值,将数值数据改为 「1」 → 点击 「确定」
-
重启系统生效。
(可选) 进行一次【完全重启】
因为 windows 从 win8 开始默认会开一个叫“快速启动”的小功能。
快速启动结合了传统关机和休眠模式的特点:在系统关闭或重启时,会仅将内核会话和设备驱动状态保存到硬盘的 hiberfil.sys 文件中。
如果你的系统硬件较新,系统也是比较新的win10、win11版本,理论上系统会在你更改驱动后自动将下一次启动进行完整重启,不执行“快速启动”。
但是这只是理论上,偶尔还是会出现。更新了驱动,系统还是来个快速启动,直接获取保存的驱动状态,就有可能导致音频驱动加载出错, Realtek(R) Audio 音频设备直接消失。如果出现了这个情况请再尝试下边的步骤解决问题。
方案一:彻底关闭快速启动
- 右键点击 开始菜单 → 选择 “终端(以管理员身份运行)” 或 “命令提示符(以管理员身份运行)”。
- 以管理员身份运行
powercfg /h off
此命令会同时禁用休眠和快速启动。如需重新开启,输入powercfg /h on
- 代价就是每次系统启动需要的时间多了5、6秒(SSD),如果你是机械硬盘可能会更久比如20多秒。
方案二:只完整重启一次,不关闭快速启动
- 点击开始菜单的 “电源”图标 → 按住 Shift键 同时点击 “重启”。
- 系统进入 “高级启动”界面 → 选择 “继续退出并进入Windows”。
The post Bilibili、YouTube等视频网站频繁出现缓冲卡顿的解决方案 appeared first on 秋风于渭水.
如何备份 Mastodon
从 dnsmasq 到 smartdns:打造一个靠谱的家庭 DNS 国内外查询分流系统
从 dnsmasq 到 smartdns:打造一个靠谱的家庭 DNS 国内外查询分流系统 无敌的个人博客 tangwudi
1 前言 之前,我写过一篇关于 dnscrypt-proxy 部署的文章(参见:dnscrypt-proxy(v2.1.8) 多场景配置指南:从上游部署到下游集成)。当时的架构是:利用Racknerd 的芝加哥 VPS 部署 dnscrypt-proxy,作为加密的 DNS 上游服务器(以DoH方式发布),而家庭数据中心的 AdGuard Home(因为AdGuard Home支持上游节点是DoH) 作为DNS 下游节点为内网设备服务 ,从而为家庭网络提供一个纯净、无污染、且支持加密传输的 DNS 服务。 不过,这种方案在实际使用中也存在一个局限:无法实现国内和国外 DNS 查询的分流解析。当然,这并不是因为 dnscrypt-proxy 本身不支持,而是它的分流机制更偏向于”基于服务器策略的转发”(例如通过不同的 server-names 配置),而不像 dnsm […]
<p>The post 从 dnsmasq 到 smartdns:打造一个靠谱的家庭 DNS 国内外查询分流系统 first appeared on 无敌的个人博客.</p>
Docker 部署 Mastodon
将网易云歌单转移到 Apple Music
2025年5月阅读书摘
5月阅读记录
- 《克林索尔的最后夏天》Done
- 《稀缺》Done
- 《东京贫困女子》Done
- 《悉达多》Done
5月阅读书摘
《克林索尔的最后夏天》
路易
- 人们太高估感官愉悦了,将精神生活看作是对缺失的感官体验的补偿。然而,感官并不比精神更具价值,反之亦然。因为一切都是合一的,一切都同样美好。无论你是抱一位女子,还是作一首诗,都是一样的。只要那个核心在,即爱、热望和激情在,它们便是一体,无论你是在阿索斯山做隐修僧,还是在巴黎做花花公子。
- 世界是肥皂泡,是歌剧,是欢闹的荒唐。
后记 回忆克林索尔的夏天
- 尽管年轻人也没啥可羡慕的,但至少还一直有机会,从一个坚硬冰冷、迟钝无趣的世界中苏醒新生,而我们这些老人却来自于旧时代,那些曾被我们高度认同的世界观如今却成了可笑荒唐的昨日黄花。时代惊人地变快了,更年轻的人们不再以年龄段、时代或至少五年期来计量时间,而是以每一年,所以相信1903年的人与相信1904年的人已经有代沟了。
- 这就是克林索尔的夏天。闪耀的日子里,我在村落间和栗林里漫步,坐在折叠椅上,尝试用水彩保存下稍纵即逝的流光溢彩;在温暖的夜里,我在克林索尔宫殿那些开着的门窗前一直坐到很晚。我的写作技法比绘画更为熟练与严谨,我便用字句来歌唱这个永不停止的夏天。于是画家克林索尔的故事便诞生了。
山隘
- 世界越来越美了。我独自一人,却很自在。我别无所求,只想被阳光晒透。我渴望成熟。准备好死去,准备好重生。
桥
- 远处并无战鼓传来,大时代再次由神奇日夜,由晨昏午暮所构成,世界那隐忍的心,重又跳动起来。当我们躺在草地上,耳朵聆听大地,或在桥上探身看水,或久久凝视明亮天空,便能听到那巨大的祥和心脏在跳动,那是母亲的心脏,我们是她的孩子。
牧师居所
- 无论在舌尖上还是在脚跟上,无论在快慰中还是苦痛中,只要能感受到内在生命的颤动就是好的。感觉到我的灵魂是活着的,千百种幻想蕴藏于千百种形式中,在牧师或游子、厨娘或屠夫、孩子或走兽中,当然也在鸟儿、树木中,这才是重要的,这才是我的生命所愿所需。一旦无法再这样活着,而必须依赖所谓的“现实”,我宁可死去。
树木
- 当我们感到悲伤,无法再忍受生活,一棵树就会对我们说:安静,安静!看着我!生活既非容易,生活亦非艰难。让神在你心里说话吧,那些妄念就会沉默。你慌了,因为你走的路偏离母亲和故乡;但其实你的每一步、每一天,又将你拉近母亲身边。故乡不在此处或彼处,除了在你心中,故乡不会在任何地方。
《稀缺》
引言 资源稀缺不可怕,就怕有稀缺心态
- 虽然会使我们集中注意力,但同时也是伴随一生的负担。因为我们总是将关注点放在稀缺上,思想总是围着稀缺打转,所以就没有那么多精力投入人生中的其他事物。
- 稀缺会降低所有这些带宽的容量,致使我们缺乏洞察力和前瞻性,还会减弱我们的控制力。其影响力非常大。举例来说,贫穷状态会比彻夜不眠对人的认知能力产生的影响更大。产生这个问题的原因并不是穷人的带宽不及富人,而是因为贫困的经历会降低任何一个人的带宽。
第1章 专注的“得”与管窥的“失”
- 稀缺,会迫使人做出选择。所有抽象的事物都会变得具体起来
带宽负担2——执行控制力
- 一旦你意识到意志力不过是去学习如何控制注意力和想法时,就能开始提高自身的意志力了
- 稀缺会形成带宽负担,而这就意味着,稀缺不仅会降低流体智力,而且会降低自我控制力。
余闲心态下的购买行为
- 人们常常会通过坚持最初的计划来避免选择的负担,实际上就是选择了不去做选择。
1美元的真正价值
- 节俭之人对金钱怀有一种保证富余的责任感,而穷人则需要随时进行权衡。发生购买行为时,节俭之人会思考的是,该商品的价格是否“优惠”。相比之下,穷人则会思考,为了付出相应的金钱他们要放弃什么。所以说,节俭之人并不需要进行真正的权衡,他们与所有生活在资源充裕条件下的人一样,很难体会到1元钱的真正意义。
机会成本
- 说穷人所拥有的是一种特殊技能:他们更善于维持当下的生计。他们能让1美元发挥更大的价值,他们是金钱价值方面的专家。这种专业技能会令他们在一定的环境中表现得更加理性,更不容易做出自相矛盾的选择。因为专注,所以拥有专业技能;因为专业,所以有了管窥之见;因为管窥,所以产生了一系列负面后果。
《东京贫困女子》
如果不一直工作就会无家可归
- 不仅是自治体,那些民间企业也经常会削减那些老实而顺从、从无怨言的人们的工资。像谷村女士这样老实、顺从又文静、得到的信息量很少的女性,率先成了财政困难的公共事业为了维持生存而献出的牺牲品。
这半年间,痛苦仿佛扼住了我的喉咙
- 在人生经历和日常生活中,人际关系匮乏的人,其判断标准往往会出现偏差。他们在向别人描述自己时总会把自己抬得很高。
DefaultPro双栏主题

DefaultPro
Typecho默认主题增强版,支持暗色模式、代码高亮、图片灯箱、渐入渐出、RESTAPI等功能。
演示
{button href="https://demo.typecho.work/?theme=DefaultPro" type="blue"}在线预览{/button}
下载
开源地址
轻松部署 Artifactory(不推荐款)
在 DevOps 实践中,软件包管理是不可或缺的一环。JFrog Artifactory 作为一款强大的制品管理工具,广泛应用于存储和管理二进制文件。本文简单介绍如何部署 Artifactory 开源版。
主要有客户需要部署这个,简单研究一下,上次用这个还是 4 年前了,新版本部署坑有点多,没老版本丝滑。简单说不如 Nexus,有兴趣的可以看看我之前写的私有化部署 Nexus3 镜像源
镜像
镜像有点点大
docker pull releases-docker.jfrog.io/jfrog/artifactory-oss:7.111.8
# 国内
docker pull ccr.ccs.tencentyun.com/k7scn/artifactory-oss:7.111.8
部署
- docker-compose.yaml
services:
traefik:
image: traefik:v3.4
container_name: traefik
networks:
- ysicing-net
command:
- "--api=true"
- "--api.insecure=true"
- "--api.dashboard=true"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--entrypoints.http.address=:80"
- "--providers.docker.network=ysicing-net"
- "--log.level=INFO"
- "--accesslog=true"
labels:
- "traefik.enable=true"
- "traefik.http.routers.traefik-dashboard.entrypoints=http"
- "traefik.http.routers.traefik-dashboard.rule=Host(`traefik.192.168.23.16.sslip.io`)"
- "traefik.http.routers.traefik-dashboard.service=dashboard@internal"
- "traefik.http.routers.traefik-dashboard-api.entrypoints=http"
- "traefik.http.routers.traefik-dashboard-api.rule=Host(`traefik.192.168.23.16.sslip.io`) && PathPrefix(`/api`)"
- "traefik.http.routers.traefik-dashboard-api.service=api@internal"
- "traefik.http.middlewares.gzip.compress=true"
- "traefik.http.routers.traefik-dashboard.middlewares=gzip@docker"
ports:
- "80:80"
- "8080:8080"
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
restart: always
artifactorydb:
image: docker.io/bitnami/postgresql:15
# image: ccr.ccs.tencentyun.com/k7scn/postgresql:15
container_name: artifactorydb
restart: always
networks:
- ysicing-net
volumes:
- './postgresql:/bitnami/postgresql'
environment:
- POSTGRESQL_USERNAME=bn_artifactory
- POSTGRESQL_DATABASE=bitnami_artifactory
- POSTGRESQL_PASSWORD=bitnami
artifactory:
image: releases-docker.jfrog.io/jfrog/artifactory-oss:7.111.8
# image: ccr.ccs.tencentyun.com/k7scn/artifactory-oss:7.111.8
container_name: artifactory
depends_on:
- artifactorydb
labels:
- "traefik.enable=true"
- "traefik.http.routers.artifactory.rule=Host(`artifactory.192.168.23.16.sslip.io`)"
- "traefik.http.routers.artifactory.service=artifactory"
- "traefik.http.services.artifactory.loadbalancer.server.port=8081"
- "traefik.http.routers.artifactory-ui.service=artifactory-ui"
- "traefik.http.routers.artifactory-ui.rule=Host(`artifactory-ui.192.168.23.16.sslip.io`)"
- "traefik.http.services.artifactory-ui.loadbalancer.server.port=8082"
networks:
- ysicing-net
environment:
- EXTRA_JAVA_OPTIONS=-Dartifactory.home=/var/opt/jfrog/artifactory
- JF_ROUTER_ENTRYPOINTS_EXTERNALPORT=8082
# ports:
# - 8082:8082 # for router communication
# - 8081:8081 # for artifactory communication
volumes:
- artifactory_data:/var/opt/jfrog/artifactory
- /etc/localtime:/etc/localtime:ro
- ./system.yaml:/opt/jfrog/artifactory/var/etc/system.yaml
restart: always
logging:
driver: json-file
options:
max-size: "50m"
max-file: "10"
ulimits:
nproc: 65535
nofile:
soft: 32000
hard: 40000
volumes:
artifactory_data:
driver: local
networks:
ysicing-net:
name: ysicing-net
driver: bridge
默认使用 pg 数据库,方便些
创建配置文件 system.yaml
touch system.yaml
创建完配置文件,生成相关配置
shared:
database:
type: postgresql
driver: org.postgresql.Driver
url: jdbc:postgresql://artifactorydb:5432/bitnami_artifactory
username: bn_artifactory
password: bitnami
修改文件权限
chown -R 1030:1030 system.yaml
chmod 644 system.yaml
运行启动
服务非常吃资源,机器配置太低不推荐。
docker compose up -d
访问 Artifactory
地址:artifactory-ui.192.168.23.16.sslip.io
默认的账号密码 | 默认用户名 admin,默认密码 password
总结
没有特殊要求,不推荐。
欢迎关注我的微信公众号,可以看看我郑再打工每天都在折腾什么。

Typecho实现全站图片懒加载
对于博客网站来说,图片加载慢是导致网站迟迟加载不完的罪魁祸首,本站实现了所有图片懒加载,这里分享下本站是如何实现的,整体过程也比较简单。本站教程基于Typecho,其它博客程序请自行研究,不过区别并不大。
我这里使用的 lazysizes.min.js
来实现懒加载。有必要简单介绍下LazySizes
LazySizes简介
LazySizes是一款终极而轻量级的懒加载库,专门用于处理响应式图片、iframe以及脚本等资源的延迟加载。其核心特性包括:
- 高性能:旨在提供极高的性能表现。
- 易于集成:只需在你的网页中加入JS文件,并对需懒加载的元素添加lazyload类即可。
- 自适应图片:全面支持响应式图片标准,如
标签和srcset属性。
主要功能亮点
- 自动优先级资源管理,区别对待关键和临近视口的元素,提高感知性能。
- 兼容性广泛,适用于各种前端框架和动态页面技术。
- 支持未来的响应式图片规范,无需额外配置。
- 提升SEO,不会影响搜索引擎抓取。
引入LazySizes
其它安装方式
npm install lazysizes --save
yarn add lazysizes --save
使用
使用上也比较简单,在需要使用的类上添加 lazyload
即可,比如我这里
<img class="comment-list-empty-img lazyload"
src="<?php $this->options->themeUrl('/static/images/null.svg'); ?>"
data-src="<?php $this->options->themeUrl('/static/images/null.svg'); ?>"
alt="<?php echo _t('暂无评论数据'); ?>"
>
阿胶块到底要怎么吃才行?
阿胶作为传承3000年的滋补上品,其驴皮熬制工艺被列入国家级非物质文化遗产。传统阿胶块需经"九九八十一天"熬制,具有补血滋阴、润燥止血的功效,《本草纲目》记载其"疗吐血衄血,血淋尿血"。真的是好处多多啊。我顺便也查了下阿胶方面的知识,基础形态的阿胶就有很多种:
阿胶块
- 传统黑色硬长方体,由驴皮经40余天熬制、切胶而成46
- 需二次加工(打粉或熬膏),营养保留最完整但直接食用口感差14
- 胶原蛋白含量≥80%,代表品牌:东阿阿胶、福牌24
阿胶糕
- 阿胶块融化后加入核桃、黑芝麻、黄酒等配料冷却切块45
- 即食便捷,含阿胶比例约10%-40%(品质差异大)16
- 口感香甜,适合日常滋补67
阿胶粉
- 阿胶块研磨或喷雾干燥制成46
- 含阿胶40%以上1,85℃以上热水冲服吸收快412
- 现代创新速溶型(如添加红枣萃取物)增速显著11
即食鲜阿胶
- 粉末状创新形态,可直冲水/热牛奶饮用17
- 主打"免煮即食",迎合年轻消费需求11
除了基础形态外,还有不少复合形态,比如:阿胶浆、阿胶膏 一类的。
由于前段时间老婆流产了,姐姐就买了两盒阿胶用于滋补身体,上次我也吃了一盒,不过是 阿胶糕 ,拆袋即食那种,里面有很多小包装,我吃了一盒,口感一般,毕竟是滋补身体的。这次买的是 阿胶块 ,类似巧克力一样,真是"坚硬如铁",第一晚上我用铁腕蒸了一小块,结果半小时过去了,还没完全融化,看样子这东西必须要熬制了,不过也不是个容易的事儿,所以就考虑直接打成粉末,为了这个去买个专门打阿胶机器也不显示,所以就开始找药店问问能不能处理。
后来找了一家,说是可以免费打粉,午饭后我顶着大太阳出发了,结果到药店人却不在,说有事儿出去了,这不是坑人么?约好的,没办法只能重新找了,还好又找到了一家,然后立马就动身过去了,也是个药店,交流一番后,就开始打磨了,整个过程30分钟左右,没想到这么硬的东西,打完就成了豆浆粉一样的东西,满打满算也就两袋吧,整个过程还是挺顺利的,不得不为帮忙的小哥点个赞。
小哥反复说,阿胶夏天不要吃,等冬天吃,不然会上火的,毕竟是大补的东西,所以只能放着了,早知道就先不打粉了。
路边停车收费,合理吗?
路边停车收费真的合理么?随便搞一条马路,竖一个收费标志牌,就可以开始收费了,总感觉有一种,"圈地为王"的感觉。有的甚至连停车线也不画,收费指示牌也看不到,你过来停车没人管,等你走的时候,收费的人就来了,关键是收费还不低,甚至比停车场还要高,对于此类行为我是相当反感的。
这是我六一那天,带闺女去游乐园玩的时候被贴的,严格意义上来说,这并不是交警贴的,而是路边穿黄马褂收费员贴的,他们天天骑着电动车沿着路边拍车辆,然后上到系统,就开始计费了,当然也有更智能一点的,你停车后,有仪器自动识别,如果你走的时候,没有收费员正好在场,你当时就不用缴费,但是停车记录已经产生,下次碰到了,还是会让你补齐费用的。
还好这一次路边是有停车线,而且正好有收费标识牌,然后收费还算合理(2元/小时),后来收了6块,后来说系统查到我还有5笔待支付记录,看了下最早一笔在2019年,在汉口汉阳那块,当时并不知道它计费了,而且费用也不低,大概是5元一小时,现在就开始拦下我,让我补齐费用,我当时就和工作人员争执了,你们路边有的连标识都没有,随便搞一条马路,就开始拍车牌计费,谁给你们的权利,给我说清楚,不然这费用我不会补,然后那个人支支吾吾也没买说个所以然,然后让我把这次停车的6块补缴了,就让我走了。
之前和朋友也聊到过类似话题,他回公司一般都停楼下巷子里的路边,偶尔会被计费,收费的人说是合法路边车位计费,朋友当时也没多想,就给了,直到后来被贴了罚单,说是违法停车,自那之后,再也没给所谓路边收费的人交过钱了。
有没有过类似经历的,你们都咋处理的?一起交流交流!
真是离谱,家门口的垫子也有人偷
昨天家里人说中午出去玩会儿的功夫,门口的垫子不见了,被人偷了,之前也被偷过一次,因为那会儿还没正式住进来,就没追求这事儿,没想到又来这一招,门口垫子就那么大点儿,也不值个啥钱,真不知道这些人是咋想的,这东西也偷。
得知消息,立马就反馈到物业,让帮忙查下监控,看有没有什么线索,后来得到反馈,监控没有啥异常,估计要么是同楼栋的人拿走了,要么就是其他楼栋的人,把东西装起来带走了,自认为小区里人的素质还可以,90%都是年轻人和小孩儿,感觉不至于吧。
之前小区有人在业主群里说,自己放楼顶晒太阳的花盆被拿走了,花和土都倒出来了,然后把花盆拿走了,闹得沸沸扬扬,后来监控查到了,是个保洁拿走了,但是物业不愿公开监控,也不知道具体谁拿走了,只是把东西送回来了,现在的物业、保洁、保安普遍素质不高,反正收钱第一名,其它所有事儿都懒得管,把业主都当傻子,看样子得把不交物业费进行到底了。
后面考虑换个带监控的门锁,或者门口按个监控,不然门口还不能放东西了,谁都可以拿走,还找不到人,真是离谱。
满心记更换域名啦,顺便送几个域名
经过慎重考虑,我决定对博客域名进行更换。原域名qq.mba因续费价格从首年百余元暴涨至292元/年,虽仍可使用至2027年,但本着务实原则,决定提前启动域名迁移计划。
域名更换:启用全新顶级域名 zhoutian.com
- 中文双拼"周天"既朗朗上口,又蕴含"假日休憩"之意
- 与博客记录生活、分享思考的定位高度契合
- 更符合中文用户记忆习惯
博客名称从"满心记"正式更名为"周天记"
- 新名称既保留原有记录生活的内核
- 又赋予"周期性沉淀"的深层含义
这次调整看似突然,实则是三年建站经验的自然选择。早前使用qq.mba时主要考虑简短易记,如今更注重域名与内容气质的统一。原域名将逐步停用。
域名切换期间会做好301重定向,确保原有内容可访问。
域名留之无用,弃之可惜,留给有需要的人,准备赠送几个出去,先到先得
- nzqq.cn(阿里云)- 已送出
- nih.cc(阿里云)- 已送出
- says.top(阿里云)- 已送出
- ere.cc(西部数码)- 已送出
用百度地图做个足迹地图
今天看到 小生博客的文章,就花了点时间整到我的博客里了,考虑要不要单独做成页面,想了下,还是放 关于页里面,后续看情况,要不要独立出来。
预览效果,有兴趣的可以往下看,比较简单:
一、申请百度地图账号,创建应用
百度地图,百度要求实名认证。
注意:创建应用要选择【浏览器端】
以上全部通过后,获取 访问应用(AK)
二、创建map.php
<?php
?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>我的旅行足迹</title>
<style>
#container {
flex: 1;
width: 100%;
height: 100%;
border-radius: 10px;
}
/* 信息窗口样式 */
.info-window {
padding: 0;
border-radius: 10px;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
text-align: center;
border: none;
background: #fff;
overflow: hidden;
}
.info-header {
text-align: center;
}
.info-header h3 {
margin: 0;
font-size: 20px;
font-weight: 600;
color: #333;
text-align: center;
}
.info-content {
padding: 0 15px 15px;
text-align: center;
}
.info-content p {
margin: 0 0 15px;
font-size: 14px;
line-height: 1.6;
color: #666;
text-align: center;
}
.info-content .photos {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 10px;
}
.info-content img {
width: 100px;
height: 100px;
object-fit: cover;
border-radius: 8px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.info-content a:hover img {
transform: scale(1.05);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.BMap_cpyCtrl,
.anchorBL {
display: none !important;
}
</style>
</head>
<body>
<!-- 地图容器 -->
<div id="container"></div>
<!-- 引入百度地图API -->
<script type="text/javascript"
src="https://api.map.baidu.com/api?v=1.0&&type=webgl&ak= 你的KEY"></script>
<!-- 引入足迹点数据 -->
<script src="<?php $this->options->themeUrl('style/markers.js'); ?>"></script>
<!-- 地图初始化和足迹点添加 -->
<script>
// 地图初始化
var map = new BMapGL.Map("container");
var point = new BMapGL.Point(108.219771, 34.933863);
map.centerAndZoom(point, 5); // 初始化地图,设置地图级别为5
map.enableScrollWheelZoom(true); // 开启鼠标滚轮缩放
console.log(map);
// 设置地图样式
map.setMapStyleV2({
styleId: 'e538ad167219263086d18744cc59cd32'
});
// 添加足迹点和信息窗口
markers.forEach((element) => {
let point = new BMapGL.Point(element.latLng[0], element.latLng[1]); // 创建坐标点
var marker;
// 如果有自定义图标,则使用自定义图标
if (element.icon) {
var myIcon = new BMapGL.Icon(element.icon, new BMapGL.Size(26, 26));
marker = new BMapGL.Marker(point, { icon: myIcon });
} else {
marker = new BMapGL.Marker(point); // 创建默认标记
}
map.addOverlay(marker); // 将标记添加到地图上
// 创建信息窗口
let opts = {
width: 320, // 信息窗口宽度
height: 0, // 信息窗口高度
enableMessage: false, // 禁用默认的关闭按钮
enableCloseOnClick: true, // 点击地图关闭信息窗口
};
// 构建信息窗口内容
let info = `
<div class="info-window">
<div class="info-header">
<h3>${element.name}</h3>
</div>
<div class="info-content">
<p>${element.desc}</p>
<div class="photos">`;
if (element.photo && element.photo.length > 0) {
element.photo.forEach((photoUrl, index) => {
// 获取对应的链接
let linkUrl = element.links ? element.links[index] : "#";
// 添加图片链接
info += `<a href="${linkUrl}" target="_blank"><img src="${photoUrl}" alt="Image ${index + 1}"></a>`;
});
}
info += `
</div>
</div>
</div>`;
let infoWindow = new BMapGL.InfoWindow(info, opts); // 创建信息窗口对象
// 为标记点添加点击事件
marker.addEventListener("click", function () {
map.openInfoWindow(infoWindow, point); // 打开信息窗口
});
});
</script>
</body>
</html>
<?php
?>
三、创建marker.js
// 坐标查询:https://api.map.baidu.com/lbsapi/getpoint/index.html
var markers = [{
latLng: [89.255025, 42.99805],
name: "葡萄沟",
icon: "zj.png",
desc: "转车的时候下去看了看,确实和书本上描述的一样。"
},
{
latLng: [75.996862, 39.476993],
name: "喀什",
icon: "zj.png",
desc: "一出生就过去了,从小长大的地方,呆过十几年,不过现在已经没什么印象了。"
},
{
latLng: [116.280592, 40.004567],
name: "颐和园",
icon: "zj.png",
desc: "有点古典风格,到此处,感觉自己也有点儿儒雅的气质。"
},
{
latLng: [116.024067, 40.362639],
name: "八达岭长城",
icon: "zj.png",
desc: "不到长城非好汉,我去了五六次,应该是绝对的好汉了吧!"
},
{
latLng: [116.403414, 39.924091],
name: "故宫",
icon: "zj.png",
desc: "记得那会儿应该是20年前的事儿了。"
},
{
latLng: [116.079068, 40.296759],
name: "居庸关长城",
icon: "zj.png",
desc: "体验感一般,去过的人都不会选择再去了。"
},
{
latLng: [120.127813, 30.228902],
name: "西湖",
icon: "zj.png",
desc: "之前工作住周边,有事儿没事儿就去西湖转转,估摸着应该转了几十圈了吧。"
},
{
latLng: [120.155526, 30.236867],
name: "雷峰塔",
icon: "zj.png",
desc: "其它区域都是免费,维度雷峰塔要收费,原因是要坐船过去。"
},
{
latLng: [124.831767, 45.148014], // 图文带跳转的
name: "松原市",
icon: "zj.png",
desc: "松原市。",
photo: [
"https://img0.baidu.com/it/u=3915829036,420838185&fm=253&fmt=auto&app=120&f=JPEG?w=500&h=1083",
"https://img0.baidu.com/it/u=3915829036,420838185&fm=253&fmt=auto&app=120&f=JPEG?w=500&h=1083",
"/usr/uploads/2025/01/1454283446.jpg",
"/usr/uploads/2025/01/3919603999.jpg",
],
links: [
"/index.php/archives/138/",
"/index.php/archives/138/",
"/index.php/archives/138/",
"/index.php/archives/138/",
]
},
];
四、嵌入使用
我这里是直接在关于页面引入,选择引入地方直接写好地址即可,我这里没有单独做页面,有需要做页面也可以单独改一下。
<?php $this->need('parts/map.php'); ?>
我简单实现了下,可以根据自己主题进行调整,特别是样式,需要根据自己主题进行适配;
参考文章:利用百度地图做博客足迹地图HTML源码
陪老婆去做了流产
与我而言,这个话题是沉重的。考虑再三,还是决定记录下来。
其实什么事儿都不是空穴来风,上月末发了一篇文章 聊聊我对生二胎的一些想法 ,其实关于这个问题,我一直在思考,从还没有生一胎的时候,一直到现在,我都有考虑。上次我老婆突然跟我说,可能怀了二胎,我还挺诧异,因为我们没有严格意义上要二胎计划,可以说是意外之喜,然后就买了试纸测量了,发现确实怀了,然后就找了个周末的时间去医院检查,由于周数比较小,所以也没查出来个啥,就是各项指数(孕酮)偏低,让多注意休息和补补孕酮啥的,让每周都过来看看。
经过了心里的一些挣扎后,既然孩子来了,那肯定是和我们家有缘分的,所以大家也都接受了,也开始按照从饮食起居上逐步调整,已经做好心里准备,迎接新宝宝的到来,为此老婆还规划了预产期,以及宝宝名字之类的。
连着去了两周多,孕酮指标一直上不去,而且做了B超,医生说没看到胎心,有可能是孕囊有问题,也有可能是空孕囊,当然也可能是怀孕周数不准,孩子太小等原因,我们潜意识里不愿意相信这样的结果,所以有换了个妇幼,结果仍然如此,虽然结果都一样,但诊断方面缺有不同,有的医生建议尽早流掉,这样对身体损伤最小,有的医生建议再等一周看看,可能孩子太小,查不出来也正常,后来找了一个朋友把片子给他看了,他建议直接流掉,说这个孩子即使过几周胎心出来了,也感觉是个发育缓慢的胎儿,且不说再以后过程中,会不会死亡,总的来说就是胎儿质量不高,不建议留下,留下以后可能也是伤人伤己。
得知这个结果之后,一时之间心里还是很难接受的,毕竟全家已经接受了这个小生命,突然又要舍弃掉它,真的是有点残忍,但为了以后,还是决定不要了,期间老婆很伤心,我也一直给她做心里疏导(其实就是陪着说说话),在做了大量检查后,最终安排入院,接受流产手术。
手术很成功,现在已经在家调养,不管怎样,身体还是需要调理好,不管以后还考不考虑二胎的事儿,也许某一天,我的博客里会分享二胎的喜讯,也有可能永远不会。
给小主机做一次大扫除
去年整个了低功耗的小主机,借助 Frps 做映射,实现外网访问,我把一些有大量存储需求的应用,都搬到小主机上了,本地也搭建了影音库和一些常用的应用,我的小主机配置还是比较高的,功耗较低,一天大概0.3 ~ 0.4度电的样子,当然存储最多只能扩展到3T,不过也基本够用了。
小主机真的蛮小的,比巴掌还小,也不重,散热方面感觉还可以,即使大热天,机器也没有明显发热现象,迄今为止,还没出现过问题,这点儿还是值得肯定的。
小主机从去过年到现在,距离一年也不久了,最近发现小主机风扇转的厉害,后来发现出风口和风扇都积灰了,也好久没关注它了,今天正好有点儿时间,就给简单清理一下吧。
拆卸还是比较简单的,底部四颗螺丝卸掉,就可以拿掉顶部机盖了,然后把电路板四颗螺丝也卸掉,就看到底部风扇了,主要是风扇和出风口积灰了,还有一些UBS、网口等等也有灰尘,我就用小刷子和湿巾简单清理了下,确实要干净了不少,弄好了就开始安装回去了,还是挺方便的。
底座安装回去之后的样子,一个512G的SATA硬盘,一个16G + 32G的内存条,一个2T m2固态硬盘,还可以扩展高速TF卡,各方面都很满意。
家里有小孩儿,好多地方不能放,只能放门口玄关位置,好了,小主机满血复活了!
一杯酒,一家人
不得不感叹,时间过得可真快,感觉才刚到25年,没想到已经距离年中不远了,这不生日也到了,由于是工作日,所以晚上到家也七点了,妈妈给做了菜,然后媳妇儿从公司点了两个菜,买了蛋糕,一家人一起吃个饭,既简单又实在,美中不足的是父亲没到场(上班,没有假期)。
也是开了瓶12年的白云边庆祝下,虽只有我一人饮酒,其它人也都喝饮料作陪,给闺女准备了金豆芽饮品,她也频繁跑上来跟我碰杯,虽然她还不太会表达,但看得出来,她很开心,不光有喝的,一会儿还有蛋糕可以吃,我们吃着饭,她围着桌子蹦蹦跳跳的,气氛格外融洽。
按道理说,今天也是闺女阳历生日,碰到一起了,所以就一起过了,自然蛋糕也要偏向于孩子风格,所以选了这个粉色系列,插上18岁的两根蜡烛,今年比较贪心,许了很多愿望,不敢奢求太多,只求一家人在往后的日子里 平安喜乐 即可。
我是一个感性的人,有时候看一些短视频,看着看着眼眶就湿润了,我也不知道为什么。
我一直觉得人的一生其实很短暂,悄悄把我们从看故事的人,变成了故事里的人。那些曾经让我们落泪的画面,如今正在我们自己的人生里一帧帧上演。这大概就是成长的滋味吧——既熟悉又陌生,既温暖又带着些许酸涩。
公司不续签劳动合同了,是否有赔偿?
最近有朋友聊到关于员工合同期满之后,如果公司单方面不续约情况下,是否有赔偿问题,就这方面拿出来聊聊,说实话,没经历过,我也不太懂,所以就找了各方面资料,汇总在一起,看是否有经历过的朋友,能给给建议。
大概情况我简单描述下,朋友在现在公司已经四年多了,前不久刚续签了一次合同,每次合同期为两年,两年到期后,公司HR会找合同期满员工续签合同,然后到上级部门审批,通过后,合同生效,合同内部没有明确说明续约相关条款,我那朋友也算是人到中年了吧,担心公司单方面不续约,导致失业,那么这种情况下是否有赔偿呢?他问我的时候,我也有点懵,因为确实没碰到过,按道理来说,公司不续约了,应该就不存在赔偿问题,由于不确定,所以我找了AI询问了下,大概结果如下:
OPENAI给出的回答:
- 劳动合同的性质:如果你的劳动合同是固定期限合同,并且在合同到期时公司不续签,通常情况下,雇主不需要支付额外的赔偿或补偿。
- 公司政策和规定:有些公司可能会根据内部政策提供一定的离职补偿或遣散费,虽然这并不是法律要求,但可以向人力资源部门询问相关政策。
- 劳动者的工作年限:在某些情况下,如果劳动者在公司工作了较长时间,可能会根据公司政策或集体合同获得一定的经济补偿。
- 法律法规:根据《中华人民共和国劳动合同法》,如果公司在合同到期后不续签且不符合特定的解雇条件,劳动者通常没有权利要求赔偿。但如果公司不合法解除劳动合同,劳动者可以要求赔偿。
协商结果:在合同到期前,劳动者可以与公司进行协商,看看是否能够达成协议,获得一定的补偿。
豆包给出的回答:
- 需要支付经济补偿的情况:如果公司降低劳动合同约定条件续订劳动合同,劳动者不同意续订的,或者公司在劳动合同到期后直接决定不续签的,公司应当向劳动者支付经济补偿。经济补偿按劳动者在本单位工作的年限计算,每满一年支付一个月工资的标准向劳动者支付。六个月以上不满一年的,按一年计算;不满六个月的,向劳动者支付半个月工资的经济补偿。月工资是指劳动者在劳动合同解除或者终止前十二个月的平均工资。例如,劳动者在公司工作了 3 年 8 个月,劳动合同到期公司不续签且不存在法定续延情形,公司应支付 4 个月工资的经济补偿。
- 无需支付经济补偿的情况:公司维持或者提高劳动合同约定条件续订劳动合同,劳动者不同意续订的,此种情形下公司无需支付经济补偿。比如,原工资待遇是每月 5000 元,公司提出以每月 6000 元续签,劳动者拒绝,公司就不用支付补偿。
DeepSeek给出的回答:
- 公司主动不续签:必须按工作年限支付经济补偿,每满1年支付1个月工资,6个月以上不满1年按1年算,不满6个月支付半个月工资。
- 公司降低续签条件:若新合同存在降薪、调岗等不利变更,员工拒绝续签的,公司仍需支付补偿。
- 员工在医疗期、孕期、产期、哺乳期,或工伤治疗期间的,合同自动延续至情形消失,公司不续签属违法,需双倍赔偿。
- 合同到期后继续用工超1个月未签新合同的,从第2个月起需支付双倍工资(最长11个月)。
综合相关AI给出的结果,以及结合度娘的相关内容,综合到一起,基本上就是以下内容:
- 公司维持或提高原合同条件(如薪资、岗位不变或更好),员工拒绝续签的,公司无需补偿;
- 公司如果主动不续签情况下,按工龄执行 N 的赔偿机制,公司工作了4年,那么N就是4;
当然除了以上情况外,也有的人说,公司不做任何赔偿,但目前我没有找到实际经历过此事的朋友,希望有此类遭遇的朋友,能明鉴。。。
聊聊我对生二胎的一些想法
每次和老婆坐在客厅算家庭账本,算到最后总会陷入沉默。备孕二胎的念头像颗野草,时不时在心里冒头,但一想到现实,又赶紧把这火苗掐灭。产检费、顺产的几千块钱倒是小钱,可孩子出生后,乃至以后培养教育确实是一笔不小的投资。
隔壁王姐家老二刚出生,光是奶粉钱一个月就得两千多。原本给老大报乐高课的钱、全家出去旅游的预算,统统都得砍掉。现在老大上幼儿园,光校服费就分春夏秋冬四套,更别提兴趣班了。小区里的孩子不是学钢琴就是练舞蹈,当家长的哪能看着自家孩子啥特长没有?就算不报热门的,报个普通绘画班,一年下来也得小一万。这是从邻居聊天得知的。
白天在公司对着电脑敲代码,眼睛酸得睁不开还得改方案。领导一个电话,周末就得加班。好不容易下班回家,老大缠着要陪着玩,骑车、遛弯,哄睡完自己累得倒头就睡。要是再来个小的,半夜喂奶、换尿布,第二天还得强撑着去上班,想想都觉得喘不过气。上个月部门裁员,好几个三十多岁的同事都走了,现在在公司每天都提心吊胆,生怕哪天就轮到自己。
随着父母年龄大了,身体也或多或少会出些毛病,上周父亲说脖子后总是很胀痛,我们没有时间,他自己去医院拍了片子,医生说可能是血液太粘稠导致的,具体不敢确定,要进一步检查,妈妈身体也不是很好,一直说生了二胎全家人都被绑一起了,一个人也看不过来两个孩子,毕竟孩子到处跑啊,闹啊什么的。好不容易把第一个孩子养大了,还敢带着全家再走一遭吗?说实话,我是真没这个勇气。
家里现有房子比较小,目前住正好,如果有二胎了,可能就住不下,要考虑换房子的事儿了,都奔35的人了,谁都不敢说工作会一直稳定,还敢继续背房贷吗?虽然现在房价降了些,政策也有所调整,看似一切条件都有利于购房,但事实真的如此吗?我真的不相信。
现在的社会卷得太厉害,孩子从上幼儿园就开始 "拼爹妈" 。朋友家孩子才上小学,周末时间表排得比上班族还满,奥数、英语、编程轮着来。都说不能让孩子输在起跑线上,可这起跑线到底在哪儿?就算咬着牙供孩子读完大学又怎样?现在本科生遍地走,找工作照样难。我堂哥名牌大学毕业,还不是天天加班,工资也就勉强够生活,我也实在是不想自己辛苦培养出来的孩子,最终沦为资本家的牛马一辈子。
更现实的是,老婆也三十好几了,要是再生二胎,身体能不能吃得消先不说,现在干的互联网工作肯定保不住。这个行业更新换代太快,二十多岁的年轻人一茬接一茬,等老婆休完产假,哪还有她的位置?转行又能做什么?超市收银、家政保洁,工资低不说,以后养老都成问题,当然也少不了对孩子的帮衬。
有时候老婆和我开玩笑说 "再生一个,以后老了多个人照顾" ,话刚出口自己都笑了。想想我们现在,一年到头回不了几次老家,给父母的陪伴少得可怜,哪敢指望孩子以后能多孝顺?可看着老大一个人在家玩,又觉得孤单。小区里那些两个孩子的家庭,虽然鸡飞狗跳,但热热闹闹的也让人羡慕。
和朋友聊过之后,分享出来的故事,然后结合自己的一些感触,写下了这篇文章。
Xc-Three主题 前台增加注册登录按钮
找到以下目录文件内的文字:<!-- 这里可以放很多东西 -->
这句文字注释,代码就放到这句文字下面(位子差不多在最底下)
默认左侧栏:Xc-Three/Miss/aside-left01.php
自定义左侧栏:Xc-Three/Miss/aside-left02.php
<!-- 登入 -->
<li>
<?php if ($this->user->hasLogin()) : ?>
<a class="link panel" href="#" rel="nofollow">
<span class="Xc_balance"><?php $this->user->screenName(); ?></span>
<svg class="icon-xl" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="15" height="15">
<path d="M624.865 512.247L332.71 220.088c-12.28-12.27-12.28-32.186 0-44.457 12.27-12.28 32.186-12.28 44.457 0l314.388 314.388c12.28 12.27 12.28 32.186 0 44.457L377.167 848.863c-6.136 6.14-14.183 9.211-22.228 9.211s-16.092-3.071-22.228-9.211c-12.28-12.27-12.28-32.186 0-44.457l292.155-292.16z"></path>
</svg>
</a>
<ul class="slides panel-body">
<li>
<?php if ($this->user->group == 'administrator' || $this->user->group == 'editor' || $this->user->group == 'contributor') : ?>
<a class="link" rel="noopener noreferrer nofollow" target="_blank" href="<?php $this->options->adminUrl("manage-posts.php"); ?>">管理文章</a>
<?php endif; ?>
</li>
<li>
<?php if ($this->user->group == 'administrator' || $this->user->group == 'editor') : ?>
<a class="link" rel="noopener noreferrer nofollow" target="_blank" href="<?php $this->options->adminUrl("manage-comments.php"); ?>">管理评论</a>
<?php endif; ?>
</li>
<li>
<?php if ($this->user->group == 'administrator') : ?>
<a class="link" rel="noopener noreferrer nofollow" target="_blank" href="<?php $this->options->adminUrl("options-theme.php"); ?>">修改外观</a>
<?php endif; ?>
</li>
<li>
<a class="link" rel="noopener noreferrer nofollow" target="_blank" href="<?php $this->options->adminUrl(); ?>">进入后台</a>
</li>
</ul>
<?php else : ?>
<li>
<a class="link panel" href="#" rel="nofollow" target="">
<span class="Xc_balance">用户登录</span><svg class="icon-xl" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="15" height="15">
<path d="M624.865 512.247L332.71 220.088c-12.28-12.27-12.28-32.186 0-44.457 12.27-12.28 32.186-12.28 44.457 0l314.388 314.388c12.28 12.27 12.28 32.186 0 44.457L377.167 848.863c-6.136 6.14-14.183 9.211-22.228 9.211s-16.092-3.071-22.228-9.211c-12.28-12.27-12.28-32.186 0-44.457l292.155-292.16z"></path>
</svg></a>
<ul class="slides panel-body panel-box" style="display: none;">
<li>
<a class="link" href="<?php $this->options->adminUrl('login.php'); ?>" target="_blank" rel="noopener noreferrer nofollow">登录</a>
<?php if ($this->options->allowRegister) : ?>
<a class="link" href="<?php $this->options->adminUrl('register.php'); ?>" target="_blank" rel="noopener noreferrer nofollow">注册</a>
<?php endif; ?>
</li>
</ul>
</li>
<?php endif; ?>
</li>
Typecho主题模板 Xc-Three主题
主题名字:Xc-Three
支持环境:PHP 8.0 8.1 8.2
支持全站Pjax无刷新加载
使用服务器搭建,虚拟主机不可用
{collapse}
{collapse-item label=" 授权方法" open}
主题采用单域名授权,需绑定一个授权域名,无限每7天可自助免费更换一次,后续升级版本均为免费
已购买用户 推荐人购买可获得30元奖励,未购买用户 推荐人购买可获得10元奖励,(提供推荐聊天截图)
当前主题售价128RMB,联系QQ:70027750(同微信)没想好购买不要添加
{/collapse-item}
{/collapse}
{collapse}
{collapse-item label=" 主题定制" open}
如果你觉得主题有加密授权的存在让你没有安全感
可以找我谈,我可以帮你写主题,功能外观也可与本站相同,加钱世界可及
接typecho主题定制,功能定制,主题美化
{/collapse-item}
{/collapse}
{collapse}
{collapse-item label=" 使用须知" open}
售后服务可帮你解决在使用本主题时遇到的问题,但不包含主机及 Typecho 安装、Typecho 的使用教程,如果你不会搭建,外加20¥可以帮你直接搭建好,加钱世界可及,避免扯皮。
因主题可复制性,个人使用可随意修改主题文件,还请勿泄露主题文件给他人,发现将不再提供后续服务,敬请谅解!
{/collapse-item}
{/collapse}
B站演示视频: https://www.bilibili.com/video/BV1X6zsYFE7T/
功能 | 介绍 |
---|---|
主题样式 | 内置7种主题文章样式 |
多样式化 | 顶部 侧栏 均可自定义内容 |
付费可见 | 内置了一款免费的付费阅读插件,可对接当面付 |
评论样式 | 内置2种评论区样式 |
邮箱推送 | 有人评论回复都会给对方和站长发送邮件通知 |
置顶文章 | 可在后台设置需要置顶显示的文章 |
pjax加载 | 页面切换流畅度非常丝滑,几乎感觉不到卡顿 |
全局设置 | 导航栏丶内容栏丶侧边栏都可以自定义宽度 |
侧边栏 | 侧边栏可自定义显示和开关 |
字体 | 内置多种页面字体和自定义字体 |
缩略图 | 默认显示内置缩略图,也可自定义随机缩略图 |
懒加载图 | 设置一个加载图,等图片完全加载出来了再显示文章的图 |
静态CDN | 可自定义网站的静态文件cdn加速 |
独立页面 | 内置多种独立页面,留言板丶闪念丶友链丶壁纸丶导航丶归档 |
短代码 | 编辑器多达40种丰富的短代码功能 |
其他功能 | 还有很多其他功能,已本站为准,本站有的功能都有 |
{dotted startColor="#ff6c6c" endColor="#1989fa"/}
警告提示
{alert type="info"}警告提示{/alert}{alert type="success"}警告提示{/alert}{alert type="warning"}警告提示{/alert}{alert type="error"}警告提示{/alert}
消息提示
{message type="success" content=""/}
{message type="info" content=""/}
{message type="warning" content=""/}
{message type="error" content=""/}
云盘下载
{cloud title="默认网盘" type="default" url="" password=""/}
{cloud title="360网盘" type="360" url="" password=""/}
{cloud title="百度网盘" type="bd" url="" password=""/}
{cloud title="天翼网盘" type="ty" url="" password=""/}
{cloud title="诚通网盘" type="ct" url="" password=""/}
{cloud title="微云网盘" type="wy" url="" password=""/}
{cloud title="Github仓库" type="github" url="" password=""/}
{cloud title="蓝奏网盘" type="lz" url="" password="123456"/}
超链按钮
自定义自己想要的颜色 {abtn color="#73aaff" href="https://www.baidu.com" radius="" content="超链按钮"/}
自定义颜色按钮 {abtn color="#20c6a7" href="https://www.baidu.com" radius="" content="超链按钮"/}
彩色虚线
{dotted startColor="#ff6c6c" endColor="#1989fa"/}
自定义虚线颜色,支持任意颜色
{dotted startColor="#1772e8" endColor="#4cd327"/}
回复可见
隐藏内容,请前往内页查看详情
进度条
{progress percentage="" color="#ff6c6c"/}
自定义颜色
{progress percentage="30%" color="#3a9aee"/}
3行3列的表格
表头 | 表头 | 表头 |
---|---|---|
表格 | 表格 | 表格 |
表格 | 表格 | 表格 |
表格 | 表格 | 表格 |
代码块
const obj = {
name: 'hi',
age: 18
}
// 判断某个属性是否在对象里
console.log('name' in obj)
// 删除对象某个属性
console.log(delete obj.name)
// 将对象的属性名提取成数组
console.log(Object.keys(obj))
Tabs标签页
{tabs}{tabs-pane label="标签一"}啊哈哈哈哈我是大傻逼!{/tabs-pane}{tabs-pane label="标签二"}啊啊啊啊啊!哦哦哦哦哦?哈哈哈哈哈!{/tabs-pane}{/tabs}
时间轴
{timeline}{timeline-item color="#19be6b"} 1.0.0版本正式上线{/timeline-item}{timeline-item color="#19be6b"} 更新2.0.0版本{/timeline-item}{timeline-item color="#ed4014"} 删库跑路{/timeline-item}{/timeline}
跑马灯
{lamp/}
折叠面板
{collapse}{collapse-item label="折叠标题一" open} 折叠内容一{/collapse-item}{collapse-item label="折叠标题二"} 折叠内容二{/collapse-item}{/collapse}
2024最新QQ昵称获取 官方接口
官方接口最新获取QQ昵称,解决编码问题
<?php
// 设置跨域和返回格式
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: GET");
header("Access-Control-Allow-Headers: Content-Type");
header('Content-type: application/json;charset=utf-8');
// 如果没有通过 GET 参数传入则使用此默认值
$qq = isset($_GET['qq']) ? $_GET['qq'] : '70027750';
function getUserInfo($qq)
{
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://users.qzone.qq.com/fcg-bin/cgi_get_portrait.fcg?uins=' . $qq,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_POSTFIELDS => '------WebKitFormBoundaryYTwvlk5brGmyD3Mn',
CURLOPT_HTTPHEADER => array(
'Content-Type: multipart/form-data; boundary=---012345678912345678912312',
),
));
$response = curl_exec($curl);
$encode = mb_detect_encoding($response, array("ASCII", 'UTF-8', "GB2312", "GBK", 'BIG5'));
$response = mb_convert_encoding($response, 'UTF-8', $encode);
$data = json_decode(substr($response, 17, -1), true);
// 返回的用户信息
$userInfo = array(
'name' => isset($data[$qq][6]) ? $data[$qq][6] : '',
'mail' => $qq . '@qq.com',
'avatar' => isset($data[$qq][0]) ? str_replace('http://', 'https://', $data[$qq][0]) : '',
'qzone' => 'https://user.qzone.qq.com/' . $qq,
'imgurl' => 'https://q1.qlogo.cn/g?b=qq&nk=' . $qq . '&s=40',
'imgurl1' => 'https://q1.qlogo.cn/g?b=qq&nk=' . $qq . '&s=100',
'imgurl2' => 'https://q1.qlogo.cn/g?b=qq&nk=' . $qq . '&s=140',
'imgurl3' => 'https://q1.qlogo.cn/g?b=qq&nk=' . $qq . '&s=640',
'by' => 'Miss君',
'blog' => '博客:www.tmetu.cn',
);
return $userInfo;
}
// 获取用户信息
$userInfo = getUserInfo($qq);
// 构建返回的结果数组
$result = array(
'code' => 200,
'qq' => $qq,
'data' => $userInfo,
'time' => date('Y-m-d H:i:s') // 添加当前时间戳
);
// 输出 JSON 格式的结果
echo json_encode($result, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
输出格式
{
"code": 200,
"qq": "70027750",
"data": {
"name": "Miss",
"mail": "70027750@qq.com",
"avatar": "https://qlogo3.store.qq.com/qzone/70027750/70027750/100",
"qzone": "https://user.qzone.qq.com/70027750",
"imgurl": "https://q1.qlogo.cn/g?b=qq&nk=70027750&s=40",
"imgurl1": "https://q1.qlogo.cn/g?b=qq&nk=70027750&s=100",
"imgurl2": "https://q1.qlogo.cn/g?b=qq&nk=70027750&s=140",
"imgurl3": "https://q1.qlogo.cn/g?b=qq&nk=70027750&s=640",
"by": "Miss君",
"blog": "博客:www.tmetu.cn"
},
"time": "2024-08-30 00:11:20"
}