Compare commits
3 Commits
f882d04b5b
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 91dbc161a0 | |||
| 62675a6137 | |||
| 74b0c0e918 |
@@ -82,6 +82,12 @@
|
||||
window.jWeixin = window.wx;
|
||||
delete window.wx;
|
||||
</script>
|
||||
|
||||
<!-- 阿里云滑块验证码 -->
|
||||
<script>
|
||||
window.AliyunCaptchaConfig = { region: "cn", prefix: "12zxnj" };
|
||||
</script>
|
||||
<script type="text/javascript" src="https://o.alicdn.com/captcha-frontend/aliyunCaptcha/AliyunCaptcha.js"></script>
|
||||
|
||||
<!-- 预加载关键资源 -->
|
||||
<link rel="preconnect" href="https://www.zhinengcha.cn">
|
||||
@@ -181,6 +187,8 @@
|
||||
<div class="loading-text">加载中</div>
|
||||
</div>
|
||||
<div id="app"></div>
|
||||
<!-- 阿里云验证码挂载容器 -->
|
||||
<div id="captcha-element"></div>
|
||||
|
||||
<script type="module" src="/src/main.js"></script>
|
||||
</body>
|
||||
|
||||
119
public/seo-templates/agent.html
Normal file
119
public/seo-templates/agent.html
Normal file
@@ -0,0 +1,119 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
|
||||
<!-- 页面标题 -->
|
||||
<title>智能查代理 - 免费开通代理权限 | 大数据风险报告代理</title>
|
||||
|
||||
<!-- SEO Meta标签 -->
|
||||
<meta name="description" content="智能查代理平台,免费开通代理权限,享受大数据风险报告查询服务代理收益。专业的大数据风险报告、婚姻查询、个人信用评估等服务的代理合作。">
|
||||
<meta name="keywords" content="智能查代理, 免费代理, 大数据风险报告代理, 代理权限, 代理收益">
|
||||
|
||||
<!-- Open Graph标签 -->
|
||||
<meta property="og:title" content="智能查代理 - 免费开通代理权限 | 大数据风险报告代理">
|
||||
<meta property="og:description" content="智能查代理平台,免费开通代理权限,享受大数据风险报告查询服务代理收益。专业的大数据风险报告、婚姻查询、个人信用评估等服务的代理合作。">
|
||||
<meta property="og:url" content="https://www.zhinengcha.cn/agent">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:site_name" content="智能查">
|
||||
<meta property="og:locale" content="zh_CN">
|
||||
|
||||
<!-- Twitter Cards -->
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:title" content="智能查代理 - 免费开通代理权限 | 大数据风险报告代理">
|
||||
<meta name="twitter:description" content="智能查代理平台,免费开通代理权限,享受大数据风险报告查询服务代理收益。专业的大数据风险报告、婚姻查询、个人信用评估等服务的代理合作。">
|
||||
<meta name="twitter:url" content="https://www.zhinengcha.cn/agent">
|
||||
|
||||
<!-- Canonical URL -->
|
||||
<link rel="canonical" href="https://www.zhinengcha.cn/agent">
|
||||
|
||||
<!-- 结构化数据 -->
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "WebPage",
|
||||
"name": "智能查代理 - 免费开通代理权限 | 大数据风险报告代理",
|
||||
"description": "智能查代理平台,免费开通代理权限,享受大数据风险报告查询服务代理收益。专业的大数据风险报告、婚姻查询、个人信用评估等服务的代理合作。",
|
||||
"url": "https://www.zhinengcha.cn/agent",
|
||||
"mainEntity": {
|
||||
"@type": "Organization",
|
||||
"name": "智能查",
|
||||
"url": "https://www.zhinengcha.cn/",
|
||||
"description": "专业大数据风险报告查询与代理平台,支持个人和企业多场景风控应用"
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<!-- 其他Meta标签 -->
|
||||
<meta name="robots" content="index, follow">
|
||||
<meta name="googlebot" content="index, follow">
|
||||
<meta name="baiduspider" content="index, follow">
|
||||
|
||||
<style>
|
||||
body {
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
line-height: 1.6;
|
||||
}
|
||||
.seo-content {
|
||||
max-width: 1200px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
}
|
||||
h1 { color: #333; }
|
||||
p { color: #666; }
|
||||
.redirect-notice {
|
||||
background: #fff3cd;
|
||||
border: 1px solid #ffc107;
|
||||
color: #856404;
|
||||
padding: 10px;
|
||||
margin: 20px 0;
|
||||
border-radius: 4px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="seo-content">
|
||||
<h1>智能查代理 - 免费开通代理权限 | 大数据风险报告代理</h1>
|
||||
|
||||
<div class="redirect-notice">
|
||||
<p>正在跳转到完整版网站...</p>
|
||||
<p>如果浏览器没有自动跳转,请 <a href="https://www.zhinengcha.cn/agent">点击这里</a></p>
|
||||
</div>
|
||||
|
||||
<p>智能查代理平台,免费开通代理权限,享受大数据风险报告查询服务代理收益。专业的大数据风险报告、婚姻查询、个人信用评估等服务的代理合作。</p>
|
||||
|
||||
<!-- 这里可以添加更多SEO友好的静态内容 -->
|
||||
<section>
|
||||
<h2>关于智能查</h2>
|
||||
<p>智能查是专业的大数据风险报告查询与代理平台,提供全方位的风险查询服务。我们的核心使命是帮助用户高效识别信用与风险。</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>核心服务</h2>
|
||||
<ul>
|
||||
<li>个人综合履约能力画像</li>
|
||||
<li>商业背景真实性核验</li>
|
||||
<li>婚前综合背景了解</li>
|
||||
<li>涉婚司法风险评估</li>
|
||||
<li>情感诚意度报告</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>为什么选择智能查</h2>
|
||||
<p>智能查依托大数据技术,为用户提供准确、及时的婚恋风险评估报告,帮助您做出明智决策。</p>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
// 可选:自动跳转到SPA应用
|
||||
// setTimeout(function() {
|
||||
// window.location.href = 'https://www.zhinengcha.cn/agent';
|
||||
// }, 2000);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
119
public/seo-templates/example.html
Normal file
119
public/seo-templates/example.html
Normal file
@@ -0,0 +1,119 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
|
||||
<!-- 页面标题 -->
|
||||
<title>示例报告 - 智能查报告展示 | 大数据风险报告样例</title>
|
||||
|
||||
<!-- SEO Meta标签 -->
|
||||
<meta name="description" content="智能查示例报告展示,包含大数据风险报告、婚姻状况查询、个人信用评估等服务的报告样例,让用户了解报告内容和格式。">
|
||||
<meta name="keywords" content="示例报告, 报告展示, 报告样例, 大数据风险报告, 婚姻查询报告">
|
||||
|
||||
<!-- Open Graph标签 -->
|
||||
<meta property="og:title" content="示例报告 - 智能查报告展示 | 大数据风险报告样例">
|
||||
<meta property="og:description" content="智能查示例报告展示,包含大数据风险报告、婚姻状况查询、个人信用评估等服务的报告样例,让用户了解报告内容和格式。">
|
||||
<meta property="og:url" content="https://www.zhinengcha.cn/example">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:site_name" content="智能查">
|
||||
<meta property="og:locale" content="zh_CN">
|
||||
|
||||
<!-- Twitter Cards -->
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:title" content="示例报告 - 智能查报告展示 | 大数据风险报告样例">
|
||||
<meta name="twitter:description" content="智能查示例报告展示,包含大数据风险报告、婚姻状况查询、个人信用评估等服务的报告样例,让用户了解报告内容和格式。">
|
||||
<meta name="twitter:url" content="https://www.zhinengcha.cn/example">
|
||||
|
||||
<!-- Canonical URL -->
|
||||
<link rel="canonical" href="https://www.zhinengcha.cn/example">
|
||||
|
||||
<!-- 结构化数据 -->
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "WebPage",
|
||||
"name": "示例报告 - 智能查报告展示 | 大数据风险报告样例",
|
||||
"description": "智能查示例报告展示,包含大数据风险报告、婚姻状况查询、个人信用评估等服务的报告样例,让用户了解报告内容和格式。",
|
||||
"url": "https://www.zhinengcha.cn/example",
|
||||
"mainEntity": {
|
||||
"@type": "Organization",
|
||||
"name": "智能查",
|
||||
"url": "https://www.zhinengcha.cn/",
|
||||
"description": "专业大数据风险报告查询与代理平台,支持个人和企业多场景风控应用"
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<!-- 其他Meta标签 -->
|
||||
<meta name="robots" content="index, follow">
|
||||
<meta name="googlebot" content="index, follow">
|
||||
<meta name="baiduspider" content="index, follow">
|
||||
|
||||
<style>
|
||||
body {
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
line-height: 1.6;
|
||||
}
|
||||
.seo-content {
|
||||
max-width: 1200px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
}
|
||||
h1 { color: #333; }
|
||||
p { color: #666; }
|
||||
.redirect-notice {
|
||||
background: #fff3cd;
|
||||
border: 1px solid #ffc107;
|
||||
color: #856404;
|
||||
padding: 10px;
|
||||
margin: 20px 0;
|
||||
border-radius: 4px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="seo-content">
|
||||
<h1>示例报告 - 智能查报告展示 | 大数据风险报告样例</h1>
|
||||
|
||||
<div class="redirect-notice">
|
||||
<p>正在跳转到完整版网站...</p>
|
||||
<p>如果浏览器没有自动跳转,请 <a href="https://www.zhinengcha.cn/example">点击这里</a></p>
|
||||
</div>
|
||||
|
||||
<p>智能查示例报告展示,包含大数据风险报告、婚姻状况查询、个人信用评估等服务的报告样例,让用户了解报告内容和格式。</p>
|
||||
|
||||
<!-- 这里可以添加更多SEO友好的静态内容 -->
|
||||
<section>
|
||||
<h2>关于智能查</h2>
|
||||
<p>智能查是专业的大数据风险报告查询与代理平台,提供全方位的风险查询服务。我们的核心使命是帮助用户高效识别信用与风险。</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>核心服务</h2>
|
||||
<ul>
|
||||
<li>个人综合履约能力画像</li>
|
||||
<li>商业背景真实性核验</li>
|
||||
<li>婚前综合背景了解</li>
|
||||
<li>涉婚司法风险评估</li>
|
||||
<li>情感诚意度报告</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>为什么选择智能查</h2>
|
||||
<p>智能查依托大数据技术,为用户提供准确、及时的婚恋风险评估报告,帮助您做出明智决策。</p>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
// 可选:自动跳转到SPA应用
|
||||
// setTimeout(function() {
|
||||
// window.location.href = 'https://www.zhinengcha.cn/example';
|
||||
// }, 2000);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
119
public/seo-templates/help-guide.html
Normal file
119
public/seo-templates/help-guide.html
Normal file
@@ -0,0 +1,119 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
|
||||
<!-- 页面标题 -->
|
||||
<title>使用指南 - 智能查操作教程 | 功能说明</title>
|
||||
|
||||
<!-- SEO Meta标签 -->
|
||||
<meta name="description" content="智能查详细使用指南,包含各功能模块的操作教程、功能说明、注意事项等,让用户快速上手使用。">
|
||||
<meta name="keywords" content="使用指南, 操作教程, 功能说明, 快速上手, 智能查教程">
|
||||
|
||||
<!-- Open Graph标签 -->
|
||||
<meta property="og:title" content="使用指南 - 智能查操作教程 | 功能说明">
|
||||
<meta property="og:description" content="智能查详细使用指南,包含各功能模块的操作教程、功能说明、注意事项等,让用户快速上手使用。">
|
||||
<meta property="og:url" content="https://www.zhinengcha.cn/help/guide">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:site_name" content="智能查">
|
||||
<meta property="og:locale" content="zh_CN">
|
||||
|
||||
<!-- Twitter Cards -->
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:title" content="使用指南 - 智能查操作教程 | 功能说明">
|
||||
<meta name="twitter:description" content="智能查详细使用指南,包含各功能模块的操作教程、功能说明、注意事项等,让用户快速上手使用。">
|
||||
<meta name="twitter:url" content="https://www.zhinengcha.cn/help/guide">
|
||||
|
||||
<!-- Canonical URL -->
|
||||
<link rel="canonical" href="https://www.zhinengcha.cn/help/guide">
|
||||
|
||||
<!-- 结构化数据 -->
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "WebPage",
|
||||
"name": "使用指南 - 智能查操作教程 | 功能说明",
|
||||
"description": "智能查详细使用指南,包含各功能模块的操作教程、功能说明、注意事项等,让用户快速上手使用。",
|
||||
"url": "https://www.zhinengcha.cn/help/guide",
|
||||
"mainEntity": {
|
||||
"@type": "Organization",
|
||||
"name": "智能查",
|
||||
"url": "https://www.zhinengcha.cn/",
|
||||
"description": "专业大数据风险报告查询与代理平台,支持个人和企业多场景风控应用"
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<!-- 其他Meta标签 -->
|
||||
<meta name="robots" content="index, follow">
|
||||
<meta name="googlebot" content="index, follow">
|
||||
<meta name="baiduspider" content="index, follow">
|
||||
|
||||
<style>
|
||||
body {
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
line-height: 1.6;
|
||||
}
|
||||
.seo-content {
|
||||
max-width: 1200px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
}
|
||||
h1 { color: #333; }
|
||||
p { color: #666; }
|
||||
.redirect-notice {
|
||||
background: #fff3cd;
|
||||
border: 1px solid #ffc107;
|
||||
color: #856404;
|
||||
padding: 10px;
|
||||
margin: 20px 0;
|
||||
border-radius: 4px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="seo-content">
|
||||
<h1>使用指南 - 智能查操作教程 | 功能说明</h1>
|
||||
|
||||
<div class="redirect-notice">
|
||||
<p>正在跳转到完整版网站...</p>
|
||||
<p>如果浏览器没有自动跳转,请 <a href="https://www.zhinengcha.cn/help/guide">点击这里</a></p>
|
||||
</div>
|
||||
|
||||
<p>智能查详细使用指南,包含各功能模块的操作教程、功能说明、注意事项等,让用户快速上手使用。</p>
|
||||
|
||||
<!-- 这里可以添加更多SEO友好的静态内容 -->
|
||||
<section>
|
||||
<h2>关于智能查</h2>
|
||||
<p>智能查是专业的大数据风险报告查询与代理平台,提供全方位的风险查询服务。我们的核心使命是帮助用户高效识别信用与风险。</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>核心服务</h2>
|
||||
<ul>
|
||||
<li>个人综合履约能力画像</li>
|
||||
<li>商业背景真实性核验</li>
|
||||
<li>婚前综合背景了解</li>
|
||||
<li>涉婚司法风险评估</li>
|
||||
<li>情感诚意度报告</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>为什么选择智能查</h2>
|
||||
<p>智能查依托大数据技术,为用户提供准确、及时的婚恋风险评估报告,帮助您做出明智决策。</p>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
// 可选:自动跳转到SPA应用
|
||||
// setTimeout(function() {
|
||||
// window.location.href = 'https://www.zhinengcha.cn/help/guide';
|
||||
// }, 2000);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
119
public/seo-templates/help.html
Normal file
119
public/seo-templates/help.html
Normal file
@@ -0,0 +1,119 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
|
||||
<!-- 页面标题 -->
|
||||
<title>帮助中心 - 智能查使用指南 | 常见问题解答</title>
|
||||
|
||||
<!-- SEO Meta标签 -->
|
||||
<meta name="description" content="智能查帮助中心,提供详细的使用指南、常见问题解答、操作教程等,帮助用户更好地使用大数据风险报告查询服务。">
|
||||
<meta name="keywords" content="智能查帮助, 使用指南, 常见问题, 操作教程, 客服支持">
|
||||
|
||||
<!-- Open Graph标签 -->
|
||||
<meta property="og:title" content="帮助中心 - 智能查使用指南 | 常见问题解答">
|
||||
<meta property="og:description" content="智能查帮助中心,提供详细的使用指南、常见问题解答、操作教程等,帮助用户更好地使用大数据风险报告查询服务。">
|
||||
<meta property="og:url" content="https://www.zhinengcha.cn/help">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:site_name" content="智能查">
|
||||
<meta property="og:locale" content="zh_CN">
|
||||
|
||||
<!-- Twitter Cards -->
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:title" content="帮助中心 - 智能查使用指南 | 常见问题解答">
|
||||
<meta name="twitter:description" content="智能查帮助中心,提供详细的使用指南、常见问题解答、操作教程等,帮助用户更好地使用大数据风险报告查询服务。">
|
||||
<meta name="twitter:url" content="https://www.zhinengcha.cn/help">
|
||||
|
||||
<!-- Canonical URL -->
|
||||
<link rel="canonical" href="https://www.zhinengcha.cn/help">
|
||||
|
||||
<!-- 结构化数据 -->
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "WebPage",
|
||||
"name": "帮助中心 - 智能查使用指南 | 常见问题解答",
|
||||
"description": "智能查帮助中心,提供详细的使用指南、常见问题解答、操作教程等,帮助用户更好地使用大数据风险报告查询服务。",
|
||||
"url": "https://www.zhinengcha.cn/help",
|
||||
"mainEntity": {
|
||||
"@type": "Organization",
|
||||
"name": "智能查",
|
||||
"url": "https://www.zhinengcha.cn/",
|
||||
"description": "专业大数据风险报告查询与代理平台,支持个人和企业多场景风控应用"
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<!-- 其他Meta标签 -->
|
||||
<meta name="robots" content="index, follow">
|
||||
<meta name="googlebot" content="index, follow">
|
||||
<meta name="baiduspider" content="index, follow">
|
||||
|
||||
<style>
|
||||
body {
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
line-height: 1.6;
|
||||
}
|
||||
.seo-content {
|
||||
max-width: 1200px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
}
|
||||
h1 { color: #333; }
|
||||
p { color: #666; }
|
||||
.redirect-notice {
|
||||
background: #fff3cd;
|
||||
border: 1px solid #ffc107;
|
||||
color: #856404;
|
||||
padding: 10px;
|
||||
margin: 20px 0;
|
||||
border-radius: 4px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="seo-content">
|
||||
<h1>帮助中心 - 智能查使用指南 | 常见问题解答</h1>
|
||||
|
||||
<div class="redirect-notice">
|
||||
<p>正在跳转到完整版网站...</p>
|
||||
<p>如果浏览器没有自动跳转,请 <a href="https://www.zhinengcha.cn/help">点击这里</a></p>
|
||||
</div>
|
||||
|
||||
<p>智能查帮助中心,提供详细的使用指南、常见问题解答、操作教程等,帮助用户更好地使用大数据风险报告查询服务。</p>
|
||||
|
||||
<!-- 这里可以添加更多SEO友好的静态内容 -->
|
||||
<section>
|
||||
<h2>关于智能查</h2>
|
||||
<p>智能查是专业的大数据风险报告查询与代理平台,提供全方位的风险查询服务。我们的核心使命是帮助用户高效识别信用与风险。</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>核心服务</h2>
|
||||
<ul>
|
||||
<li>个人综合履约能力画像</li>
|
||||
<li>商业背景真实性核验</li>
|
||||
<li>婚前综合背景了解</li>
|
||||
<li>涉婚司法风险评估</li>
|
||||
<li>情感诚意度报告</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>为什么选择智能查</h2>
|
||||
<p>智能查依托大数据技术,为用户提供准确、及时的婚恋风险评估报告,帮助您做出明智决策。</p>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
// 可选:自动跳转到SPA应用
|
||||
// setTimeout(function() {
|
||||
// window.location.href = 'https://www.zhinengcha.cn/help';
|
||||
// }, 2000);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
119
public/seo-templates/index.html
Normal file
119
public/seo-templates/index.html
Normal file
@@ -0,0 +1,119 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
|
||||
<!-- 页面标题 -->
|
||||
<title>智能查|大数据风险报告查询与代理平台,支持个人和企业多场景风控应用</title>
|
||||
|
||||
<!-- SEO Meta标签 -->
|
||||
<meta name="description" content="智能查,专业大数据风险报告查询与代理平台,支持个人信用查询、小微企业风控、贷前风险背调等多场景报告应用,免费开通代理权限,助力高效识别信用与风险。">
|
||||
<meta name="keywords" content="大数据风险报告查询、大数据风险评估、大数据分析报告、个人大数据风险查询、小微企业风险、贷前风险背调、代理管理平台、免费开通代理、风险管控平台、信用风险分析、企业风险报告、贷前信用审核、失信人名单查询、被执行人信息、信用黑名单查询">
|
||||
|
||||
<!-- Open Graph标签 -->
|
||||
<meta property="og:title" content="智能查|大数据风险报告查询与代理平台,支持个人和企业多场景风控应用">
|
||||
<meta property="og:description" content="智能查,专业大数据风险报告查询与代理平台,支持个人信用查询、小微企业风控、贷前风险背调等多场景报告应用,免费开通代理权限,助力高效识别信用与风险。">
|
||||
<meta property="og:url" content="https://www.zhinengcha.cn">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:site_name" content="智能查">
|
||||
<meta property="og:locale" content="zh_CN">
|
||||
|
||||
<!-- Twitter Cards -->
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:title" content="智能查|大数据风险报告查询与代理平台,支持个人和企业多场景风控应用">
|
||||
<meta name="twitter:description" content="智能查,专业大数据风险报告查询与代理平台,支持个人信用查询、小微企业风控、贷前风险背调等多场景报告应用,免费开通代理权限,助力高效识别信用与风险。">
|
||||
<meta name="twitter:url" content="https://www.zhinengcha.cn">
|
||||
|
||||
<!-- Canonical URL -->
|
||||
<link rel="canonical" href="https://www.zhinengcha.cn">
|
||||
|
||||
<!-- 结构化数据 -->
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "WebPage",
|
||||
"name": "智能查|大数据风险报告查询与代理平台,支持个人和企业多场景风控应用",
|
||||
"description": "智能查,专业大数据风险报告查询与代理平台,支持个人信用查询、小微企业风控、贷前风险背调等多场景报告应用,免费开通代理权限,助力高效识别信用与风险。",
|
||||
"url": "https://www.zhinengcha.cn",
|
||||
"mainEntity": {
|
||||
"@type": "Organization",
|
||||
"name": "智能查",
|
||||
"url": "https://www.zhinengcha.cn/",
|
||||
"description": "专业大数据风险报告查询与代理平台,支持个人和企业多场景风控应用"
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<!-- 其他Meta标签 -->
|
||||
<meta name="robots" content="index, follow">
|
||||
<meta name="googlebot" content="index, follow">
|
||||
<meta name="baiduspider" content="index, follow">
|
||||
|
||||
<style>
|
||||
body {
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
line-height: 1.6;
|
||||
}
|
||||
.seo-content {
|
||||
max-width: 1200px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
}
|
||||
h1 { color: #333; }
|
||||
p { color: #666; }
|
||||
.redirect-notice {
|
||||
background: #fff3cd;
|
||||
border: 1px solid #ffc107;
|
||||
color: #856404;
|
||||
padding: 10px;
|
||||
margin: 20px 0;
|
||||
border-radius: 4px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="seo-content">
|
||||
<h1>智能查|大数据风险报告查询与代理平台,支持个人和企业多场景风控应用</h1>
|
||||
|
||||
<div class="redirect-notice">
|
||||
<p>正在跳转到完整版网站...</p>
|
||||
<p>如果浏览器没有自动跳转,请 <a href="https://www.zhinengcha.cn">点击这里</a></p>
|
||||
</div>
|
||||
|
||||
<p>智能查,专业大数据风险报告查询与代理平台,支持个人信用查询、小微企业风控、贷前风险背调等多场景报告应用,免费开通代理权限,助力高效识别信用与风险。</p>
|
||||
|
||||
<!-- 这里可以添加更多SEO友好的静态内容 -->
|
||||
<section>
|
||||
<h2>关于智能查</h2>
|
||||
<p>智能查是专业的大数据风险报告查询与代理平台,提供全方位的风险查询服务。我们的核心使命是帮助用户高效识别信用与风险。</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>核心服务</h2>
|
||||
<ul>
|
||||
<li>个人综合履约能力画像</li>
|
||||
<li>商业背景真实性核验</li>
|
||||
<li>婚前综合背景了解</li>
|
||||
<li>涉婚司法风险评估</li>
|
||||
<li>情感诚意度报告</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>为什么选择智能查</h2>
|
||||
<p>智能查依托大数据技术,为用户提供准确、及时的婚恋风险评估报告,帮助您做出明智决策。</p>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
// 可选:自动跳转到SPA应用
|
||||
// setTimeout(function() {
|
||||
// window.location.href = 'https://www.zhinengcha.cn';
|
||||
// }, 2000);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
119
public/seo-templates/inquire-companyinfo.html
Normal file
119
public/seo-templates/inquire-companyinfo.html
Normal file
@@ -0,0 +1,119 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
|
||||
<!-- 页面标题 -->
|
||||
<title>商业背景真实性核验_企业主经营实力与司法风险_智能查</title>
|
||||
|
||||
<!-- SEO Meta标签 -->
|
||||
<meta name="description" content="智能查企业版助您鉴别商业背景的真实性。一键核验目标对象的名下关联企业、工商变更记录、司法被执行信息及股权冻结状况。全方位评估经营实力与法律风险,规避商业合作或家庭资产联保隐患。">
|
||||
<meta name="keywords" content="商业背景核验,企业主信用评估,公司经营风险,工商信息核验,资产风险评估">
|
||||
|
||||
<!-- Open Graph标签 -->
|
||||
<meta property="og:title" content="商业背景真实性核验_企业主经营实力与司法风险_智能查">
|
||||
<meta property="og:description" content="智能查企业版助您鉴别商业背景的真实性。一键核验目标对象的名下关联企业、工商变更记录、司法被执行信息及股权冻结状况。全方位评估经营实力与法律风险,规避商业合作或家庭资产联保隐患。">
|
||||
<meta property="og:url" content="https://www.zhinengcha.cn/inquire/companyinfo">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:site_name" content="智能查">
|
||||
<meta property="og:locale" content="zh_CN">
|
||||
|
||||
<!-- Twitter Cards -->
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:title" content="商业背景真实性核验_企业主经营实力与司法风险_智能查">
|
||||
<meta name="twitter:description" content="智能查企业版助您鉴别商业背景的真实性。一键核验目标对象的名下关联企业、工商变更记录、司法被执行信息及股权冻结状况。全方位评估经营实力与法律风险,规避商业合作或家庭资产联保隐患。">
|
||||
<meta name="twitter:url" content="https://www.zhinengcha.cn/inquire/companyinfo">
|
||||
|
||||
<!-- Canonical URL -->
|
||||
<link rel="canonical" href="https://www.zhinengcha.cn/inquire/companyinfo">
|
||||
|
||||
<!-- 结构化数据 -->
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "WebPage",
|
||||
"name": "商业背景真实性核验_企业主经营实力与司法风险_智能查",
|
||||
"description": "智能查企业版助您鉴别商业背景的真实性。一键核验目标对象的名下关联企业、工商变更记录、司法被执行信息及股权冻结状况。全方位评估经营实力与法律风险,规避商业合作或家庭资产联保隐患。",
|
||||
"url": "https://www.zhinengcha.cn/inquire/companyinfo",
|
||||
"mainEntity": {
|
||||
"@type": "Organization",
|
||||
"name": "智能查",
|
||||
"url": "https://www.zhinengcha.cn/",
|
||||
"description": "专业大数据风险报告查询与代理平台,支持个人和企业多场景风控应用"
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<!-- 其他Meta标签 -->
|
||||
<meta name="robots" content="index, follow">
|
||||
<meta name="googlebot" content="index, follow">
|
||||
<meta name="baiduspider" content="index, follow">
|
||||
|
||||
<style>
|
||||
body {
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
line-height: 1.6;
|
||||
}
|
||||
.seo-content {
|
||||
max-width: 1200px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
}
|
||||
h1 { color: #333; }
|
||||
p { color: #666; }
|
||||
.redirect-notice {
|
||||
background: #fff3cd;
|
||||
border: 1px solid #ffc107;
|
||||
color: #856404;
|
||||
padding: 10px;
|
||||
margin: 20px 0;
|
||||
border-radius: 4px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="seo-content">
|
||||
<h1>商业背景真实性核验_企业主经营实力与司法风险_智能查</h1>
|
||||
|
||||
<div class="redirect-notice">
|
||||
<p>正在跳转到完整版网站...</p>
|
||||
<p>如果浏览器没有自动跳转,请 <a href="https://www.zhinengcha.cn/inquire/companyinfo">点击这里</a></p>
|
||||
</div>
|
||||
|
||||
<p>智能查企业版助您鉴别商业背景的真实性。一键核验目标对象的名下关联企业、工商变更记录、司法被执行信息及股权冻结状况。全方位评估经营实力与法律风险,规避商业合作或家庭资产联保隐患。</p>
|
||||
|
||||
<!-- 这里可以添加更多SEO友好的静态内容 -->
|
||||
<section>
|
||||
<h2>关于智能查</h2>
|
||||
<p>智能查是专业的大数据风险报告查询与代理平台,提供全方位的风险查询服务。我们的核心使命是帮助用户高效识别信用与风险。</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>核心服务</h2>
|
||||
<ul>
|
||||
<li>个人综合履约能力画像</li>
|
||||
<li>商业背景真实性核验</li>
|
||||
<li>婚前综合背景了解</li>
|
||||
<li>涉婚司法风险评估</li>
|
||||
<li>情感诚意度报告</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>为什么选择智能查</h2>
|
||||
<p>智能查依托大数据技术,为用户提供准确、及时的婚恋风险评估报告,帮助您做出明智决策。</p>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
// 可选:自动跳转到SPA应用
|
||||
// setTimeout(function() {
|
||||
// window.location.href = 'https://www.zhinengcha.cn/inquire/companyinfo';
|
||||
// }, 2000);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
119
public/seo-templates/inquire-marriage.html
Normal file
119
public/seo-templates/inquire-marriage.html
Normal file
@@ -0,0 +1,119 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
|
||||
<!-- 页面标题 -->
|
||||
<title>婚前综合背景了解_涉婚司法风险评估_情感诚意度报告_智能查</title>
|
||||
|
||||
<!-- SEO Meta标签 -->
|
||||
<meta name="description" content="智能查婚恋报告基于公开司法大数据,提供客观的婚前背景参考。深度评估对象的涉婚法律诉讼、失信被执行历史及社会不良标签。旨在消除信息不对称,辅助用户建立透明、安全的婚姻基础。">
|
||||
<meta name="keywords" content="婚前背景核验,恋爱对象风险,婚姻司法记录,情感互信报告,家庭履约风险">
|
||||
|
||||
<!-- Open Graph标签 -->
|
||||
<meta property="og:title" content="婚前综合背景了解_涉婚司法风险评估_情感诚意度报告_智能查">
|
||||
<meta property="og:description" content="智能查婚恋报告基于公开司法大数据,提供客观的婚前背景参考。深度评估对象的涉婚法律诉讼、失信被执行历史及社会不良标签。旨在消除信息不对称,辅助用户建立透明、安全的婚姻基础。">
|
||||
<meta property="og:url" content="https://www.zhinengcha.cn/inquire/marriage">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:site_name" content="智能查">
|
||||
<meta property="og:locale" content="zh_CN">
|
||||
|
||||
<!-- Twitter Cards -->
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:title" content="婚前综合背景了解_涉婚司法风险评估_情感诚意度报告_智能查">
|
||||
<meta name="twitter:description" content="智能查婚恋报告基于公开司法大数据,提供客观的婚前背景参考。深度评估对象的涉婚法律诉讼、失信被执行历史及社会不良标签。旨在消除信息不对称,辅助用户建立透明、安全的婚姻基础。">
|
||||
<meta name="twitter:url" content="https://www.zhinengcha.cn/inquire/marriage">
|
||||
|
||||
<!-- Canonical URL -->
|
||||
<link rel="canonical" href="https://www.zhinengcha.cn/inquire/marriage">
|
||||
|
||||
<!-- 结构化数据 -->
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "WebPage",
|
||||
"name": "婚前综合背景了解_涉婚司法风险评估_情感诚意度报告_智能查",
|
||||
"description": "智能查婚恋报告基于公开司法大数据,提供客观的婚前背景参考。深度评估对象的涉婚法律诉讼、失信被执行历史及社会不良标签。旨在消除信息不对称,辅助用户建立透明、安全的婚姻基础。",
|
||||
"url": "https://www.zhinengcha.cn/inquire/marriage",
|
||||
"mainEntity": {
|
||||
"@type": "Organization",
|
||||
"name": "智能查",
|
||||
"url": "https://www.zhinengcha.cn/",
|
||||
"description": "专业大数据风险报告查询与代理平台,支持个人和企业多场景风控应用"
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<!-- 其他Meta标签 -->
|
||||
<meta name="robots" content="index, follow">
|
||||
<meta name="googlebot" content="index, follow">
|
||||
<meta name="baiduspider" content="index, follow">
|
||||
|
||||
<style>
|
||||
body {
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
line-height: 1.6;
|
||||
}
|
||||
.seo-content {
|
||||
max-width: 1200px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
}
|
||||
h1 { color: #333; }
|
||||
p { color: #666; }
|
||||
.redirect-notice {
|
||||
background: #fff3cd;
|
||||
border: 1px solid #ffc107;
|
||||
color: #856404;
|
||||
padding: 10px;
|
||||
margin: 20px 0;
|
||||
border-radius: 4px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="seo-content">
|
||||
<h1>婚前综合背景了解_涉婚司法风险评估_情感诚意度报告_智能查</h1>
|
||||
|
||||
<div class="redirect-notice">
|
||||
<p>正在跳转到完整版网站...</p>
|
||||
<p>如果浏览器没有自动跳转,请 <a href="https://www.zhinengcha.cn/inquire/marriage">点击这里</a></p>
|
||||
</div>
|
||||
|
||||
<p>智能查婚恋报告基于公开司法大数据,提供客观的婚前背景参考。深度评估对象的涉婚法律诉讼、失信被执行历史及社会不良标签。旨在消除信息不对称,辅助用户建立透明、安全的婚姻基础。</p>
|
||||
|
||||
<!-- 这里可以添加更多SEO友好的静态内容 -->
|
||||
<section>
|
||||
<h2>关于智能查</h2>
|
||||
<p>智能查是专业的大数据风险报告查询与代理平台,提供全方位的风险查询服务。我们的核心使命是帮助用户高效识别信用与风险。</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>核心服务</h2>
|
||||
<ul>
|
||||
<li>个人综合履约能力画像</li>
|
||||
<li>商业背景真实性核验</li>
|
||||
<li>婚前综合背景了解</li>
|
||||
<li>涉婚司法风险评估</li>
|
||||
<li>情感诚意度报告</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>为什么选择智能查</h2>
|
||||
<p>智能查依托大数据技术,为用户提供准确、及时的婚恋风险评估报告,帮助您做出明智决策。</p>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
// 可选:自动跳转到SPA应用
|
||||
// setTimeout(function() {
|
||||
// window.location.href = 'https://www.zhinengcha.cn/inquire/marriage';
|
||||
// }, 2000);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
119
public/seo-templates/inquire-riskassessment.html
Normal file
119
public/seo-templates/inquire-riskassessment.html
Normal file
@@ -0,0 +1,119 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
|
||||
<!-- 页面标题 -->
|
||||
<title>个人综合履约能力画像_多维风险指数检测_信用健康度_智能查</title>
|
||||
|
||||
<!-- SEO Meta标签 -->
|
||||
<meta name="description" content="深度解析个人履约能力综合状况,辅助用户进行风险自查。报告维度包含历史履约趋势、多维生活经营风险指数及关联负面标签。数据客观中立,实时更新,帮助用户优化个人资信档案,提升生活经营能力。">
|
||||
<meta name="keywords" content="个人风险画像,履约能力评估,综合风险指数,信用健康体检,个人数据分析">
|
||||
|
||||
<!-- Open Graph标签 -->
|
||||
<meta property="og:title" content="个人综合履约能力画像_多维风险指数检测_信用健康度_智能查">
|
||||
<meta property="og:description" content="深度解析个人履约能力综合状况,辅助用户进行风险自查。报告维度包含历史履约趋势、多维生活经营风险指数及关联负面标签。数据客观中立,实时更新,帮助用户优化个人资信档案,提升生活经营能力。">
|
||||
<meta property="og:url" content="https://www.zhinengcha.cn/inquire/riskassessment">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:site_name" content="智能查">
|
||||
<meta property="og:locale" content="zh_CN">
|
||||
|
||||
<!-- Twitter Cards -->
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:title" content="个人综合履约能力画像_多维风险指数检测_信用健康度_智能查">
|
||||
<meta name="twitter:description" content="深度解析个人履约能力综合状况,辅助用户进行风险自查。报告维度包含历史履约趋势、多维生活经营风险指数及关联负面标签。数据客观中立,实时更新,帮助用户优化个人资信档案,提升生活经营能力。">
|
||||
<meta name="twitter:url" content="https://www.zhinengcha.cn/inquire/riskassessment">
|
||||
|
||||
<!-- Canonical URL -->
|
||||
<link rel="canonical" href="https://www.zhinengcha.cn/inquire/riskassessment">
|
||||
|
||||
<!-- 结构化数据 -->
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "WebPage",
|
||||
"name": "个人综合履约能力画像_多维风险指数检测_信用健康度_智能查",
|
||||
"description": "深度解析个人履约能力综合状况,辅助用户进行风险自查。报告维度包含历史履约趋势、多维生活经营风险指数及关联负面标签。数据客观中立,实时更新,帮助用户优化个人资信档案,提升生活经营能力。",
|
||||
"url": "https://www.zhinengcha.cn/inquire/riskassessment",
|
||||
"mainEntity": {
|
||||
"@type": "Organization",
|
||||
"name": "智能查",
|
||||
"url": "https://www.zhinengcha.cn/",
|
||||
"description": "专业大数据风险报告查询与代理平台,支持个人和企业多场景风控应用"
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<!-- 其他Meta标签 -->
|
||||
<meta name="robots" content="index, follow">
|
||||
<meta name="googlebot" content="index, follow">
|
||||
<meta name="baiduspider" content="index, follow">
|
||||
|
||||
<style>
|
||||
body {
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
line-height: 1.6;
|
||||
}
|
||||
.seo-content {
|
||||
max-width: 1200px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
}
|
||||
h1 { color: #333; }
|
||||
p { color: #666; }
|
||||
.redirect-notice {
|
||||
background: #fff3cd;
|
||||
border: 1px solid #ffc107;
|
||||
color: #856404;
|
||||
padding: 10px;
|
||||
margin: 20px 0;
|
||||
border-radius: 4px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="seo-content">
|
||||
<h1>个人综合履约能力画像_多维风险指数检测_信用健康度_智能查</h1>
|
||||
|
||||
<div class="redirect-notice">
|
||||
<p>正在跳转到完整版网站...</p>
|
||||
<p>如果浏览器没有自动跳转,请 <a href="https://www.zhinengcha.cn/inquire/riskassessment">点击这里</a></p>
|
||||
</div>
|
||||
|
||||
<p>深度解析个人履约能力综合状况,辅助用户进行风险自查。报告维度包含历史履约趋势、多维生活经营风险指数及关联负面标签。数据客观中立,实时更新,帮助用户优化个人资信档案,提升生活经营能力。</p>
|
||||
|
||||
<!-- 这里可以添加更多SEO友好的静态内容 -->
|
||||
<section>
|
||||
<h2>关于智能查</h2>
|
||||
<p>智能查是专业的大数据风险报告查询与代理平台,提供全方位的风险查询服务。我们的核心使命是帮助用户高效识别信用与风险。</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>核心服务</h2>
|
||||
<ul>
|
||||
<li>个人综合履约能力画像</li>
|
||||
<li>商业背景真实性核验</li>
|
||||
<li>婚前综合背景了解</li>
|
||||
<li>涉婚司法风险评估</li>
|
||||
<li>情感诚意度报告</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>为什么选择智能查</h2>
|
||||
<p>智能查依托大数据技术,为用户提供准确、及时的婚恋风险评估报告,帮助您做出明智决策。</p>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
// 可选:自动跳转到SPA应用
|
||||
// setTimeout(function() {
|
||||
// window.location.href = 'https://www.zhinengcha.cn/inquire/riskassessment';
|
||||
// }, 2000);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
119
public/seo-templates/promote.html
Normal file
119
public/seo-templates/promote.html
Normal file
@@ -0,0 +1,119 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
|
||||
<!-- 页面标题 -->
|
||||
<title>智能查合作伙伴计划_婚恋行业数字化风控解决方案_渠道招募</title>
|
||||
|
||||
<!-- SEO Meta标签 -->
|
||||
<meta name="description" content="智能查开放全国渠道合作,为婚介机构及情感咨询师提供专业的数据化风控工具。一键接入婚恋风险评估系统,支持推广海报生成与多级数据管理。正规项目,赋能合作伙伴,共同挖掘婚恋市场的合规商业价值。">
|
||||
<meta name="keywords" content="婚恋行业合作,情感咨询工具,风控系统代理,渠道合作伙伴,婚介数据服务">
|
||||
|
||||
<!-- Open Graph标签 -->
|
||||
<meta property="og:title" content="智能查合作伙伴计划_婚恋行业数字化风控解决方案_渠道招募">
|
||||
<meta property="og:description" content="智能查开放全国渠道合作,为婚介机构及情感咨询师提供专业的数据化风控工具。一键接入婚恋风险评估系统,支持推广海报生成与多级数据管理。正规项目,赋能合作伙伴,共同挖掘婚恋市场的合规商业价值。">
|
||||
<meta property="og:url" content="https://www.zhinengcha.cn/promote">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:site_name" content="智能查">
|
||||
<meta property="og:locale" content="zh_CN">
|
||||
|
||||
<!-- Twitter Cards -->
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:title" content="智能查合作伙伴计划_婚恋行业数字化风控解决方案_渠道招募">
|
||||
<meta name="twitter:description" content="智能查开放全国渠道合作,为婚介机构及情感咨询师提供专业的数据化风控工具。一键接入婚恋风险评估系统,支持推广海报生成与多级数据管理。正规项目,赋能合作伙伴,共同挖掘婚恋市场的合规商业价值。">
|
||||
<meta name="twitter:url" content="https://www.zhinengcha.cn/promote">
|
||||
|
||||
<!-- Canonical URL -->
|
||||
<link rel="canonical" href="https://www.zhinengcha.cn/promote">
|
||||
|
||||
<!-- 结构化数据 -->
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "WebPage",
|
||||
"name": "智能查合作伙伴计划_婚恋行业数字化风控解决方案_渠道招募",
|
||||
"description": "智能查开放全国渠道合作,为婚介机构及情感咨询师提供专业的数据化风控工具。一键接入婚恋风险评估系统,支持推广海报生成与多级数据管理。正规项目,赋能合作伙伴,共同挖掘婚恋市场的合规商业价值。",
|
||||
"url": "https://www.zhinengcha.cn/promote",
|
||||
"mainEntity": {
|
||||
"@type": "Organization",
|
||||
"name": "智能查",
|
||||
"url": "https://www.zhinengcha.cn/",
|
||||
"description": "专业大数据风险报告查询与代理平台,支持个人和企业多场景风控应用"
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<!-- 其他Meta标签 -->
|
||||
<meta name="robots" content="index, follow">
|
||||
<meta name="googlebot" content="index, follow">
|
||||
<meta name="baiduspider" content="index, follow">
|
||||
|
||||
<style>
|
||||
body {
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
line-height: 1.6;
|
||||
}
|
||||
.seo-content {
|
||||
max-width: 1200px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
}
|
||||
h1 { color: #333; }
|
||||
p { color: #666; }
|
||||
.redirect-notice {
|
||||
background: #fff3cd;
|
||||
border: 1px solid #ffc107;
|
||||
color: #856404;
|
||||
padding: 10px;
|
||||
margin: 20px 0;
|
||||
border-radius: 4px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="seo-content">
|
||||
<h1>智能查合作伙伴计划_婚恋行业数字化风控解决方案_渠道招募</h1>
|
||||
|
||||
<div class="redirect-notice">
|
||||
<p>正在跳转到完整版网站...</p>
|
||||
<p>如果浏览器没有自动跳转,请 <a href="https://www.zhinengcha.cn/promote">点击这里</a></p>
|
||||
</div>
|
||||
|
||||
<p>智能查开放全国渠道合作,为婚介机构及情感咨询师提供专业的数据化风控工具。一键接入婚恋风险评估系统,支持推广海报生成与多级数据管理。正规项目,赋能合作伙伴,共同挖掘婚恋市场的合规商业价值。</p>
|
||||
|
||||
<!-- 这里可以添加更多SEO友好的静态内容 -->
|
||||
<section>
|
||||
<h2>关于智能查</h2>
|
||||
<p>智能查是专业的大数据风险报告查询与代理平台,提供全方位的风险查询服务。我们的核心使命是帮助用户高效识别信用与风险。</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>核心服务</h2>
|
||||
<ul>
|
||||
<li>个人综合履约能力画像</li>
|
||||
<li>商业背景真实性核验</li>
|
||||
<li>婚前综合背景了解</li>
|
||||
<li>涉婚司法风险评估</li>
|
||||
<li>情感诚意度报告</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>为什么选择智能查</h2>
|
||||
<p>智能查依托大数据技术,为用户提供准确、及时的婚恋风险评估报告,帮助您做出明智决策。</p>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
// 可选:自动跳转到SPA应用
|
||||
// setTimeout(function() {
|
||||
// window.location.href = 'https://www.zhinengcha.cn/promote';
|
||||
// }, 2000);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
119
public/seo-templates/service.html
Normal file
119
public/seo-templates/service.html
Normal file
@@ -0,0 +1,119 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
|
||||
<!-- 页面标题 -->
|
||||
<title>客服中心 - 智能查在线客服 | 技术支持</title>
|
||||
|
||||
<!-- SEO Meta标签 -->
|
||||
<meta name="description" content="智能查客服中心,提供在线客服支持、技术咨询、问题反馈等服务,确保用户获得及时有效的帮助。">
|
||||
<meta name="keywords" content="客服中心, 在线客服, 技术支持, 问题反馈, 智能查客服">
|
||||
|
||||
<!-- Open Graph标签 -->
|
||||
<meta property="og:title" content="客服中心 - 智能查在线客服 | 技术支持">
|
||||
<meta property="og:description" content="智能查客服中心,提供在线客服支持、技术咨询、问题反馈等服务,确保用户获得及时有效的帮助。">
|
||||
<meta property="og:url" content="https://www.zhinengcha.cn/service">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:site_name" content="智能查">
|
||||
<meta property="og:locale" content="zh_CN">
|
||||
|
||||
<!-- Twitter Cards -->
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:title" content="客服中心 - 智能查在线客服 | 技术支持">
|
||||
<meta name="twitter:description" content="智能查客服中心,提供在线客服支持、技术咨询、问题反馈等服务,确保用户获得及时有效的帮助。">
|
||||
<meta name="twitter:url" content="https://www.zhinengcha.cn/service">
|
||||
|
||||
<!-- Canonical URL -->
|
||||
<link rel="canonical" href="https://www.zhinengcha.cn/service">
|
||||
|
||||
<!-- 结构化数据 -->
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "WebPage",
|
||||
"name": "客服中心 - 智能查在线客服 | 技术支持",
|
||||
"description": "智能查客服中心,提供在线客服支持、技术咨询、问题反馈等服务,确保用户获得及时有效的帮助。",
|
||||
"url": "https://www.zhinengcha.cn/service",
|
||||
"mainEntity": {
|
||||
"@type": "Organization",
|
||||
"name": "智能查",
|
||||
"url": "https://www.zhinengcha.cn/",
|
||||
"description": "专业大数据风险报告查询与代理平台,支持个人和企业多场景风控应用"
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<!-- 其他Meta标签 -->
|
||||
<meta name="robots" content="index, follow">
|
||||
<meta name="googlebot" content="index, follow">
|
||||
<meta name="baiduspider" content="index, follow">
|
||||
|
||||
<style>
|
||||
body {
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
line-height: 1.6;
|
||||
}
|
||||
.seo-content {
|
||||
max-width: 1200px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
}
|
||||
h1 { color: #333; }
|
||||
p { color: #666; }
|
||||
.redirect-notice {
|
||||
background: #fff3cd;
|
||||
border: 1px solid #ffc107;
|
||||
color: #856404;
|
||||
padding: 10px;
|
||||
margin: 20px 0;
|
||||
border-radius: 4px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="seo-content">
|
||||
<h1>客服中心 - 智能查在线客服 | 技术支持</h1>
|
||||
|
||||
<div class="redirect-notice">
|
||||
<p>正在跳转到完整版网站...</p>
|
||||
<p>如果浏览器没有自动跳转,请 <a href="https://www.zhinengcha.cn/service">点击这里</a></p>
|
||||
</div>
|
||||
|
||||
<p>智能查客服中心,提供在线客服支持、技术咨询、问题反馈等服务,确保用户获得及时有效的帮助。</p>
|
||||
|
||||
<!-- 这里可以添加更多SEO友好的静态内容 -->
|
||||
<section>
|
||||
<h2>关于智能查</h2>
|
||||
<p>智能查是专业的大数据风险报告查询与代理平台,提供全方位的风险查询服务。我们的核心使命是帮助用户高效识别信用与风险。</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>核心服务</h2>
|
||||
<ul>
|
||||
<li>个人综合履约能力画像</li>
|
||||
<li>商业背景真实性核验</li>
|
||||
<li>婚前综合背景了解</li>
|
||||
<li>涉婚司法风险评估</li>
|
||||
<li>情感诚意度报告</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>为什么选择智能查</h2>
|
||||
<p>智能查依托大数据技术,为用户提供准确、及时的婚恋风险评估报告,帮助您做出明智决策。</p>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
// 可选:自动跳转到SPA应用
|
||||
// setTimeout(function() {
|
||||
// window.location.href = 'https://www.zhinengcha.cn/service';
|
||||
// }, 2000);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
214
server/DEPLOY.md
Normal file
214
server/DEPLOY.md
Normal file
@@ -0,0 +1,214 @@
|
||||
# 智能查 SEO 服务部署指南(纯 Nginx 方案)
|
||||
|
||||
## 方案说明
|
||||
|
||||
使用纯 Nginx 配置实现爬虫检测,无需 Node.js 服务器。
|
||||
|
||||
**工作原理:**
|
||||
```
|
||||
请求 → Nginx 检测 User-Agent
|
||||
├─ 是爬虫 → 返回静态 SEO HTML 模板
|
||||
└─ 普通用户 → 返回 SPA 应用
|
||||
```
|
||||
|
||||
## 部署步骤
|
||||
|
||||
### 1. 构建前端项目
|
||||
|
||||
```bash
|
||||
cd /www/wwwroot/zhinengcha.cn
|
||||
npm run build
|
||||
```
|
||||
|
||||
### 2. 生成 SEO 模板到 dist 目录
|
||||
|
||||
```bash
|
||||
cd /www/wwwroot/zhinengcha.cn/server
|
||||
node generate-seo-templates.cjs
|
||||
```
|
||||
|
||||
生成后目录结构:
|
||||
```
|
||||
dist/
|
||||
├── index.html
|
||||
├── assets/
|
||||
└── seo-templates/
|
||||
├── index.html
|
||||
├── agent.html
|
||||
├── help.html
|
||||
├── ...
|
||||
```
|
||||
|
||||
### 3. 修改 Nginx 配置
|
||||
|
||||
将以下配置复制到宝塔面板的站点配置中:
|
||||
|
||||
```nginx
|
||||
server
|
||||
{
|
||||
listen 80;
|
||||
listen 443 ssl;
|
||||
listen 443 quic;
|
||||
listen [::]:443 ssl;
|
||||
listen [::]:443 quic;
|
||||
http2 on;
|
||||
listen [::]:80;
|
||||
server_name zhinengcha.cn www.zhinengcha.cn p.zhenaicha.cn;
|
||||
index index.html index.htm default.htm default.html;
|
||||
root /www/wwwroot/zhinengcha.cn/dist;
|
||||
#CERT-APPLY-CHECK--START
|
||||
# 用于SSL证书申请时的文件验证相关配置 -- 请勿删除并保持这段设置在优先级高的位置
|
||||
include /www/server/panel/vhost/nginx/well-known/zhinengcha.cn.conf;
|
||||
#CERT-APPLY-CHECK--END
|
||||
|
||||
#SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
|
||||
#error_page 404/404.html;
|
||||
ssl_certificate /www/server/panel/vhost/cert/zhinengcha.cn/fullchain.pem;
|
||||
ssl_certificate_key /www/server/panel/vhost/cert/zhinengcha.cn/privkey.pem;
|
||||
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
|
||||
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
|
||||
ssl_prefer_server_ciphers on;
|
||||
ssl_session_tickets on;
|
||||
ssl_session_cache shared:SSL:10m;
|
||||
ssl_session_timeout 10m;
|
||||
add_header Strict-Transport-Security "max-age=31536000";
|
||||
add_header Alt-Svc 'quic=":443"; h3=":443"; h3-29=":443"; h3-27=":443";h3-25=":443"; h3-T050=":443"; h3-Q050=":443";h3-Q049=":443";h3-Q048=":443"; h3-Q046=":443"; h3-Q043=":443"';
|
||||
error_page 497 https://$host$request_uri;
|
||||
|
||||
#SSL-END
|
||||
|
||||
#ERROR-PAGE-START 错误页配置,可以注释、删除或修改
|
||||
#error_page 404 /404.html;
|
||||
#error_page 502 /502.html;
|
||||
#ERROR-PAGE-END
|
||||
|
||||
#REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效
|
||||
include /www/server/panel/vhost/rewrite/html_zhinengcha.cn.conf;
|
||||
#REWRITE-END
|
||||
|
||||
#禁止访问的文件或目录
|
||||
location ~ ^/(\.user.ini|\.htaccess|\.git|\.env|\.svn|\.project|LICENSE|README.md)
|
||||
{
|
||||
return 404;
|
||||
}
|
||||
|
||||
#一键申请SSL证书验证目录相关设置
|
||||
location ~ \.well-known{
|
||||
allow all;
|
||||
}
|
||||
|
||||
# API 代理
|
||||
location /api/v1 {
|
||||
proxy_pass http://127.0.0.1:21004;
|
||||
proxy_set_header Host 127.0.0.1:$server_port;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header REMOTE-HOST $remote_addr;
|
||||
add_header X-Cache $upstream_cache_status;
|
||||
proxy_set_header X-Host $host:$server_port;
|
||||
proxy_set_header X-Scheme $scheme;
|
||||
proxy_connect_timeout 30s;
|
||||
proxy_read_timeout 86400s;
|
||||
proxy_send_timeout 30s;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
}
|
||||
|
||||
# 前端路由处理 - 爬虫检测返回静态SEO页面
|
||||
location / {
|
||||
set $seo_page 0;
|
||||
# 检测常见爬虫 User-Agent
|
||||
if ($http_user_agent ~* "(baiduspider|googlebot|bingbot|msnbot|360spider|sogou|youdaobot|twitterbot|facebookexternalhit|linkedinbot|bytespider)") {
|
||||
set $seo_page 1;
|
||||
}
|
||||
# 如果是爬虫,返回对应的 SEO 静态页面
|
||||
if ($seo_page = 1) {
|
||||
rewrite ^/$ /seo-templates/index.html last;
|
||||
}
|
||||
if ($seo_page = 1) {
|
||||
rewrite ^/agent$ /seo-templates/agent.html last;
|
||||
}
|
||||
if ($seo_page = 1) {
|
||||
rewrite ^/help$ /seo-templates/help.html last;
|
||||
}
|
||||
if ($seo_page = 1) {
|
||||
rewrite ^/help/guide$ /seo-templates/help-guide.html last;
|
||||
}
|
||||
if ($seo_page = 1) {
|
||||
rewrite ^/example$ /seo-templates/example.html last;
|
||||
}
|
||||
if ($seo_page = 1) {
|
||||
rewrite ^/service$ /seo-templates/service.html last;
|
||||
}
|
||||
if ($seo_page = 1) {
|
||||
rewrite ^/inquire/riskassessment$ /seo-templates/inquire-riskassessment.html last;
|
||||
}
|
||||
if ($seo_page = 1) {
|
||||
rewrite ^/inquire/companyinfo$ /seo-templates/inquire-companyinfo.html last;
|
||||
}
|
||||
if ($seo_page = 1) {
|
||||
rewrite ^/inquire/marriage$ /seo-templates/inquire-marriage.html last;
|
||||
}
|
||||
if ($seo_page = 1) {
|
||||
rewrite ^/promote$ /seo-templates/promote.html last;
|
||||
}
|
||||
# 普通用户返回 SPA
|
||||
try_files $uri $uri/ /index.html;
|
||||
}
|
||||
|
||||
# SEO 静态模板目录
|
||||
location /seo-templates {
|
||||
root /www/wwwroot/zhinengcha.cn/dist;
|
||||
internal;
|
||||
}
|
||||
|
||||
#禁止在证书验证目录放入敏感文件
|
||||
if ( $uri ~ "^/\.well-known/.*\.(php|jsp|py|js|css|lua|ts|go|zip|tar\.gz|rar|7z|sql|bak)$" ) {
|
||||
return 403;
|
||||
}
|
||||
|
||||
location ~ .*\\.(gif|jpg|jpeg|png|bmp|swf)$
|
||||
{
|
||||
expires 30d;
|
||||
error_log /dev/null;
|
||||
access_log /dev/null;
|
||||
}
|
||||
|
||||
location ~ .*\\.(js|css)?$
|
||||
{
|
||||
expires 12h;
|
||||
error_log /dev/null;
|
||||
access_log /dev/null;
|
||||
}
|
||||
access_log /www/wwwlogs/zhinengcha.cn.log;
|
||||
error_log /www/wwwlogs/zhinengcha.cn.error.log;
|
||||
}
|
||||
```
|
||||
|
||||
### 4. 重载 Nginx
|
||||
|
||||
```bash
|
||||
nginx -t && nginx -s reload
|
||||
```
|
||||
|
||||
## 验证部署
|
||||
|
||||
```bash
|
||||
# 模拟百度爬虫访问首页
|
||||
curl -A "Mozilla/5.0 (compatible; Baiduspider/2.0)" https://www.zhinengcha.cn/
|
||||
|
||||
# 模拟 Google 爬虫访问首页
|
||||
curl -A "Mozilla/5.0 (compatible; Googlebot/2.1)" https://www.zhinengcha.cn/
|
||||
|
||||
# 普通浏览器访问(应返回 SPA)
|
||||
curl -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/120.0.0.0" https://www.zhinengcha.cn/
|
||||
```
|
||||
|
||||
## 更新 SEO 配置
|
||||
|
||||
当修改 `useSEO.js` 中的 TDK 配置后:
|
||||
|
||||
1. 同步更新 `server/generate-seo-templates.cjs` 中的 `pageSEOConfigs`
|
||||
2. 重新生成模板:`node generate-seo-templates.cjs`
|
||||
3. 重新部署 `dist` 目录
|
||||
242
server/generate-seo-templates.cjs
Normal file
242
server/generate-seo-templates.cjs
Normal file
@@ -0,0 +1,242 @@
|
||||
/**
|
||||
* SEO模板生成器
|
||||
* 根据路由配置自动生成静态HTML模板
|
||||
*/
|
||||
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
|
||||
// 页面SEO配置(与useSEO.js保持一致)
|
||||
const pageSEOConfigs = {
|
||||
'index.html': {
|
||||
title: '智能查|大数据风险报告查询与代理平台,支持个人和企业多场景风控应用',
|
||||
description: '智能查,专业大数据风险报告查询与代理平台,支持个人信用查询、小微企业风控、贷前风险背调等多场景报告应用,免费开通代理权限,助力高效识别信用与风险。',
|
||||
keywords: '大数据风险报告查询、大数据风险评估、大数据分析报告、个人大数据风险查询、小微企业风险、贷前风险背调、代理管理平台、免费开通代理、风险管控平台、信用风险分析、企业风险报告、贷前信用审核、失信人名单查询、被执行人信息、信用黑名单查询',
|
||||
url: 'https://www.zhinengcha.cn'
|
||||
},
|
||||
'agent.html': {
|
||||
title: '智能查代理 - 免费开通代理权限 | 大数据风险报告代理',
|
||||
description: '智能查代理平台,免费开通代理权限,享受大数据风险报告查询服务代理收益。专业的大数据风险报告、婚姻查询、个人信用评估等服务的代理合作。',
|
||||
keywords: '智能查代理, 免费代理, 大数据风险报告代理, 代理权限, 代理收益',
|
||||
url: 'https://www.zhinengcha.cn/agent'
|
||||
},
|
||||
'help.html': {
|
||||
title: '帮助中心 - 智能查使用指南 | 常见问题解答',
|
||||
description: '智能查帮助中心,提供详细的使用指南、常见问题解答、操作教程等,帮助用户更好地使用大数据风险报告查询服务。',
|
||||
keywords: '智能查帮助, 使用指南, 常见问题, 操作教程, 客服支持',
|
||||
url: 'https://www.zhinengcha.cn/help'
|
||||
},
|
||||
'help-guide.html': {
|
||||
title: '使用指南 - 智能查操作教程 | 功能说明',
|
||||
description: '智能查详细使用指南,包含各功能模块的操作教程、功能说明、注意事项等,让用户快速上手使用。',
|
||||
keywords: '使用指南, 操作教程, 功能说明, 快速上手, 智能查教程',
|
||||
url: 'https://www.zhinengcha.cn/help/guide'
|
||||
},
|
||||
'example.html': {
|
||||
title: '示例报告 - 智能查报告展示 | 大数据风险报告样例',
|
||||
description: '智能查示例报告展示,包含大数据风险报告、婚姻状况查询、个人信用评估等服务的报告样例,让用户了解报告内容和格式。',
|
||||
keywords: '示例报告, 报告展示, 报告样例, 大数据风险报告, 婚姻查询报告',
|
||||
url: 'https://www.zhinengcha.cn/example'
|
||||
},
|
||||
'service.html': {
|
||||
title: '客服中心 - 智能查在线客服 | 技术支持',
|
||||
description: '智能查客服中心,提供在线客服支持、技术咨询、问题反馈等服务,确保用户获得及时有效的帮助。',
|
||||
keywords: '客服中心, 在线客服, 技术支持, 问题反馈, 智能查客服',
|
||||
url: 'https://www.zhinengcha.cn/service'
|
||||
},
|
||||
'inquire-riskassessment.html': {
|
||||
title: '个人综合履约能力画像_多维风险指数检测_信用健康度_智能查',
|
||||
description: '深度解析个人履约能力综合状况,辅助用户进行风险自查。报告维度包含历史履约趋势、多维生活经营风险指数及关联负面标签。数据客观中立,实时更新,帮助用户优化个人资信档案,提升生活经营能力。',
|
||||
keywords: '个人风险画像,履约能力评估,综合风险指数,信用健康体检,个人数据分析',
|
||||
url: 'https://www.zhinengcha.cn/inquire/riskassessment'
|
||||
},
|
||||
'inquire-companyinfo.html': {
|
||||
title: '商业背景真实性核验_企业主经营实力与司法风险_智能查',
|
||||
description: '智能查企业版助您鉴别商业背景的真实性。一键核验目标对象的名下关联企业、工商变更记录、司法被执行信息及股权冻结状况。全方位评估经营实力与法律风险,规避商业合作或家庭资产联保隐患。',
|
||||
keywords: '商业背景核验,企业主信用评估,公司经营风险,工商信息核验,资产风险评估',
|
||||
url: 'https://www.zhinengcha.cn/inquire/companyinfo'
|
||||
},
|
||||
'inquire-marriage.html': {
|
||||
title: '婚前综合背景了解_涉婚司法风险评估_情感诚意度报告_智能查',
|
||||
description: '智能查婚恋报告基于公开司法大数据,提供客观的婚前背景参考。深度评估对象的涉婚法律诉讼、失信被执行历史及社会不良标签。旨在消除信息不对称,辅助用户建立透明、安全的婚姻基础。',
|
||||
keywords: '婚前背景核验,恋爱对象风险,婚姻司法记录,情感互信报告,家庭履约风险',
|
||||
url: 'https://www.zhinengcha.cn/inquire/marriage'
|
||||
},
|
||||
'promote.html': {
|
||||
title: '智能查合作伙伴计划_婚恋行业数字化风控解决方案_渠道招募',
|
||||
description: '智能查开放全国渠道合作,为婚介机构及情感咨询师提供专业的数据化风控工具。一键接入婚恋风险评估系统,支持推广海报生成与多级数据管理。正规项目,赋能合作伙伴,共同挖掘婚恋市场的合规商业价值。',
|
||||
keywords: '婚恋行业合作,情感咨询工具,风控系统代理,渠道合作伙伴,婚介数据服务',
|
||||
url: 'https://www.zhinengcha.cn/promote'
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 规范化文案:移除损坏字符(U+FFFD),统一为中文标点,避免乱码
|
||||
*/
|
||||
function normalizeText(str) {
|
||||
if (typeof str !== 'string') return str
|
||||
return str
|
||||
.replace(/\uFFFD/g, '') // 移除 UTF-8 替换符(乱码)
|
||||
.replace(/。/g, '。')
|
||||
.replace(/、/g, '、')
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成HTML模板
|
||||
*/
|
||||
function generateHTMLTemplate(config) {
|
||||
const title = normalizeText(config.title)
|
||||
const description = normalizeText(config.description)
|
||||
const keywords = normalizeText(config.keywords)
|
||||
const structuredData = {
|
||||
"@context": "https://schema.org",
|
||||
"@type": "WebPage",
|
||||
"name": title,
|
||||
"description": description,
|
||||
"url": config.url,
|
||||
"mainEntity": {
|
||||
"@type": "Organization",
|
||||
"name": "智能查",
|
||||
"url": "https://www.zhinengcha.cn/",
|
||||
"description": "专业大数据风险报告查询与代理平台,支持个人和企业多场景风控应用"
|
||||
}
|
||||
}
|
||||
|
||||
return `<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
|
||||
<!-- 页面标题 -->
|
||||
<title>${title}</title>
|
||||
|
||||
<!-- SEO Meta标签 -->
|
||||
<meta name="description" content="${description}">
|
||||
<meta name="keywords" content="${keywords}">
|
||||
|
||||
<!-- Open Graph标签 -->
|
||||
<meta property="og:title" content="${title}">
|
||||
<meta property="og:description" content="${description}">
|
||||
<meta property="og:url" content="${config.url}">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:site_name" content="智能查">
|
||||
<meta property="og:locale" content="zh_CN">
|
||||
|
||||
<!-- Twitter Cards -->
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:title" content="${title}">
|
||||
<meta name="twitter:description" content="${description}">
|
||||
<meta name="twitter:url" content="${config.url}">
|
||||
|
||||
<!-- Canonical URL -->
|
||||
<link rel="canonical" href="${config.url}">
|
||||
|
||||
<!-- 结构化数据 -->
|
||||
<script type="application/ld+json">
|
||||
${JSON.stringify(structuredData, null, 8)}
|
||||
</script>
|
||||
|
||||
<!-- 其他Meta标签 -->
|
||||
<meta name="robots" content="index, follow">
|
||||
<meta name="googlebot" content="index, follow">
|
||||
<meta name="baiduspider" content="index, follow">
|
||||
|
||||
<style>
|
||||
body {
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
line-height: 1.6;
|
||||
}
|
||||
.seo-content {
|
||||
max-width: 1200px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
}
|
||||
h1 { color: #333; }
|
||||
p { color: #666; }
|
||||
.redirect-notice {
|
||||
background: #fff3cd;
|
||||
border: 1px solid #ffc107;
|
||||
color: #856404;
|
||||
padding: 10px;
|
||||
margin: 20px 0;
|
||||
border-radius: 4px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="seo-content">
|
||||
<h1>${title}</h1>
|
||||
|
||||
<div class="redirect-notice">
|
||||
<p>正在跳转到完整版网站...</p>
|
||||
<p>如果浏览器没有自动跳转,请 <a href="${config.url}">点击这里</a></p>
|
||||
</div>
|
||||
|
||||
<p>${description}</p>
|
||||
|
||||
<!-- 这里可以添加更多SEO友好的静态内容 -->
|
||||
<section>
|
||||
<h2>关于智能查</h2>
|
||||
<p>智能查是专业的大数据风险报告查询与代理平台,提供全方位的风险查询服务。我们的核心使命是帮助用户高效识别信用与风险。</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>核心服务</h2>
|
||||
<ul>
|
||||
<li>个人综合履约能力画像</li>
|
||||
<li>商业背景真实性核验</li>
|
||||
<li>婚前综合背景了解</li>
|
||||
<li>涉婚司法风险评估</li>
|
||||
<li>情感诚意度报告</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>为什么选择智能查</h2>
|
||||
<p>智能查依托大数据技术,为用户提供准确、及时的婚恋风险评估报告,帮助您做出明智决策。</p>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
// 可选:自动跳转到SPA应用
|
||||
// setTimeout(function() {
|
||||
// window.location.href = '${config.url}';
|
||||
// }, 2000);
|
||||
</script>
|
||||
</body>
|
||||
</html>`
|
||||
}
|
||||
|
||||
/**
|
||||
* 主函数
|
||||
*/
|
||||
function main() {
|
||||
const outputDir = path.join(__dirname, '../dist/seo-templates')
|
||||
|
||||
// 创建输出目录
|
||||
if (!fs.existsSync(outputDir)) {
|
||||
fs.mkdirSync(outputDir, { recursive: true })
|
||||
console.log(`✓ 创建模板目录: ${outputDir}`)
|
||||
}
|
||||
|
||||
// 生成所有模板文件
|
||||
let successCount = 0
|
||||
Object.entries(pageSEOConfigs).forEach(([filename, config]) => {
|
||||
const htmlContent = generateHTMLTemplate(config)
|
||||
const filePath = path.join(outputDir, filename)
|
||||
|
||||
fs.writeFileSync(filePath, htmlContent, 'utf-8')
|
||||
console.log(`✓ 生成模板: ${filename}`)
|
||||
successCount++
|
||||
})
|
||||
|
||||
console.log(`\n✓ 成功生成 ${successCount} 个SEO模板文件`)
|
||||
console.log(`📁 模板目录: ${outputDir}`)
|
||||
}
|
||||
|
||||
// 执行生成
|
||||
main()
|
||||
141
server/nginx-baota.conf
Normal file
141
server/nginx-baota.conf
Normal file
@@ -0,0 +1,141 @@
|
||||
server
|
||||
{
|
||||
listen 80;
|
||||
listen 443 ssl;
|
||||
listen 443 quic;
|
||||
listen [::]:443 ssl;
|
||||
listen [::]:443 quic;
|
||||
http2 on;
|
||||
listen [::]:80;
|
||||
server_name zhinengcha.cn www.zhinengcha.cn p.zhenaicha.cn;
|
||||
index index.html index.htm default.htm default.html;
|
||||
root /www/wwwroot/zhinengcha.cn/dist;
|
||||
#CERT-APPLY-CHECK--START
|
||||
# 用于SSL证书申请时的文件验证相关配置 -- 请勿删除并保持这段设置在优先级高的位置
|
||||
include /www/server/panel/vhost/nginx/well-known/zhinengcha.cn.conf;
|
||||
#CERT-APPLY-CHECK--END
|
||||
|
||||
#SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
|
||||
#error_page 404/404.html;
|
||||
ssl_certificate /www/server/panel/vhost/cert/zhinengcha.cn/fullchain.pem;
|
||||
ssl_certificate_key /www/server/panel/vhost/cert/zhinengcha.cn/privkey.pem;
|
||||
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
|
||||
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
|
||||
ssl_prefer_server_ciphers on;
|
||||
ssl_session_tickets on;
|
||||
ssl_session_cache shared:SSL:10m;
|
||||
ssl_session_timeout 10m;
|
||||
add_header Strict-Transport-Security "max-age=31536000";
|
||||
add_header Alt-Svc 'quic=":443"; h3=":443"; h3-29=":443"; h3-27=":443";h3-25=":443"; h3-T050=":443"; h3-Q050=":443";h3-Q049=":443";h3-Q048=":443"; h3-Q046=":443"; h3-Q043=":443"';
|
||||
error_page 497 https://$host$request_uri;
|
||||
|
||||
#SSL-END
|
||||
|
||||
#ERROR-PAGE-START 错误页配置,可以注释、删除或修改
|
||||
#error_page 404 /404.html;
|
||||
#error_page 502 /502.html;
|
||||
#ERROR-PAGE-END
|
||||
|
||||
#REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效
|
||||
include /www/server/panel/vhost/rewrite/html_zhinengcha.cn.conf;
|
||||
#REWRITE-END
|
||||
|
||||
#禁止访问的文件或目录
|
||||
location ~ ^/(\.user.ini|\.htaccess|\.git|\.env|\.svn|\.project|LICENSE|README.md)
|
||||
{
|
||||
return 404;
|
||||
}
|
||||
|
||||
#一键申请SSL证书验证目录相关设置
|
||||
location ~ \.well-known{
|
||||
allow all;
|
||||
}
|
||||
|
||||
# API 代理
|
||||
location /api/v1 {
|
||||
proxy_pass http://127.0.0.1:21004;
|
||||
proxy_set_header Host 127.0.0.1:$server_port;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header REMOTE-HOST $remote_addr;
|
||||
add_header X-Cache $upstream_cache_status;
|
||||
proxy_set_header X-Host $host:$server_port;
|
||||
proxy_set_header X-Scheme $scheme;
|
||||
proxy_connect_timeout 30s;
|
||||
proxy_read_timeout 86400s;
|
||||
proxy_send_timeout 30s;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
}
|
||||
|
||||
# 前端路由处理 - 爬虫检测返回静态SEO页面
|
||||
location / {
|
||||
set $seo_page 0;
|
||||
# 检测常见爬虫 User-Agent
|
||||
if ($http_user_agent ~* "(baiduspider|googlebot|bingbot|msnbot|360spider|sogou|youdaobot|twitterbot|facebookexternalhit|linkedinbot|bytespider)") {
|
||||
set $seo_page 1;
|
||||
}
|
||||
# 如果是爬虫且是首页
|
||||
if ($seo_page = 1) {
|
||||
rewrite ^/$ /seo-templates/index.html last;
|
||||
}
|
||||
# 如果是爬虫且是其他页面
|
||||
if ($seo_page = 1) {
|
||||
rewrite ^/agent$ /seo-templates/agent.html last;
|
||||
}
|
||||
if ($seo_page = 1) {
|
||||
rewrite ^/help$ /seo-templates/help.html last;
|
||||
}
|
||||
if ($seo_page = 1) {
|
||||
rewrite ^/help/guide$ /seo-templates/help-guide.html last;
|
||||
}
|
||||
if ($seo_page = 1) {
|
||||
rewrite ^/example$ /seo-templates/example.html last;
|
||||
}
|
||||
if ($seo_page = 1) {
|
||||
rewrite ^/service$ /seo-templates/service.html last;
|
||||
}
|
||||
if ($seo_page = 1) {
|
||||
rewrite ^/inquire/riskassessment$ /seo-templates/inquire-riskassessment.html last;
|
||||
}
|
||||
if ($seo_page = 1) {
|
||||
rewrite ^/inquire/companyinfo$ /seo-templates/inquire-companyinfo.html last;
|
||||
}
|
||||
if ($seo_page = 1) {
|
||||
rewrite ^/inquire/marriage$ /seo-templates/inquire-marriage.html last;
|
||||
}
|
||||
if ($seo_page = 1) {
|
||||
rewrite ^/promote$ /seo-templates/promote.html last;
|
||||
}
|
||||
# 普通用户返回 SPA
|
||||
try_files $uri $uri/ /index.html;
|
||||
}
|
||||
|
||||
# SEO 静态模板目录
|
||||
location /seo-templates {
|
||||
root /www/wwwroot/zhinengcha.cn/dist;
|
||||
internal;
|
||||
}
|
||||
|
||||
#禁止在证书验证目录放入敏感文件
|
||||
if ( $uri ~ "^/\.well-known/.*\.(php|jsp|py|js|css|lua|ts|go|zip|tar\.gz|rar|7z|sql|bak)$" ) {
|
||||
return 403;
|
||||
}
|
||||
|
||||
location ~ .*\\.(gif|jpg|jpeg|png|bmp|swf)$
|
||||
{
|
||||
expires 30d;
|
||||
error_log /dev/null;
|
||||
access_log /dev/null;
|
||||
}
|
||||
|
||||
location ~ .*\\.(js|css)?$
|
||||
{
|
||||
expires 12h;
|
||||
error_log /dev/null;
|
||||
access_log /dev/null;
|
||||
}
|
||||
access_log /www/wwwlogs/zhinengcha.cn.log;
|
||||
error_log /www/wwwlogs/zhinengcha.cn.error.log;
|
||||
}
|
||||
16
server/package.json
Normal file
16
server/package.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"name": "znc-seo-tools",
|
||||
"version": "1.0.0",
|
||||
"description": "智能查 SEO 工具 - 生成爬虫友好的静态 HTML 模板",
|
||||
"main": "generate-seo-templates.cjs",
|
||||
"scripts": {
|
||||
"generate": "node generate-seo-templates.cjs"
|
||||
},
|
||||
"keywords": [
|
||||
"seo",
|
||||
"crawler",
|
||||
"spa"
|
||||
],
|
||||
"author": "zhinengcha",
|
||||
"license": "MIT"
|
||||
}
|
||||
1
src/auto-imports.d.ts
vendored
1
src/auto-imports.d.ts
vendored
@@ -119,6 +119,7 @@ declare global {
|
||||
const useActiveElement: typeof import('@vueuse/core')['useActiveElement']
|
||||
const useAgent: typeof import('./composables/useAgent.js')['useAgent']
|
||||
const useAgentStore: typeof import('./stores/agentStore.js')['useAgentStore']
|
||||
const useAliyunCaptcha: typeof import('./composables/useAliyunCaptcha.js')['default']
|
||||
const useAnimate: typeof import('@vueuse/core')['useAnimate']
|
||||
const useApiFetch: typeof import('./composables/useApiFetch.js')['default']
|
||||
const useArrayDifference: typeof import('@vueuse/core')['useArrayDifference']
|
||||
|
||||
@@ -118,10 +118,15 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, computed, nextTick } from 'vue'
|
||||
const router = useRouter();
|
||||
const show = defineModel("show");
|
||||
import { useCascaderAreaData } from "@vant/area-data";
|
||||
import { showToast } from "vant"; // 引入 showToast 方法
|
||||
import { useAliyunCaptcha } from '@/composables/useAliyunCaptcha'
|
||||
|
||||
const { runWithCaptcha } = useAliyunCaptcha()
|
||||
|
||||
const emit = defineEmits(); // 确保 emit 可以正确使用
|
||||
const props = defineProps({
|
||||
ancestor: {
|
||||
@@ -171,20 +176,31 @@ const getSmsCode = async () => {
|
||||
|
||||
loadingSms.value = true;
|
||||
|
||||
const { data, error } = await useApiFetch("auth/sendSms")
|
||||
.post({ mobile: form.value.mobile, actionType: "agentApply" })
|
||||
.json();
|
||||
|
||||
loadingSms.value = false;
|
||||
|
||||
if (data.value && !error.value) {
|
||||
if (data.value.code === 200) {
|
||||
showToast({ message: "获取成功" });
|
||||
startCountdown(); // 启动倒计时
|
||||
} else {
|
||||
showToast(data.value.msg);
|
||||
runWithCaptcha(
|
||||
(captchaVerifyParam) =>
|
||||
useApiFetch('auth/sendSms')
|
||||
.post({
|
||||
mobile: form.value.mobile,
|
||||
actionType: 'agentApply',
|
||||
captchaVerifyParam
|
||||
})
|
||||
.json(),
|
||||
(res) => {
|
||||
loadingSms.value = false;
|
||||
if (res.code === 200) {
|
||||
showToast({ message: "获取成功" });
|
||||
startCountdown();
|
||||
nextTick(() => {
|
||||
const codeInput = document.querySelector('input[name="code"]');
|
||||
if (codeInput) {
|
||||
codeInput.focus();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
showToast(res.msg || "获取失败");
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
};
|
||||
let timer = null;
|
||||
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
<script setup>
|
||||
import { ref, computed, nextTick } from "vue";
|
||||
import { useDialogStore } from "@/stores/dialogStore";
|
||||
import { useAliyunCaptcha } from "@/composables/useAliyunCaptcha";
|
||||
|
||||
const { runWithCaptcha } = useAliyunCaptcha();
|
||||
const emit = defineEmits(['bind-success'])
|
||||
const router = useRouter();
|
||||
const dialogStore = useDialogStore();
|
||||
@@ -36,25 +38,33 @@ async function sendVerificationCode() {
|
||||
showToast({ message: "请输入有效的手机号" });
|
||||
return;
|
||||
}
|
||||
const { data, error } = await useApiFetch("auth/sendSms")
|
||||
.post({ mobile: phoneNumber.value, actionType: "bindMobile" })
|
||||
.json();
|
||||
|
||||
if (data.value && !error.value) {
|
||||
if (data.value.code === 200) {
|
||||
showToast({ message: "获取成功" });
|
||||
startCountdown();
|
||||
// 聚焦到验证码输入框
|
||||
nextTick(() => {
|
||||
const verificationCodeInput = document.getElementById('verificationCode');
|
||||
if (verificationCodeInput) {
|
||||
verificationCodeInput.focus();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
showToast(data.value.msg);
|
||||
// 使用阿里云滑块验证码
|
||||
runWithCaptcha(
|
||||
(captchaVerifyParam) =>
|
||||
useApiFetch("auth/sendSms")
|
||||
.post({
|
||||
mobile: phoneNumber.value,
|
||||
actionType: "bindMobile",
|
||||
captchaVerifyParam
|
||||
})
|
||||
.json(),
|
||||
(res) => {
|
||||
if (res.code === 200) {
|
||||
showToast({ message: "获取成功" });
|
||||
startCountdown();
|
||||
// 聚焦到验证码输入框
|
||||
nextTick(() => {
|
||||
const verificationCodeInput = document.getElementById('verificationCode');
|
||||
if (verificationCodeInput) {
|
||||
verificationCodeInput.focus();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
showToast(res.msg || "获取失败");
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
function startCountdown() {
|
||||
|
||||
@@ -282,6 +282,7 @@ import { useRoute, useRouter } from "vue-router";
|
||||
import { useUserStore } from "@/stores/userStore";
|
||||
import { useDialogStore } from "@/stores/dialogStore";
|
||||
import { useEnv } from "@/composables/useEnv";
|
||||
import { useAliyunCaptcha } from "@/composables/useAliyunCaptcha";
|
||||
import { showConfirmDialog } from "vant";
|
||||
|
||||
import Payment from "@/components/Payment.vue";
|
||||
@@ -289,6 +290,8 @@ import BindPhoneDialog from "@/components/BindPhoneDialog.vue";
|
||||
import LoginDialog from "@/components/LoginDialog.vue";
|
||||
import SectionTitle from "@/components/SectionTitle.vue";
|
||||
|
||||
const { runWithCaptcha } = useAliyunCaptcha();
|
||||
|
||||
// Props
|
||||
const props = defineProps({
|
||||
// 查询类型:'normal' | 'promotion'
|
||||
@@ -631,22 +634,31 @@ async function sendVerificationCode() {
|
||||
return;
|
||||
}
|
||||
|
||||
const { data, error } = await useApiFetch("/auth/sendSms")
|
||||
.post({ mobile: formData.mobile, actionType: "query" })
|
||||
.json();
|
||||
|
||||
if (!error.value && data.value.code === 200) {
|
||||
showToast({ message: "验证码发送成功", type: "success" });
|
||||
startCountdown();
|
||||
nextTick(() => {
|
||||
const verificationCodeInput = document.getElementById('verificationCode');
|
||||
if (verificationCodeInput) {
|
||||
verificationCodeInput.focus();
|
||||
// 使用阿里云滑块验证码
|
||||
runWithCaptcha(
|
||||
(captchaVerifyParam) =>
|
||||
useApiFetch("/auth/sendSms")
|
||||
.post({
|
||||
mobile: formData.mobile,
|
||||
actionType: "query",
|
||||
captchaVerifyParam
|
||||
})
|
||||
.json(),
|
||||
(res) => {
|
||||
if (res.code === 200) {
|
||||
showToast({ message: "验证码发送成功", type: "success" });
|
||||
startCountdown();
|
||||
nextTick(() => {
|
||||
const verificationCodeInput = document.getElementById('verificationCode');
|
||||
if (verificationCodeInput) {
|
||||
verificationCodeInput.focus();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
showToast({ message: res.msg || "验证码发送失败,请重试" });
|
||||
}
|
||||
});
|
||||
} else {
|
||||
showToast({ message: "验证码发送失败,请重试" });
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
let timer = null;
|
||||
|
||||
@@ -5,6 +5,9 @@ import { showToast } from 'vant'
|
||||
import ClickCaptcha from '@/components/ClickCaptcha.vue'
|
||||
import { useDialogStore } from '@/stores/dialogStore'
|
||||
import { useUserStore } from '@/stores/userStore'
|
||||
import { useAliyunCaptcha } from '@/composables/useAliyunCaptcha'
|
||||
|
||||
const { runWithCaptcha } = useAliyunCaptcha()
|
||||
|
||||
const emit = defineEmits(['login-success'])
|
||||
const dialogStore = useDialogStore()
|
||||
@@ -47,25 +50,31 @@ async function sendVerificationCode() {
|
||||
showToast({ message: "请输入有效的手机号" });
|
||||
return
|
||||
}
|
||||
const { data, error } = await useApiFetch('auth/sendSms')
|
||||
.post({ mobile: phoneNumber.value, actionType: 'login' })
|
||||
.json()
|
||||
|
||||
if (data.value && !error.value) {
|
||||
if (data.value.code === 200) {
|
||||
showToast({ message: "获取成功" });
|
||||
startCountdown()
|
||||
// 聚焦到验证码输入框
|
||||
nextTick(() => {
|
||||
const verificationCodeInput = document.getElementById('verificationCode');
|
||||
if (verificationCodeInput) {
|
||||
verificationCodeInput.focus();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
showToast(data.value.msg)
|
||||
runWithCaptcha(
|
||||
(captchaVerifyParam) =>
|
||||
useApiFetch('auth/sendSms')
|
||||
.post({
|
||||
mobile: phoneNumber.value,
|
||||
actionType: 'login',
|
||||
captchaVerifyParam
|
||||
})
|
||||
.json(),
|
||||
(res) => {
|
||||
if (res.code === 200) {
|
||||
showToast({ message: "获取成功" });
|
||||
startCountdown();
|
||||
nextTick(() => {
|
||||
const verificationCodeInput = document.getElementById('verificationCode');
|
||||
if (verificationCodeInput) {
|
||||
verificationCodeInput.focus();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
showToast(res.msg || "获取失败");
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
function startCountdown() {
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
<script setup>
|
||||
import { ref, computed } from "vue";
|
||||
import { useDialogStore } from "@/stores/dialogStore";
|
||||
import { useAliyunCaptcha } from "@/composables/useAliyunCaptcha";
|
||||
|
||||
const { runWithCaptcha } = useAliyunCaptcha();
|
||||
const router = useRouter();
|
||||
const dialogStore = useDialogStore();
|
||||
const agentStore = useAgentStore();
|
||||
@@ -54,18 +57,26 @@ async function sendVerificationCode() {
|
||||
showToast({ message: "请输入有效的手机号" });
|
||||
return;
|
||||
}
|
||||
const { data, error } = await useApiFetch("auth/sendSms")
|
||||
.post({ mobile: phoneNumber.value, actionType: "realName" })
|
||||
.json();
|
||||
|
||||
if (data.value && !error.value) {
|
||||
if (data.value.code === 200) {
|
||||
showToast({ message: "获取成功" });
|
||||
startCountdown();
|
||||
} else {
|
||||
showToast(data.value.msg);
|
||||
// 使用阿里云滑块验证码
|
||||
runWithCaptcha(
|
||||
(captchaVerifyParam) =>
|
||||
useApiFetch("auth/sendSms")
|
||||
.post({
|
||||
mobile: phoneNumber.value,
|
||||
actionType: "realName",
|
||||
captchaVerifyParam
|
||||
})
|
||||
.json(),
|
||||
(res) => {
|
||||
if (res.code === 200) {
|
||||
showToast({ message: "获取成功" });
|
||||
startCountdown();
|
||||
} else {
|
||||
showToast(res.msg || "获取失败");
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
function startCountdown() {
|
||||
|
||||
171
src/composables/useAliyunCaptcha.js
Normal file
171
src/composables/useAliyunCaptcha.js
Normal file
@@ -0,0 +1,171 @@
|
||||
import { showToast, showLoadingToast, closeToast } from "vant";
|
||||
import useApiFetch from "@/composables/useApiFetch";
|
||||
|
||||
// 阿里云验证码场景 ID(请替换为您的实际场景ID)
|
||||
const ALIYUN_CAPTCHA_SCENE_ID = "wynt39to";
|
||||
// 是否启用加密模式(通过环境变量控制,非加密模式时前端不调用后端获取 EncryptedSceneId)
|
||||
const ENABLE_ENCRYPTED = false;
|
||||
|
||||
let captchaInitialised = false;
|
||||
/** 首次初始化后,SDK 会异步调用 getInstance,用此 Promise 在实例就绪后再 show */
|
||||
let captchaReadyPromise = null;
|
||||
let captchaReadyResolve = null;
|
||||
|
||||
async function ensureCaptchaInit() {
|
||||
if (captchaInitialised || typeof window === "undefined") return;
|
||||
if (typeof window.initAliyunCaptcha !== "function") return;
|
||||
|
||||
captchaInitialised = true;
|
||||
window.captcha = null;
|
||||
window.__lastBizResponse = null;
|
||||
window.__onCaptchaBizSuccess = null;
|
||||
captchaReadyPromise = new Promise((resolve) => {
|
||||
captchaReadyResolve = resolve;
|
||||
});
|
||||
|
||||
// 非加密模式:仅传 SceneId,不调用后端接口
|
||||
if (!ENABLE_ENCRYPTED) {
|
||||
window.initAliyunCaptcha({
|
||||
SceneId: ALIYUN_CAPTCHA_SCENE_ID,
|
||||
mode: "popup",
|
||||
element: "#captcha-element",
|
||||
getInstance(instance) {
|
||||
window.captcha = instance;
|
||||
if (typeof captchaReadyResolve === "function") {
|
||||
captchaReadyResolve();
|
||||
captchaReadyResolve = null;
|
||||
}
|
||||
},
|
||||
captchaVerifyCallback(param) {
|
||||
return typeof window.__captchaVerifyCallback === "function"
|
||||
? window.__captchaVerifyCallback(param)
|
||||
: Promise.resolve({
|
||||
captchaResult: false,
|
||||
bizResult: false,
|
||||
});
|
||||
},
|
||||
onBizResultCallback(bizResult) {
|
||||
if (typeof window.__onBizResultCallback === "function") {
|
||||
window.__onBizResultCallback(bizResult);
|
||||
}
|
||||
window.__lastBizResponse = null;
|
||||
window.__onCaptchaBizSuccess = null;
|
||||
},
|
||||
slideStyle: { width: 360, height: 40 },
|
||||
language: "cn",
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
// 加密模式:先从后端获取 EncryptedSceneId,再初始化
|
||||
const { data, error } = await useApiFetch("/captcha/encryptedSceneId")
|
||||
.post()
|
||||
.json();
|
||||
const resp = data?.value;
|
||||
const encryptedSceneId = resp?.data?.encryptedSceneId;
|
||||
if (error?.value || !encryptedSceneId) {
|
||||
showToast({ message: "获取验证码参数失败,请稍后重试" });
|
||||
captchaInitialised = false;
|
||||
captchaReadyPromise = null;
|
||||
captchaReadyResolve = null;
|
||||
return;
|
||||
}
|
||||
window.initAliyunCaptcha({
|
||||
SceneId: ALIYUN_CAPTCHA_SCENE_ID,
|
||||
EncryptedSceneId: encryptedSceneId,
|
||||
mode: "popup",
|
||||
element: "#captcha-element",
|
||||
getInstance(instance) {
|
||||
window.captcha = instance;
|
||||
if (typeof captchaReadyResolve === "function") {
|
||||
captchaReadyResolve();
|
||||
captchaReadyResolve = null;
|
||||
}
|
||||
},
|
||||
captchaVerifyCallback(param) {
|
||||
return typeof window.__captchaVerifyCallback === "function"
|
||||
? window.__captchaVerifyCallback(param)
|
||||
: Promise.resolve({ captchaResult: false, bizResult: false });
|
||||
},
|
||||
onBizResultCallback(bizResult) {
|
||||
if (typeof window.__onBizResultCallback === "function") {
|
||||
window.__onBizResultCallback(bizResult);
|
||||
}
|
||||
window.__lastBizResponse = null;
|
||||
window.__onCaptchaBizSuccess = null;
|
||||
},
|
||||
slideStyle: { width: 360, height: 40 },
|
||||
language: "cn",
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 阿里云滑块验证码通用封装。
|
||||
* 依赖 index.html 中已加载的 AliyunCaptcha.js;初始化在首次调起时执行。
|
||||
*
|
||||
* @param { (captchaVerifyParam: string) => Promise<{ data: Ref, error: Ref }> } bizVerify - 业务请求函数,接收滑块参数,返回 useApiFetch 的 { data, error }
|
||||
* @param { (res: any) => void } [onSuccess] - 业务成功回调(code===200 时调用,传入接口返回的 data.value)
|
||||
*/
|
||||
export function useAliyunCaptcha() {
|
||||
/**
|
||||
* 先弹出滑块,通过后执行 bizVerify(captchaVerifyParam),再根据结果调用 onSuccess。
|
||||
*/
|
||||
async function runWithCaptcha(bizVerify, onSuccess) {
|
||||
if (typeof window === "undefined") {
|
||||
showToast({ message: "验证码仅支持浏览器环境" });
|
||||
return;
|
||||
}
|
||||
|
||||
const loading = showLoadingToast({
|
||||
message: "安全验证加载中...",
|
||||
forbidClick: true,
|
||||
duration: 0,
|
||||
loadingType: "spinner",
|
||||
});
|
||||
|
||||
try {
|
||||
window.__captchaVerifyCallback = async (captchaVerifyParam) => {
|
||||
window.__lastBizResponse = null;
|
||||
const { data, error } = await bizVerify(captchaVerifyParam);
|
||||
const result = data?.value ?? data;
|
||||
if (error?.value || !result) {
|
||||
return { captchaResult: false, bizResult: false };
|
||||
}
|
||||
window.__lastBizResponse = result;
|
||||
const captchaOk = result.captchaVerifyResult !== false;
|
||||
const bizOk = result.code === 200;
|
||||
return { captchaResult: captchaOk, bizResult: bizOk };
|
||||
};
|
||||
|
||||
window.__onBizResultCallback = (bizResult) => {
|
||||
if (
|
||||
bizResult === true &&
|
||||
window.__lastBizResponse &&
|
||||
typeof window.__onCaptchaBizSuccess === "function"
|
||||
) {
|
||||
window.__onCaptchaBizSuccess(window.__lastBizResponse);
|
||||
}
|
||||
};
|
||||
|
||||
await ensureCaptchaInit();
|
||||
|
||||
// 首次初始化时 SDK 会异步调用 getInstance,需等待实例就绪后再 show
|
||||
if (captchaReadyPromise) {
|
||||
await captchaReadyPromise;
|
||||
captchaReadyPromise = null;
|
||||
}
|
||||
if (!window.captcha) {
|
||||
showToast({ message: "验证码未加载,请刷新页面重试" });
|
||||
return;
|
||||
}
|
||||
window.__onCaptchaBizSuccess = onSuccess;
|
||||
window.captcha.show();
|
||||
} finally {
|
||||
closeToast();
|
||||
}
|
||||
}
|
||||
|
||||
return { runWithCaptcha };
|
||||
}
|
||||
|
||||
export default useAliyunCaptcha;
|
||||
@@ -2,6 +2,9 @@
|
||||
import { ref, computed, onUnmounted, nextTick } from 'vue'
|
||||
import { showToast } from 'vant'
|
||||
import ClickCaptcha from '@/components/ClickCaptcha.vue'
|
||||
import { useAliyunCaptcha } from '@/composables/useAliyunCaptcha'
|
||||
|
||||
const { runWithCaptcha } = useAliyunCaptcha()
|
||||
|
||||
const router = useRouter()
|
||||
const phoneNumber = ref('')
|
||||
@@ -41,25 +44,34 @@ async function sendVerificationCode() {
|
||||
showToast({ message: "请输入有效的手机号" });
|
||||
return
|
||||
}
|
||||
const { data, error } = await useApiFetch('auth/sendSms')
|
||||
.post({ mobile: phoneNumber.value, actionType: 'login' })
|
||||
.json()
|
||||
|
||||
if (data.value && !error.value) {
|
||||
if (data.value.code === 200) {
|
||||
showToast({ message: "获取成功" });
|
||||
startCountdown()
|
||||
// 聚焦到验证码输入框
|
||||
nextTick(() => {
|
||||
const verificationCodeInput = document.getElementById('verificationCode');
|
||||
if (verificationCodeInput) {
|
||||
verificationCodeInput.focus();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
showToast(data.value.msg)
|
||||
|
||||
// 使用阿里云滑块验证码
|
||||
runWithCaptcha(
|
||||
(captchaVerifyParam) =>
|
||||
useApiFetch('auth/sendSms')
|
||||
.post({
|
||||
mobile: phoneNumber.value,
|
||||
actionType: 'login',
|
||||
captchaVerifyParam
|
||||
})
|
||||
.json(),
|
||||
(res) => {
|
||||
if (res.code === 200) {
|
||||
showToast({ message: "获取成功" });
|
||||
startCountdown();
|
||||
// 聚焦到验证码输入框
|
||||
nextTick(() => {
|
||||
const verificationCodeInput = document.getElementById('verificationCode');
|
||||
if (verificationCodeInput) {
|
||||
verificationCodeInput.focus();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
showToast(res.msg || "获取失败");
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
function startCountdown() {
|
||||
|
||||
Reference in New Issue
Block a user