[{"data":1,"prerenderedAt":1595},["ShallowReactive",2],{"navigation":3,"docs-\u002Fdocs\u002Fapi\u002Ffiles":72,"surround-\u002Fdocs\u002Fapi\u002Ffiles":1590},[4],{"title":5,"path":6,"stem":7,"children":8,"page":38},"Docs","\u002Fdocs","docs",[9,39],{"title":10,"path":11,"stem":12,"children":13,"page":38},"Guide","\u002Fdocs\u002Fguide","docs\u002F1.guide",[14,18,22,26,30,34],{"title":15,"path":16,"stem":17},"介绍","\u002Fdocs\u002Fguide\u002Fintroduction","docs\u002F1.guide\u002F1.introduction",{"title":19,"path":20,"stem":21},"快速开始","\u002Fdocs\u002Fguide\u002Fquick-start","docs\u002F1.guide\u002F2.quick-start",{"title":23,"path":24,"stem":25},"配置说明","\u002Fdocs\u002Fguide\u002Fconfiguration","docs\u002F1.guide\u002F3.configuration",{"title":27,"path":28,"stem":29},"存储配置","\u002Fdocs\u002Fguide\u002Fstorage","docs\u002F1.guide\u002F4.storage",{"title":31,"path":32,"stem":33},"生产部署","\u002Fdocs\u002Fguide\u002Fdeployment","docs\u002F1.guide\u002F5.deployment",{"title":35,"path":36,"stem":37},"第三方客户端","\u002Fdocs\u002Fguide\u002Fclients","docs\u002F1.guide\u002F6.clients",false,{"title":40,"path":41,"stem":42,"children":43,"page":38},"Api","\u002Fdocs\u002Fapi","docs\u002F2.api",[44,48,52,56,60,64,68],{"title":45,"path":46,"stem":47},"概述","\u002Fdocs\u002Fapi\u002Foverview","docs\u002F2.api\u002F1.overview",{"title":49,"path":50,"stem":51},"认证","\u002Fdocs\u002Fapi\u002Fauthentication","docs\u002F2.api\u002F2.authentication",{"title":53,"path":54,"stem":55},"文件上传","\u002Fdocs\u002Fapi\u002Fupload","docs\u002F2.api\u002F3.upload",{"title":57,"path":58,"stem":59},"文件管理","\u002Fdocs\u002Fapi\u002Ffiles","docs\u002F2.api\u002F4.files",{"title":61,"path":62,"stem":63},"相册","\u002Fdocs\u002Fapi\u002Falbums","docs\u002F2.api\u002F5.albums",{"title":65,"path":66,"stem":67},"API Token","\u002Fdocs\u002Fapi\u002Ftokens","docs\u002F2.api\u002F6.tokens",{"title":69,"path":70,"stem":71},"管理员 API","\u002Fdocs\u002Fapi\u002Fadmin","docs\u002F2.api\u002F7.admin",{"id":73,"title":57,"body":74,"description":1584,"extension":1585,"meta":1586,"navigation":1587,"path":58,"seo":1588,"stem":59,"__hash__":1589},"docs\u002Fdocs\u002F2.api\u002F4.files.md",{"type":75,"value":76,"toc":1558},"minimark",[77,81,85,385,388,402,405,409,546,549,769,772,781,784,941,944,968,971,980,987,990,1020,1023,1033,1036,1074,1077,1080,1121,1124,1186,1193,1196,1206,1217,1220,1265,1268,1279,1282,1311,1314,1323,1326,1417,1420,1429,1432,1538,1541,1554],[78,79,80],"p",{},"所有文件管理端点均要求 Bearer 认证，并遵循「用户只能操作自己的文件」原则（管理员端点除外）。",[82,83,84],"h2",{"id":84},"文件对象结构",[86,87,92],"pre",{"className":88,"code":89,"language":90,"meta":91,"style":91},"language-typescript shiki shiki-themes github-light github-dark","interface File {\n  id:                string\n  user_id:           string\n  album_id:          string | null\n  storage_config_id: string\n  original_name:     string    \u002F\u002F 用户上传时的原始文件名\n  storage_key:       string    \u002F\u002F 存储后端的 key\n  hash_md5:          string\n  size_bytes:        number\n  mime_type:         string\n  file_type:         \"image\" | \"video\" | \"audio\" | \"file\"\n  width:             number | null    \u002F\u002F 仅图片\n  height:            number | null    \u002F\u002F 仅图片\n  duration:          number | null    \u002F\u002F 仅视频\u002F音频，秒\n  url:               string           \u002F\u002F 短链相对路径（\u002Fi\u002Fxxx）\n  thumb_url:         string | null\n  source_url:        string | null    \u002F\u002F 存储后端直链（可选）\n  is_deleted:        boolean\n  created_at:        string           \u002F\u002F ISO 8601\n}\n","typescript","",[93,94,95,112,126,137,154,165,180,194,205,216,227,254,273,290,308,322,337,355,366,379],"code",{"__ignoreMap":91},[96,97,100,104,108],"span",{"class":98,"line":99},"line",1,[96,101,103],{"class":102},"szBVR","interface",[96,105,107],{"class":106},"sScJk"," File",[96,109,111],{"class":110},"sVt8B"," {\n",[96,113,115,119,122],{"class":98,"line":114},2,[96,116,118],{"class":117},"s4XuR","  id",[96,120,121],{"class":102},":",[96,123,125],{"class":124},"sj4cs","                string\n",[96,127,129,132,134],{"class":98,"line":128},3,[96,130,131],{"class":117},"  user_id",[96,133,121],{"class":102},[96,135,136],{"class":124},"           string\n",[96,138,140,143,145,148,151],{"class":98,"line":139},4,[96,141,142],{"class":117},"  album_id",[96,144,121],{"class":102},[96,146,147],{"class":124},"          string",[96,149,150],{"class":102}," |",[96,152,153],{"class":124}," null\n",[96,155,157,160,162],{"class":98,"line":156},5,[96,158,159],{"class":117},"  storage_config_id",[96,161,121],{"class":102},[96,163,164],{"class":124}," string\n",[96,166,168,171,173,176],{"class":98,"line":167},6,[96,169,170],{"class":117},"  original_name",[96,172,121],{"class":102},[96,174,175],{"class":124},"     string",[96,177,179],{"class":178},"sJ8bj","    \u002F\u002F 用户上传时的原始文件名\n",[96,181,183,186,188,191],{"class":98,"line":182},7,[96,184,185],{"class":117},"  storage_key",[96,187,121],{"class":102},[96,189,190],{"class":124},"       string",[96,192,193],{"class":178},"    \u002F\u002F 存储后端的 key\n",[96,195,197,200,202],{"class":98,"line":196},8,[96,198,199],{"class":117},"  hash_md5",[96,201,121],{"class":102},[96,203,204],{"class":124},"          string\n",[96,206,208,211,213],{"class":98,"line":207},9,[96,209,210],{"class":117},"  size_bytes",[96,212,121],{"class":102},[96,214,215],{"class":124},"        number\n",[96,217,219,222,224],{"class":98,"line":218},10,[96,220,221],{"class":117},"  mime_type",[96,223,121],{"class":102},[96,225,226],{"class":124},"         string\n",[96,228,230,233,235,239,241,244,246,249,251],{"class":98,"line":229},11,[96,231,232],{"class":117},"  file_type",[96,234,121],{"class":102},[96,236,238],{"class":237},"sZZnC","         \"image\"",[96,240,150],{"class":102},[96,242,243],{"class":237}," \"video\"",[96,245,150],{"class":102},[96,247,248],{"class":237}," \"audio\"",[96,250,150],{"class":102},[96,252,253],{"class":237}," \"file\"\n",[96,255,257,260,262,265,267,270],{"class":98,"line":256},12,[96,258,259],{"class":117},"  width",[96,261,121],{"class":102},[96,263,264],{"class":124},"             number",[96,266,150],{"class":102},[96,268,269],{"class":124}," null",[96,271,272],{"class":178},"    \u002F\u002F 仅图片\n",[96,274,276,279,281,284,286,288],{"class":98,"line":275},13,[96,277,278],{"class":117},"  height",[96,280,121],{"class":102},[96,282,283],{"class":124},"            number",[96,285,150],{"class":102},[96,287,269],{"class":124},[96,289,272],{"class":178},[96,291,293,296,298,301,303,305],{"class":98,"line":292},14,[96,294,295],{"class":117},"  duration",[96,297,121],{"class":102},[96,299,300],{"class":124},"          number",[96,302,150],{"class":102},[96,304,269],{"class":124},[96,306,307],{"class":178},"    \u002F\u002F 仅视频\u002F音频，秒\n",[96,309,311,314,316,319],{"class":98,"line":310},15,[96,312,313],{"class":117},"  url",[96,315,121],{"class":102},[96,317,318],{"class":124},"               string",[96,320,321],{"class":178},"           \u002F\u002F 短链相对路径（\u002Fi\u002Fxxx）\n",[96,323,325,328,330,333,335],{"class":98,"line":324},16,[96,326,327],{"class":117},"  thumb_url",[96,329,121],{"class":102},[96,331,332],{"class":124},"         string",[96,334,150],{"class":102},[96,336,153],{"class":124},[96,338,340,343,345,348,350,352],{"class":98,"line":339},17,[96,341,342],{"class":117},"  source_url",[96,344,121],{"class":102},[96,346,347],{"class":124},"        string",[96,349,150],{"class":102},[96,351,269],{"class":124},[96,353,354],{"class":178},"    \u002F\u002F 存储后端直链（可选）\n",[96,356,358,361,363],{"class":98,"line":357},18,[96,359,360],{"class":117},"  is_deleted",[96,362,121],{"class":102},[96,364,365],{"class":124},"        boolean\n",[96,367,369,372,374,376],{"class":98,"line":368},19,[96,370,371],{"class":117},"  created_at",[96,373,121],{"class":102},[96,375,347],{"class":124},[96,377,378],{"class":178},"           \u002F\u002F ISO 8601\n",[96,380,382],{"class":98,"line":381},20,[96,383,384],{"class":110},"}\n",[82,386,387],{"id":387},"列表",[389,390,391],"endpoint",{},[78,392,393,394,397,398],{},"GET · ",[93,395,396],{},"\u002Fapi\u002Fv1\u002Ffiles"," · ",[399,400,401],"strong",{},"需认证",[78,403,404],{},"返回当前用户的文件。管理员调用时返回全站文件。",[406,407,408],"h3",{"id":408},"查询参数",[410,411,412,428],"table",{},[413,414,415],"thead",{},[416,417,418,422,425],"tr",{},[419,420,421],"th",{},"参数",[419,423,424],{},"类型",[419,426,427],{},"说明",[429,430,431,445,457,470,494,510,529],"tbody",{},[416,432,433,439,442],{},[434,435,436],"td",{},[93,437,438],{},"page",[434,440,441],{},"int",[434,443,444],{},"页码（默认 1）",[416,446,447,452,454],{},[434,448,449],{},[93,450,451],{},"size",[434,453,441],{},[434,455,456],{},"每页（默认 20，最大 100）",[416,458,459,464,467],{},[434,460,461],{},[93,462,463],{},"album_id",[434,465,466],{},"string",[434,468,469],{},"按相册筛选",[416,471,472,477,479],{},[434,473,474],{},[93,475,476],{},"file_type",[434,478,466],{},[434,480,481,484,485,484,488,484,491],{},[93,482,483],{},"image"," \u002F ",[93,486,487],{},"video",[93,489,490],{},"audio",[93,492,493],{},"file",[416,495,496,501,503],{},[434,497,498],{},[93,499,500],{},"keyword",[434,502,466],{},[434,504,505,506,509],{},"按 ",[93,507,508],{},"original_name"," 模糊搜索",[416,511,512,517,519],{},[434,513,514],{},[93,515,516],{},"order_by",[434,518,466],{},[434,520,521,484,524,484,527],{},[93,522,523],{},"created_at",[93,525,526],{},"size_bytes",[93,528,508],{},[416,530,531,536,538],{},[434,532,533],{},[93,534,535],{},"order",[434,537,466],{},[434,539,540,484,543],{},[93,541,542],{},"ASC",[93,544,545],{},"DESC",[406,547,548],{"id":548},"响应",[86,550,554],{"className":551,"code":552,"language":553,"meta":91,"style":91},"language-json shiki shiki-themes github-light github-dark","{\n  \"code\": 0,\n  \"data\": {\n    \"items\": [\n      {\n        \"id\": \"file-uuid\",\n        \"user_id\": \"user-uuid\",\n        \"original_name\": \"photo.jpg\",\n        \"size_bytes\": 245760,\n        \"mime_type\": \"image\u002Fjpeg\",\n        \"file_type\": \"image\",\n        \"url\": \"https:\u002F\u002Fkite.your-domain.com\u002Fi\u002Fa1b2c3d4\",\n        \"thumb_url\": \"https:\u002F\u002Fkite.your-domain.com\u002Ft\u002Fa1b2c3d4\",\n        \"source_url\": \"https:\u002F\u002Fcdn.example.com\u002F2026\u002F04\u002Fa1b2c3d4\u002Fuuid.jpg\",\n        \"created_at\": \"2026-04-17T10:00:00Z\"\n      }\n    ],\n    \"total\": 128,\n    \"page\": 1,\n    \"size\": 20\n  }\n}\n","json",[93,555,556,561,575,583,591,596,608,620,632,644,656,668,680,692,704,714,719,724,736,748,758,764],{"__ignoreMap":91},[96,557,558],{"class":98,"line":99},[96,559,560],{"class":110},"{\n",[96,562,563,566,569,572],{"class":98,"line":114},[96,564,565],{"class":124},"  \"code\"",[96,567,568],{"class":110},": ",[96,570,571],{"class":124},"0",[96,573,574],{"class":110},",\n",[96,576,577,580],{"class":98,"line":128},[96,578,579],{"class":124},"  \"data\"",[96,581,582],{"class":110},": {\n",[96,584,585,588],{"class":98,"line":139},[96,586,587],{"class":124},"    \"items\"",[96,589,590],{"class":110},": [\n",[96,592,593],{"class":98,"line":156},[96,594,595],{"class":110},"      {\n",[96,597,598,601,603,606],{"class":98,"line":167},[96,599,600],{"class":124},"        \"id\"",[96,602,568],{"class":110},[96,604,605],{"class":237},"\"file-uuid\"",[96,607,574],{"class":110},[96,609,610,613,615,618],{"class":98,"line":182},[96,611,612],{"class":124},"        \"user_id\"",[96,614,568],{"class":110},[96,616,617],{"class":237},"\"user-uuid\"",[96,619,574],{"class":110},[96,621,622,625,627,630],{"class":98,"line":196},[96,623,624],{"class":124},"        \"original_name\"",[96,626,568],{"class":110},[96,628,629],{"class":237},"\"photo.jpg\"",[96,631,574],{"class":110},[96,633,634,637,639,642],{"class":98,"line":207},[96,635,636],{"class":124},"        \"size_bytes\"",[96,638,568],{"class":110},[96,640,641],{"class":124},"245760",[96,643,574],{"class":110},[96,645,646,649,651,654],{"class":98,"line":218},[96,647,648],{"class":124},"        \"mime_type\"",[96,650,568],{"class":110},[96,652,653],{"class":237},"\"image\u002Fjpeg\"",[96,655,574],{"class":110},[96,657,658,661,663,666],{"class":98,"line":229},[96,659,660],{"class":124},"        \"file_type\"",[96,662,568],{"class":110},[96,664,665],{"class":237},"\"image\"",[96,667,574],{"class":110},[96,669,670,673,675,678],{"class":98,"line":256},[96,671,672],{"class":124},"        \"url\"",[96,674,568],{"class":110},[96,676,677],{"class":237},"\"https:\u002F\u002Fkite.your-domain.com\u002Fi\u002Fa1b2c3d4\"",[96,679,574],{"class":110},[96,681,682,685,687,690],{"class":98,"line":275},[96,683,684],{"class":124},"        \"thumb_url\"",[96,686,568],{"class":110},[96,688,689],{"class":237},"\"https:\u002F\u002Fkite.your-domain.com\u002Ft\u002Fa1b2c3d4\"",[96,691,574],{"class":110},[96,693,694,697,699,702],{"class":98,"line":292},[96,695,696],{"class":124},"        \"source_url\"",[96,698,568],{"class":110},[96,700,701],{"class":237},"\"https:\u002F\u002Fcdn.example.com\u002F2026\u002F04\u002Fa1b2c3d4\u002Fuuid.jpg\"",[96,703,574],{"class":110},[96,705,706,709,711],{"class":98,"line":310},[96,707,708],{"class":124},"        \"created_at\"",[96,710,568],{"class":110},[96,712,713],{"class":237},"\"2026-04-17T10:00:00Z\"\n",[96,715,716],{"class":98,"line":324},[96,717,718],{"class":110},"      }\n",[96,720,721],{"class":98,"line":339},[96,722,723],{"class":110},"    ],\n",[96,725,726,729,731,734],{"class":98,"line":357},[96,727,728],{"class":124},"    \"total\"",[96,730,568],{"class":110},[96,732,733],{"class":124},"128",[96,735,574],{"class":110},[96,737,738,741,743,746],{"class":98,"line":368},[96,739,740],{"class":124},"    \"page\"",[96,742,568],{"class":110},[96,744,745],{"class":124},"1",[96,747,574],{"class":110},[96,749,750,753,755],{"class":98,"line":381},[96,751,752],{"class":124},"    \"size\"",[96,754,568],{"class":110},[96,756,757],{"class":124},"20\n",[96,759,761],{"class":98,"line":760},21,[96,762,763],{"class":110},"  }\n",[96,765,767],{"class":98,"line":766},22,[96,768,384],{"class":110},[82,770,771],{"id":771},"详情",[389,773,774],{},[78,775,393,776,397,779],{},[93,777,778],{},"\u002Fapi\u002Fv1\u002Ffiles\u002F:id",[399,780,401],{},[406,782,548],{"id":783},"响应-1",[86,785,787],{"className":551,"code":786,"language":553,"meta":91,"style":91},"{\n  \"code\": 0,\n  \"data\": {\n    \"id\": \"file-uuid\",\n    \"original_name\": \"photo.jpg\",\n    \"mime_type\": \"image\u002Fjpeg\",\n    \"file_type\": \"image\",\n    \"size_bytes\": 245760,\n    \"hash_md5\": \"a1b2c3d4e5f6...\",\n    \"width\": 1920,\n    \"height\": 1080,\n    \"url\": \"\u002Fi\u002Fa1b2c3d4\",\n    \"thumb_url\": \"\u002Ft\u002Fa1b2c3d4\",\n    \"created_at\": \"2026-04-17T10:00:00Z\"\n  }\n}\n",[93,788,789,793,803,809,820,831,842,853,864,876,888,900,912,924,933,937],{"__ignoreMap":91},[96,790,791],{"class":98,"line":99},[96,792,560],{"class":110},[96,794,795,797,799,801],{"class":98,"line":114},[96,796,565],{"class":124},[96,798,568],{"class":110},[96,800,571],{"class":124},[96,802,574],{"class":110},[96,804,805,807],{"class":98,"line":128},[96,806,579],{"class":124},[96,808,582],{"class":110},[96,810,811,814,816,818],{"class":98,"line":139},[96,812,813],{"class":124},"    \"id\"",[96,815,568],{"class":110},[96,817,605],{"class":237},[96,819,574],{"class":110},[96,821,822,825,827,829],{"class":98,"line":156},[96,823,824],{"class":124},"    \"original_name\"",[96,826,568],{"class":110},[96,828,629],{"class":237},[96,830,574],{"class":110},[96,832,833,836,838,840],{"class":98,"line":167},[96,834,835],{"class":124},"    \"mime_type\"",[96,837,568],{"class":110},[96,839,653],{"class":237},[96,841,574],{"class":110},[96,843,844,847,849,851],{"class":98,"line":182},[96,845,846],{"class":124},"    \"file_type\"",[96,848,568],{"class":110},[96,850,665],{"class":237},[96,852,574],{"class":110},[96,854,855,858,860,862],{"class":98,"line":196},[96,856,857],{"class":124},"    \"size_bytes\"",[96,859,568],{"class":110},[96,861,641],{"class":124},[96,863,574],{"class":110},[96,865,866,869,871,874],{"class":98,"line":207},[96,867,868],{"class":124},"    \"hash_md5\"",[96,870,568],{"class":110},[96,872,873],{"class":237},"\"a1b2c3d4e5f6...\"",[96,875,574],{"class":110},[96,877,878,881,883,886],{"class":98,"line":218},[96,879,880],{"class":124},"    \"width\"",[96,882,568],{"class":110},[96,884,885],{"class":124},"1920",[96,887,574],{"class":110},[96,889,890,893,895,898],{"class":98,"line":229},[96,891,892],{"class":124},"    \"height\"",[96,894,568],{"class":110},[96,896,897],{"class":124},"1080",[96,899,574],{"class":110},[96,901,902,905,907,910],{"class":98,"line":256},[96,903,904],{"class":124},"    \"url\"",[96,906,568],{"class":110},[96,908,909],{"class":237},"\"\u002Fi\u002Fa1b2c3d4\"",[96,911,574],{"class":110},[96,913,914,917,919,922],{"class":98,"line":275},[96,915,916],{"class":124},"    \"thumb_url\"",[96,918,568],{"class":110},[96,920,921],{"class":237},"\"\u002Ft\u002Fa1b2c3d4\"",[96,923,574],{"class":110},[96,925,926,929,931],{"class":98,"line":292},[96,927,928],{"class":124},"    \"created_at\"",[96,930,568],{"class":110},[96,932,713],{"class":237},[96,934,935],{"class":98,"line":310},[96,936,763],{"class":110},[96,938,939],{"class":98,"line":324},[96,940,384],{"class":110},[406,942,943],{"id":943},"错误",[410,945,946,956],{},[413,947,948],{},[416,949,950,953],{},[419,951,952],{},"Code",[419,954,955],{},"条件",[429,957,958],{},[416,959,960,965],{},[434,961,962],{},[93,963,964],{},"40400",[434,966,967],{},"文件不存在",[82,969,970],{"id":970},"删除",[389,972,973],{},[78,974,975,976,397,978],{},"DELETE · ",[93,977,778],{},[399,979,401],{},[78,981,982,983,986],{},"删除一条文件记录。若该文件的 MD5 没有其他用户引用，",[399,984,985],{},"同时","会从存储后端删除实际字节。",[406,988,943],{"id":989},"错误-1",[410,991,992,1000],{},[413,993,994],{},[416,995,996,998],{},[419,997,952],{},[419,999,955],{},[429,1001,1002,1012],{},[416,1003,1004,1009],{},[434,1005,1006],{},[93,1007,1008],{},"40300",[434,1010,1011],{},"非文件所有者",[416,1013,1014,1018],{},[434,1015,1016],{},[93,1017,964],{},[434,1019,967],{},[82,1021,1022],{"id":1022},"批量删除",[389,1024,1025],{},[78,1026,1027,1028,397,1031],{},"POST · ",[93,1029,1030],{},"\u002Fapi\u002Fv1\u002Ffiles\u002Fbatch-delete",[399,1032,401],{},[406,1034,1035],{"id":1035},"请求",[86,1037,1039],{"className":551,"code":1038,"language":553,"meta":91,"style":91},"{\n  \"ids\": [\"file-uuid-1\", \"file-uuid-2\", \"file-uuid-3\"]\n}\n",[93,1040,1041,1045,1070],{"__ignoreMap":91},[96,1042,1043],{"class":98,"line":99},[96,1044,560],{"class":110},[96,1046,1047,1050,1053,1056,1059,1062,1064,1067],{"class":98,"line":114},[96,1048,1049],{"class":124},"  \"ids\"",[96,1051,1052],{"class":110},": [",[96,1054,1055],{"class":237},"\"file-uuid-1\"",[96,1057,1058],{"class":110},", ",[96,1060,1061],{"class":237},"\"file-uuid-2\"",[96,1063,1058],{"class":110},[96,1065,1066],{"class":237},"\"file-uuid-3\"",[96,1068,1069],{"class":110},"]\n",[96,1071,1072],{"class":98,"line":128},[96,1073,384],{"class":110},[406,1075,548],{"id":1076},"响应-2",[78,1078,1079],{},"全部成功：",[86,1081,1083],{"className":551,"code":1082,"language":553,"meta":91,"style":91},"{\n  \"code\": 0,\n  \"data\": { \"deleted\": 3 }\n}\n",[93,1084,1085,1089,1099,1117],{"__ignoreMap":91},[96,1086,1087],{"class":98,"line":99},[96,1088,560],{"class":110},[96,1090,1091,1093,1095,1097],{"class":98,"line":114},[96,1092,565],{"class":124},[96,1094,568],{"class":110},[96,1096,571],{"class":124},[96,1098,574],{"class":110},[96,1100,1101,1103,1106,1109,1111,1114],{"class":98,"line":128},[96,1102,579],{"class":124},[96,1104,1105],{"class":110},": { ",[96,1107,1108],{"class":124},"\"deleted\"",[96,1110,568],{"class":110},[96,1112,1113],{"class":124},"3",[96,1115,1116],{"class":110}," }\n",[96,1118,1119],{"class":98,"line":139},[96,1120,384],{"class":110},[78,1122,1123],{},"部分失败：",[86,1125,1127],{"className":551,"code":1126,"language":553,"meta":91,"style":91},"{\n  \"code\": 0,\n  \"data\": {\n    \"deleted\": 2,\n    \"errors\": [\n      \"file-uuid-3: not the owner of this file\"\n    ]\n  }\n}\n",[93,1128,1129,1133,1143,1149,1161,1168,1173,1178,1182],{"__ignoreMap":91},[96,1130,1131],{"class":98,"line":99},[96,1132,560],{"class":110},[96,1134,1135,1137,1139,1141],{"class":98,"line":114},[96,1136,565],{"class":124},[96,1138,568],{"class":110},[96,1140,571],{"class":124},[96,1142,574],{"class":110},[96,1144,1145,1147],{"class":98,"line":128},[96,1146,579],{"class":124},[96,1148,582],{"class":110},[96,1150,1151,1154,1156,1159],{"class":98,"line":139},[96,1152,1153],{"class":124},"    \"deleted\"",[96,1155,568],{"class":110},[96,1157,1158],{"class":124},"2",[96,1160,574],{"class":110},[96,1162,1163,1166],{"class":98,"line":156},[96,1164,1165],{"class":124},"    \"errors\"",[96,1167,590],{"class":110},[96,1169,1170],{"class":98,"line":167},[96,1171,1172],{"class":237},"      \"file-uuid-3: not the owner of this file\"\n",[96,1174,1175],{"class":98,"line":182},[96,1176,1177],{"class":110},"    ]\n",[96,1179,1180],{"class":98,"line":196},[96,1181,763],{"class":110},[96,1183,1184],{"class":98,"line":207},[96,1185,384],{"class":110},[78,1187,1188,1189,1192],{},"批量操作",[399,1190,1191],{},"不会","因单条失败而中断，每条独立处理后汇总。",[82,1194,1195],{"id":1195},"公开文件广场",[389,1197,1198],{},[78,1199,393,1200,397,1203],{},[93,1201,1202],{},"\u002Fapi\u002Fv1\u002Fpublic\u002Ffiles",[399,1204,1205],{},"无需认证",[78,1207,1208,1209,1212,1213,1216],{},"仅当 ",[93,1210,1211],{},"allow_public_gallery = true"," 时可用。返回全站公开文件，",[399,1214,1215],{},"不","区分用户。",[406,1218,408],{"id":1219},"查询参数-1",[410,1221,1222,1230],{},[413,1223,1224],{},[416,1225,1226,1228],{},[419,1227,421],{},[419,1229,427],{},[429,1231,1232,1240,1249],{},[416,1233,1234,1238],{},[434,1235,1236],{},[93,1237,438],{},[434,1239,444],{},[416,1241,1242,1246],{},[434,1243,1244],{},[93,1245,451],{},[434,1247,1248],{},"每页（默认 24，最大 100）",[416,1250,1251,1255],{},[434,1252,1253],{},[93,1254,476],{},[434,1256,1257,484,1259,484,1261,484,1263],{},[93,1258,483],{},[93,1260,487],{},[93,1262,490],{},[93,1264,493],{},[406,1266,548],{"id":1267},"响应-3",[78,1269,1270,1271,1278],{},"结构与 ",[1272,1273,1275],"a",{"href":1274},"#%E5%88%97%E8%A1%A8",[93,1276,1277],{},"\u002Ffiles"," 相同。",[406,1280,943],{"id":1281},"错误-2",[410,1283,1284,1295],{},[413,1285,1286],{},[416,1287,1288,1291,1293],{},[419,1289,1290],{},"HTTP",[419,1292,952],{},[419,1294,955],{},[429,1296,1297],{},[416,1298,1299,1304,1308],{},[434,1300,1301],{},[93,1302,1303],{},"403",[434,1305,1306],{},[93,1307,1008],{},[434,1309,1310],{},"广场未开启",[82,1312,1313],{"id":1313},"公开统计",[389,1315,1316],{},[78,1317,393,1318,397,1321],{},[93,1319,1320],{},"\u002Fapi\u002Fv1\u002Fpublic\u002Fstats",[399,1322,1205],{},[78,1324,1325],{},"返回全站公开统计，供前台展示。",[86,1327,1329],{"className":551,"code":1328,"language":553,"meta":91,"style":91},"{\n  \"code\": 0,\n  \"data\": {\n    \"total_files\": 12450,\n    \"total_size\": 83952386048,\n    \"images\": 10023,\n    \"videos\": 431,\n    \"audios\": 86\n  }\n}\n",[93,1330,1331,1335,1345,1351,1363,1375,1387,1399,1409,1413],{"__ignoreMap":91},[96,1332,1333],{"class":98,"line":99},[96,1334,560],{"class":110},[96,1336,1337,1339,1341,1343],{"class":98,"line":114},[96,1338,565],{"class":124},[96,1340,568],{"class":110},[96,1342,571],{"class":124},[96,1344,574],{"class":110},[96,1346,1347,1349],{"class":98,"line":128},[96,1348,579],{"class":124},[96,1350,582],{"class":110},[96,1352,1353,1356,1358,1361],{"class":98,"line":139},[96,1354,1355],{"class":124},"    \"total_files\"",[96,1357,568],{"class":110},[96,1359,1360],{"class":124},"12450",[96,1362,574],{"class":110},[96,1364,1365,1368,1370,1373],{"class":98,"line":156},[96,1366,1367],{"class":124},"    \"total_size\"",[96,1369,568],{"class":110},[96,1371,1372],{"class":124},"83952386048",[96,1374,574],{"class":110},[96,1376,1377,1380,1382,1385],{"class":98,"line":167},[96,1378,1379],{"class":124},"    \"images\"",[96,1381,568],{"class":110},[96,1383,1384],{"class":124},"10023",[96,1386,574],{"class":110},[96,1388,1389,1392,1394,1397],{"class":98,"line":182},[96,1390,1391],{"class":124},"    \"videos\"",[96,1393,568],{"class":110},[96,1395,1396],{"class":124},"431",[96,1398,574],{"class":110},[96,1400,1401,1404,1406],{"class":98,"line":196},[96,1402,1403],{"class":124},"    \"audios\"",[96,1405,568],{"class":110},[96,1407,1408],{"class":124},"86\n",[96,1410,1411],{"class":98,"line":207},[96,1412,763],{"class":110},[96,1414,1415],{"class":98,"line":218},[96,1416,384],{"class":110},[82,1418,1419],{"id":1419},"用户统计",[389,1421,1422],{},[78,1423,393,1424,397,1427],{},[93,1425,1426],{},"\u002Fapi\u002Fv1\u002Fstats",[399,1428,401],{},[78,1430,1431],{},"返回包含用户总数在内的详细统计，需要 Bearer Token（非管理员也可调用）。",[86,1433,1435],{"className":551,"code":1434,"language":553,"meta":91,"style":91},"{\n  \"code\": 0,\n  \"data\": {\n    \"users\": 12,\n    \"total_files\": 12450,\n    \"total_size\": 83952386048,\n    \"images\": 10023,\n    \"videos\": 431,\n    \"audios\": 86,\n    \"others\": 1910\n  }\n}\n",[93,1436,1437,1441,1451,1457,1469,1479,1489,1499,1509,1520,1530,1534],{"__ignoreMap":91},[96,1438,1439],{"class":98,"line":99},[96,1440,560],{"class":110},[96,1442,1443,1445,1447,1449],{"class":98,"line":114},[96,1444,565],{"class":124},[96,1446,568],{"class":110},[96,1448,571],{"class":124},[96,1450,574],{"class":110},[96,1452,1453,1455],{"class":98,"line":128},[96,1454,579],{"class":124},[96,1456,582],{"class":110},[96,1458,1459,1462,1464,1467],{"class":98,"line":139},[96,1460,1461],{"class":124},"    \"users\"",[96,1463,568],{"class":110},[96,1465,1466],{"class":124},"12",[96,1468,574],{"class":110},[96,1470,1471,1473,1475,1477],{"class":98,"line":156},[96,1472,1355],{"class":124},[96,1474,568],{"class":110},[96,1476,1360],{"class":124},[96,1478,574],{"class":110},[96,1480,1481,1483,1485,1487],{"class":98,"line":167},[96,1482,1367],{"class":124},[96,1484,568],{"class":110},[96,1486,1372],{"class":124},[96,1488,574],{"class":110},[96,1490,1491,1493,1495,1497],{"class":98,"line":182},[96,1492,1379],{"class":124},[96,1494,568],{"class":110},[96,1496,1384],{"class":124},[96,1498,574],{"class":110},[96,1500,1501,1503,1505,1507],{"class":98,"line":196},[96,1502,1391],{"class":124},[96,1504,568],{"class":110},[96,1506,1396],{"class":124},[96,1508,574],{"class":110},[96,1510,1511,1513,1515,1518],{"class":98,"line":207},[96,1512,1403],{"class":124},[96,1514,568],{"class":110},[96,1516,1517],{"class":124},"86",[96,1519,574],{"class":110},[96,1521,1522,1525,1527],{"class":98,"line":218},[96,1523,1524],{"class":124},"    \"others\"",[96,1526,568],{"class":110},[96,1528,1529],{"class":124},"1910\n",[96,1531,1532],{"class":98,"line":229},[96,1533,763],{"class":110},[96,1535,1536],{"class":98,"line":256},[96,1537,384],{"class":110},[82,1539,1540],{"id":1540},"下一步",[1542,1543,1544,1550],"ul",{},[1545,1546,1547],"li",{},[1272,1548,1549],{"href":62},"相册管理",[1545,1551,1552],{},[1272,1553,65],{"href":66},[1555,1556,1557],"style",{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}",{"title":91,"searchDepth":128,"depth":128,"links":1559},[1560,1561,1565,1569,1572,1576,1581,1582,1583],{"id":84,"depth":114,"text":84},{"id":387,"depth":114,"text":387,"children":1562},[1563,1564],{"id":408,"depth":128,"text":408},{"id":548,"depth":128,"text":548},{"id":771,"depth":114,"text":771,"children":1566},[1567,1568],{"id":783,"depth":128,"text":548},{"id":943,"depth":128,"text":943},{"id":970,"depth":114,"text":970,"children":1570},[1571],{"id":989,"depth":128,"text":943},{"id":1022,"depth":114,"text":1022,"children":1573},[1574,1575],{"id":1035,"depth":128,"text":1035},{"id":1076,"depth":128,"text":548},{"id":1195,"depth":114,"text":1195,"children":1577},[1578,1579,1580],{"id":1219,"depth":128,"text":408},{"id":1267,"depth":128,"text":548},{"id":1281,"depth":128,"text":943},{"id":1313,"depth":114,"text":1313},{"id":1419,"depth":114,"text":1419},{"id":1540,"depth":114,"text":1540},"文件列表、详情、删除与批量操作接口。","md",{},{"title":57},{"title":57,"description":1584},"wRl9iVgw8QdtiEPoq6DZqqhITm5Yv649RMv2XRmgvcw",[1591,1593],{"title":53,"path":54,"stem":55,"description":1592,"children":-1},"兼容兰空 v2 协议的文件上传接口。",{"title":61,"path":62,"stem":63,"description":1594,"children":-1},"相册的创建、更新、列表与删除。",1776443820567]