跳转到内容

设置

4 endpoints.

GEThttp://localhost:3000/api/settings

尚未在此参考中描述。这个端点会被列出,是因为服务端确实注册了它,但它的请求与响应形状还没有写下来。

对应的 handler 是 get_settings,位于 crates/lanrurugi-api/src/settings.rs:624。

响应

200该端点已响应;其确切结构尚未记录,见 crates/lanrurugi-api/src/settings.rs:59 处的 handler。

该响应没有示例数据。

填写你自己的实例地址,请求由浏览器直接发往该地址。

PUThttp://localhost:3000/api/settings

尚未在此参考中描述。这个端点会被列出,是因为服务端确实注册了它,但它的请求与响应形状还没有写下来。

对应的 handler 是 put_settings,位于 crates/lanrurugi-api/src/settings.rs:751。

响应

200该端点已响应;其确切结构尚未记录,见 crates/lanrurugi-api/src/settings.rs:59 处的 handler。

该响应没有示例数据。

该端点需要管理员令牌:访客(只读)令牌会被服务端拒绝。

填写你自己的实例地址,请求由浏览器直接发往该地址。

设置新的管理员密码,哈希方式与 legacy 存密码的方式一致({CRYPT}$2a$...)

Section titled “设置新的管理员密码,哈希方式与 legacy 存密码的方式一致({CRYPT}$2a$...)”
POSThttp://localhost:3000/api/settings/password

尚未在此参考中描述。这个端点会被列出,是因为服务端确实注册了它,但它的请求与响应形状还没有写下来。

下面这段是 handler 自己的文档注释(crates/lanrurugi-api/src/settings.rs:1017)的译文;原文以源码为准。

设置新的管理员密码,哈希方式与 legacy 存密码的方式一致({CRYPT}$2a$...——见 lanrurugi_core::password),这样共用同一 Redis 的 legacy 实例也仍然接受它。空字符串会清除密码保护的实际效果,但方式与 legacy 配置页「留空则保持当前密码」的约定不同——这个端点总是设置提交上来的内容,因此除非用户确实想设一个空密码,前端绝不能提交空字段。

响应

200该端点已响应;其确切结构尚未记录,见 crates/lanrurugi-api/src/settings.rs:60 处的 handler。

该响应没有示例数据。

该端点只接受网页会话(登录本站所用实例后浏览器自动携带的 cookie)。API 令牌会被服务端拒绝,因此这里不提供令牌输入框,上面的命令行也不带 Authorization 头。

填写你自己的实例地址,请求由浏览器直接发往该地址。

读取主题(issue #92:这个响应现在还带着 language,不只是 theme)

Section titled “读取主题(issue #92:这个响应现在还带着 language,不只是 theme)”
GEThttp://localhost:3000/api/theme

尚未在此参考中描述。这个端点会被列出,是因为服务端确实注册了它,但它的请求与响应形状还没有写下来。

下面这段是 handler 自己的文档注释(crates/lanrurugi-api/src/settings.rs:160)的译文;原文以源码为准。

issue #92:这个响应现在还带着 language,不只是 theme——useApplyTheme/useApplySettingsLanguage(apps/frontend/src/theme.ts/i18n/index.ts)过去都从完整的、需要鉴权的 GET /settings 里读取各自那个字段(该响应还带着 API 密钥和其他确实属于机密的字段,无法公开,因此登录前会 401)——每个在会话存在之前渲染的页面(登录页自己那套特制的 usePublicTheme 回退除外)都撞上那个 401,而 client.ts 里那个全局 401 处理器在每一次上都强制跳转到 /login,不管发起调用的 hook 自己是否已经准备好了回退值,从而使 issue #92 自己「留在当前页、不要跳转」的要求对任何在登出状态下渲染的内容都失效(新加的 404 页面尤其如此——实测报告了一次真实的双重跳转:先闪一下 404 内容,然后还是去了 /login)。theme/language 是会话存在之前唯一需要的两个字段,而且两者都完全不机密,所以把 language 折进这个已经公开的端点,比为多一个字段再撑起一整套公开设置接口要简单。响应里还带着 admin_theme——始终是管理员自己的 theme,与访客资格无关——这样即使开启了访客模式、且访客主题是另一套,登录页也能用管理员的主题渲染。

响应

200该端点已响应;其确切结构尚未记录,见 crates/lanrurugi-api/src/settings.rs:70 处的 handler。

该响应没有示例数据。

该端点不需要认证。

填写你自己的实例地址,请求由浏览器直接发往该地址。