u
This commit is contained in:
1 parent
ae3ca3cfa1
commit
7bd5f1dde9
45 files changed
+3414
-229
No files matched your search
@@ -0,0 +1,38 @@
|
||||
<script setup lang="ts">
|
||||
/**
|
||||
* API 参数面板 —— 给 markdown 表格套一层「带标题的框」。
|
||||
*
|
||||
* 为什么收 slot 而不是数组 prop:
|
||||
* 仓库约定 API 表格**直接写在 md 里**(见 CODEBUDDY.md「组件文档写作约定」)。
|
||||
* 若改成 `:rows="[{ name: 'view_name', ... }]"`,表格会退化成一长行 JS 字面量,
|
||||
* md 源码既不好读也不好 diff。所以这里只负责外壳与版式,表格本体仍由
|
||||
* markdown 渲染后塞进 slot。
|
||||
*
|
||||
* 配套样式见 theme/api.css(.g3-api-panel)。
|
||||
*
|
||||
* variant:
|
||||
* params(默认)参数表 —— 列序约定「参数 / 类型 / 必填 / 说明」,第 2、3 列的样式
|
||||
* 按位置写,改列序要同步改 api.css。
|
||||
* bare 只给框和标题,不套列样式。用于形状不同的表(如错误码表:
|
||||
* code / 含义 / 典型原因 / 定位)—— 若套上参数表的列样式,散文列
|
||||
* 会被当成「类型」套等宽、被当成「必填」染成品牌色。
|
||||
*
|
||||
* ⚠ 刻意不叫 plain:G3ApiPayload 表示「无语气」的类名就是 .g3-api-panel--plain,
|
||||
* 两者含义不同,同名迟早埋坑。
|
||||
*/
|
||||
withDefaults(defineProps<{ title?: string | null; variant?: 'params' | 'bare' }>(), {
|
||||
title: '请求参数',
|
||||
variant: 'params',
|
||||
})
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="g3-api-panel" :class="`g3-api-panel--${variant}`">
|
||||
<!-- title 传 null 时不渲染标题栏:表格已经在自己那节标题下面时,
|
||||
重复一遍标题只是噪音,只保留边框与行分隔线。 -->
|
||||
<div v-if="title !== null" class="g3-api-panel__head">{{ title }}</div>
|
||||
<div class="g3-api-panel__body">
|
||||
<slot />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
Reference in new issue
Block a user