feat(app): 添加多模板关于我们页面及相关路由和404页面
- 新增404页面,优化未找到页面体验,避免被搜索引擎索引 - 增加文件代理接口,隐藏真实文件服务器地址,支持文件请求代理 - 实现/article、/case、/product及/page动态路由兼容列表与详情展示 - 添加动态CMS页面兼容入口处理旧式路径,统一路由与SEO设置 - 新增模板1、模板7、模板2、模板3关于我们页面,实现多模板支持 - 模板增强支持CMS单页内容加载及SEO信息动态设置 - 配置环境变量及Git忽略文件规则辅助开发和构建环境管理
This commit is contained in:
Vendored
+51
@@ -0,0 +1,51 @@
|
||||
export { useScriptTriggerConsent, useScriptEventPage, useScriptTriggerElement, useScript, useScriptGoogleAnalytics, useScriptPlausibleAnalytics, useScriptCrisp, useScriptClarity, useScriptCloudflareWebAnalytics, useScriptVercelAnalytics, useScriptPostHog, useScriptFathomAnalytics, useScriptMatomoAnalytics, useScriptMixpanelAnalytics, useScriptBingUet, useScriptGoogleTagManager, useScriptGoogleAdsense, useScriptGoogleRecaptcha, useScriptGoogleSignIn, useScriptSegment, useScriptMetaPixel, useScriptXPixel, useScriptTikTokPixel, useScriptIntercom, useScriptHotjar, useScriptStripe, useScriptLemonSqueezy, useScriptVimeoPlayer, useScriptYouTubePlayer, useScriptGoogleMaps, useScriptNpm, useScriptUmamiAnalytics, useScriptSnapchatPixel, useScriptRybbitAnalytics, useScriptDatabuddyAnalytics, useScriptRedditPixel, useScriptPayPal, useScriptGravatar, useScriptAhrefsAnalytics, useScriptLinkedInInsight, useScriptCalendly, useScriptUsercentrics, useScriptSpeedCurve } from '#app/composables/script-stubs';
|
||||
export { isVue2, isVue3 } from 'vue-demi';
|
||||
export { defineNuxtLink } from '#app/components/nuxt-link';
|
||||
export { useNuxtApp, tryUseNuxtApp, defineNuxtPlugin, definePayloadPlugin, useRuntimeConfig, defineAppConfig } from '#app/nuxt';
|
||||
export { useAppConfig, updateAppConfig } from '#app/config';
|
||||
export { defineNuxtComponent } from '#app/composables/component';
|
||||
export { useAsyncData, useLazyAsyncData, useNuxtData, refreshNuxtData, clearNuxtData, createUseAsyncData } from '#app/composables/asyncData';
|
||||
export { useHydration } from '#app/composables/hydrate';
|
||||
export { callOnce } from '#app/composables/once';
|
||||
export { useState, clearNuxtState } from '#app/composables/state';
|
||||
export { clearError, createError, isNuxtError, showError, useError } from '#app/composables/error';
|
||||
export { useFetch, useLazyFetch, createUseFetch } from '#app/composables/fetch';
|
||||
export { useCookie, refreshCookie } from '#app/composables/cookie';
|
||||
export { onPrehydrate, prerenderRoutes, useRequestHeader, useRequestHeaders, useResponseHeader, useRequestEvent, useRequestFetch, setResponseStatus } from '#app/composables/ssr';
|
||||
export { onNuxtReady } from '#app/composables/ready';
|
||||
export { preloadComponents, prefetchComponents, preloadRouteComponents } from '#app/composables/preload';
|
||||
export { abortNavigation, addRouteMiddleware, defineNuxtRouteMiddleware, setPageLayout, navigateTo, useRoute, useRouter } from '#app/composables/router';
|
||||
export { isPrerendered, loadPayload, preloadPayload, definePayloadReducer, definePayloadReviver } from '#app/composables/payload';
|
||||
export { useLoadingIndicator } from '#app/composables/loading-indicator';
|
||||
export { getAppManifest, getRouteRules } from '#app/composables/manifest';
|
||||
export { reloadNuxtApp } from '#app/composables/chunk';
|
||||
export { useRequestURL } from '#app/composables/url';
|
||||
export { usePreviewMode } from '#app/composables/preview';
|
||||
export { useRouteAnnouncer } from '#app/composables/route-announcer';
|
||||
export { useAnnouncer } from '#app/composables/announcer';
|
||||
export { useRuntimeHook } from '#app/composables/runtime-hook';
|
||||
export { useHead, useHeadSafe, useServerHeadSafe, useServerHead, useSeoMeta, useServerSeoMeta, injectHead } from '#app/composables/head';
|
||||
export { onBeforeRouteLeave, onBeforeRouteUpdate, useLink } from 'vue-router';
|
||||
export { withCtx, withDirectives, withKeys, withMemo, withModifiers, withScopeId, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onServerPrefetch, onUnmounted, onUpdated, computed, customRef, isProxy, isReactive, isReadonly, isRef, markRaw, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, toRaw, toRef, toRefs, triggerRef, unref, watch, watchEffect, watchPostEffect, watchSyncEffect, onWatcherCleanup, isShallow, effect, effectScope, getCurrentScope, onScopeDispose, defineComponent, defineAsyncComponent, resolveComponent, getCurrentInstance, h, inject, hasInjectionContext, nextTick, provide, toValue, useModel, useAttrs, useCssModule, useSlots, useTransitionState, useId, useTemplateRef, useShadowRoot, useCssVars, Component, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue';
|
||||
export { requestIdleCallback, cancelIdleCallback } from '#app/compat/idle-callback';
|
||||
export { setInterval } from '#app/compat/interval';
|
||||
export { message, notification, Modal, App } from '../node_modules/.pnpm/@ant-design-vue+nuxt@1.4.6_ant-design-vue@4.2.6_vue@3.5.40_typescript@6.0.3___magicast@0.5.3__hnxw5qdihmqhvtqmax6xmy3xiy/node_modules/@ant-design-vue/nuxt/dist/runtime/antd';
|
||||
export { definePageMeta, PageMeta } from '#app/composables/pages';
|
||||
export { defineLazyHydrationComponent } from '#app/composables/lazy-hydration';
|
||||
export { useApp } from '../app/composables/useApp';
|
||||
export { useCms } from '../app/composables/useCms';
|
||||
export { useConsult, ConsultPreset } from '../app/composables/useConsult';
|
||||
export { useContactForm } from '../app/composables/useContactForm';
|
||||
export { useFeatures } from '../app/composables/useFeatures';
|
||||
export { useFileUrl } from '../app/composables/useFileUrl';
|
||||
export { useModuleRoute } from '../app/composables/useModuleRoute';
|
||||
export { usePageSeo, useJsonLd, useOrganizationSeo, useBreadcrumbSeo } from '../app/composables/usePageSeo';
|
||||
export { useRecommend, RecommendType, UseRecommendOptions, UseRecommendReturn } from '../app/composables/useRecommend';
|
||||
export { useSite } from '../app/composables/useSite';
|
||||
export { useSubscription } from '../app/composables/useSubscription';
|
||||
export { useTemplate, TemplateConfig, TemplateComponents } from '../app/composables/useTemplate';
|
||||
export { useTenant } from '../app/composables/useTenant';
|
||||
export { mapNavTitle, findPageBySlug, safeJsonParse, truncate, toTemplateKey, resolveTemplateKey, getNavLink, getBannerLink, stripHtml } from '../app/utils/index';
|
||||
export { ensureFullUrl, getCompressedImageUrl, ImageCompressOptions } from '../app/utils/image';
|
||||
export { collectDescendantNavIds, isParentNavigation } from '../app/utils/nav-tree';
|
||||
export { normalizePhone, validatePhone } from '../app/utils/validators';
|
||||
Reference in New Issue
Block a user