feat(apply): 深链 from 参数解析 + 顶栏「返回门户」(T4)——site.ts 新增 resolveFrom(仅 http/https 且域名属本部署可信域,防伪协议/外域注入;session 级内存不落 localStorage),Apply.load 在 resolveSite 后调用,App.vue nav 按需渲染返回门户链接(nav 为主色底 header,白字+分隔线与既有风格一致)
This commit is contained in:
+3
-1
@@ -19,7 +19,7 @@ import { useSite } from "@/utils/site";
|
||||
import DynamicForm from "@/components/DynamicForm.vue";
|
||||
const route = useRoute();
|
||||
const router = useRouter();
|
||||
const { resolveSite, rememberItem } = useSite();
|
||||
const { resolveSite, resolveFrom, rememberItem } = useSite();
|
||||
|
||||
/** 轮询参数:代发起 + 回调一般在 1s 内完成,给到 ~9s 足够,避免用户盯着"待提交"发懵 */
|
||||
const POLL_TIMES = 12;
|
||||
@@ -37,6 +37,8 @@ const schemaJson = computed(() => (item.value?.schemaJson as string) || "");
|
||||
|
||||
async function load() {
|
||||
siteCode.value = resolveSite(route.query.siteCode);
|
||||
// CMS 指南页来路(T4):校验通过即记入 session,App.vue 顶栏渲染"返回门户"
|
||||
resolveFrom(route.query.from);
|
||||
const itemCode = String(route.query.itemCode || "");
|
||||
if (!siteCode.value || !itemCode) {
|
||||
loadError.value = "缺少 siteCode/itemCode 参数";
|
||||
|
||||
Reference in New Issue
Block a user