Files
oapy/classes.html

447 lines
174 KiB
HTML
Raw Normal View History

2026-06-02 14:14:41 +08:00
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>全部类</title>
<style>
body {
margin: 0;
background: #0d0b0b;
color: #f5f1ec;
font-family: Arial, Helvetica, sans-serif;
line-height: 1.5;
}
a {
color: #f2d6c2;
text-decoration: none;
}
a:hover {
text-decoration: underline;
color: #fff4ea;
}
.topbar {
border-bottom: 1px solid #6f3d2d;
background: #120f0f;
}
.topbar-inner {
max-width: 1440px;
margin: 0 auto;
padding: 14px 20px 10px;
}
.brand {
font-size: 28px;
font-weight: 700;
color: #fff8f2;
margin: 0 0 10px;
}
.tabs {
display: flex;
flex-wrap: wrap;
gap: 6px;
}
.tab {
display: inline-block;
padding: 6px 12px;
border: 1px solid #6f3d2d;
background: #151111;
color: #f2d6c2;
font-size: 13px;
}
.tab.active {
background: #4b2317;
font-weight: 700;
color: #fff8f2;
}
.layout {
max-width: 1440px;
margin: 0 auto;
display: grid;
grid-template-columns: 280px minmax(0, 1fr);
gap: 28px;
padding: 24px 24px 40px;
}
.sidebar {
font-size: 13px;
}
.sidebar-panel {
border: 1px solid #6f3d2d;
margin-bottom: 16px;
background: #151111;
}
.sidebar-title {
background: #2a1713;
border-bottom: 1px solid #6f3d2d;
padding: 8px 10px;
font-weight: 700;
color: #fff1e8;
}
.sidebar-body {
padding: 8px 10px;
}
.sidebar-search {
width: 100%;
box-sizing: border-box;
padding: 6px 8px;
border: 1px solid #6f3d2d;
background: #0d0b0b;
color: #f5f1ec;
font-size: 13px;
margin-bottom: 8px;
}
.sidebar-search::placeholder {
color: #c8a995;
}
.sidebar-body ul {
list-style: none;
padding: 0;
margin: 0;
}
.sidebar-body li.hidden {
display: none;
}
.active-link {
font-weight: 700;
color: #fff8f2;
}
.sidebar-body li + li {
margin-top: 6px;
}
.content {
min-width: 0;
}
.content-grid {
display: grid;
grid-template-columns: minmax(0, 1fr);
gap: 0;
align-items: start;
}
.doc {
border: 1px solid #6f3d2d;
background: #120f0f;
padding: 24px 28px 32px;
min-width: 0;
}
.toc-panel {
border: 1px solid #6f3d2d;
background: #151111;
padding: 0;
position: sticky;
top: 16px;
margin-bottom: 16px;
}
.toc-toggle {
width: 100%;
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
padding: 12px 14px;
border: 0;
background: #2a1713;
color: #fff1e8;
cursor: pointer;
font-size: 14px;
font-weight: 700;
}
.toc-toggle:hover {
background: #3a1d16;
}
.toc-toggle-indicator {
font-size: 12px;
color: #d6ac96;
}
.toc-body {
display: none;
padding: 14px 16px;
}
.toc-panel.open .toc-body {
display: block;
}
.toc-panel h2 {
margin: 0 0 10px;
padding: 0;
border: 0;
font-size: 18px;
color: #fff1e8;
}
.toc-panel ul {
list-style: none;
padding: 0;
margin: 0;
}
.toc-panel li + li {
margin-top: 8px;
}
.toc-panel a {
font-size: 13px;
line-height: 1.35;
color: #f2d6c2;
}
.crumbs {
color: #c8a995;
font-size: 13px;
margin-bottom: 14px;
}
.meta {
border: 1px solid #6f3d2d;
background: #151111;
padding: 10px 12px;
margin: 16px 0 20px;
font-size: 13px;
}
.meta div + div {
margin-top: 4px;
}
.doc h1 {
margin: 0 0 8px;
font-size: 34px;
color: #fff8f2;
}
.doc h2 {
margin: 28px 0 12px;
padding-bottom: 4px;
border-bottom: 1px solid #6f3d2d;
font-size: 22px;
color: #fff1e8;
}
.doc h3 {
margin: 22px 0 10px;
font-size: 18px;
color: #f7e1d5;
}
.doc p, .doc li {
font-size: 14px;
}
.doc pre {
overflow-x: auto;
background: #0d0b0b;
border: 1px solid #6f3d2d;
padding: 12px 14px;
}
.doc code {
font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
font-size: 12px;
overflow-wrap: anywhere;
word-break: break-word;
color: #f7e1d5;
}
.doc table {
width: 100%;
border-collapse: collapse;
margin: 12px 0 18px;
font-size: 13px;
table-layout: fixed;
}
.doc th, .doc td {
border: 1px solid #6f3d2d;
padding: 7px 9px;
vertical-align: top;
text-align: left;
overflow-wrap: anywhere;
word-break: break-word;
}
.doc th {
background: #2a1713;
color: #fff1e8;
}
.doc blockquote {
margin: 14px 0;
padding: 8px 12px;
border-left: 4px solid #8a4a36;
background: #151111;
color: #f2d6c2;
}
.search-panel {
border: 1px solid #6f3d2d;
background: #151111;
padding: 16px 18px;
margin-bottom: 20px;
}
.search-panel input {
width: 100%;
box-sizing: border-box;
padding: 8px 10px;
border: 1px solid #6f3d2d;
background: #0d0b0b;
color: #f5f1ec;
font-size: 14px;
}
.search-panel input::placeholder {
color: #c8a995;
}
.search-results {
list-style: none;
padding: 0;
margin: 16px 0 0;
}
.search-results li {
border-top: 1px solid #4b2317;
padding: 10px 0;
}
.search-results li.hidden {
display: none;
}
.search-results a {
font-weight: 700;
}
.search-results .module-tag {
display: inline-block;
margin-left: 8px;
padding: 2px 6px;
border: 1px solid #8a4a36;
background: #2a1713;
color: #f2d6c2;
font-size: 12px;
}
.search-results .result-path {
margin-top: 4px;
color: #c8a995;
font-size: 12px;
}
.footer {
max-width: 1440px;
margin: 0 auto;
padding: 0 20px 28px;
color: #b89481;
font-size: 12px;
}
.doc > * {
min-width: 0;
}
@media (max-width: 960px) {
.layout {
grid-template-columns: 1fr;
}
.content-grid {
grid-template-columns: 1fr;
}
.toc-panel {
position: static;
}
}
</style>
</head>
<body>
<div class="topbar">
<div class="topbar-inner">
<div class="brand"><a href="index.html">AIVI / oapy API 中文文档</a></div>
<div class="tabs"><a class="tab" href="base/index.html">base</a><a class="tab" href="common/index.html">common</a><a class="tab" href="cms/index.html">cms</a><a class="tab" href="dm/index.html">dm</a><a class="tab" href="design/index.html">design</a><a class="tab" href="tech/index.html">tech</a><a class="tab" href="wafer/index.html">wafer</a></div>
</div>
</div>
<div class="layout">
<aside class="sidebar"><div class="sidebar-panel"><div class="sidebar-title">模块</div><div class="sidebar-body"><ul><li><a href="classes.html">全部类</a></li><li><a href="base/index.html">base</a></li><li><a href="common/index.html">common</a></li><li><a href="cms/index.html">cms</a></li><li><a href="dm/index.html">dm</a></li><li><a href="design/index.html">design</a></li><li><a href="tech/index.html">tech</a></li><li><a href="wafer/index.html">wafer</a></li></ul></div></div></aside>
<main class="content">
<div class="content-grid">
<div class="doc">
<div class="crumbs"><a href="index.html">首页</a> / 全部类</div>
<h1>全部类</h1><div class="search-panel"><input type="search" placeholder="按类名或模块搜索" data-global-search><ul class="search-results"><li data-search-item data-search-name="oaabstracttype" data-search-module="base"><a href="base/oaAbstractType.html">oaAbstractType</a><span class="module-tag">base</span><div class="result-path">docs/api_md/base/oaAbstractType.md</div></li><li data-search-item data-search-name="oaalignmenttype" data-search-module="base"><a href="base/oaAlignmentType.html">oaAlignmentType</a><span class="module-tag">base</span><div class="result-path">docs/api_md/base/oaAlignmentType.md</div></li><li data-search-item data-search-name="oaappdef" data-search-module="base"><a href="base/oaAppDef.html">oaAppDef</a><span class="module-tag">base</span><div class="result-path">docs/api_md/base/oaAppDef.md</div></li><li data-search-item data-search-name="oaappobject" data-search-module="base"><a href="base/oaAppObject.html">oaAppObject</a><span class="module-tag">base</span><div class="result-path">docs/api_md/base/oaAppObject.md</div></li><li data-search-item data-search-name="oaappobjectdef" data-search-module="base"><a href="base/oaAppObjectDef.html">oaAppObjectDef</a><span class="module-tag">base</span><div class="result-path">docs/api_md/base/oaAppObjectDef.md</div></li><li data-search-item data-search-name="oaappobjectdefcollection" data-search-module="base"><a href="base/oaAppObjectDefCollection.html">oaAppObjectDefCollection</a><span class="module-tag">base</span><div class="result-path">docs/api_md/base/oaAppObjectDefCollection.md</div></li><li data-search-item data-search-name="oaappprop" data-search-module="base"><a href="base/oaAppProp.html">oaAppProp</a><span class="module-tag">base</span><div class="result-path">docs/api_md/base/oaAppProp.md</div></li><li data-search-item data-search-name="oabasecollection" data-search-module="base"><a href="base/oaBaseCollection.html">oaBaseCollection</a><span class="module-tag">base</span><div class="result-path">docs/api_md/base/oaBaseCollection.md</div></li><li data-search-item data-search-name="oabaseiter" data-search-module="base"><a href="base/oaBaseIter.html">oaBaseIter</a><span class="module-tag">base</span><div class="result-path">docs/api_md/base/oaBaseIter.md</div></li><li data-search-item data-search-name="oabaseobserver" data-search-module="base"><a href="base/oaBaseObserver.html">oaBaseObserver</a><span class="module-tag">base</span><div class="result-path">docs/api_md/base/oaBaseObserver.md</div></li><li data-search-item data-search-name="oabasepackeddata" data-search-module="base"><a href="base/oaBasePackedData.html">oaBasePackedData</a><span class="module-tag">base</span><div class="result-path">docs/api_md/base/oaBasePackedData.md</div></li><li data-search-item data-search-name="oabooleanappdef" data-search-module="base"><a href="base/oaBooleanAppDef.html">oaBooleanAppDef</a><span class="module-tag">base</span><div class="result-path">docs/api_md/base/oaBooleanAppDef.md</div></li><li data-search-item data-search-name="oabooleanprop" data-search-module="base"><a href="base/oaBooleanProp.html">oaBooleanProp</a><span class="module-tag">base</span><div class="result-path">docs/api_md/base/oaBooleanProp.md</div></li><li data-search-item data-search-name="oabooleanvalue" data-search-module="base"><a href="base/oaBooleanValue.html">oaBooleanValue</a><span class="module-tag">base</span><div class="result-path">docs/api_md/base/oaBooleanValue.md</div></li><li data-search-item data-search-name="oabox" data-search-module="base"><a href="base/oaBox.html">oaBox</a><span class="module-tag">base</span><div class="result-path">docs/api_md/base/oaBox.md</div></li><li data-search-item data-search-name="oaboxarray" data-search-module="base"><a href="base/oaBoxArray.html">oaBoxArray</a><span class="module-tag">base</span><div class="result-path">docs/api_md/base/oaBoxArray.md</div></li><li data-search-item data-search-name="oaboxarrayvalue" data-search-module="base"><a href="base/oaBoxArrayValue.html">oaBoxArrayValue</a><span class="module-ta
</div>
</div>
</main>
</div>
<div class="footer">oapy 是 AIVI 项目的一部分。此站点提供当前 oapy Python API 的中文文档。</div>
<script>
document.addEventListener("DOMContentLoaded", () => {
const input = document.querySelector("[data-class-filter]");
if (input) {
input.addEventListener("input", () => {
const term = input.value.trim().toLowerCase();
document.querySelectorAll("[data-class-item]").forEach((item) => {
const name = item.getAttribute("data-class-name") || "";
item.classList.toggle("hidden", term && !name.includes(term));
});
});
}
const globalInput = document.querySelector("[data-global-search]");
if (globalInput) {
globalInput.addEventListener("input", () => {
const term = globalInput.value.trim().toLowerCase();
document.querySelectorAll("[data-search-item]").forEach((item) => {
const name = item.getAttribute("data-search-name") || "";
const module = item.getAttribute("data-search-module") || "";
const visible = !term || name.includes(term) || module.includes(term);
item.classList.toggle("hidden", !visible);
});
});
}
document.querySelectorAll("[data-toc-toggle]").forEach((button) => {
button.addEventListener("click", () => {
const panel = button.closest(".toc-panel");
if (!panel) return;
const isOpen = panel.classList.toggle("open");
button.setAttribute("aria-expanded", isOpen ? "true" : "false");
const indicator = button.querySelector(".toc-toggle-indicator");
if (indicator) {
indicator.textContent = isOpen ? "Hide" : "Show";
}
});
});
});
</script>
</body>
</html>