80 lines
4.6 KiB
HTML
80 lines
4.6 KiB
HTML
<!doctype html>
|
|
<html lang="zh-CN">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>{{.Page.Title}} · OpsxAPI 文档</title>
|
|
<meta name="description" content="OpsxAPI 接口工作台用户文档 — HTTP、GraphQL、WebSocket、SSE、Socket.IO、MQTT 一站式调试,支持 OpenAPI/Postman/cURL 等格式导入导出。">
|
|
<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' rx='7' fill='%232563eb'/%3E%3Ctext x='16' y='22' font-size='18' font-weight='bold' fill='%23fff' text-anchor='middle' font-family='sans-serif'%3EO%3C/text%3E%3C/svg%3E">
|
|
<link rel="icon" type="image/svg+xml" href="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2064%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22g%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%2264%22%20y2%3D%2264%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%232563EB%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%2306B6D4%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Crect%20width%3D%2264%22%20height%3D%2264%22%20rx%3D%2214%22%20fill%3D%22url%28%23g%29%22%2F%3E%3Cg%20stroke%3D%22%23fff%22%20stroke-width%3D%225%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M17%2025h26%22%2F%3E%3Cpath%20d%3D%22M37%2019l6%206-6%206%22%2F%3E%3Cpath%20d%3D%22M47%2039H21%22%2F%3E%3Cpath%20d%3D%22M27%2033l-6%206%206%206%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E">
|
|
<link rel="stylesheet" href="/docs/assets/docs.css">
|
|
</head>
|
|
<body>
|
|
<svg xmlns="http://www.w3.org/2000/svg" style="display:none" aria-hidden="true">
|
|
<symbol id="i-menu" viewBox="0 0 24 24"><path d="M4 5h16" /> <path d="M4 12h16" /> <path d="M4 19h16" /></symbol>
|
|
<symbol id="i-search" viewBox="0 0 24 24"><path d="m21 21-4.34-4.34" /> <circle cx="11" cy="11" r="8" /></symbol>
|
|
</svg>
|
|
<header class="topbar">
|
|
<div class="topbar-inner">
|
|
<button class="menu-btn" id="menu-btn" aria-label="打开导航"><svg class="i"><use href="#i-menu"/></svg></button>
|
|
<a class="brand" href="/docs">
|
|
<span class="brand-logo"><svg width="28" height="28" viewBox="0 0 64 64" aria-label="OpsxAPI"><defs><linearGradient id="lg-docs" x1="0" y1="0" x2="64" y2="64" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#2563EB"/><stop offset="1" stop-color="#06B6D4"/></linearGradient></defs><rect width="64" height="64" rx="14" fill="url(#lg-docs)"/><g stroke="#fff" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" fill="none"><path d="M17 25h26"/><path d="M37 19l6 6-6 6"/><path d="M47 39H21"/><path d="M27 33l-6 6 6 6"/></g></svg></span>
|
|
<span class="brand-name">OpsxAPI <em>文档</em></span>
|
|
</a>
|
|
<span class="ver-badge">v{{.Manifest.ProductVersion}}</span>
|
|
<div class="search">
|
|
<input id="search-input" type="search" placeholder="搜索文档…" autocomplete="off" spellcheck="false">
|
|
<div class="search-panel" id="search-panel" hidden></div>
|
|
</div>
|
|
<nav class="top-links">
|
|
<a href="/home">官网</a>
|
|
</nav>
|
|
</div>
|
|
</header>
|
|
|
|
<div class="layout" id="layout">
|
|
<aside class="sidebar" id="sidebar">
|
|
{{range .Manifest.Groups}}
|
|
<div class="nav-group">
|
|
<div class="nav-group-title">{{.Name}}</div>
|
|
{{range .Pages}}
|
|
<a class="nav-link{{if eq .Slug $.Page.Slug}} active{{end}}" href="/docs/{{.Slug}}">{{.Title}}</a>
|
|
{{end}}
|
|
</div>
|
|
{{end}}
|
|
<div class="sidebar-foot">© 2026 OpsxAPI · 本地优先的接口工作台</div>
|
|
</aside>
|
|
|
|
<main class="content">
|
|
<div class="breadcrumb">文档 <span>/</span> {{.Page.Group}} <span>/</span> {{.Page.Title}}</div>
|
|
<h1 class="page-title">{{.Page.Title}}</h1>
|
|
{{if .Page.Updated}}<div class="page-meta">更新于 {{.Page.Updated}}</div>{{end}}
|
|
<article class="md">
|
|
{{.Content}}
|
|
</article>
|
|
|
|
<div class="pn-nav">
|
|
{{with .Page.Prev}}
|
|
<a class="pn prev" href="/docs/{{.Slug}}"><span class="pn-label">← 上一页</span><span class="pn-title">{{.Title}}</span></a>
|
|
{{else}}<span class="pn"></span>{{end}}
|
|
{{with .Page.Next}}
|
|
<a class="pn next" href="/docs/{{.Slug}}"><span class="pn-label">下一页 →</span><span class="pn-title">{{.Title}}</span></a>
|
|
{{else}}<span class="pn"></span>{{end}}
|
|
</div>
|
|
|
|
|
|
</main>
|
|
|
|
<aside class="toc">
|
|
<div class="toc-title">本页目录</div>
|
|
<nav class="toc-nav">
|
|
{{range .TOC}}<a class="toc-l{{.Level}}" href="#{{.ID}}">{{.Text}}</a>
|
|
{{end}}
|
|
</nav>
|
|
</aside>
|
|
</div>
|
|
|
|
<script src="/docs/assets/docs.js" defer></script>
|
|
</body>
|
|
</html>
|