feat(app): 添加多模板关于我们页面及相关路由和404页面
- 新增404页面,优化未找到页面体验,避免被搜索引擎索引 - 增加文件代理接口,隐藏真实文件服务器地址,支持文件请求代理 - 实现/article、/case、/product及/page动态路由兼容列表与详情展示 - 添加动态CMS页面兼容入口处理旧式路径,统一路由与SEO设置 - 新增模板1、模板7、模板2、模板3关于我们页面,实现多模板支持 - 模板增强支持CMS单页内容加载及SEO信息动态设置 - 配置环境变量及Git忽略文件规则辅助开发和构建环境管理
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
<template>
|
||||
<div class="min-h-screen flex items-center justify-center bg-gradient-to-br from-[var(--t2-primary)] to-[var(--t2-primary-dark)] text-white">
|
||||
<div class="container mx-auto px-4 sm:px-6 lg:px-8">
|
||||
<div class="max-w-2xl mx-auto text-center">
|
||||
<div class="w-20 h-20 mx-auto mb-8 rounded-full bg-white/20 flex items-center justify-center">
|
||||
<svg class="w-10 h-10 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />
|
||||
</svg>
|
||||
</div>
|
||||
|
||||
<h1 class="text-3xl sm:text-4xl font-bold mb-4">
|
||||
网站服务已到期
|
||||
</h1>
|
||||
<p class="text-lg text-[var(--t2-primary-light)] mb-8">
|
||||
您访问的企业官网服务已过期,请联系管理员续费以恢复正常访问。
|
||||
</p>
|
||||
|
||||
<div class="bg-white/10 backdrop-blur-sm rounded-2xl p-6 sm:p-8 mb-8 text-left">
|
||||
<h2 class="text-xl font-semibold mb-4">续费后可继续使用</h2>
|
||||
<ul class="space-y-3 text-[var(--t2-primary-light)]">
|
||||
<li class="flex items-center gap-2">
|
||||
<svg class="w-5 h-5 flex-shrink-0" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7" />
|
||||
</svg>
|
||||
企业官网正常展示
|
||||
</li>
|
||||
<li class="flex items-center gap-2">
|
||||
<svg class="w-5 h-5 flex-shrink-0" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7" />
|
||||
</svg>
|
||||
产品/案例/新闻内容展示
|
||||
</li>
|
||||
<li class="flex items-center gap-2">
|
||||
<svg class="w-5 h-5 flex-shrink-0" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7" />
|
||||
</svg>
|
||||
在线留言与客户咨询
|
||||
</li>
|
||||
<li class="flex items-center gap-2">
|
||||
<svg class="w-5 h-5 flex-shrink-0" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7" />
|
||||
</svg>
|
||||
独立域名访问
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<button
|
||||
class="inline-flex items-center justify-center px-8 py-3 bg-white text-[var(--t2-primary)] font-semibold rounded-lg hover:bg-[var(--t2-primary-light)] transition-colors"
|
||||
@click="goToRenew"
|
||||
>
|
||||
立即续费
|
||||
</button>
|
||||
|
||||
<p v-if="siteInfo?.phone" class="mt-6 text-sm text-[var(--t2-primary-light)]">
|
||||
如需帮助,请拨打:{{ siteInfo.phone }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
/**
|
||||
* 模板 1 - 续费引导页
|
||||
*/
|
||||
const { siteInfo, fetchSiteInfo } = useSite()
|
||||
|
||||
await fetchSiteInfo()
|
||||
|
||||
definePageMeta({
|
||||
layout: 'blank'
|
||||
})
|
||||
|
||||
function goToRenew() {
|
||||
// 实际项目中应跳转 SaaS 管理后台续费页面
|
||||
const appId = useRuntimeConfig().public.appId
|
||||
window.open(`/api/subscription/renew?appId=${appId}`, '_blank')
|
||||
}
|
||||
</script>
|
||||
Reference in New Issue
Block a user