关于v2
虽然我不喜欢别人在文档写一大堆这个项目的前世今生
但是这玩意太逆天了,所以还是写一个吧
我是家里云享受者,在2026年的一天,我发现神秘的家里云老是神秘的失去ipv6
重启又好了
柠檬监控显示每天ipv6挂掉集中在20:00~21:00
所以我设置了一个在20:30重启服务器的定时任务
过了几天,我发现ipv6又在17:00挂掉了,导致dress-api后端直接挂了3小时30分钟
所以我忍无可忍,在三月七这个非常吉利的日子用worker技术栈重写了整个DressAPI
但是qwen全系列模型都傻的一批 阿里把是钱都拿去买推广了吗 写出来的代码bug多的要命
所以我不推荐你们用 虽然我自己在用

Node.js推荐版本 : v22.18
- 克隆本项目bash
git clone https://github.com/nomdn/dress-api.git cd dress-api cd dress-api-worker - 安装依赖bash
npm i - 登录到cloudflarebash
npx wrangler login - 创建kv数据库bash
npx wrangler kv:namespace create "DRESS_CACHE" - 绑定kv数据库
wrangler.jsonc"kv_namespaces": [ { "binding": "DRESS_CACHE", "id": "上一步中cli告诉你的id", "remote": true } ] - 部署到workerbash
npx wrangler deploy --minify
调用示例
获取随机图片
http
GET /v1/dress响应示例:
json
{
"img_url": "https://dress.wsmdn.top/img/X/Xiaoli_404/leg2.jpg",
"img_author": "小离",
"upload_time": "2019-03-30T19:30:34+08:00",
"notice": "Cute-Dress/Dress CC BY-NC-SA 4.0"
}最小化模式:
json
{
"img_url": "https://cdn.jsdelivr.net/gh/Cute-Dress/Dress@master/S/Satenruiko/IMG_20200302_231235.jpg",
"img_author": "CuteDress",
"upload_time": "2024-02-07T13:33:29+08:00",
"notice": "Cute-Dress/Dress CC-BY-NC-SA 4.0"
}s
健康检查
http
GET /v2/health响应示例:
json
{"status": "ok"}获取指定index
http
GET /v2/dress/index/{index_file}index_file为索引文件名,如index_0.json和index_1.json
调用示例:
http
GET https://api.wsmdn.top/v2/dress/index/index_1.json返回示例:
json
{
"Vssblt": {
"email": "root@host.localdomain",
"contribution": [
{
"hash": "2721f9419822718965cca6bb8a46aa7c323f4396",
"path": "%23/0xVssblt/2020-05-20/2.IMG_20200520.jpg",
"time": "2020-05-21T01:39:14-04:00"
},
{
"path": "%23/0xVssblt/2020-05-20/照骗.jpg",
"time": "2020-05-21T01:39:14-04:00",
"hash": "2721f9419822718965cca6bb8a46aa7c323f4396"
},
{
"path": "%23/0xVssblt/第一次. 好羞涩啊(つ﹏⊂)/1. 第一次应该用什么姿势呢.jpg",
"time": "2020-02-27T19:14:45+08:00",
"hash": "dae8c2e74d3d6d7ffbc242d6d3dc9538e7ca96d0"
},
{
"path": "%23/0xVssblt/第一次. 好羞涩啊(つ﹏⊂)/2. 摆个剪刀手吧.jpg",
"time": "2020-02-27T19:14:45+08:00",
"hash": "dae8c2e74d3d6d7ffbc242d6d3dc9538e7ca96d0"
},
{
"path": "%23/0xVssblt/第一次. 好羞涩啊(つ﹏⊂)/3. 可惜镜子脏了.jpg",
"time": "2020-02-27T19:14:45+08:00",
"hash": "dae8c2e74d3d6d7ffbc242d6d3dc9538e7ca96d0"
},
{
"path": "%23/0xVssblt/第二次. 越来越熟练了O(∩_∩)O/1. prprpr prprpr.jpg",
"time": "2020-02-27T19:24:41+08:00",
"hash": "647dba47b3eadbae0ccb3eceee6160fc2e6f2c0b"
},
{
"path": "%23/0xVssblt/第二次. 越来越熟练了O(∩_∩)O/2. 过完年胖的只剩腿子了.jpg",
"time": "2020-02-27T19:24:41+08:00",
"hash": "647dba47b3eadbae0ccb3eceee6160fc2e6f2c0b"
}
],
"readme": "S/SnowyFox/README.md",
"avatar_url": "https://avatars.githubusercontent.com/u/35415088?v=4?size=500",
"github_username": "Vssblt"
},
}获取指定贡献者索引
http
GET /v2/author/{author}author为作者名,如Satenruiko和CuteDress
调用实例
GET https://api.wsmdn.top/v2/author/nekozzx响应示例:
json
{
"nekozzx": {
"email": "3179579939@qq.com",
"contribution": [
{
"hash": "4a7b97f152f02ba4cd0b76f6b80443d6f88f4f4b",
"path": "Z/zzx/1.jpg",
"time": "2026-02-25T13:02:58+08:00"
},
{
"path": "Z/zzx/2.jpg",
"time": "2026-02-25T13:02:58+08:00",
"hash": "4a7b97f152f02ba4cd0b76f6b80443d6f88f4f4b"
},
{
"path": "Z/zzx/3.jpg",
"time": "2026-02-25T13:02:58+08:00",
"hash": "4a7b97f152f02ba4cd0b76f6b80443d6f88f4f4b"
},
{
"path": "Z/zzx/4.jpg",
"time": "2026-02-25T13:02:58+08:00",
"hash": "4a7b97f152f02ba4cd0b76f6b80443d6f88f4f4b"
}
],
"readme": "Z/zzx/README.md",
"avatar_url": "https://avatars.githubusercontent.com/u/263363830?v=4?size=500",
"github_username": "nekozzx"
}
}其中readme为贡献者自述,avatar_url为贡献者Github头像,github_username为贡献者的Github用户名
这些参数不一定存在,调用时注意做判断