[{"data":1,"prerenderedAt":1224},["ShallowReactive",2],{"navigation":3,"docs-\u002Fdocs\u002Fapi\u002Foverview":72,"surround-\u002Fdocs\u002Fapi\u002Foverview":1219},[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":74,"body":75,"description":1213,"extension":1214,"meta":1215,"navigation":1216,"path":46,"seo":1217,"stem":47,"__hash__":1218},"docs\u002Fdocs\u002F2.api\u002F1.overview.md","API 概述",{"type":76,"value":77,"toc":1196},"minimark",[78,87,91,94,117,120,186,190,229,232,235,240,247,269,291,326,330,343,346,353,406,467,491,494,500,595,691,695,702,882,885,888,939,945,949,1088,1091,1101,1169,1177,1180,1192],[79,80,81,82,86],"p",{},"Kite 提供一套 RESTful HTTP API，所有业务端点均位于 ",[83,84,85],"code",{},"\u002Fapi\u002Fv1\u002F"," 前缀下，文件访问短链则直接挂在根路径下。",[88,89,90],"h2",{"id":90},"文档格式约定",[79,92,93],{},"本章所有接口文档统一采用以下结构：",[95,96,97,101,104,111,114],"ol",{},[98,99,100],"li",{},"接口定义（方法 + 路径 + 认证要求）",[98,102,103],{},"请求参数（Query \u002F Path \u002F Body \u002F FormData）",[98,105,106,107,110],{},"请求示例（",[83,108,109],{},"curl"," 或原始 HTTP）",[98,112,113],{},"响应示例（成功）",[98,115,116],{},"错误码（按场景列出）",[88,118,119],{"id":119},"请求生命周期",[121,122,127],"pre",{"className":123,"code":124,"language":125,"meta":126,"style":126},"language-mermaid shiki shiki-themes github-light github-dark","flowchart LR\n  Client[Client \u002F SDK \u002F CLI] --> Gateway[API Gateway \u002Fapi\u002Fv1]\n  Gateway --> Auth{鉴权中间件}\n  Auth -- 失败 --> Err[401\u002F403 + 错误码]\n  Auth -- 通过 --> Handler[业务 Handler]\n  Handler --> Service[Service]\n  Service --> Repo[Repository \u002F Storage]\n  Repo --> Resp[统一响应体]\n  Resp --> Client\n","mermaid","",[83,128,129,138,144,150,156,162,168,174,180],{"__ignoreMap":126},[130,131,134],"span",{"class":132,"line":133},"line",1,[130,135,137],{"class":136},"sVt8B","flowchart LR\n",[130,139,141],{"class":132,"line":140},2,[130,142,143],{"class":136},"  Client[Client \u002F SDK \u002F CLI] --> Gateway[API Gateway \u002Fapi\u002Fv1]\n",[130,145,147],{"class":132,"line":146},3,[130,148,149],{"class":136},"  Gateway --> Auth{鉴权中间件}\n",[130,151,153],{"class":132,"line":152},4,[130,154,155],{"class":136},"  Auth -- 失败 --> Err[401\u002F403 + 错误码]\n",[130,157,159],{"class":132,"line":158},5,[130,160,161],{"class":136},"  Auth -- 通过 --> Handler[业务 Handler]\n",[130,163,165],{"class":132,"line":164},6,[130,166,167],{"class":136},"  Handler --> Service[Service]\n",[130,169,171],{"class":132,"line":170},7,[130,172,173],{"class":136},"  Service --> Repo[Repository \u002F Storage]\n",[130,175,177],{"class":132,"line":176},8,[130,178,179],{"class":136},"  Repo --> Resp[统一响应体]\n",[130,181,183],{"class":132,"line":182},9,[130,184,185],{"class":136},"  Resp --> Client\n",[88,187,189],{"id":188},"base-url","Base URL",[191,192,193,206],"table",{},[194,195,196],"thead",{},[197,198,199,203],"tr",{},[200,201,202],"th",{},"环境",[200,204,205],{},"URL",[207,208,209,220],"tbody",{},[197,210,211,215],{},[212,213,214],"td",{},"本地开发",[212,216,217],{},[83,218,219],{},"http:\u002F\u002Flocalhost:8080\u002Fapi\u002Fv1",[197,221,222,224],{},[212,223,31],{},[212,225,226],{},[83,227,228],{},"https:\u002F\u002Fkite.your-domain.com\u002Fapi\u002Fv1",[88,230,231],{"id":231},"鉴权方式",[79,233,234],{},"Kite 支持两种认证方式：",[236,237,239],"h3",{"id":238},"bearer-token推荐","Bearer Token（推荐）",[79,241,242,243,246],{},"在请求头中携带 ",[83,244,245],{},"Authorization: Bearer \u003Ctoken>","。Token 可以是：",[248,249,250,261],"ul",{},[98,251,252,256,257,260],{},[253,254,255],"strong",{},"Access Token","：",[83,258,259],{},"POST \u002Fauth\u002Flogin"," 返回的短期令牌（默认 2 小时）",[98,262,263,256,265,268],{},[253,264,65],{},[83,266,267],{},"POST \u002Ftokens"," 创建的长期令牌，适用于第三方客户端",[121,270,274],{"className":271,"code":272,"language":273,"meta":126,"style":126},"language-http shiki shiki-themes github-light github-dark","GET \u002Fapi\u002Fv1\u002Fprofile HTTP\u002F1.1\nHost: kite.your-domain.com\nAuthorization: Bearer eyJhbGciOi...\n","http",[83,275,276,281,286],{"__ignoreMap":126},[130,277,278],{"class":132,"line":133},[130,279,280],{},"GET \u002Fapi\u002Fv1\u002Fprofile HTTP\u002F1.1\n",[130,282,283],{"class":132,"line":140},[130,284,285],{},"Host: kite.your-domain.com\n",[130,287,288],{"class":132,"line":146},[130,289,290],{},"Authorization: Bearer eyJhbGciOi...\n",[121,292,294],{"className":123,"code":293,"language":125,"meta":126,"style":126},"flowchart TD\n  Request[携带 Authorization: Bearer token] --> Parse[解析 JWT \u002F API Token]\n  Parse --> Valid{有效?}\n  Valid -- 否 --> Reject[返回 40100]\n  Valid -- 是 --> Inject[注入 user_id \u002F role 到上下文]\n  Inject --> Continue[进入业务处理]\n",[83,295,296,301,306,311,316,321],{"__ignoreMap":126},[130,297,298],{"class":132,"line":133},[130,299,300],{"class":136},"flowchart TD\n",[130,302,303],{"class":132,"line":140},[130,304,305],{"class":136},"  Request[携带 Authorization: Bearer token] --> Parse[解析 JWT \u002F API Token]\n",[130,307,308],{"class":132,"line":146},[130,309,310],{"class":136},"  Parse --> Valid{有效?}\n",[130,312,313],{"class":132,"line":152},[130,314,315],{"class":136},"  Valid -- 否 --> Reject[返回 40100]\n",[130,317,318],{"class":132,"line":158},[130,319,320],{"class":136},"  Valid -- 是 --> Inject[注入 user_id \u002F role 到上下文]\n",[130,322,323],{"class":132,"line":164},[130,324,325],{"class":136},"  Inject --> Continue[进入业务处理]\n",[236,327,329],{"id":328},"cookie","Cookie",[79,331,332,334,335,338,339,342],{},[83,333,259],{}," 成功后，Kite 会同时把 Access Token 写入 ",[83,336,337],{},"HttpOnly"," Cookie（",[83,340,341],{},"access_token","），用于 Web 后台的浏览器会话。API 调用请优先使用 Bearer。",[88,344,345],{"id":345},"统一响应结构",[79,347,348,349,352],{},"所有 ",[83,350,351],{},"\u002Fapi\u002Fv1\u002F**"," 端点返回如下结构：",[121,354,358],{"className":355,"code":356,"language":357,"meta":126,"style":126},"language-json shiki shiki-themes github-light github-dark","{\n  \"code\": 0,\n  \"message\": \"success\",\n  \"data\": {}\n}\n","json",[83,359,360,365,380,393,401],{"__ignoreMap":126},[130,361,362],{"class":132,"line":133},[130,363,364],{"class":136},"{\n",[130,366,367,371,374,377],{"class":132,"line":140},[130,368,370],{"class":369},"sj4cs","  \"code\"",[130,372,373],{"class":136},": ",[130,375,376],{"class":369},"0",[130,378,379],{"class":136},",\n",[130,381,382,385,387,391],{"class":132,"line":146},[130,383,384],{"class":369},"  \"message\"",[130,386,373],{"class":136},[130,388,390],{"class":389},"sZZnC","\"success\"",[130,392,379],{"class":136},[130,394,395,398],{"class":132,"line":152},[130,396,397],{"class":369},"  \"data\"",[130,399,400],{"class":136},": {}\n",[130,402,403],{"class":132,"line":158},[130,404,405],{"class":136},"}\n",[191,407,408,421],{},[194,409,410],{},[197,411,412,415,418],{},[200,413,414],{},"字段",[200,416,417],{},"类型",[200,419,420],{},"说明",[207,422,423,438,451],{},[197,424,425,429,432],{},[212,426,427],{},[83,428,83],{},[212,430,431],{},"int",[212,433,434,435,437],{},"业务状态码，",[83,436,376],{}," 表示成功",[197,439,440,445,448],{},[212,441,442],{},[83,443,444],{},"message",[212,446,447],{},"string",[212,449,450],{},"人类可读的消息",[197,452,453,458,461],{},[212,454,455],{},[83,456,457],{},"data",[212,459,460],{},"any",[212,462,463,464],{},"响应负载，可能为对象\u002F数组\u002F",[83,465,466],{},"null",[468,469,470],"note",{},[79,471,472,256,475,478,479,482,483,486,487,490],{},[253,473,474],{},"例外",[83,476,477],{},"POST \u002Fapi\u002Fv1\u002Fupload"," 与 ",[83,480,481],{},"POST \u002Fapi\u002Fv1\u002Fpublic\u002Fupload"," 为兼容兰空 v2 协议，返回 ",[83,484,485],{},"{status, message, data}"," 结构。具体参见 ",[488,489,53],"a",{"href":54},"。",[236,492,493],{"id":493},"分页响应",[79,495,496,497,256],{},"需要分页的列表接口返回 ",[83,498,499],{},"PagedData",[121,501,503],{"className":355,"code":502,"language":357,"meta":126,"style":126},"{\n  \"code\": 0,\n  \"message\": \"success\",\n  \"data\": {\n    \"items\": [ \u002F* ... *\u002F ],\n    \"total\": 128,\n    \"page\": 1,\n    \"size\": 20\n  }\n}\n",[83,504,505,509,519,529,536,551,563,575,585,590],{"__ignoreMap":126},[130,506,507],{"class":132,"line":133},[130,508,364],{"class":136},[130,510,511,513,515,517],{"class":132,"line":140},[130,512,370],{"class":369},[130,514,373],{"class":136},[130,516,376],{"class":369},[130,518,379],{"class":136},[130,520,521,523,525,527],{"class":132,"line":146},[130,522,384],{"class":369},[130,524,373],{"class":136},[130,526,390],{"class":389},[130,528,379],{"class":136},[130,530,531,533],{"class":132,"line":152},[130,532,397],{"class":369},[130,534,535],{"class":136},": {\n",[130,537,538,541,544,548],{"class":132,"line":158},[130,539,540],{"class":369},"    \"items\"",[130,542,543],{"class":136},": [ ",[130,545,547],{"class":546},"sJ8bj","\u002F* ... *\u002F",[130,549,550],{"class":136}," ],\n",[130,552,553,556,558,561],{"class":132,"line":164},[130,554,555],{"class":369},"    \"total\"",[130,557,373],{"class":136},[130,559,560],{"class":369},"128",[130,562,379],{"class":136},[130,564,565,568,570,573],{"class":132,"line":170},[130,566,567],{"class":369},"    \"page\"",[130,569,373],{"class":136},[130,571,572],{"class":369},"1",[130,574,379],{"class":136},[130,576,577,580,582],{"class":132,"line":176},[130,578,579],{"class":369},"    \"size\"",[130,581,373],{"class":136},[130,583,584],{"class":369},"20\n",[130,586,587],{"class":132,"line":182},[130,588,589],{"class":136},"  }\n",[130,591,593],{"class":132,"line":592},10,[130,594,405],{"class":136},[191,596,597,612],{},[194,598,599],{},[197,600,601,604,607,610],{},[200,602,603],{},"请求参数",[200,605,606],{},"默认",[200,608,609],{},"上限",[200,611,420],{},[207,613,614,631,651,668],{},[197,615,616,621,625,628],{},[212,617,618],{},[83,619,620],{},"page",[212,622,623],{},[83,624,572],{},[212,626,627],{},"—",[212,629,630],{},"页码，从 1 开始",[197,632,633,638,643,648],{},[212,634,635],{},[83,636,637],{},"size",[212,639,640],{},[83,641,642],{},"20",[212,644,645],{},[83,646,647],{},"100",[212,649,650],{},"每页数量",[197,652,653,658,663,665],{},[212,654,655],{},[83,656,657],{},"order_by",[212,659,660],{},[83,661,662],{},"created_at",[212,664,627],{},[212,666,667],{},"排序字段（列表接口）",[197,669,670,675,680,682],{},[212,671,672],{},[83,673,674],{},"order",[212,676,677],{},[83,678,679],{},"DESC",[212,681,627],{},[212,683,684,685,688,689],{},"排序方向：",[83,686,687],{},"ASC"," \u002F ",[83,690,679],{},[88,692,694],{"id":693},"http-状态码与业务码","HTTP 状态码与业务码",[79,696,697,698,701],{},"业务码采用 ",[83,699,700],{},"HTTP 状态码 × 100 + 细分编号"," 的形式。常见映射：",[191,703,704,717],{},[194,705,706],{},[197,707,708,711,714],{},[200,709,710],{},"HTTP",[200,712,713],{},"Code",[200,715,716],{},"含义",[207,718,719,733,747,762,777,792,807,822,837,852,867],{},[197,720,721,726,730],{},[212,722,723],{},[83,724,725],{},"200",[212,727,728],{},[83,729,376],{},[212,731,732],{},"成功",[197,734,735,740,744],{},[212,736,737],{},[83,738,739],{},"201",[212,741,742],{},[83,743,376],{},[212,745,746],{},"已创建（POST 资源）",[197,748,749,754,759],{},[212,750,751],{},[83,752,753],{},"400",[212,755,756],{},[83,757,758],{},"40000",[212,760,761],{},"请求参数错误",[197,763,764,769,774],{},[212,765,766],{},[83,767,768],{},"401",[212,770,771],{},[83,772,773],{},"40100",[212,775,776],{},"未认证",[197,778,779,784,789],{},[212,780,781],{},[83,782,783],{},"403",[212,785,786],{},[83,787,788],{},"40300",[212,790,791],{},"禁止访问",[197,793,794,799,804],{},[212,795,796],{},[83,797,798],{},"404",[212,800,801],{},[83,802,803],{},"40400",[212,805,806],{},"资源不存在",[197,808,809,814,819],{},[212,810,811],{},[83,812,813],{},"409",[212,815,816],{},[83,817,818],{},"40900",[212,820,821],{},"冲突（如用户名已存在）",[197,823,824,829,834],{},[212,825,826],{},[83,827,828],{},"413",[212,830,831],{},[83,832,833],{},"41300",[212,835,836],{},"文件超出大小限制",[197,838,839,844,849],{},[212,840,841],{},[83,842,843],{},"415",[212,845,846],{},[83,847,848],{},"41500",[212,850,851],{},"文件类型被禁止",[197,853,854,859,864],{},[212,855,856],{},[83,857,858],{},"500",[212,860,861],{},[83,862,863],{},"50000",[212,865,866],{},"服务器内部错误",[197,868,869,874,879],{},[212,870,871],{},[83,872,873],{},"507",[212,875,876],{},[83,877,878],{},"50700",[212,880,881],{},"存储空间不足",[88,883,884],{"id":884},"速率限制",[79,886,887],{},"以下端点有默认速率限制（基于客户端 IP）：",[191,889,890,900],{},[194,891,892],{},[197,893,894,897],{},[200,895,896],{},"端点",[200,898,899],{},"限制",[207,901,902,911,920,929],{},[197,903,904,908],{},[212,905,906],{},[83,907,259],{},[212,909,910],{},"每分钟 20 次",[197,912,913,918],{},[212,914,915],{},[83,916,917],{},"POST \u002Fauth\u002Fregister",[212,919,910],{},[197,921,922,927],{},[212,923,924],{},[83,925,926],{},"POST \u002Fauth\u002Frefresh",[212,928,910],{},[197,930,931,936],{},[212,932,933],{},[83,934,935],{},"POST \u002Fpublic\u002Fupload",[212,937,938],{},"每分钟 10 次",[79,940,941,942,490],{},"超出限制时返回 ",[83,943,944],{},"429 Too Many Requests",[88,946,948],{"id":947},"api-分组","API 分组",[191,950,951,965],{},[194,952,953],{},[197,954,955,958,961,963],{},[200,956,957],{},"分组",[200,959,960],{},"路径前缀",[200,962,49],{},[200,964,420],{},[207,966,967,984,1005,1022,1038,1054,1072],{},[197,968,969,973,978,981],{},[212,970,971],{},[488,972,49],{"href":50},[212,974,975],{},[83,976,977],{},"\u002Fauth\u002F*",[212,979,980],{},"部分需认证",[212,982,983],{},"登录、注册、Token 刷新",[197,985,986,990,999,1002],{},[212,987,988],{},[488,989,53],{"href":54},[212,991,992,995,996],{},[83,993,994],{},"\u002Fupload","、",[83,997,998],{},"\u002Fpublic\u002Fupload",[212,1000,1001],{},"Bearer \u002F 可选",[212,1003,1004],{},"兰空 v2 兼容协议",[197,1006,1007,1011,1016,1019],{},[212,1008,1009],{},[488,1010,57],{"href":58},[212,1012,1013],{},[83,1014,1015],{},"\u002Ffiles\u002F*",[212,1017,1018],{},"Bearer",[212,1020,1021],{},"列表、详情、删除、批量",[197,1023,1024,1028,1033,1035],{},[212,1025,1026],{},[488,1027,61],{"href":62},[212,1029,1030],{},[83,1031,1032],{},"\u002Falbums\u002F*",[212,1034,1018],{},[212,1036,1037],{},"相册 CRUD",[197,1039,1040,1044,1049,1051],{},[212,1041,1042],{},[488,1043,65],{"href":66},[212,1045,1046],{},[83,1047,1048],{},"\u002Ftokens\u002F*",[212,1050,1018],{},[212,1052,1053],{},"令牌管理",[197,1055,1056,1061,1066,1069],{},[212,1057,1058],{},[488,1059,1060],{"href":70},"管理员",[212,1062,1063],{},[83,1064,1065],{},"\u002Fadmin\u002F*",[212,1067,1068],{},"Bearer + Admin",[212,1070,1071],{},"用户\u002F存储\u002F设置",[197,1073,1074,1077,1082,1085],{},[212,1075,1076],{},"公开",[212,1078,1079],{},[83,1080,1081],{},"\u002Fpublic\u002F*",[212,1083,1084],{},"无",[212,1086,1087],{},"统计、广场、游客上传",[88,1089,1090],{"id":1090},"文件访问短链",[79,1092,1093,1094,1097,1098,1100],{},"文件上传后，访问链接",[253,1095,1096],{},"不","在 ",[83,1099,85],{}," 下，而是直接挂根：",[191,1102,1103,1113],{},[194,1104,1105],{},[197,1106,1107,1110],{},[200,1108,1109],{},"前缀",[200,1111,1112],{},"用途",[207,1114,1115,1125,1135,1145,1159],{},[197,1116,1117,1122],{},[212,1118,1119],{},[83,1120,1121],{},"\u002Fi\u002F:hash",[212,1123,1124],{},"图片",[197,1126,1127,1132],{},[212,1128,1129],{},[83,1130,1131],{},"\u002Fv\u002F:hash",[212,1133,1134],{},"视频",[197,1136,1137,1142],{},[212,1138,1139],{},[83,1140,1141],{},"\u002Fa\u002F:hash",[212,1143,1144],{},"音频",[197,1146,1147,1152],{},[212,1148,1149],{},[83,1150,1151],{},"\u002Ff\u002F:hash",[212,1153,1154,1155,1158],{},"下载（带 ",[83,1156,1157],{},"Content-Disposition: attachment","）",[197,1160,1161,1166],{},[212,1162,1163],{},[83,1164,1165],{},"\u002Ft\u002F:hash",[212,1167,1168],{},"缩略图",[79,1170,1171,1174,1175,490],{},[83,1172,1173],{},":hash"," 为文件 MD5 的前 8 位。详见 ",[488,1176,53],{"href":54},[88,1178,1179],{"id":1179},"下一步",[248,1181,1182,1187],{},[98,1183,1184,1186],{},[488,1185,49],{"href":50}," · 登录与 Token 管理",[98,1188,1189,1191],{},[488,1190,53],{"href":54}," · 上传接口与响应",[1193,1194,1195],"style",{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}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 .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 pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}",{"title":126,"searchDepth":146,"depth":146,"links":1197},[1198,1199,1200,1201,1205,1208,1209,1210,1211,1212],{"id":90,"depth":140,"text":90},{"id":119,"depth":140,"text":119},{"id":188,"depth":140,"text":189},{"id":231,"depth":140,"text":231,"children":1202},[1203,1204],{"id":238,"depth":146,"text":239},{"id":328,"depth":146,"text":329},{"id":345,"depth":140,"text":345,"children":1206},[1207],{"id":493,"depth":146,"text":493},{"id":693,"depth":140,"text":694},{"id":884,"depth":140,"text":884},{"id":947,"depth":140,"text":948},{"id":1090,"depth":140,"text":1090},{"id":1179,"depth":140,"text":1179},"Kite HTTP API 的基础约定：路径、鉴权、响应结构、错误码。","md",{},{"title":45},{"title":74,"description":1213},"TBqxMJm_4w-XOr6gv9n4_GvL1W28Zp1EodZ4IH2ob64",[1220,1222],{"title":35,"path":36,"stem":37,"description":1221,"children":-1},"将 Kite 接入 PicGo、ShareX 等主流图床客户端。",{"title":49,"path":50,"stem":51,"description":1223,"children":-1},"登录、注册、Token 刷新与个人资料接口。",1776443820139]