导语
为了写出满意的自定义UI,LazyTea的一些行为是必须明白的。
规范
阅读相应一级组件文档,得到具体规范。
一般来说,你需要正确设置元数据,并通过后端接口注册器提供恰当的HTML响应器。
此外,在HTML中对于lazytea-API的调用应当局限于自定义接口API,而不应该使用其他API,如/bots等。
这是因为只有lazytea-web实现了其他API,而自定义接口API是所有二级组件都支持的。
行为
模板渲染机制
系统支持两种HTML渲染模式:
后端预渲染模式: 后端直接返回已渲染的HTML内容 动态模板渲染: 使用Jinja2引擎在前端动态渲染模板 动态渲染时,系统会为模板注入以下上下文变量:
request: FastAPI请求对象 (如果存在)plugin_name: 插件名称api_base_url: API基础URLversion: 系统版本信息- 插件自定义上下文变量
自定义请求API
插件可以通过 /api/plugin/{plugin_name}/custom_request 端点处理自定义API请求。
请求方法:POST
请求数据结构 自定义请求使用PluginCustomRequest模型,包含以下字段:
method: 要调用的后端方法名params: 方法参数字典timeout: 请求超时时间 (整数/秒)
错误处理
- 方法未找到时返回
404状态码 - 一般异常返回
500状态码 - 只读模式下返回
403状态码
运行环境
html方案的页面将运行于浏览器中,并与一个来自lazytea-client或lazytea-web的HTTP服务器通信。
优势
- 所见即所得
- 快速开发迭代
- 唾手可得的美观
- 跨平台与本地支持
劣势
- 性能劣于
PySide6 - 自定义程度受限