优化开发服务器配置,新增根路径重定向至web首页,

This commit is contained in:
WUSIJIAN
2025-12-25 17:01:36 +08:00
parent 0a5b444dad
commit 73373ad7a1
5 changed files with 530 additions and 3 deletions

254
public/web/auth.html Normal file
View File

@@ -0,0 +1,254 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>商家中心 - 智推科技</title>
<script src="https://cdn.tailwindcss.com"></script>
<link rel="stylesheet" href="style.css">
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700&display=swap" rel="stylesheet">
<script>
tailwind.config = {
theme: {
extend: {
fontFamily: {
sans: ['Inter', 'sans-serif'],
},
colors: {
brand: {
50: '#f0f9ff',
100: '#e0f2fe',
500: '#0ea5e9',
600: '#0284c7',
900: '#0c4a6e',
}
}
}
}
}
</script>
</head>
<body class="bg-slate-50 font-sans min-h-screen flex flex-col">
<!-- 简化版导航 -->
<nav class="bg-white shadow-sm w-full z-50">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="flex justify-between h-16">
<div class="flex items-center">
<a href="index.html" class="flex items-center gap-2 text-slate-600 hover:text-brand-600 transition">
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 19l-7-7m0 0l7-7m-7 7h18"></path></svg>
返回首页
</a>
</div>
<div class="flex items-center">
<span class="text-xl font-bold text-brand-600">商家中心</span>
</div>
</div>
</div>
</nav>
<main class="flex-grow flex items-center justify-center p-4">
<div class="bg-white rounded-2xl shadow-xl w-full max-w-md overflow-hidden flex flex-col fade-in-up">
<!-- Tab 切换 -->
<div class="flex border-b border-slate-100">
<button id="tab-login" onclick="switchMode('login')" class="flex-1 py-4 text-center font-semibold text-brand-600 border-b-2 border-brand-600 hover:text-brand-700 transition">
商家登录
</button>
<button id="tab-register" onclick="switchMode('register')" class="flex-1 py-4 text-center font-semibold text-slate-500 hover:text-brand-600 transition border-b-2 border-transparent">
商家入驻
</button>
</div>
<div class="p-8">
<!-- 登录表单 -->
<form id="login-form" class="space-y-6" onsubmit="handleLogin(event)">
<div>
<label class="block text-sm font-medium text-slate-700 mb-1">账号/手机号</label>
<input type="text" class="w-full px-4 py-2 border border-slate-300 rounded-lg focus:ring-2 focus:ring-brand-500 focus:ring-offset-2 focus:border-brand-500 outline-none transition" placeholder="请输入您的账号" required>
</div>
<div>
<label class="block text-sm font-medium text-slate-700 mb-1">密码</label>
<input type="password" class="w-full px-4 py-2 border border-slate-300 rounded-lg focus:ring-2 focus:ring-brand-500 focus:ring-offset-2 focus:border-brand-500 outline-none transition" placeholder="请输入密码" required>
</div>
<div class="flex items-center justify-between text-sm">
<label class="flex items-center text-slate-600">
<input type="checkbox" class="mr-2 rounded border-slate-300 text-brand-600 focus:ring-brand-500">
记住我
</label>
<a href="#" class="text-brand-600 hover:underline">忘记密码?</a>
</div>
<button type="submit" class="w-full bg-brand-600 text-white py-3 rounded-lg font-semibold hover:bg-brand-700 active:scale-95 transition-all shadow-md hover:shadow-lg">
立即登录
</button>
</form>
<!-- 注册表单 -->
<form id="register-form" class="space-y-4 hidden" onsubmit="handleRegister(event)">
<div>
<label class="block text-sm font-medium text-slate-700 mb-1">公司全称 <span class="text-red-500">*</span></label>
<input type="text" class="w-full px-4 py-2 border border-slate-300 rounded-lg focus:ring-2 focus:ring-brand-500 focus:ring-offset-2 focus:border-brand-500 outline-none transition" placeholder="请填写营业执照上的公司名称" required>
</div>
<div>
<label class="block text-sm font-medium text-slate-700 mb-1">联系人姓名</label>
<input type="text" class="w-full px-4 py-2 border border-slate-300 rounded-lg focus:ring-2 focus:ring-brand-500 focus:ring-offset-2 focus:border-brand-500 outline-none transition" placeholder="请输入联系人姓名" required>
</div>
<div>
<label class="block text-sm font-medium text-slate-700 mb-1">手机号码</label>
<input type="tel" class="w-full px-4 py-2 border border-slate-300 rounded-lg focus:ring-2 focus:ring-brand-500 focus:ring-offset-2 focus:border-brand-500 outline-none transition" placeholder="请输入手机号码" required>
</div>
<div>
<label class="block text-sm font-medium text-slate-700 mb-1">营业执照 <span class="text-red-500">*</span></label>
<div id="drop-zone" class="mt-1 flex justify-center px-6 pt-5 pb-6 border-2 border-slate-300 border-dashed rounded-lg hover:border-brand-500 hover:bg-brand-50 transition-colors duration-200 cursor-pointer bg-slate-50 relative group">
<input type="file" class="absolute inset-0 w-full h-full opacity-0 cursor-pointer z-10" accept="image/*" required onchange="handleFileSelect(this)">
<div class="space-y-1 text-center" id="upload-placeholder">
<svg class="mx-auto h-12 w-12 text-slate-400 group-hover:text-brand-500 transition-colors" stroke="currentColor" fill="none" viewBox="0 0 48 48" aria-hidden="true">
<path d="M28 8H12a4 4 0 00-4 4v20m32-12v8m0 0v8a4 4 0 01-4 4H12a4 4 0 01-4-4v-4m32-4l-3.172-3.172a4 4 0 00-5.656 0L28 28M8 32l9.172-9.172a4 4 0 015.656 0L28 28m0 0l4 4m4-24h8m-4-4v8m-12 4h.02" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
</svg>
<div class="flex text-sm text-slate-600 justify-center">
<span class="font-medium text-brand-600 group-hover:text-brand-700">点击上传</span>
<p class="pl-1 group-hover:text-slate-700">或拖拽文件</p>
</div>
<p class="text-xs text-slate-500">支持 JPG, PNG, PDF</p>
</div>
<div id="file-name" class="hidden flex items-center justify-center text-sm text-brand-600 font-medium h-full min-h-[80px]">
<!-- File name will appear here -->
</div>
</div>
</div>
<div class="pt-2">
<button type="submit" class="w-full bg-brand-600 text-white py-3 rounded-lg font-semibold hover:bg-brand-700 active:scale-95 transition-all shadow-md hover:shadow-lg">
提交入驻申请
</button>
<p class="text-xs text-slate-500 text-center mt-4">
提交即代表同意 <a href="#" class="text-brand-600 hover:underline">《商家入驻协议》</a>
</p>
</div>
</form>
</div>
</div>
</main>
<script>
function switchMode(mode) {
const loginForm = document.getElementById('login-form');
const registerForm = document.getElementById('register-form');
const tabLogin = document.getElementById('tab-login');
const tabRegister = document.getElementById('tab-register');
// Reset animations
loginForm.classList.remove('fade-in-up');
registerForm.classList.remove('fade-in-up');
void loginForm.offsetWidth; // Trigger reflow
if (mode === 'login') {
loginForm.classList.remove('hidden');
loginForm.classList.add('fade-in-up');
registerForm.classList.add('hidden');
tabLogin.classList.add('text-brand-600', 'border-brand-600');
tabLogin.classList.remove('text-slate-500', 'border-transparent');
tabRegister.classList.remove('text-brand-600', 'border-brand-600');
tabRegister.classList.add('text-slate-500', 'border-transparent');
} else {
loginForm.classList.add('hidden');
registerForm.classList.remove('hidden');
registerForm.classList.add('fade-in-up');
tabRegister.classList.add('text-brand-600', 'border-brand-600');
tabRegister.classList.remove('text-slate-500', 'border-transparent');
tabLogin.classList.remove('text-brand-600', 'border-brand-600');
tabLogin.classList.add('text-slate-500', 'border-transparent');
}
// Update URL without reloading
const url = new URL(window.location);
url.searchParams.set('mode', mode);
window.history.pushState({}, '', url);
}
// 拖拽效果处理
const dropZone = document.getElementById('drop-zone');
if(dropZone) {
const input = dropZone.querySelector('input');
['dragenter', 'dragover', 'dragleave', 'drop'].forEach(eventName => {
dropZone.addEventListener(eventName, preventDefaults, false);
});
function preventDefaults(e) {
e.preventDefault();
e.stopPropagation();
}
['dragenter', 'dragover'].forEach(eventName => {
dropZone.addEventListener(eventName, highlight, false);
});
['dragleave', 'drop'].forEach(eventName => {
dropZone.addEventListener(eventName, unhighlight, false);
});
function highlight(e) {
dropZone.classList.add('border-brand-500', 'bg-brand-50', 'scale-[1.02]');
dropZone.classList.remove('border-slate-300', 'bg-slate-50');
}
function unhighlight(e) {
dropZone.classList.remove('border-brand-500', 'bg-brand-50', 'scale-[1.02]');
dropZone.classList.add('border-slate-300', 'bg-slate-50');
}
dropZone.addEventListener('drop', handleDrop, false);
function handleDrop(e) {
const dt = e.dataTransfer;
const files = dt.files;
if (files && files.length > 0) {
input.files = files;
handleFileSelect(input);
}
}
}
function handleLogin(e) {
e.preventDefault();
// 跳转到后台管理系统登录页
window.location.href = '/#/login';
}
function handleFileSelect(input) {
const placeholder = document.getElementById('upload-placeholder');
const fileNameDisplay = document.getElementById('file-name');
if (input.files && input.files[0]) {
placeholder.classList.add('hidden');
fileNameDisplay.classList.remove('hidden');
fileNameDisplay.textContent = '已选择: ' + input.files[0].name;
} else {
placeholder.classList.remove('hidden');
fileNameDisplay.classList.add('hidden');
}
}
function handleRegister(e) {
e.preventDefault();
const company = e.target.querySelector('input[placeholder*="公司"]').value;
alert(`入驻申请提交成功!\n\n欢迎 ${company} 加入我们。\n我们将尽快审核您的资料。`);
window.location.href = 'index.html';
}
// Initialize based on URL parameter
window.addEventListener('DOMContentLoaded', () => {
const params = new URLSearchParams(window.location.search);
const mode = params.get('mode') || 'login';
switchMode(mode);
});
</script>
</body>
</html>

187
public/web/index.html Normal file
View File

@@ -0,0 +1,187 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>智能营销服务平台 - CID广告 & AI客服</title>
<script src="https://cdn.tailwindcss.com"></script>
<link rel="stylesheet" href="style.css">
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700&display=swap" rel="stylesheet">
<script>
tailwind.config = {
theme: {
extend: {
fontFamily: {
sans: ['Inter', 'sans-serif'],
},
colors: {
brand: {
50: '#f0f9ff',
100: '#e0f2fe',
500: '#0ea5e9',
600: '#0284c7',
900: '#0c4a6e',
}
}
}
}
}
</script>
</head>
<body class="bg-slate-50 text-slate-800 font-sans">
<!-- 导航栏 -->
<nav class="bg-white shadow-sm fixed w-full z-50">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="flex justify-between h-16">
<div class="flex items-center">
<span class="text-2xl font-bold text-brand-600">红动未来科技</span>
</div>
<div class="hidden md:flex items-center space-x-8">
<a href="#services" class="text-slate-600 hover:text-brand-600 transition">核心业务</a>
<a href="#advantage" class="text-slate-600 hover:text-brand-600 transition">优势</a>
<a href="auth.html?mode=register" class="bg-brand-600 text-white px-5 py-2 rounded-full hover:bg-brand-700 transition shadow-md">商家入驻</a>
<a href="/index.html#/login" class="text-slate-600 hover:text-brand-600 transition font-medium">后台登录</a>
</div>
</div>
</div>
</nav>
<!-- Hero 区域 -->
<section class="relative pt-32 pb-20 bg-gradient-to-br from-brand-50 via-white to-brand-50 overflow-hidden">
<!-- 背景装饰 -->
<div class="absolute top-0 left-0 -ml-20 -mt-20 w-96 h-96 bg-blue-100 rounded-full mix-blend-multiply filter blur-3xl opacity-30 animate-blob"></div>
<div class="absolute top-0 right-0 -mr-20 -mt-20 w-96 h-96 bg-purple-100 rounded-full mix-blend-multiply filter blur-3xl opacity-30 animate-blob animation-delay-2000"></div>
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 relative z-10 fade-in-up">
<div class="text-center max-w-3xl mx-auto">
<h1 class="text-4xl md:text-6xl font-extrabold text-slate-900 tracking-tight mb-6 leading-tight">
赋能商业增长的 <br>
<span class="text-transparent bg-clip-text bg-gradient-to-r from-brand-600 to-brand-400">智能营销解决方案</span>
</h1>
<p class="text-lg text-slate-600 mb-10 leading-relaxed max-w-2xl mx-auto">
通过精准的 CID 广告归因技术与 24/7 智能 AI 客服,帮助企业降低获客成本,提升转化效率,实现全链路营销闭环。
</p>
<div class="flex justify-center gap-4">
<a href="auth.html?mode=register" class="px-8 py-4 bg-brand-600 text-white rounded-lg font-semibold hover:bg-brand-700 active:scale-95 transition-all duration-200 shadow-lg hover:shadow-brand-500/30">立即入驻</a>
<a href="#services" class="px-8 py-4 bg-white text-brand-600 border border-brand-200 rounded-lg font-semibold hover:bg-slate-50 hover:border-brand-300 active:scale-95 transition-all duration-200">了解服务</a>
</div>
</div>
</div>
</section>
<!-- 核心业务介绍 -->
<section id="services" class="py-20 bg-white">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="text-center mb-16 fade-in-up" style="animation-delay: 0.2s;">
<h2 class="text-3xl font-bold text-slate-900 mb-4">核心业务板块</h2>
<p class="text-slate-600 max-w-2xl mx-auto">专注于电商与服务行业的两大核心痛点:流量获取与用户留存。</p>
</div>
<div class="grid md:grid-cols-3 gap-8">
<!-- CID 广告业务 -->
<div class="group relative bg-white rounded-2xl shadow-lg hover:shadow-2xl border border-slate-100 p-8 hover:border-brand-200 transition-all duration-300 hover:-translate-y-2 fade-in-up" style="animation-delay: 0.3s;">
<div class="absolute top-0 right-0 -mt-6 -mr-6 w-24 h-24 bg-blue-100 rounded-full opacity-0 group-hover:opacity-50 blur-2xl transition duration-500"></div>
<div class="relative z-10">
<div class="w-14 h-14 bg-blue-50 rounded-xl flex items-center justify-center mb-6 group-hover:bg-blue-100 transition-colors duration-300">
<svg class="w-8 h-8 text-blue-600 transform group-hover:scale-110 group-hover:rotate-3 transition-transform duration-300" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7h8m0 0v8m0-8l-8 8-4-4-6 6"></path></svg>
</div>
<h3 class="text-2xl font-bold text-slate-900 mb-4 group-hover:text-blue-600 transition-colors">CID 广告业务</h3>
<p class="text-slate-600 mb-6 leading-relaxed">
打破平台数据壁垒,实现跨平台广告投放效果精准归因。
</p>
<ul class="space-y-3">
<li class="flex items-center text-slate-700">
<svg class="w-5 h-5 text-green-500 mr-2 flex-shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path></svg>
全链路转化数据回传
</li>
<li class="flex items-center text-slate-700">
<svg class="w-5 h-5 text-green-500 mr-2 flex-shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path></svg>
提升 ROI 投产比
</li>
<li class="flex items-center text-slate-700">
<svg class="w-5 h-5 text-green-500 mr-2 flex-shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path></svg>
支持多媒体平台
</li>
</ul>
</div>
</div>
<!-- 聚合电商业务 -->
<div class="group relative bg-white rounded-2xl shadow-lg hover:shadow-2xl border border-slate-100 p-8 hover:border-brand-200 transition-all duration-300 hover:-translate-y-2 fade-in-up" style="animation-delay: 0.4s;">
<div class="absolute top-0 right-0 -mt-6 -mr-6 w-24 h-24 bg-orange-100 rounded-full opacity-0 group-hover:opacity-50 blur-2xl transition duration-500"></div>
<div class="relative z-10">
<div class="w-14 h-14 bg-orange-50 rounded-xl flex items-center justify-center mb-6 group-hover:bg-orange-100 transition-colors duration-300">
<svg class="w-8 h-8 text-orange-600 transform group-hover:scale-110 group-hover:rotate-3 transition-transform duration-300" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M16 11V7a4 4 0 00-8 0v4M5 9h14l1 12H4L5 9z"></path></svg>
</div>
<h3 class="text-2xl font-bold text-slate-900 mb-4 group-hover:text-orange-600 transition-colors">聚合电商业务</h3>
<p class="text-slate-600 mb-6 leading-relaxed">
一站式聚合主流电商平台资源,实现流量共享与销售增长。
</p>
<ul class="space-y-3">
<li class="flex items-center text-slate-700">
<svg class="w-5 h-5 text-green-500 mr-2 flex-shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path></svg>
多平台商品一键管理
</li>
<li class="flex items-center text-slate-700">
<svg class="w-5 h-5 text-green-500 mr-2 flex-shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path></svg>
聚合流量分发体系
</li>
<li class="flex items-center text-slate-700">
<svg class="w-5 h-5 text-green-500 mr-2 flex-shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path></svg>
供应链深度整合
</li>
</ul>
</div>
</div>
<!-- AI 客服业务 -->
<div class="group relative bg-white rounded-2xl shadow-lg hover:shadow-2xl border border-slate-100 p-8 hover:border-brand-200 transition-all duration-300 hover:-translate-y-2 fade-in-up" style="animation-delay: 0.5s;">
<div class="absolute top-0 right-0 -mt-6 -mr-6 w-24 h-24 bg-purple-100 rounded-full opacity-0 group-hover:opacity-50 blur-2xl transition duration-500"></div>
<div class="relative z-10">
<div class="w-14 h-14 bg-purple-50 rounded-xl flex items-center justify-center mb-6 group-hover:bg-purple-100 transition-colors duration-300">
<svg class="w-8 h-8 text-purple-600 transform group-hover:scale-110 group-hover:rotate-3 transition-transform duration-300" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 10h.01M12 10h.01M16 10h.01M9 16H5a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v8a2 2 0 01-2 2h-5l-5 5v-5z"></path></svg>
</div>
<h3 class="text-2xl font-bold text-slate-900 mb-4 group-hover:text-purple-600 transition-colors">AI 智能客服业务</h3>
<p class="text-slate-600 mb-6 leading-relaxed">
基于大模型的智能对话系统7x24小时在线秒级响应客户咨询。
</p>
<ul class="space-y-3">
<li class="flex items-center text-slate-700">
<svg class="w-5 h-5 text-green-500 mr-2 flex-shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path></svg>
自动接待与意图识别
</li>
<li class="flex items-center text-slate-700">
<svg class="w-5 h-5 text-green-500 mr-2 flex-shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path></svg>
智能话术推荐
</li>
<li class="flex items-center text-slate-700">
<svg class="w-5 h-5 text-green-500 mr-2 flex-shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path></svg>
降低人工成本
</li>
</ul>
</div>
</div>
</div>
</div>
</section>
<!-- 底部 CTA -->
<section class="py-20 bg-brand-900 text-white">
<div class="max-w-4xl mx-auto text-center px-4">
<h2 class="text-3xl font-bold mb-6">准备好提升您的业务了吗?</h2>
<p class="text-brand-100 mb-8 text-lg">加入数千家已经在使用我们服务的商家行列,开启智能营销新时代。</p>
<a href="auth.html?mode=register" class="inline-block px-10 py-4 bg-white text-brand-900 rounded-lg font-bold text-lg hover:bg-brand-50 transition transform hover:scale-105">
免费商家入驻
</a>
</div>
</section>
<footer class="bg-slate-900 text-slate-400 py-8">
<div class="max-w-7xl mx-auto px-4 text-center">
<p>&copy; 2025 红动未来科技. All rights reserved.</p>
</div>
</footer>
</body>
</html>

69
public/web/style.css Normal file
View File

@@ -0,0 +1,69 @@
html {
scroll-behavior: smooth;
}
body {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
/* 自定义滚动条 */
::-webkit-scrollbar {
width: 8px;
}
::-webkit-scrollbar-track {
background: #f1f1f1;
}
::-webkit-scrollbar-thumb {
background: #cbd5e1;
border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
background: #94a3b8;
}
/* 简单的动画类 */
.fade-in-up {
animation: fadeInUp 0.5s ease-out forwards;
}
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes blob {
0% {
transform: translate(0px, 0px) scale(1);
}
33% {
transform: translate(30px, -50px) scale(1.1);
}
66% {
transform: translate(-20px, 20px) scale(0.9);
}
100% {
transform: translate(0px, 0px) scale(1);
}
}
.animate-blob {
animation: blob 7s infinite;
}
.animation-delay-2000 {
animation-delay: 2s;
}
.animation-delay-4000 {
animation-delay: 4s;
}