/** * redoc-ui.ts → scalar-ui.ts (保留原文件名以减少 import 变更) * * Scalar API Reference HTML 模板生成 * * 生成基于 Scalar 的 API 文档 HTML 页面,提供: * - 左侧多级导航 TOC(按 tag 分组) * - 中间区域展示 API 描述、参数、响应 schema * - 右侧代码示例面板(多语言:cURL / JavaScript / Python 等) * - 内置 Try it out 交互式请求(无需跳转 Swagger UI) * - 深色/浅色主题支持 * - 搜索(Ctrl+K / Cmd+K) * * Scalar JS 加载策略(v0.2.2 起): * - 默认:本地资产优先(doc-endpoints.ts 通过 registerScalarAssets 注册 * GET /_vext/scalar.js,并将 cdnUrl 设为本地路由路径) * - 用户配置 scalar.cdnUrl:使用用户指定地址(CDN / 内网镜像等) * - 本函数本身无感知,直接使用 config.cdnUrl(由调用方注入正确值) * * 替代原有 Redoc + Swagger UI 双端点方案, * 用单一 Scalar 端点同时满足文档阅读和交互式测试需求。 * * @module lib/openapi/redoc-ui * @see 14-openapi.md §7(文档 UI 集成) * @changelog * - v0.2.0: 从 Redoc 切换为 Scalar API Reference * 合并文档阅读 + Try it out 到单一 /docs 端点 * - v0.2.2: 本地资产优先模式(默认 CDN fallback 为死代码, * 正常情况下 config.cdnUrl 始终由 doc-endpoints.ts 注入) */ import type { ScalarConfig } from "./types.js"; /** * 生成 Scalar API Reference HTML 页面 * * config.cdnUrl 由调用方(doc-endpoints.ts)注入: * - 本地模式(默认):'/_vext/scalar.js'(框架内存路由) * - 用户自定义模式:用户在 scalar.cdnUrl 中配置的地址 * 本函数本身不处理资产加载策略,只负责 HTML 模板生成。 * * 页面特性: * - 左侧多级导航(tag -> operation -> schema) * - 响应式布局(modern / classic) * - 深色/浅色主题支持(10+ 内置主题) * - 内置 Try it out(同一页面发起 HTTP 请求) * - 多语言代码示例(cURL / JavaScript / Python 等) * - 搜索功能(Ctrl+K / Cmd+K) * - 深度链接(URL hash 定位到具体 API) * * @param specUrl OpenAPI spec 端点路径(如 '/openapi.json') * @param config Scalar 配置 * @returns HTML 字符串 */ export declare function generateScalarHTML(specUrl: string, config?: ScalarConfig): string; /** @deprecated 使用 generateScalarHTML 替代 */ export declare const generateRedocHTML: typeof generateScalarHTML;