docs: annotate remaining routes layouts and view boundaries
This commit is contained in:
1 parent
408f8e5c98
commit
ab22d406c0
56 files changed
+403
No files matched your search
@@ -1,4 +1,7 @@
|
||||
<script setup>
|
||||
/**
|
||||
* 公共认证布局:登录、注册、找回及第三方绑定共享站点标识和主题入口。认证页链接保留处理后的 redirect,发布版 data-v 作用域用于继续匹配已有共享样式。
|
||||
*/
|
||||
import "~/assets/styles/blank.DOa3C9wi.css";
|
||||
import { onMounted } from "vue";
|
||||
import { useRoute } from "#app";
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
<script>
|
||||
/**
|
||||
* 会员中心主布局:组合静态导航与服务端导航权限、面包屑、消息邮箱、账户菜单及移动侧栏。后端导航具有权威性时,不自行补回被关闭入口。
|
||||
*/
|
||||
import "~/assets/styles/ConsoleLegalFooter.DAYWmXIB.css";
|
||||
import "~/assets/styles/BackendNavigation.CEj4LnzI.css";
|
||||
import "~/assets/styles/BackendNavEntry.Bx6IPica.css";
|
||||
@@ -308,6 +311,7 @@ var Ce = {
|
||||
.filter((e) => e.items.length),
|
||||
),
|
||||
Je = computed(() => backend_menu_a(j, qe.value, P.value));
|
||||
// 规范化后端菜单并记录其覆盖路径,为静态菜单合成和当前导航判断提供同一数据。
|
||||
function Ye(e, t) {
|
||||
((e = backend_menu_l(e)), (P.value = e), (F.value = t));
|
||||
let n = [],
|
||||
@@ -332,17 +336,21 @@ var Ce = {
|
||||
},
|
||||
);
|
||||
let I = ref({});
|
||||
// 根据当前路由判断父菜单初始展开,实例详情归入服务器菜单。
|
||||
function L(e) {
|
||||
return O.path === `/servers/server` && e.label === `服务器`
|
||||
? !0
|
||||
: (e.children?.some((t) => R(t.to, e.children)) ?? !1);
|
||||
}
|
||||
// 菜单匹配交给公共路径/查询匹配工具,避免仅前缀判断导致高亮错误。
|
||||
function R(e, t = []) {
|
||||
return backend_menu_c(e, O, t);
|
||||
}
|
||||
// 用户显式切换父菜单展开状态,覆盖当前路由推导的初始值。
|
||||
function Xe(e) {
|
||||
I.value[e.label] = !z(e);
|
||||
}
|
||||
// 先读取用户手动展开选择,未选择时再使用路由推导值。
|
||||
function z(e) {
|
||||
return I.value[e.label] ?? L(e);
|
||||
}
|
||||
@@ -388,9 +396,11 @@ var Ce = {
|
||||
]),
|
||||
{ count: V, recent: H, refresh: U } = useMailbox_t(),
|
||||
W = ref(!1);
|
||||
// 打开消息面板时刷新公共邮箱数据,不用旧未读计数代替最新消息。
|
||||
async function Qe(e) {
|
||||
((W.value = !0), await U());
|
||||
}
|
||||
// 选中最近消息后关闭浮层,并通过消息页查询 ID 打开详情。
|
||||
function $e(e) {
|
||||
((W.value = !1),
|
||||
D.push({
|
||||
@@ -400,6 +410,7 @@ var Ce = {
|
||||
},
|
||||
}));
|
||||
}
|
||||
// 进入完整消息列表时关闭当前消息浮层。
|
||||
function et() {
|
||||
((W.value = !1), D.push(`/messages`));
|
||||
}
|
||||
@@ -435,6 +446,7 @@ var Ce = {
|
||||
await nextTick(),
|
||||
J.value && q.value?.focus());
|
||||
}));
|
||||
// 移动侧栏打开时处理 Escape 和 Tab 焦点循环,防止键盘焦点移到被遮住的页面。
|
||||
function tt(e) {
|
||||
if (!J.value || !G.value) return;
|
||||
if (e.key === `Escape`) {
|
||||
@@ -537,6 +549,7 @@ var Ce = {
|
||||
useHead(() => ({
|
||||
title: `${$.value.at(-1) || `会员中心`} - ${A.siteName.value}`,
|
||||
})),
|
||||
// 导航、面包屑和账户/消息浮层来自同一布局状态;移动侧栏需保留焦点约束与滚动锁清理。
|
||||
(e, r) => {
|
||||
let a = BackendNavEntry,
|
||||
s = Icon,
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
<script>
|
||||
/**
|
||||
* 官网布局:从内容模型派生导航、页脚链接、品牌图与主题色;过滤隐藏项,页面正文通过默认插槽提供,移动导航状态仅在当前布局内维护。
|
||||
*/
|
||||
import "~/assets/styles/official-site.pBD-PXD7.css";
|
||||
import { toDisplayString } from "vue";
|
||||
import { renderList } from "vue";
|
||||
@@ -123,6 +126,7 @@ var S = {
|
||||
}));
|
||||
return (
|
||||
onMounted(() => X()),
|
||||
// 公共头尾使用同一内容模型,导航/品牌/页脚 URL 逐项经过内容工具处理,正文通过插槽注入。
|
||||
(n, i) => {
|
||||
let s = NuxtLink;
|
||||
return (
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
<script>
|
||||
/**
|
||||
* 公开订购布局:为未登录商品流程提供站点配置、主题与登录入口。配置器通过 provide 注册带镜像选择的续接地址,路由变化或旧注销回调不会清除新续接信息。
|
||||
*/
|
||||
import "~/assets/styles/ConsoleLegalFooter.DAYWmXIB.css";
|
||||
import "~/assets/styles/public-order.0RThfr7m.css";
|
||||
import { provide } from "vue";
|
||||
@@ -90,6 +93,7 @@ var D = {
|
||||
useHead(() => ({
|
||||
title: `产品选购 - ${L.siteName.value}`,
|
||||
})),
|
||||
// 公开订购页保留跳转主内容链接及登录入口,登录地址优先使用配置器登记的完整续接地址。
|
||||
(e, n) => {
|
||||
let a = NuxtLink,
|
||||
o = ConsoleLegalFooter;
|
||||
|
||||
Reference in new issue
Block a user