feat(shell): T5 前端·壳与管理端框架——fork notice/front 基线并剥领域
build / build (push) Successful in 3m10s

- A 类主题 loader 原文接入 + env-config 引导 + vite /static 与 /api(8086) 代理(P6/P11)
- GetUserMod 左导航:utils/menuNav.ts 单点实现 path 空锚点跳过、分组收敛、icon 兜底、面包屑基线(对齐 Notice 13afb22 refined 版)
- alova 封装 + api/module/base.ts(getUserMod 可选 appCode,P2 定名;H4 前空树不回落,P3)
- 路由骨架一 SPA 四形态:/admin/{forms,data,stats,dicts}、/f/:code、/app/:appCode/*、/my;self!=top 剥壳(方案 §3.3)
- 规范件落位:tableActions.ts(UserBase 同构源,正文 MD5 不变)、TablePageAlovaNew + useElementHeight、page-wrapper yh-fill 骨架
- view-ui-plus 精确锁 1.3.24;本地零 layout.css/icons.css;avatar 两件由 YschTheme sync 下发
- 剥除:notice 领域 views/api/mock/menu 兜底、alova-vant(mobiapi)、ztree+jquery 与重依赖(按需回补,见 service/docs/T5-report.md 问题单 P52)
This commit is contained in:
chenxing
2026-10-14 20:35:41 +08:00
parent cebc32fbef
commit fdd9aaaa3b
81 changed files with 12410 additions and 1473 deletions
+39
View File
@@ -0,0 +1,39 @@
<script setup lang="ts">
import { computed } from "vue";
import { useRoute } from "vue-router";
/**
* 快应用上下文 /app/:appCode/* 占位(T5)。
*
* 形态(方案 §6.2 纯 A 形态、手册 §2.1):快应用没有独立前端,UserBase 应用行 pc_url 直接指向
* 本路由,中心按<b>那个应用</b>的模块树渲染轻导航/直落单表单——取树走 api/module/base.ts 的
* getUserMod(appCode)(参数名按 P2 定稿 appCode)。
*
* P3 裁决的口径在本页成立:<b>H4 未上线时该请求返回空树,页面就显示空态,绝不回落本应用菜单</b>
* (回落会把「要 A 应用的菜单」伪装成「A 应用就这些」)。树渲染与范围矩阵在 T8 落地。
*/
const route = useRoute();
const appCode = computed(() => String(route.params.appCode ?? ""));
const view = computed(() => String(route.params.view ?? ""));
</script>
<template>
<div class="page-wrapper yh-fill">
<div class="main-container">
<h4 class="subtitle">快应用上下文</h4>
<Alert show-icon type="info">
<code>/app/:appCode/*</code> 路由骨架占位;目标应用模块树渲染、单表单直落与应用聚合轻导航在 T8 落地。
</Alert>
<p class="app-meta">
appCode = <b>{{ appCode || "(空)" }}</b>
<template v-if="view">|view = <b>{{ view }}</b></template>
</p>
</div>
</div>
</template>
<style scoped>
.app-meta {
margin: 16px 0 0;
}
</style>