Compare commits

..

10 Commits

Author SHA1 Message Date
Flatlogic Bot
235c63d4c4 测试部署试试 2026-03-18 02:14:31 +00:00
Flatlogic Bot
10d64285e3 部署 2026-03-18 01:48:52 +00:00
Flatlogic Bot
a32842e568 前后完整 2026-02-26 12:39:58 +00:00
Flatlogic Bot
0da7358bbb 网站建设 2026-02-26 11:49:01 +00:00
Flatlogic Bot
784aa3f3d1 Autosave: 20260226-113758 2026-02-26 11:37:59 +00:00
Flatlogic Bot
3324310400 Autosave: 20260226-084259 2026-02-26 08:42:59 +00:00
Flatlogic Bot
4eb427da7e Autosave: 20260226-073602 2026-02-26 07:36:02 +00:00
Flatlogic Bot
079480bc29 Revert to version d48e906 2026-02-26 07:02:11 +00:00
Flatlogic Bot
6d05197008 Revert to version 7f248fc 2026-02-26 07:01:39 +00:00
Flatlogic Bot
d48e906220 Autosave: 20260226-064543 2026-02-26 06:45:43 +00:00
47 changed files with 4646 additions and 442 deletions

120
admin/admins.php Normal file
View File

@ -0,0 +1,120 @@
<?php
require_once __DIR__ . '/header.php';
$pdo = db();
$action = $_GET['action'] ?? 'list';
$id = $_GET['id'] ?? null;
// Handle Delete
if ($action === 'delete' && $id) {
// Prevent deleting self
if ($id == $_SESSION['admin_user']['id']) {
header('Location: admins.php?msg=err_self');
exit;
}
$stmt = $pdo->prepare("DELETE FROM admin_users WHERE id = ?");
$stmt->execute([$id]);
header('Location: admins.php?msg=deleted');
exit;
}
// Handle Save
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$username = $_POST['username'];
$nickname = $_POST['nickname'];
$password = $_POST['password'];
if ($id) {
if (!empty($password)) {
$stmt = $pdo->prepare("UPDATE admin_users SET username=?, nickname=?, password=? WHERE id=?");
$stmt->execute([$username, $nickname, password_hash($password, PASSWORD_DEFAULT), $id]);
} else {
$stmt = $pdo->prepare("UPDATE admin_users SET username=?, nickname=? WHERE id=?");
$stmt->execute([$username, $nickname, $id]);
}
} else {
$stmt = $pdo->prepare("INSERT INTO admin_users (username, nickname, password) VALUES (?, ?, ?)");
$stmt->execute([$username, $nickname, password_hash($password, PASSWORD_DEFAULT)]);
}
header('Location: admins.php?msg=saved');
exit;
}
// Fetch list
$admins = $pdo->query("SELECT * FROM admin_users ORDER BY id DESC")->fetchAll();
// Fetch for edit
$item = null;
if ($action === 'edit' && $id) {
$stmt = $pdo->prepare("SELECT * FROM admin_users WHERE id = ?");
$stmt->execute([$id]);
$item = $stmt->fetch();
}
?>
<div class="card">
<div class="card-header d-flex justify-content-between align-items-center">
<span><?= $action === 'edit' ? '编辑管理员' : ($action === 'add' ? '新增管理员' : '管理员列表') ?></span>
<?php if ($action === 'list'): ?>
<a href="admins.php?action=add" class="btn btn-sm btn-primary">新增管理员</a>
<?php else: ?>
<a href="admins.php" class="btn btn-sm btn-secondary">返回列表</a>
<?php endif; ?>
</div>
<div class="card-body">
<?php if ($action === 'list'): ?>
<div class="table-responsive">
<table class="table align-middle">
<thead>
<tr>
<th>ID</th>
<th>用户名</th>
<th>昵称</th>
<th>创建时间</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<?php foreach ($admins as $a): ?>
<tr>
<td><?= $a['id'] ?></td>
<td><strong><?= htmlspecialchars($a['username']) ?></strong></td>
<td><?= htmlspecialchars($a['nickname']) ?></td>
<td><?= $a['created_at'] ?></td>
<td>
<a href="admins.php?action=edit&id=<?= $a['id'] ?>" class="btn btn-sm btn-outline-primary"><i class="fas fa-edit"></i></a>
<?php if ($a['id'] != $_SESSION['admin_user']['id']): ?>
<a href="admins.php?action=delete&id=<?= $a['id'] ?>" class="btn btn-sm btn-outline-danger" onclick="return confirm('确定删除吗?')"><i class="fas fa-trash"></i></a>
<?php endif; ?>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
<?php else: ?>
<form method="POST">
<div class="row">
<div class="col-md-6 mb-3">
<label class="form-label">用户名</label>
<input type="text" name="username" class="form-control" value="<?= htmlspecialchars($item['username'] ?? '') ?>" required>
</div>
<div class="col-md-6 mb-3">
<label class="form-label">昵称</label>
<input type="text" name="nickname" class="form-control" value="<?= htmlspecialchars($item['nickname'] ?? '') ?>" required>
</div>
<div class="col-md-12 mb-3">
<label class="form-label">密码 <?= $id ? '(留空不修改)' : '' ?></label>
<input type="password" name="password" class="form-control" <?= $id ? '' : 'required' ?>>
</div>
</div>
<div class="mt-4">
<button type="submit" class="btn btn-primary">保存修改</button>
<a href="admins.php" class="btn btn-light ms-2">取消</a>
</div>
</form>
<?php endif; ?>
</div>
</div>
<?php require_once __DIR__ . '/footer.php'; ?>

40
admin/auth.php Normal file
View File

@ -0,0 +1,40 @@
<?php
session_start();
require_once __DIR__ . '/../db/config.php';
function is_logged_in() {
return isset($_SESSION['admin_user']);
}
function require_login() {
if (!is_logged_in()) {
header('Location: login.php');
exit;
}
}
function login($username, $password) {
$pdo = db();
$stmt = $pdo->prepare("SELECT * FROM admin_users WHERE username = ?");
$stmt->execute([$username]);
$user = $stmt->fetch();
if ($user && password_verify($password, $user['password'])) {
$_SESSION['admin_user'] = [
'id' => $user['id'],
'username' => $user['username'],
'nickname' => $user['nickname'],
'avatar' => $user['avatar']
];
// Update last login
$stmt = $pdo->prepare("UPDATE admin_users SET last_login = NOW() WHERE id = ?");
$stmt->execute([$user['id']]);
return true;
}
return false;
}
function logout() {
unset($_SESSION['admin_user']);
session_destroy();
}

192
admin/cases.php Normal file
View File

@ -0,0 +1,192 @@
<?php
require_once __DIR__ . '/header.php';
$pdo = db();
$action = $_GET['action'] ?? 'list';
$id = $_GET['id'] ?? null;
// Handle Delete
if ($action === 'delete' && $id) {
$stmt = $pdo->prepare("DELETE FROM cases WHERE id = ?");
$stmt->execute([$id]);
header('Location: cases.php?msg=deleted');
exit;
}
// Handle Save (Add/Edit)
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$data = [
'title' => $_POST['title'],
'slug' => $_POST['slug'] ?: strtolower(preg_replace('/[^A-Za-z0-9-]+/', '-', $_POST['title'])),
'tag' => $_POST['tag'],
'category' => $_POST['category'],
'img' => $_POST['img'],
'description' => $_POST['description'],
'content' => $_POST['content'],
'challenge' => $_POST['challenge'],
'solution' => $_POST['solution'],
'result_stability' => $_POST['result_stability'],
'result_throughput' => $_POST['result_throughput'],
'result_cost' => $_POST['result_cost'],
'tech' => $_POST['tech'],
'is_featured' => isset($_POST['is_featured']) ? 1 : 0,
'sort_order' => (int)$_POST['sort_order']
];
if ($id) {
$sql = "UPDATE cases SET title=:title, slug=:slug, tag=:tag, category=:category, img=:img, description=:description, content=:content, challenge=:challenge, solution=:solution, result_stability=:result_stability, result_throughput=:result_throughput, result_cost=:result_cost, tech=:tech, is_featured=:is_featured, sort_order=:sort_order WHERE id=:id";
$data['id'] = $id;
} else {
$sql = "INSERT INTO cases (title, slug, tag, category, img, description, content, challenge, solution, result_stability, result_throughput, result_cost, tech, is_featured, sort_order) VALUES (:title, :slug, :tag, :category, :img, :description, :content, :challenge, :solution, :result_stability, :result_throughput, :result_cost, :tech, :is_featured, :sort_order)";
}
$stmt = $pdo->prepare($sql);
$stmt->execute($data);
header('Location: cases.php?msg=saved');
exit;
}
// Fetch cases for list
$cases = $pdo->query("SELECT * FROM cases ORDER BY sort_order ASC, created_at DESC")->fetchAll();
// Fetch case for edit
$case = null;
if ($action === 'edit' && $id) {
$stmt = $pdo->prepare("SELECT * FROM cases WHERE id = ?");
$stmt->execute([$id]);
$case = $stmt->fetch();
}
?>
<div class="card">
<div class="card-header d-flex justify-content-between align-items-center">
<span><?= $action === 'edit' ? '编辑案例' : ($action === 'add' ? '新增案例' : '案例列表') ?></span>
<?php if ($action === 'list'): ?>
<a href="cases.php?action=add" class="btn btn-sm btn-primary">新增案例</a>
<?php else: ?>
<a href="cases.php" class="btn btn-sm btn-secondary">返回列表</a>
<?php endif; ?>
</div>
<div class="card-body">
<?php if ($action === 'list'): ?>
<div class="table-responsive">
<table class="table align-middle">
<thead>
<tr>
<th>预览</th>
<th>标题 / 分类</th>
<th>标签</th>
<th>精选</th>
<th>排序</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<?php foreach ($cases as $c): ?>
<tr>
<td><img src="<?= htmlspecialchars($c['img']) ?>" width="60" class="rounded"></td>
<td>
<div><strong><?= htmlspecialchars($c['title']) ?></strong></div>
<div class="small text-muted"><?= htmlspecialchars($c['category']) ?></div>
</td>
<td><span class="badge badge-soft-primary"><?= htmlspecialchars($c['tag']) ?></span></td>
<td>
<?php if ($c['is_featured']): ?>
<span class="badge bg-success"></span>
<?php else: ?>
<span class="badge bg-light text-dark"></span>
<?php endif; ?>
</td>
<td><?= $c['sort_order'] ?></td>
<td>
<a href="cases.php?action=edit&id=<?= $c['id'] ?>" class="btn btn-sm btn-outline-primary"><i class="fas fa-edit"></i></a>
<a href="cases.php?action=delete&id=<?= $c['id'] ?>" class="btn btn-sm btn-outline-danger" onclick="return confirm('确定删除吗?')"><i class="fas fa-trash"></i></a>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
<?php else: ?>
<form method="POST">
<div class="row">
<div class="col-md-6 mb-3">
<label class="form-label">标题</label>
<input type="text" name="title" class="form-control" value="<?= htmlspecialchars($case['title'] ?? '') ?>" required>
</div>
<div class="col-md-6 mb-3">
<label class="form-label">Slug (URL标识)</label>
<input type="text" name="slug" class="form-control" value="<?= htmlspecialchars($case['slug'] ?? '') ?>" placeholder="留空自动生成">
</div>
<div class="col-md-4 mb-3">
<label class="form-label">分类</label>
<select name="category" class="form-select">
<?php
$categories = ['海外资金盘', '点赞盘', '刷单盘', '商城盘', '云矿机', '新能源', '投资理财', '反波胆', '微交易', '时间盘', '交易所', '各类小程序', '机器人', '落地页定制', '远控系统', '授权系统', '在线客服', '获取通讯录'];
foreach ($categories as $cat):
?>
<option value="<?= $cat ?>" <?= ($case['category'] ?? '') == $cat ? 'selected' : '' ?>><?= $cat ?></option>
<?php endforeach; ?>
</select>
</div>
<div class="col-md-4 mb-3">
<label class="form-label">标签</label>
<input type="text" name="tag" class="form-control" value="<?= htmlspecialchars($case['tag'] ?? '') ?>">
</div>
<div class="col-md-4 mb-3">
<label class="form-label">排序</label>
<input type="number" name="sort_order" class="form-control" value="<?= $case['sort_order'] ?? 0 ?>">
</div>
<div class="col-md-12 mb-3">
<label class="form-label">预览图 URL</label>
<input type="text" name="img" class="form-control" value="<?= htmlspecialchars($case['img'] ?? '') ?>" required>
</div>
<div class="col-md-12 mb-3">
<label class="form-label">简短描述</label>
<textarea name="description" class="form-control" rows="2"><?= htmlspecialchars($case['description'] ?? '') ?></textarea>
</div>
<div class="col-md-12 mb-3">
<label class="form-label">详细内容</label>
<textarea name="content" class="form-control" rows="4"><?= htmlspecialchars($case['content'] ?? '') ?></textarea>
</div>
<div class="col-md-6 mb-3">
<label class="form-label">核心挑战</label>
<textarea name="challenge" class="form-control" rows="3"><?= htmlspecialchars($case['challenge'] ?? '') ?></textarea>
</div>
<div class="col-md-6 mb-3">
<label class="form-label">解决方案</label>
<textarea name="solution" class="form-control" rows="3"><?= htmlspecialchars($case['solution'] ?? '') ?></textarea>
</div>
<div class="col-md-4 mb-3">
<label class="form-label">稳定性指标</label>
<input type="text" name="result_stability" class="form-control" value="<?= htmlspecialchars($case['result_stability'] ?? '') ?>">
</div>
<div class="col-md-4 mb-3">
<label class="form-label">吞吐量指标</label>
<input type="text" name="result_throughput" class="form-control" value="<?= htmlspecialchars($case['result_throughput'] ?? '') ?>">
</div>
<div class="col-md-4 mb-3">
<label class="form-label">成本指标</label>
<input type="text" name="result_cost" class="form-control" value="<?= htmlspecialchars($case['result_cost'] ?? '') ?>">
</div>
<div class="col-md-12 mb-3">
<label class="form-label">技术栈 (逗号分隔)</label>
<input type="text" name="tech" class="form-control" value="<?= htmlspecialchars($case['tech'] ?? '') ?>">
</div>
<div class="col-md-12 mb-3">
<div class="form-check">
<input class="form-check-input" type="checkbox" name="is_featured" id="is_featured" <?= ($case['is_featured'] ?? 0) ? 'checked' : '' ?>>
<label class="form-check-label" for="is_featured">设置为精选 (首页显示)</label>
</div>
</div>
</div>
<div class="mt-4">
<button type="submit" class="btn btn-primary">保存修改</button>
<a href="cases.php" class="btn btn-light ms-2">取消</a>
</div>
</form>
<?php endif; ?>
</div>
</div>
<?php require_once __DIR__ . '/footer.php'; ?>

11
admin/footer.php Normal file
View File

@ -0,0 +1,11 @@
</div>
</div>
<!-- Bootstrap 5 JS Bundle -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
// Optional: Global JS for admin panel
</script>
</body>
</html>

327
admin/header.php Normal file
View File

@ -0,0 +1,327 @@
<?php
require_once __DIR__ . '/auth.php';
require_login();
$admin = $_SESSION['admin_user'];
$pdo = db();
// Fetch Website Settings for Logo & Favicon
$stmt = $pdo->query("SELECT * FROM website_settings");
$settings = [];
while ($row = $stmt->fetch()) {
$settings[$row['key']] = $row['value'];
}
$site_logo = $settings['site_logo'] ?? 'assets/pasted-20260226-073317-a8105f30.png';
$site_name = $settings['site_name'] ?? '智域科技';
?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title><?= htmlspecialchars($site_name) ?> - 后台管理系统</title>
<!-- Favicon -->
<link rel="icon" href="../<?= htmlspecialchars($site_logo) ?>" type="image/x-icon">
<!-- Bootstrap 5 CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<!-- Font Awesome -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<!-- Google Fonts: Ma Shan Zheng -->
<link href="https://fonts.googleapis.com/css2?family=Ma+Shan+Zheng&display=swap" rel="stylesheet">
<style>
:root {
--sidebar-bg: #ffffff;
--sidebar-text: #4b5563;
--sidebar-active-bg: #f3f4f6;
--sidebar-active-text: #0d6efd;
--sidebar-active-border: #0d6efd;
--main-bg: #f8f9fa;
--card-border-radius: 12px;
}
body {
font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
background-color: var(--main-bg);
margin: 0;
display: flex;
min-height: 100vh;
}
/* Sidebar Style */
.sidebar {
width: 260px;
background-color: var(--sidebar-bg);
color: var(--sidebar-text);
flex-shrink: 0;
display: flex;
flex-direction: column;
position: sticky;
top: 0;
height: 100vh;
z-index: 1000;
transition: all 0.3s;
border-right: 1px solid #edf2f9;
}
.sidebar-header {
padding: 24px;
border-bottom: 1px solid #edf2f9;
display: flex;
align-items: center;
}
.sidebar-brand {
font-family: 'Ma Shan Zheng', cursive;
font-size: 1.5rem;
color: #333;
text-decoration: none;
display: flex;
align-items: center;
}
.sidebar-brand span:nth-child(1) { color: #3b82f6; }
.sidebar-brand span:nth-child(2) { color: #10b981; }
.sidebar-brand span:nth-child(3) { color: #f59e0b; }
.sidebar-brand span:nth-child(4) { color: #ef4444; }
.sidebar-nav {
padding: 16px 0;
flex-grow: 1;
overflow-y: auto;
}
.nav-item {
list-style: none;
padding: 4px 16px;
}
.nav-link {
display: flex;
align-items: center;
padding: 12px 16px;
color: var(--sidebar-text);
text-decoration: none;
border-radius: 8px;
transition: all 0.2s;
font-size: 0.95rem;
}
.nav-link i {
width: 20px;
margin-right: 12px;
font-size: 1.1rem;
text-align: center;
}
.nav-link:hover {
background-color: #f9fafb;
color: var(--sidebar-active-text);
}
.nav-link.active {
background-color: var(--sidebar-active-bg);
color: var(--sidebar-active-text);
font-weight: 600;
}
.nav-link.active i {
color: var(--sidebar-active-border);
}
.nav-group-title {
padding: 16px 32px 8px;
font-size: 0.75rem;
text-transform: uppercase;
letter-spacing: 1px;
color: #9ca3af;
}
/* Main Content */
.content-wrapper {
flex-grow: 1;
display: flex;
flex-direction: column;
overflow-x: hidden;
}
.top-navbar {
height: 70px;
background: #fff;
padding: 0 24px;
display: flex;
align-items: center;
justify-content: space-between;
border-bottom: 1px solid #edf2f9;
position: sticky;
top: 0;
z-index: 999;
}
.main-content {
padding: 24px;
}
/* UI Components */
.card {
border: none;
border-radius: var(--card-border-radius);
box-shadow: 0 0.75rem 1.5rem rgba(18, 38, 63, 0.03);
margin-bottom: 24px;
}
.card-header {
background-color: transparent;
border-bottom: 1px solid #edf2f9;
padding: 16px 24px;
font-weight: 600;
}
.btn-primary {
background-color: #0d6efd;
border-color: #0d6efd;
padding: 8px 20px;
border-radius: 8px;
}
.table thead th {
background-color: #f8f9fa;
font-weight: 600;
text-transform: uppercase;
font-size: 0.75rem;
letter-spacing: 0.5px;
color: #7c8db5;
padding: 12px 24px;
}
.table tbody td {
padding: 16px 24px;
vertical-align: middle;
}
.badge-soft-success { background-color: #d1e7dd; color: #0f5132; }
.badge-soft-primary { background-color: #cfe2ff; color: #084298; }
/* Animation */
.fade-in {
animation: fadeIn 0.5s ease-in-out;
}
@keyframes fadeIn {
from { opacity: 0; transform: translateY(10px); }
to { opacity: 1; transform: translateY(0); }
}
</style>
</head>
<body>
<div class="sidebar">
<div class="sidebar-header">
<a href="index.php" class="sidebar-brand">
<img src="../<?= htmlspecialchars($site_logo) ?>" alt="Logo" height="30" class="me-2">
<span></span><span></span><span></span><span></span>
</a>
</div>
<div class="sidebar-nav">
<ul class="nav flex-column">
<li class="nav-item">
<a href="index.php" class="nav-link <?= basename($_SERVER['PHP_SELF']) == 'index.php' ? 'active' : '' ?>">
<i class="fas fa-chart-line"></i> 仪表盘
</a>
</li>
<li class="nav-group-title">内容管理</li>
<li class="nav-item">
<a href="cases.php" class="nav-link <?= basename($_SERVER['PHP_SELF']) == 'cases.php' ? 'active' : '' ?>">
<i class="fas fa-briefcase"></i> 声誉作品 (案例)
</a>
</li>
<li class="nav-item">
<a href="services.php" class="nav-link <?= basename($_SERVER['PHP_SELF']) == 'services.php' ? 'active' : '' ?>">
<i class="fas fa-cube"></i> 核心能力 (服务)
</a>
</li>
<li class="nav-item">
<a href="tech_stack.php" class="nav-link <?= basename($_SERVER['PHP_SELF']) == 'tech_stack.php' ? 'active' : '' ?>">
<i class="fas fa-layer-group"></i> 技术底座
</a>
</li>
<li class="nav-item">
<a href="pricing.php" class="nav-link <?= basename($_SERVER['PHP_SELF']) == 'pricing.php' ? 'active' : '' ?>">
<i class="fas fa-tags"></i> 报价方案
</a>
</li>
<li class="nav-item">
<a href="transformations.php" class="nav-link <?= basename($_SERVER['PHP_SELF']) == 'transformations.php' ? 'active' : '' ?>">
<i class="fas fa-rocket"></i> 转型实践
</a>
</li>
<li class="nav-group-title">咨询与联系</li>
<li class="nav-item">
<a href="leads.php" class="nav-link <?= basename($_SERVER['PHP_SELF']) == 'leads.php' ? 'active' : '' ?>">
<i class="fas fa-headset"></i> 咨询记录 (Leads)
</a>
</li>
<li class="nav-item">
<a href="settings.php?group=contact" class="nav-link <?= ($_GET['group'] ?? '') == 'contact' ? 'active' : '' ?>">
<i class="fas fa-address-book"></i> 联系方式
</a>
</li>
<li class="nav-group-title">系统管理</li>
<li class="nav-item">
<a href="settings.php?group=general" class="nav-link <?= ($_GET['group'] ?? '') == 'general' ? 'active' : '' ?>">
<i class="fas fa-cog"></i> 基础设置
</a>
</li>
<li class="nav-item">
<a href="settings.php?group=seo" class="nav-link <?= ($_GET['group'] ?? '') == 'seo' ? 'active' : '' ?>">
<i class="fas fa-search"></i> SEO设置
</a>
</li>
<li class="nav-item">
<a href="admins.php" class="nav-link <?= basename($_SERVER['PHP_SELF']) == 'admins.php' ? 'active' : '' ?>">
<i class="fas fa-users-cog"></i> 管理员
</a>
</li>
</ul>
</div>
<div class="sidebar-footer p-3 border-top">
<a href="logout.php" class="btn btn-outline-danger w-100 btn-sm">
<i class="fas fa-sign-out-alt"></i> 退出登录
</a>
</div>
</div>
<div class="content-wrapper">
<div class="top-navbar">
<div class="d-flex align-items-center">
<h4 class="mb-0 fw-bold"><?php
$titles = [
'index.php' => '仪表盘',
'cases.php' => '案例管理',
'services.php' => '服务管理',
'tech_stack.php' => '技术底座',
'pricing.php' => '报价方案',
'transformations.php' => '转型实践',
'leads.php' => '咨询记录',
'settings.php' => '网站设置',
'admins.php' => '管理员管理',
'profile.php' => '个人资料'
];
echo $titles[basename($_SERVER['PHP_SELF'])] ?? '后台管理';
?></h4>
</div>
<div class="d-flex align-items-center">
<div class="dropdown">
<a href="#" class="d-flex align-items-center text-dark text-decoration-none dropdown-toggle" data-bs-toggle="dropdown">
<img src="../<?= htmlspecialchars($site_logo) ?>" alt="" width="32" height="32" class="rounded-circle me-2">
<strong><?= htmlspecialchars($admin['nickname'] ?? $admin['username']) ?></strong>
</a>
<ul class="dropdown-menu dropdown-menu-end shadow border-0">
<li><a class="dropdown-item" href="profile.php"><i class="fas fa-user-edit me-2"></i> 个人资料</a></li>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item text-danger" href="logout.php"><i class="fas fa-sign-out-alt me-2"></i> 退出登录</a></li>
</ul>
</div>
</div>
</div>
<div class="main-content fade-in">

126
admin/index.php Normal file
View File

@ -0,0 +1,126 @@
<?php
require_once __DIR__ . '/header.php';
$pdo = db();
// Get counts for dashboard
$case_count = $pdo->query("SELECT COUNT(*) FROM cases")->fetchColumn();
$service_count = $pdo->query("SELECT COUNT(*) FROM services")->fetchColumn();
$lead_count = $pdo->query("SELECT COUNT(*) FROM leads")->fetchColumn();
$tech_count = $pdo->query("SELECT COUNT(*) FROM tech_stack")->fetchColumn();
// Get recent leads
$recent_leads = $pdo->query("SELECT * FROM leads ORDER BY created_at DESC LIMIT 5")->fetchAll();
?>
<div class="row mb-4">
<div class="col-md-3">
<div class="card stats-card h-100">
<div class="stats-icon icon-blue">
<i class="fas fa-briefcase"></i>
</div>
<div>
<h3 class="mb-0 fw-bold"><?= $case_count ?></h3>
<p class="text-muted mb-0">声誉作品</p>
</div>
</div>
</div>
<div class="col-md-3">
<div class="card stats-card h-100">
<div class="stats-icon icon-green">
<i class="fas fa-cube"></i>
</div>
<div>
<h3 class="mb-0 fw-bold"><?= $service_count ?></h3>
<p class="text-muted mb-0">核心能力</p>
</div>
</div>
</div>
<div class="col-md-3">
<div class="card stats-card h-100">
<div class="stats-icon icon-orange">
<i class="fas fa-headset"></i>
</div>
<div>
<h3 class="mb-0 fw-bold"><?= $lead_count ?></h3>
<p class="text-muted mb-0">咨询记录</p>
</div>
</div>
</div>
<div class="col-md-3">
<div class="card stats-card h-100">
<div class="stats-icon icon-red">
<i class="fas fa-layer-group"></i>
</div>
<div>
<h3 class="mb-0 fw-bold"><?= $tech_count ?></h3>
<p class="text-muted mb-0">技术底座</p>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-8">
<div class="card">
<div class="card-header d-flex justify-content-between align-items-center">
<span>最新咨询记录</span>
<a href="leads.php" class="btn btn-sm btn-link">查看全部</a>
</div>
<div class="card-body p-0">
<div class="table-responsive">
<table class="table table-hover mb-0">
<thead>
<tr>
<th>客户姓名</th>
<th>联系方式</th>
<th>咨询时间</th>
<th>状态</th>
</tr>
</thead>
<tbody>
<?php foreach ($recent_leads as $lead): ?>
<tr>
<td><?= htmlspecialchars($lead['name']) ?></td>
<td><?= htmlspecialchars($lead['email'] ?: $lead['phone']) ?></td>
<td><?= date('Y-m-d H:i', strtotime($lead['created_at'])) ?></td>
<td><span class="badge badge-soft-primary">待处理</span></td>
</tr>
<?php endforeach; if (empty($recent_leads)): ?>
<tr>
<td colspan="4" class="text-center py-4">暂无数据</td>
</tr>
<?php endif; ?>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="card">
<div class="card-header">系统信息</div>
<div class="card-body">
<ul class="list-group list-group-flush">
<li class="list-group-item d-flex justify-content-between align-items-center px-0">
<span>PHP 版本</span>
<span class="badge bg-light text-dark"><?= PHP_VERSION ?></span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center px-0">
<span>数据库</span>
<span class="badge bg-light text-dark">MySQL 5.7+</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center px-0">
<span>服务器时间</span>
<span class="badge bg-light text-dark"><?= date('Y-m-d H:i:s') ?></span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center px-0">
<span>登录用户</span>
<span class="badge bg-light text-dark"><?= htmlspecialchars($admin['username']) ?></span>
</li>
</ul>
</div>
</div>
</div>
</div>
<?php require_once __DIR__ . '/footer.php'; ?>

86
admin/leads.php Normal file
View File

@ -0,0 +1,86 @@
<?php
require_once __DIR__ . '/header.php';
$pdo = db();
$action = $_GET['action'] ?? 'list';
$id = $_GET['id'] ?? null;
// Handle Delete
if ($action === 'delete' && $id) {
$stmt = $pdo->prepare("DELETE FROM leads WHERE id = ?");
$stmt->execute([$id]);
header('Location: leads.php?msg=deleted');
exit;
}
// Fetch leads
$leads = $pdo->query("SELECT * FROM leads ORDER BY created_at DESC")->fetchAll();
?>
<div class="card">
<div class="card-header">咨询记录列表</div>
<div class="card-body">
<div class="table-responsive">
<table class="table align-middle">
<thead>
<tr>
<th>ID</th>
<th>姓名</th>
<th>邮箱</th>
<th>电话</th>
<th>时间</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<?php foreach ($leads as $l): ?>
<tr>
<td><?= $l['id'] ?></td>
<td><strong><?= htmlspecialchars($l['name']) ?></strong></td>
<td><?= htmlspecialchars($l['email']) ?></td>
<td><?= htmlspecialchars($l['phone']) ?></td>
<td><?= date('Y-m-d H:i:s', strtotime($l['created_at'])) ?></td>
<td>
<button type="button" class="btn btn-sm btn-outline-primary" data-bs-toggle="modal" data-bs-target="#leadModal<?= $l['id'] ?>">
<i class="fas fa-eye"></i> 详情
</button>
<a href="leads.php?action=delete&id=<?= $l['id'] ?>" class="btn btn-sm btn-outline-danger" onclick="return confirm('确定删除此咨询记录吗?')">
<i class="fas fa-trash"></i>
</a>
<!-- Modal -->
<div class="modal fade" id="leadModal<?= $l['id'] ?>" tabindex="-1">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">咨询详情 - <?= htmlspecialchars($l['name']) ?></h5>
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
</div>
<div class="modal-body">
<div class="mb-3"><strong>姓名:</strong> <?= htmlspecialchars($l['name']) ?></div>
<div class="mb-3"><strong>邮箱:</strong> <?= htmlspecialchars($l['email']) ?></div>
<div class="mb-3"><strong>电话:</strong> <?= htmlspecialchars($l['phone']) ?></div>
<div class="mb-3"><strong>留言内容:</strong><br><div class="p-3 bg-light rounded mt-2"><?= nl2br(htmlspecialchars($l['message'])) ?></div></div>
<div class="mb-3"><strong>咨询时间:</strong> <?= date('Y-m-d H:i:s', strtotime($l['created_at'])) ?></div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">关闭</button>
<a href="mailto:<?= htmlspecialchars($l['email']) ?>" class="btn btn-primary">邮件回复</a>
</div>
</div>
</div>
</div>
</td>
</tr>
<?php endforeach; if (empty($leads)): ?>
<tr>
<td colspan="6" class="text-center py-5">暂无咨询记录</td>
</tr>
<?php endif; ?>
</tbody>
</table>
</div>
</div>
</div>
<?php require_once __DIR__ . '/footer.php'; ?>

99
admin/login.php Normal file
View File

@ -0,0 +1,99 @@
<?php
require_once __DIR__ . '/auth.php';
if (is_logged_in()) {
header('Location: index.php');
exit;
}
$error = '';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$username = $_POST['username'] ?? '';
$password = $_POST['password'] ?? '';
if (login($username, $password)) {
header('Location: index.php');
exit;
} else {
$error = '用户名或密码错误';
}
}
?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>登录 - 智域科技后台管理</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Ma+Shan+Zheng&display=swap" rel="stylesheet">
<style>
body {
background-color: #f8f9fa;
height: 100vh;
display: flex;
align-items: center;
justify-content: center;
font-family: 'Inter', sans-serif;
}
.login-card {
width: 100%;
max-width: 400px;
padding: 40px;
background: #fff;
border-radius: 16px;
box-shadow: 0 10px 25px rgba(0,0,0,0.05);
}
.login-brand {
font-family: 'Ma+Shan+Zheng', cursive;
font-size: 2.5rem;
text-align: center;
margin-bottom: 30px;
}
.login-brand span:nth-child(1) { color: #3b82f6; }
.login-brand span:nth-child(2) { color: #10b981; }
.login-brand span:nth-child(3) { color: #f59e0b; }
.login-brand span:nth-child(4) { color: #ef4444; }
.form-control {
padding: 12px;
border-radius: 8px;
border: 1px solid #dee2e6;
}
.btn-primary {
padding: 12px;
border-radius: 8px;
width: 100%;
font-weight: 600;
}
</style>
</head>
<body>
<div class="login-card shadow-lg">
<div class="login-brand">
<span></span><span></span><span></span><span></span>
</div>
<h5 class="text-center mb-4 text-muted">后台管理登录</h5>
<?php if ($error): ?>
<div class="alert alert-danger py-2 small"><?= $error ?></div>
<?php endif; ?>
<form method="POST">
<div class="mb-3">
<label class="form-label small text-muted">用户名</label>
<input type="text" name="username" class="form-control" required autofocus>
</div>
<div class="mb-4">
<label class="form-label small text-muted">密码</label>
<input type="password" name="password" class="form-control" required>
</div>
<button type="submit" class="btn btn-primary">立即登录</button>
</form>
<div class="text-center mt-4">
<a href="../index.php" class="text-decoration-none small text-muted">返回网站首页</a>
</div>
</div>
</body>
</html>

5
admin/logout.php Normal file
View File

@ -0,0 +1,5 @@
<?php
require_once __DIR__ . '/auth.php';
logout();
header('Location: login.php');
exit;

119
admin/pricing.php Normal file
View File

@ -0,0 +1,119 @@
<?php
require_once __DIR__ . '/header.php';
$pdo = db();
$action = $_GET['action'] ?? 'list';
$id = $_GET['id'] ?? null;
if ($action === 'delete' && $id) {
$stmt = $pdo->prepare("DELETE FROM pricing_plans WHERE id = ?");
$stmt->execute([$id]);
header('Location: pricing.php?msg=deleted');
exit;
}
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$data = [
'name' => $_POST['name'],
'price_range' => $_POST['price_range'],
'features' => $_POST['features'],
'is_featured' => isset($_POST['is_featured']) ? 1 : 0,
'sort_order' => (int)$_POST['sort_order']
];
if ($id) {
$sql = "UPDATE pricing_plans SET name=:name, price_range=:price_range, features=:features, is_featured=:is_featured, sort_order=:sort_order WHERE id=:id";
$data['id'] = $id;
} else {
$sql = "INSERT INTO pricing_plans (name, price_range, features, is_featured, sort_order) VALUES (:name, :price_range, :features, :is_featured, :sort_order)";
}
$stmt = $pdo->prepare($sql);
$stmt->execute($data);
header('Location: pricing.php?msg=saved');
exit;
}
$plans = $pdo->query("SELECT * FROM pricing_plans ORDER BY sort_order ASC, id DESC")->fetchAll();
$plan = null;
if ($action === 'edit' && $id) {
$stmt = $pdo->prepare("SELECT * FROM pricing_plans WHERE id = ?");
$stmt->execute([$id]);
$plan = $stmt->fetch();
}
?>
<div class="card">
<div class="card-header d-flex justify-content-between align-items-center">
<span><?= $action === 'edit' ? '编辑方案' : ($action === 'add' ? '新增方案' : '报价方案列表') ?></span>
<?php if ($action === 'list'): ?>
<a href="pricing.php?action=add" class="btn btn-sm btn-primary">新增方案</a>
<?php else: ?>
<a href="pricing.php" class="btn btn-sm btn-secondary">返回列表</a>
<?php endif; ?>
</div>
<div class="card-body">
<?php if ($action === 'list'): ?>
<div class="table-responsive">
<table class="table align-middle">
<thead>
<tr>
<th>方案名称</th>
<th>价格区间</th>
<th>核心特征</th>
<th>精选</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<?php foreach ($plans as $p): ?>
<tr>
<td><strong><?= htmlspecialchars($p['name']) ?></strong></td>
<td><span class="text-primary fw-bold"><?= htmlspecialchars($p['price_range']) ?></span></td>
<td class="small text-muted"><?= htmlspecialchars($p['features']) ?></td>
<td><?= $p['is_featured'] ? '<span class="badge bg-success">是</span>' : '<span class="badge bg-light text-dark">否</span>' ?></td>
<td>
<a href="pricing.php?action=edit&id=<?= $p['id'] ?>" class="btn btn-sm btn-outline-primary"><i class="fas fa-edit"></i></a>
<a href="pricing.php?action=delete&id=<?= $p['id'] ?>" class="btn btn-sm btn-outline-danger" onclick="return confirm('确定删除吗?')"><i class="fas fa-trash"></i></a>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
<?php else: ?>
<form method="POST">
<div class="row">
<div class="col-md-6 mb-3">
<label class="form-label">方案名称</label>
<input type="text" name="name" class="form-control" value="<?= htmlspecialchars($plan['name'] ?? '') ?>" required>
</div>
<div class="col-md-6 mb-3">
<label class="form-label">价格区间 (: ¥49,900 )</label>
<input type="text" name="price_range" class="form-control" value="<?= htmlspecialchars($plan['price_range'] ?? '') ?>" required>
</div>
<div class="col-md-12 mb-3">
<label class="form-label">核心特征 / 描述</label>
<textarea name="features" class="form-control" rows="3"><?= htmlspecialchars($plan['features'] ?? '') ?></textarea>
</div>
<div class="col-md-6 mb-3">
<label class="form-label">排序</label>
<input type="number" name="sort_order" class="form-control" value="<?= $plan['sort_order'] ?? 0 ?>">
</div>
<div class="col-md-6 mb-3">
<div class="form-check mt-4">
<input class="form-check-input" type="checkbox" name="is_featured" id="is_featured" <?= ($plan['is_featured'] ?? 0) ? 'checked' : '' ?>>
<label class="form-check-label" for="is_featured">设置为精选</label>
</div>
</div>
</div>
<div class="mt-4">
<button type="submit" class="btn btn-primary">保存</button>
<a href="pricing.php" class="btn btn-light ms-2">取消</a>
</div>
</form>
<?php endif; ?>
</div>
</div>
<?php require_once __DIR__ . '/footer.php'; ?>

72
admin/profile.php Normal file
View File

@ -0,0 +1,72 @@
<?php
require_once __DIR__ . '/header.php';
$pdo = db();
$admin_id = $_SESSION['admin_user']['id'];
$msg = '';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$nickname = $_POST['nickname'];
$password = $_POST['password'];
try {
if (!empty($password)) {
$stmt = $pdo->prepare("UPDATE admin_users SET nickname=?, password=? WHERE id=?");
$stmt->execute([$nickname, password_hash($password, PASSWORD_DEFAULT), $admin_id]);
} else {
$stmt = $pdo->prepare("UPDATE admin_users SET nickname=? WHERE id=?");
$stmt->execute([$nickname, $admin_id]);
}
// Update session
$_SESSION['admin_user']['nickname'] = $nickname;
$msg = '<div class="alert alert-success">个人资料已更新</div>';
} catch (Exception $e) {
$msg = '<div class="alert alert-danger">更新失败: ' . $e->getMessage() . '</div>';
}
}
// Re-fetch current data
$stmt = $pdo->prepare("SELECT * FROM admin_users WHERE id = ?");
$stmt->execute([$admin_id]);
$current_admin = $stmt->fetch();
?>
<div class="row justify-content-center">
<div class="col-md-6">
<div class="card">
<div class="card-header">个人资料设置</div>
<div class="card-body">
<?= $msg ?>
<form method="POST">
<div class="mb-3 text-center">
<img src="../<?= htmlspecialchars($site_logo) ?>" alt="Avatar" width="100" height="100" class="rounded-circle border mb-3">
<div>
<span class="badge bg-secondary"><?= htmlspecialchars($current_admin['username']) ?></span>
</div>
</div>
<div class="mb-3">
<label class="form-label">用户名 (不可修改)</label>
<input type="text" class="form-control" value="<?= htmlspecialchars($current_admin['username']) ?>" readonly disabled>
</div>
<div class="mb-3">
<label class="form-label">昵称</label>
<input type="text" name="nickname" class="form-control" value="<?= htmlspecialchars($current_admin['nickname']) ?>" required>
</div>
<div class="mb-3">
<label class="form-label">新密码 (留空不修改)</label>
<input type="password" name="password" class="form-control" placeholder="请输入新密码">
</div>
<div class="d-grid mt-4">
<button type="submit" class="btn btn-primary">保存修改</button>
</div>
</form>
</div>
</div>
</div>
</div>
<?php require_once __DIR__ . '/footer.php'; ?>

112
admin/services.php Normal file
View File

@ -0,0 +1,112 @@
<?php
require_once __DIR__ . '/header.php';
$pdo = db();
$action = $_GET['action'] ?? 'list';
$id = $_GET['id'] ?? null;
if ($action === 'delete' && $id) {
$stmt = $pdo->prepare("DELETE FROM services WHERE id = ?");
$stmt->execute([$id]);
header('Location: services.php?msg=deleted');
exit;
}
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$data = [
'title' => $_POST['title'],
'icon' => $_POST['icon'],
'description' => $_POST['description'],
'sort_order' => (int)$_POST['sort_order']
];
if ($id) {
$sql = "UPDATE services SET title=:title, icon=:icon, description=:description, sort_order=:sort_order WHERE id=:id";
$data['id'] = $id;
} else {
$sql = "INSERT INTO services (title, icon, description, sort_order) VALUES (:title, :icon, :description, :sort_order)";
}
$stmt = $pdo->prepare($sql);
$stmt->execute($data);
header('Location: services.php?msg=saved');
exit;
}
$services = $pdo->query("SELECT * FROM services ORDER BY sort_order ASC, id DESC")->fetchAll();
$service = null;
if ($action === 'edit' && $id) {
$stmt = $pdo->prepare("SELECT * FROM services WHERE id = ?");
$stmt->execute([$id]);
$service = $stmt->fetch();
}
?>
<div class="card">
<div class="card-header d-flex justify-content-between align-items-center">
<span><?= $action === 'edit' ? '编辑服务' : ($action === 'add' ? '新增服务' : '服务列表') ?></span>
<?php if ($action === 'list'): ?>
<a href="services.php?action=add" class="btn btn-sm btn-primary">新增服务</a>
<?php else: ?>
<a href="services.php" class="btn btn-sm btn-secondary">返回列表</a>
<?php endif; ?>
</div>
<div class="card-body">
<?php if ($action === 'list'): ?>
<div class="table-responsive">
<table class="table align-middle">
<thead>
<tr>
<th>图标</th>
<th>服务名称</th>
<th>描述</th>
<th>排序</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<?php foreach ($services as $s): ?>
<tr>
<td><i class="bi bi-<?= htmlspecialchars($s['icon']) ?> fs-3"></i></td>
<td><strong><?= htmlspecialchars($s['title']) ?></strong></td>
<td class="small text-muted"><?= htmlspecialchars($s['description']) ?></td>
<td><?= $s['sort_order'] ?></td>
<td>
<a href="services.php?action=edit&id=<?= $s['id'] ?>" class="btn btn-sm btn-outline-primary"><i class="fas fa-edit"></i></a>
<a href="services.php?action=delete&id=<?= $s['id'] ?>" class="btn btn-sm btn-outline-danger" onclick="return confirm('确定删除吗?')"><i class="fas fa-trash"></i></a>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
<?php else: ?>
<form method="POST">
<div class="row">
<div class="col-md-6 mb-3">
<label class="form-label">服务名称</label>
<input type="text" name="title" class="form-control" value="<?= htmlspecialchars($service['title'] ?? '') ?>" required>
</div>
<div class="col-md-6 mb-3">
<label class="form-label">图标 (Bootstrap Icon 类名,如 hdd-network)</label>
<input type="text" name="icon" class="form-control" value="<?= htmlspecialchars($service['icon'] ?? '') ?>" required>
</div>
<div class="col-md-12 mb-3">
<label class="form-label">描述</label>
<textarea name="description" class="form-control" rows="3"><?= htmlspecialchars($service['description'] ?? '') ?></textarea>
</div>
<div class="col-md-4 mb-3">
<label class="form-label">排序</label>
<input type="number" name="sort_order" class="form-control" value="<?= $service['sort_order'] ?? 0 ?>">
</div>
</div>
<div class="mt-4">
<button type="submit" class="btn btn-primary">保存</button>
<a href="services.php" class="btn btn-light ms-2">取消</a>
</div>
</form>
<?php endif; ?>
</div>
</div>
<?php require_once __DIR__ . '/footer.php'; ?>

63
admin/settings.php Normal file
View File

@ -0,0 +1,63 @@
<?php
require_once __DIR__ . '/header.php';
$pdo = db();
$group = $_GET['group'] ?? 'general';
// Handle Save
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
foreach ($_POST['settings'] as $key => $value) {
$stmt = $pdo->prepare("UPDATE website_settings SET `value` = ? WHERE `key` = ?");
$stmt->execute([$value, $key]);
}
header("Location: settings.php?group=$group&msg=saved");
exit;
}
// Fetch settings
$stmt = $pdo->prepare("SELECT * FROM website_settings WHERE `group` = ?");
$stmt->execute([$group]);
$settings = $stmt->fetchAll();
$group_titles = [
'general' => '基础设置',
'contact' => '联系方式',
'seo' => 'SEO设置'
];
?>
<div class="card">
<div class="card-header"><?= $group_titles[$group] ?? '网站设置' ?></div>
<div class="card-body">
<form method="POST">
<div class="row">
<?php foreach ($settings as $s): ?>
<div class="col-md-12 mb-4">
<label class="form-label fw-bold"><?= htmlspecialchars($s['label']) ?></label>
<div class="small text-muted mb-2">配置键: <code><?= htmlspecialchars($s['key']) ?></code></div>
<?php if ($s['type'] === 'textarea'): ?>
<textarea name="settings[<?= $s['key'] ?>]" class="form-control" rows="4"><?= htmlspecialchars($s['value']) ?></textarea>
<?php elseif ($s['type'] === 'image'): ?>
<div class="input-group">
<input type="text" name="settings[<?= $s['key'] ?>]" id="input_<?= $s['key'] ?>" class="form-control" value="<?= htmlspecialchars($s['value']) ?>">
<button class="btn btn-outline-secondary" type="button" onclick="window.open('../<?= htmlspecialchars($s['value']) ?>')">查看预览</button>
</div>
<div class="mt-2">
<img src="../<?= htmlspecialchars($s['value']) ?>" style="max-height: 50px;" class="border rounded bg-light p-1">
</div>
<?php else: ?>
<input type="text" name="settings[<?= $s['key'] ?>]" class="form-control" value="<?= htmlspecialchars($s['value']) ?>">
<?php endif; ?>
</div>
<?php endforeach; ?>
</div>
<div class="mt-4 pt-4 border-top">
<button type="submit" class="btn btn-primary px-5">保存所有更改</button>
</div>
</form>
</div>
</div>
<?php require_once __DIR__ . '/footer.php'; ?>

112
admin/tech_stack.php Normal file
View File

@ -0,0 +1,112 @@
<?php
require_once __DIR__ . '/header.php';
$pdo = db();
$action = $_GET['action'] ?? 'list';
$id = $_GET['id'] ?? null;
if ($action === 'delete' && $id) {
$stmt = $pdo->prepare("DELETE FROM tech_stack WHERE id = ?");
$stmt->execute([$id]);
header('Location: tech_stack.php?msg=deleted');
exit;
}
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$data = [
'title' => $_POST['title'],
'category' => $_POST['category'],
'icon' => $_POST['icon'],
'sort_order' => (int)$_POST['sort_order']
];
if ($id) {
$sql = "UPDATE tech_stack SET title=:title, category=:category, icon=:icon, sort_order=:sort_order WHERE id=:id";
$data['id'] = $id;
} else {
$sql = "INSERT INTO tech_stack (title, category, icon, sort_order) VALUES (:title, :category, :icon, :sort_order)";
}
$stmt = $pdo->prepare($sql);
$stmt->execute($data);
header('Location: tech_stack.php?msg=saved');
exit;
}
$techs = $pdo->query("SELECT * FROM tech_stack ORDER BY sort_order ASC, id DESC")->fetchAll();
$tech = null;
if ($action === 'edit' && $id) {
$stmt = $pdo->prepare("SELECT * FROM tech_stack WHERE id = ?");
$stmt->execute([$id]);
$tech = $stmt->fetch();
}
?>
<div class="card">
<div class="card-header d-flex justify-content-between align-items-center">
<span><?= $action === 'edit' ? '编辑技术' : ($action === 'add' ? '新增技术' : '技术底座列表') ?></span>
<?php if ($action === 'list'): ?>
<a href="tech_stack.php?action=add" class="btn btn-sm btn-primary">新增技术</a>
<?php else: ?>
<a href="tech_stack.php" class="btn btn-sm btn-secondary">返回列表</a>
<?php endif; ?>
</div>
<div class="card-body">
<?php if ($action === 'list'): ?>
<div class="table-responsive">
<table class="table align-middle">
<thead>
<tr>
<th>图标</th>
<th>技术名称</th>
<th>分类</th>
<th>排序</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<?php foreach ($techs as $t): ?>
<tr>
<td><i class="bi bi-<?= htmlspecialchars($t['icon']) ?> fs-3"></i></td>
<td><strong><?= htmlspecialchars($t['title']) ?></strong></td>
<td><?= htmlspecialchars($t['category']) ?></td>
<td><?= $t['sort_order'] ?></td>
<td>
<a href="tech_stack.php?action=edit&id=<?= $t['id'] ?>" class="btn btn-sm btn-outline-primary"><i class="fas fa-edit"></i></a>
<a href="tech_stack.php?action=delete&id=<?= $t['id'] ?>" class="btn btn-sm btn-outline-danger" onclick="return confirm('确定删除吗?')"><i class="fas fa-trash"></i></a>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
<?php else: ?>
<form method="POST">
<div class="row">
<div class="col-md-6 mb-3">
<label class="form-label">技术名称</label>
<input type="text" name="title" class="form-control" value="<?= htmlspecialchars($tech['title'] ?? '') ?>" required>
</div>
<div class="col-md-6 mb-3">
<label class="form-label">分类</label>
<input type="text" name="category" class="form-control" value="<?= htmlspecialchars($tech['category'] ?? '') ?>" required>
</div>
<div class="col-md-6 mb-3">
<label class="form-label">图标 (Bootstrap Icon 类名)</label>
<input type="text" name="icon" class="form-control" value="<?= htmlspecialchars($tech['icon'] ?? '') ?>" required>
</div>
<div class="col-md-6 mb-3">
<label class="form-label">排序</label>
<input type="number" name="sort_order" class="form-control" value="<?= $tech['sort_order'] ?? 0 ?>">
</div>
</div>
<div class="mt-4">
<button type="submit" class="btn btn-primary">保存</button>
<a href="tech_stack.php" class="btn btn-light ms-2">取消</a>
</div>
</form>
<?php endif; ?>
</div>
</div>
<?php require_once __DIR__ . '/footer.php'; ?>

132
admin/transformations.php Normal file
View File

@ -0,0 +1,132 @@
<?php
require_once __DIR__ . '/header.php';
$pdo = db();
$action = $_GET['action'] ?? 'list';
$id = $_GET['id'] ?? null;
// Handle Delete
if ($action === 'delete' && $id) {
$stmt = $pdo->prepare("DELETE FROM transformations WHERE id = ?");
$stmt->execute([$id]);
header('Location: transformations.php?msg=deleted');
exit;
}
// Handle Save (Add/Edit)
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$data = [
'title' => $_POST['title'],
'results_data' => $_POST['results_data'],
'description' => $_POST['description'],
'img' => $_POST['img'],
'video_url' => $_POST['video_url'],
'sort_order' => (int)$_POST['sort_order']
];
if ($id) {
$sql = "UPDATE transformations SET title=:title, results_data=:results_data, description=:description, img=:img, video_url=:video_url, sort_order=:sort_order WHERE id=:id";
$data['id'] = $id;
} else {
$sql = "INSERT INTO transformations (title, results_data, description, img, video_url, sort_order) VALUES (:title, :results_data, :description, :img, :video_url, :sort_order)";
}
$stmt = $pdo->prepare($sql);
$stmt->execute($data);
header('Location: transformations.php?msg=saved');
exit;
}
// Fetch list
$items = $pdo->query("SELECT * FROM transformations ORDER BY sort_order ASC, id DESC")->fetchAll();
// Fetch for edit
$item = null;
if ($action === 'edit' && $id) {
$stmt = $pdo->prepare("SELECT * FROM transformations WHERE id = ?");
$stmt->execute([$id]);
$item = $stmt->fetch();
}
?>
<div class="card">
<div class="card-header d-flex justify-content-between align-items-center">
<span><?= $action === 'edit' ? '编辑转型实践' : ($action === 'add' ? '新增转型实践' : '转型实践列表') ?></span>
<?php if ($action === 'list'): ?>
<a href="transformations.php?action=add" class="btn btn-sm btn-primary">新增</a>
<?php else: ?>
<a href="transformations.php" class="btn btn-sm btn-secondary">返回列表</a>
<?php endif; ?>
</div>
<div class="card-body">
<?php if ($action === 'list'): ?>
<div class="table-responsive">
<table class="table align-middle">
<thead>
<tr>
<th>图片</th>
<th>标题</th>
<th>数据/成果</th>
<th>排序</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<?php foreach ($items as $i): ?>
<tr>
<td><img src="../<?= htmlspecialchars($i['img'] ?: 'assets/images/placeholder.jpg') ?>" width="60" class="rounded"></td>
<td><strong><?= htmlspecialchars($i['title']) ?></strong></td>
<td><?= htmlspecialchars($i['results_data']) ?></td>
<td><?= $i['sort_order'] ?></td>
<td>
<a href="transformations.php?action=edit&id=<?= $i['id'] ?>" class="btn btn-sm btn-outline-primary"><i class="fas fa-edit"></i></a>
<a href="transformations.php?action=delete&id=<?= $i['id'] ?>" class="btn btn-sm btn-outline-danger" onclick="return confirm('确定删除吗?')"><i class="fas fa-trash"></i></a>
</td>
</tr>
<?php endforeach; ?>
<?php if (empty($items)): ?>
<tr>
<td colspan="5" class="text-center py-4 text-muted">暂无数据</td>
</tr>
<?php endif; ?>
</tbody>
</table>
</div>
<?php else: ?>
<form method="POST">
<div class="row">
<div class="col-md-8 mb-3">
<label class="form-label">标题</label>
<input type="text" name="title" class="form-control" value="<?= htmlspecialchars($item['title'] ?? '') ?>" required>
</div>
<div class="col-md-4 mb-3">
<label class="form-label">排序</label>
<input type="number" name="sort_order" class="form-control" value="<?= $item['sort_order'] ?? 0 ?>">
</div>
<div class="col-md-6 mb-3">
<label class="form-label">核心数据/成果 (例如: 效率提升 200%)</label>
<input type="text" name="results_data" class="form-control" value="<?= htmlspecialchars($item['results_data'] ?? '') ?>">
</div>
<div class="col-md-6 mb-3">
<label class="form-label">图片 URL</label>
<input type="text" name="img" class="form-control" value="<?= htmlspecialchars($item['img'] ?? '') ?>">
</div>
<div class="col-md-12 mb-3">
<label class="form-label">视频 URL (可选)</label>
<input type="text" name="video_url" class="form-control" value="<?= htmlspecialchars($item['video_url'] ?? '') ?>">
</div>
<div class="col-md-12 mb-3">
<label class="form-label">详细描述</label>
<textarea name="description" class="form-control" rows="5"><?= htmlspecialchars($item['description'] ?? '') ?></textarea>
</div>
</div>
<div class="mt-4">
<button type="submit" class="btn btn-primary">保存修改</button>
<a href="transformations.php" class="btn btn-light ms-2">取消</a>
</div>
</form>
<?php endif; ?>
</div>
</div>
<?php require_once __DIR__ . '/footer.php'; ?>

74
agreement.php Normal file
View File

@ -0,0 +1,74 @@
<?php
require_once __DIR__ . '/db/config.php';
$project_name = '智域科技';
$logo_path = '/assets/pasted-20260226-073317-a8105f30.png';
?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>服务协议 - <?= htmlspecialchars($project_name) ?></title>
<link rel="icon" href="<?= $logo_path ?>" type="image/png">
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800&display=swap" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.1/font/bootstrap-icons.css">
<link href="/assets/css/custom.css?v=<?= time() ?>" rel="stylesheet">
</head>
<body class="bg-subtle">
<nav class="navbar navbar-expand-lg navbar-light bg-white border-bottom scrolled">
<div class="container">
<a class="navbar-brand d-flex align-items-center gap-2" href="/">
<img src="<?= $logo_path ?>" alt="<?= htmlspecialchars($project_name) ?>" >
<span class="fw-bold text-dark"><?= htmlspecialchars($project_name) ?></span>
</a>
<a href="/" class="btn btn-outline-primary btn-sm ms-auto fw-bold"><i class="bi bi-arrow-left"></i> 返回首页</a>
</div>
</nav>
<main class="py-5 mt-5">
<div class="container py-5">
<div class="row justify-content-center">
<div class="col-lg-9">
<div class="tech-card p-5 border-0 shadow-sm">
<h1 class="fw-bold mb-5 text-dark border-bottom pb-4">服务协议</h1>
<div class="content text-muted lh-lg">
<p class="mb-4">欢迎访问智域科技(以下简称“本平台”)。本服务协议规定了您使用本平台所提供的各项服务时应当遵守的条款。在您使用本平台之前,请务必仔细阅读并理解本协议的所有内容。</p>
<h5 class="fw-bold text-dark mt-5 mb-4">1. 服务的定义</h5>
<p class="mb-4">智域科技通过本平台向用户提供数字化转型咨询、定制软件开发方案展示、行业技术白皮书下载以及在线技术咨询预约等服务。</p>
<h5 class="fw-bold text-dark mt-5 mb-4">2. 用户的权利与义务</h5>
<ul class="mb-4">
<li>用户在使用本平台服务时,应遵守所有适用法律法规及互联网行业规范。</li>
<li>用户应确保提供的个人信息及业务需求描述真实有效,以便我们提供精准的服务支持。</li>
<li>未经智域科技明确书面许可,用户不得将本平台发布的行业分析、白皮书等内容用于任何商业盈利目的。</li>
</ul>
<h5 class="fw-bold text-dark mt-5 mb-4">3. 免责声明</h5>
<p class="mb-4">本平台所展示的所有技术方案及预期效果仅供参考。具体的项目工期、开发成本及技术指标将根据具体的服务合同及详细的需求说明书进行最终确认。我们不对非因本平台过错造成的网络中断、信息错误或业务损失承担法律责任。</p>
<h5 class="fw-bold text-dark mt-5 mb-4">4. 协议的修改与终止</h5>
<p class="mb-4">智域科技有权根据业务发展及法律合规要求,对本协议内容进行不时修改。用户在修改后的协议生效后继续使用本平台服务的,视为已完全知晓并接受该等修改。</p>
<h5 class="fw-bold text-dark mt-5 mb-4">5. 法律适用与管辖</h5>
<p class="mb-4">本协议的订立、执行和解释及争议的解决均应适用中华人民共和国法律。如双方就本协议内容或其执行发生任何争议,应尽力友好协商解决;协商不成时,任何一方均可向智域科技所在地有管辖权的人民法院提起诉讼。</p>
</div>
<div class="mt-5 p-4 bg-light rounded-4 text-center">
<p class="small mb-0">如有任何关于本协议的法律疑问,请联系我们的法律事务部:<strong>@zhangshihao818</strong></p>
</div>
</div>
</div>
</div>
</div>
</main>
<footer class="py-5 bg-white border-top">
<div class="container text-center small text-muted">
<p class="mb-0">&copy; 2020 <?= htmlspecialchars($project_name) ?>. 专业数字化工程与行业方案专家.</p>
</div>
</footer>
</body>
</html>

View File

@ -1,302 +1,575 @@
body {
background: linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab);
background-size: 400% 400%;
animation: gradient 15s ease infinite;
color: #212529;
font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
font-size: 14px;
margin: 0;
min-height: 100vh;
:root {
--bg-light: #ffffff;
--bg-alt: #f8fafc;
--surface: #ffffff;
--accent: #0066FF;
--accent-soft: rgba(0, 102, 255, 0.08);
--text-main: #0f172a;
--text-muted: #64748b;
--glass: rgba(255, 255, 255, 0.7);
--glass-border: rgba(0, 0, 0, 0.05);
--card-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
--card-shadow-hover: 0 25px 50px rgba(0, 102, 255, 0.1);
}
.main-wrapper {
body {
background-color: var(--bg-light);
color: var(--text-main);
font-family: 'Inter', "PingFang SC", "Microsoft YaHei", sans-serif;
line-height: 1.7;
overflow-x: hidden;
}
/* 导航栏优化 */
.navbar {
padding: 1rem 0;
transition: all 0.3s;
background: rgba(255, 255, 255, 0.9);
backdrop-filter: blur(10px);
height: 80px;
display: flex;
align-items: center;
}
.navbar.scrolled {
padding: 0.5rem 0;
height: 70px;
box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}
/* LOGO 浮动动效与极致发光 */
@keyframes logo-float {
0%, 100% { transform: translateY(0) rotate(0deg); }
50% { transform: translateY(-5px) rotate(1deg); }
}
.navbar-brand {
display: inline-flex;
align-items: center;
text-decoration: none;
transition: all 0.3s;
}
.navbar-brand img {
height: 60px;
width: auto;
object-fit: contain;
background: transparent !important;
filter: brightness(1.2) drop-shadow(0 0 5px rgba(0, 102, 255, 0.3));
transition: all 0.4s;
animation: logo-float 3s ease-in-out infinite;
z-index: 2;
display: block;
}
.navbar.scrolled .navbar-brand img {
height: 50px;
}
/* 智域科技 个性动态字体 */
.brand-text-dynamic {
display: flex;
align-items: center;
font-family: 'Ma Shan Zheng', cursive;
font-size: 2.2rem;
font-weight: 400;
letter-spacing: 0.05em;
margin-left: 5px;
}
.navbar.scrolled .brand-text-dynamic {
font-size: 1.8rem;
}
.brand-text-dynamic span {
display: inline-block;
animation: char-float 2.5s ease-in-out infinite;
text-shadow: 2px 2px 4px rgba(0,0,0,0.05);
}
@keyframes char-float {
0%, 100% { transform: translateY(0) scale(1); filter: brightness(1); }
50% { transform: translateY(-8px) scale(1.1); filter: brightness(1.2); }
}
.brand-text-dynamic .char-1 { color: #0066FF; animation-delay: 0s; }
.brand-text-dynamic .char-2 { color: #28a745; animation-delay: 0.2s; }
.brand-text-dynamic .char-3 { color: #fd7e14; animation-delay: 0.4s; }
.brand-text-dynamic .char-4 { color: #dc3545; animation-delay: 0.6s; }
/* 英雄首屏字体与布局 */
.hero-section {
padding-top: 160px;
padding-bottom: 100px;
}
.hero-title {
font-size: clamp(2.5rem, 6vw, 4rem);
font-weight: 850;
line-height: 1.1;
margin-bottom: 1.5rem;
}
.lead {
font-size: 1.35rem;
font-weight: 400;
}
/* 渐变文本 */
.text-gradient {
background: linear-gradient(135deg, #0f172a 0%, #0066FF 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
/* Section 样式 */
.section-title {
font-size: clamp(2rem, 5vw, 2.5rem);
font-weight: 800;
margin-bottom: 3.5rem;
text-align: left;
}
.section-subtitle {
display: block;
font-size: 0.9rem;
font-weight: 700;
color: var(--accent);
text-transform: uppercase;
letter-spacing: 0.15em;
margin-bottom: 1rem;
text-align: left;
}
/* 布局网格系统 */
.grid-4 {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 1.5rem;
}
.grid-6 {
display: grid;
grid-template-columns: repeat(6, 1fr);
gap: 1.5rem;
}
/* 卡片通用样式 */
.tech-card {
background: var(--surface);
border: 1px solid var(--glass-border);
border-radius: 24px;
padding: 2.25rem;
transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
height: 100%;
position: relative;
display: flex;
flex-direction: column;
}
.tech-card:hover {
transform: translateY(-12px);
box-shadow: var(--card-shadow-hover);
border-color: rgba(0, 102, 255, 0.1);
}
/* 多彩图标容器 */
.icon-box-colorful {
width: 64px;
height: 64px;
border-radius: 18px;
display: flex;
align-items: center;
justify-content: center;
min-height: 100vh;
width: 100%;
padding: 20px;
box-sizing: border-box;
position: relative;
z-index: 1;
font-size: 1.75rem;
margin-bottom: 1.5rem;
transition: 0.4s;
}
@keyframes gradient {
0% {
background-position: 0% 50%;
}
50% {
background-position: 100% 50%;
}
100% {
background-position: 0% 50%;
}
/* 合作伙伴网格 */
.partners-grid {
display: grid;
grid-template-columns: repeat(6, 1fr);
gap: 1.5rem;
}
.chat-container {
width: 100%;
max-width: 600px;
background: rgba(255, 255, 255, 0.85);
border: 1px solid rgba(255, 255, 255, 0.3);
border-radius: 20px;
display: flex;
flex-direction: column;
height: 85vh;
box-shadow: 0 20px 40px rgba(0,0,0,0.2);
backdrop-filter: blur(15px);
-webkit-backdrop-filter: blur(15px);
overflow: hidden;
}
.chat-header {
padding: 1.5rem;
border-bottom: 1px solid rgba(0, 0, 0, 0.05);
background: rgba(255, 255, 255, 0.5);
font-weight: 700;
font-size: 1.1rem;
display: flex;
justify-content: space-between;
align-items: center;
}
.chat-messages {
flex: 1;
overflow-y: auto;
padding: 1.5rem;
display: flex;
flex-direction: column;
gap: 1.25rem;
}
/* Custom Scrollbar */
::-webkit-scrollbar {
width: 6px;
}
::-webkit-scrollbar-track {
background: transparent;
}
::-webkit-scrollbar-thumb {
background: rgba(255, 255, 255, 0.3);
border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover {
background: rgba(255, 255, 255, 0.5);
}
.message {
max-width: 85%;
padding: 0.85rem 1.1rem;
.partner-item {
background: #fff;
border: 1px solid var(--glass-border);
border-radius: 16px;
line-height: 1.5;
font-size: 0.95rem;
box-shadow: 0 4px 15px rgba(0,0,0,0.05);
animation: fadeIn 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
@keyframes fadeIn {
from { opacity: 0; transform: translateY(20px) scale(0.95); }
to { opacity: 1; transform: translateY(0) scale(1); }
}
.message.visitor {
align-self: flex-end;
background: linear-gradient(135deg, #212529 0%, #343a40 100%);
color: #fff;
border-bottom-right-radius: 4px;
}
.message.bot {
align-self: flex-start;
background: #ffffff;
color: #212529;
border-bottom-left-radius: 4px;
}
.chat-input-area {
padding: 1.25rem;
background: rgba(255, 255, 255, 0.5);
border-top: 1px solid rgba(0, 0, 0, 0.05);
}
.chat-input-area form {
padding: 1.5rem 1rem;
text-align: left;
transition: all 0.3s;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 0.75rem;
}
.chat-input-area input {
flex: 1;
border: 1px solid rgba(0, 0, 0, 0.1);
border-radius: 12px;
padding: 0.75rem 1rem;
outline: none;
background: rgba(255, 255, 255, 0.9);
transition: all 0.3s ease;
}
.chat-input-area input:focus {
border-color: #23a6d5;
box-shadow: 0 0 0 3px rgba(35, 166, 213, 0.2);
}
.chat-input-area button {
background: #212529;
color: #fff;
border: none;
padding: 0.75rem 1.5rem;
border-radius: 12px;
cursor: pointer;
font-weight: 600;
transition: all 0.3s ease;
}
.chat-input-area button:hover {
/* 轮播图优化 - 修复为填满区域 */
.hero-carousel {
border-radius: 40px;
overflow: hidden;
background: #000;
transform: translateY(-2px);
box-shadow: 0 5px 15px rgba(0,0,0,0.2);
position: relative;
height: 480px; /* 增加高度以对齐左侧文字 */
}
/* Background Animations */
.bg-animations {
position: fixed;
top: 0;
left: 0;
.hero-carousel .carousel-inner,
.hero-carousel .carousel-item {
height: 100%;
}
.hero-carousel .carousel-item {
position: relative;
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
}
/* 移除之前的模糊背景效果,直接填满 */
.hero-carousel .carousel-item::before {
display: none;
}
/* 核心图片展示 - 填满且无缝隙 */
.hero-carousel .carousel-item img {
width: 100%;
height: 100%;
z-index: 0;
overflow: hidden;
pointer-events: none;
}
.blob {
position: absolute;
width: 500px;
height: 500px;
background: rgba(255, 255, 255, 0.2);
border-radius: 50%;
filter: blur(80px);
animation: move 20s infinite alternate cubic-bezier(0.45, 0, 0.55, 1);
}
.blob-1 {
top: -10%;
left: -10%;
background: rgba(238, 119, 82, 0.4);
}
.blob-2 {
bottom: -10%;
right: -10%;
background: rgba(35, 166, 213, 0.4);
animation-delay: -7s;
width: 600px;
height: 600px;
}
.blob-3 {
top: 40%;
left: 30%;
background: rgba(231, 60, 126, 0.3);
animation-delay: -14s;
width: 450px;
height: 450px;
}
@keyframes move {
0% { transform: translate(0, 0) rotate(0deg) scale(1); }
33% { transform: translate(150px, 100px) rotate(120deg) scale(1.1); }
66% { transform: translate(-50px, 200px) rotate(240deg) scale(0.9); }
100% { transform: translate(0, 0) rotate(360deg) scale(1); }
}
.admin-link {
font-size: 14px;
color: #fff;
text-decoration: none;
background: rgba(0, 0, 0, 0.2);
padding: 0.5rem 1rem;
border-radius: 8px;
transition: all 0.3s ease;
}
.admin-link:hover {
background: rgba(0, 0, 0, 0.4);
text-decoration: none;
}
/* Admin Styles */
.admin-container {
max-width: 900px;
margin: 3rem auto;
padding: 2.5rem;
background: rgba(255, 255, 255, 0.85);
backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(20px);
border-radius: 24px;
box-shadow: 0 20px 50px rgba(0,0,0,0.15);
border: 1px solid rgba(255, 255, 255, 0.4);
object-fit: cover; /* 关键:填满区域,不留空白 */
position: relative;
z-index: 1;
z-index: 2;
transition: transform 1.2s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.admin-container h1 {
margin-top: 0;
color: #212529;
font-weight: 800;
.hero-carousel:hover .carousel-item img {
transform: scale(1.05);
}
.table {
width: 100%;
border-collapse: separate;
border-spacing: 0 8px;
margin-top: 1.5rem;
/* Caption 玻璃态设计 */
.glass-panel {
background: rgba(255, 255, 255, 0.88) !important;
backdrop-filter: blur(12px);
border: 1px solid rgba(255, 255, 255, 0.4) !important;
border-radius: 16px !important;
box-shadow: 0 15px 35px rgba(0,0,0,0.12) !important;
color: #0f172a !important;
width: fit-content;
left: 25px !important;
right: auto !important;
bottom: 25px !important;
padding: 10px 18px !important;
z-index: 3;
opacity: 0.95;
}
.table th {
background: transparent;
border: none;
padding: 1rem;
color: #6c757d;
font-weight: 600;
text-transform: uppercase;
font-size: 0.75rem;
letter-spacing: 1px;
}
.table td {
/* 项目案例卡片 */
.case-card {
border-radius: 24px;
overflow: hidden;
background: #fff;
padding: 1rem;
border: 1px solid var(--glass-border);
transition: all 0.5s;
height: 100%;
}
.case-image-wrapper {
position: relative;
height: 240px;
overflow: hidden;
}
.case-image {
width: 100%;
height: 100%;
object-fit: cover;
transition: 0.8s;
}
/* 悬浮按钮 */
.floating-controls {
position: fixed;
right: 30px;
bottom: 30px;
display: flex;
flex-direction: column;
gap: 15px;
z-index: 9999;
}
.float-btn {
width: 55px;
height: 55px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.5rem;
color: white;
box-shadow: 0 10px 25px rgba(0,0,0,0.15);
transition: 0.3s;
text-decoration: none;
cursor: pointer;
border: none;
}
.table tr td:first-child { border-radius: 12px 0 0 12px; }
.table tr td:last-child { border-radius: 0 12px 12px 0; }
.float-btn-tg { background: #229ED9; }
.float-btn-wx { background: #07C160; }
.float-btn-up { background: var(--accent); opacity: 0; visibility: hidden; }
.float-btn-up.visible { opacity: 1; visibility: visible; }
.form-group {
margin-bottom: 1.25rem;
.float-btn:hover {
transform: scale(1.1) translateY(-5px);
color: white;
}
.form-group label {
display: block;
margin-bottom: 0.5rem;
font-weight: 600;
font-size: 0.9rem;
/* 微信模态框深度美化 */
.modal-content {
background: var(--bg-light);
}
.form-control {
width: 100%;
padding: 0.75rem 1rem;
border: 1px solid rgba(0, 0, 0, 0.1);
border-radius: 12px;
background: #fff;
transition: all 0.3s ease;
box-sizing: border-box;
.qr-code-wrapper {
transition: all 0.3s;
border: 1px solid rgba(0,0,0,0.03);
}
.form-control:focus {
outline: none;
border-color: #23a6d5;
box-shadow: 0 0 0 3px rgba(35, 166, 213, 0.1);
.qr-code-wrapper:hover {
transform: scale(1.02);
box-shadow: 0 15px 30px rgba(0,0,0,0.05) !important;
}
.x-small {
font-size: 0.7rem;
}
/* 响应式调整 */
@media (max-width: 1200px) {
.grid-4 { grid-template-columns: repeat(2, 1fr); }
.grid-6 { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 992px) {
.partners-grid { grid-template-columns: repeat(3, 1fr); }
.hero-carousel { height: 400px; }
.hero-section { padding-top: 120px; }
}
@media (max-width: 768px) {
.grid-4, .grid-6 { grid-template-columns: 1fr; }
.hero-title { font-size: 2.2rem; }
.navbar { height: auto; padding: 0.75rem 0; }
.hero-carousel { height: 300px; }
.brand-text-dynamic { font-size: 1.5rem; }
}
/* 手机端底部菜单样式 */
.mobile-bottom-nav {
position: fixed;
bottom: 0;
left: 0;
right: 0;
background: #ffffff !important; /* 强制白色背景,防止内容透出 */
display: flex;
justify-content: space-around;
align-items: center;
padding: 12px 0 calc(12px + env(safe-area-inset-bottom)); /* 增加内边距 */
box-shadow: 0 -10px 30px rgba(0,0,0,0.08); /* 加强阴影,使其层次感更强 */
z-index: 999999; /* 极致的 z-index确保不被任何元素遮挡 */
border-top: 1px solid rgba(0,0,0,0.05);
display: none; /* 默认隐藏,仅在手机端显示 */
pointer-events: auto;
}
.mobile-nav-item {
display: flex;
flex-direction: column;
align-items: center;
text-decoration: none;
color: var(--text-muted);
font-size: 0.75rem; /* 稍微调大字体 */
font-weight: 700; /* 加粗字体 */
transition: 0.3s;
flex: 1;
}
.mobile-nav-item i {
font-size: 1.5rem; /* 稍微调大图标 */
margin-bottom: 4px;
}
.mobile-nav-item.active, .mobile-nav-item:active {
color: var(--accent);
}
.mobile-nav-item.highlight {
color: var(--accent);
}
/* 手机端布局深度优化 */
@media (max-width: 768px) {
.mobile-bottom-nav {
display: flex;
}
body {
padding-bottom: 90px; /* 增加底部留空,确保内容不被遮挡 */
}
.hero-section {
padding-top: 100px;
padding-bottom: 40px;
text-align: left;
}
.hero-title {
font-size: 1.85rem;
margin-bottom: 1rem;
}
.hero-section .lead {
font-size: 1rem;
margin-bottom: 2rem;
padding: 0 10px;
}
.hero-section .d-flex {
justify-content: center;
flex-direction: column;
gap: 12px !important;
}
.hero-section .btn {
width: 100%;
padding: 12px;
}
.section-title {
font-size: 1.6rem;
margin-bottom: 2.5rem;
}
/* 手机端网格优化2列显示更美观 */
.grid-4 {
grid-template-columns: repeat(2, 1fr) !important;
gap: 12px;
}
.grid-6 {
grid-template-columns: repeat(3, 1fr) !important;
gap: 10px;
}
.tech-card {
padding: 1.25rem !important;
border-radius: 18px;
}
.tech-card i {
font-size: 1.8rem !important;
}
.tech-card h6 {
font-size: 0.85rem;
}
/* 核心服务卡片内边距缩小 */
#core-services .tech-card {
flex-direction: column !important;
text-align: left;
padding: 1rem !important;
}
#core-services .icon-box-colorful {
margin: 0 auto 10px !important;
}
/* 承接业务范围卡片 */
#scope .tech-card {
padding: 12px 8px !important;
}
#scope .tech-card span {
font-size: 0.75rem;
line-height: 1.2;
}
/* 合作伙伴 */
.partners-grid {
grid-template-columns: repeat(3, 1fr) !important;
gap: 10px;
}
.partner-item {
padding: 1rem 0.5rem;
}
.partner-icon {
font-size: 1.6rem !important;
}
.partner-name {
font-size: 0.7rem !important;
}
/* 隐藏部分冗余的悬浮按钮 */
.floating-controls {
bottom: 110px; /* 进一步上移,防止与菜单冲突 */
right: 20px;
}
.float-btn {
width: 48px;
height: 48px;
font-size: 1.2rem;
}
/* 案例卡片高度调整 */
.case-image-wrapper {
height: 180px;
}
/* 交付标准 */
#delivery .grid-4 {
grid-template-columns: 1fr !important;
}
}
/* Mobile View Switching Logic (Jump Pages Effect) */
@media (max-width: 767px) {
/* DEFAULT: Hide sections that don't belong to the current view */
/* View: Home - Show Hero, Services, Scope, Capabilities, Tech, Partners */
body.view-home #cases,
body.view-home #pricing,
body.view-home #delivery,
body.view-home .footer-cta {
display: none !important;
}
/* View: Works - Show only Cases */
body.view-works .hero-section,
body.view-works #core-services,
body.view-works #scope,
body.view-works #capabilities,
body.view-works #tech,
body.view-works #partners,
body.view-works #pricing,
body.view-works #delivery,
body.view-works .footer-cta {
display: none !important;
}
/* View: Pricing - Show Pricing and Delivery */
body.view-pricing .hero-section,
body.view-pricing #core-services,
body.view-pricing #scope,
body.view-pricing #capabilities,
body.view-pricing #tech,
body.view-pricing #partners,
body.view-pricing #cases,
body.view-pricing .footer-cta {
display: none !important;
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 740 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 483 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 431 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 KiB

View File

@ -1,39 +1,86 @@
document.addEventListener('DOMContentLoaded', () => {
const chatForm = document.getElementById('chat-form');
const chatInput = document.getElementById('chat-input');
const chatMessages = document.getElementById('chat-messages');
document.addEventListener('DOMContentLoaded', function() {
const navbar = document.querySelector('.navbar');
const backToTopBtn = document.querySelector('.float-btn-up');
// Navbar scroll effect
window.addEventListener('scroll', function() {
if (window.scrollY > 50) {
navbar.classList.add('scrolled');
} else {
navbar.classList.remove('scrolled');
}
const appendMessage = (text, sender) => {
const msgDiv = document.createElement('div');
msgDiv.classList.add('message', sender);
msgDiv.textContent = text;
chatMessages.appendChild(msgDiv);
chatMessages.scrollTop = chatMessages.scrollHeight;
};
chatForm.addEventListener('submit', async (e) => {
e.preventDefault();
const message = chatInput.value.trim();
if (!message) return;
appendMessage(message, 'visitor');
chatInput.value = '';
try {
const response = await fetch('api/chat.php', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ message })
});
const data = await response.json();
// Artificial delay for realism
setTimeout(() => {
appendMessage(data.reply, 'bot');
}, 500);
} catch (error) {
console.error('Error:', error);
appendMessage("Sorry, something went wrong. Please try again.", 'bot');
// Back to top button visibility
if (window.scrollY > 300) {
if (backToTopBtn) backToTopBtn.classList.add('visible');
} else {
if (backToTopBtn) backToTopBtn.classList.remove('visible');
}
});
// Back to top functionality
if (backToTopBtn) {
backToTopBtn.addEventListener('click', function(e) {
e.preventDefault();
window.scrollTo({
top: 0,
behavior: 'smooth'
});
});
}
// Smooth scroll for nav links
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
anchor.addEventListener('click', function (e) {
e.preventDefault();
const targetId = this.getAttribute('href');
if (targetId === '#') return;
const target = document.querySelector(targetId);
if (target) {
window.scrollTo({
top: target.offsetTop - 80,
behavior: 'smooth'
});
}
});
});
// Advanced Reveal on Scroll
const revealCallback = (entries, observer) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('is-visible');
}
});
};
const revealObserver = new IntersectionObserver(revealCallback, {
threshold: 0.15,
rootMargin: '0px 0px -50px 0px'
});
// Initialize reveal elements
const revealElements = document.querySelectorAll('.tech-card, .section-title, .hero-title, .hero-section .lead, .hero-section .btn, .case-card');
revealElements.forEach((el, index) => {
el.classList.add('reveal-init');
revealObserver.observe(el);
});
});
// Inline Styles for Reveal Transitions
const revealStyles = document.createElement('style');
revealStyles.textContent = `
.reveal-init {
opacity: 0;
transform: translateY(30px);
transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1),
transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}
.is-visible {
opacity: 1;
transform: translateY(0);
}
`;
document.head.appendChild(revealStyles);

Binary file not shown.

After

Width:  |  Height:  |  Size: 885 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 545 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 390 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 740 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 288 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 238 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 571 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

157
case-detail.php Normal file
View File

@ -0,0 +1,157 @@
<?php
require_once __DIR__ . '/db/config.php';
$pdo = db();
$settings_res = $pdo->query("SELECT `key`, `value` FROM website_settings")->fetchAll();
$settings = [];
foreach ($settings_res as $row) {
$settings[$row['key']] = $row['value'];
}
$project_name = $settings['site_name'] ?? '智域科技';
$logo_path = $settings['site_logo'] ?? '/assets/pasted-20260226-073317-a8105f30.png';
$case_slug = $_GET['id'] ?? '';
$stmt = $pdo->prepare("SELECT * FROM cases WHERE slug = ? OR id = ?");
$stmt->execute([$case_slug, (int)$case_slug]);
$case = $stmt->fetch();
if (!$case) {
header('Location: cases.php');
exit;
}
?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title><?= htmlspecialchars($case['title']) ?> - 智域科技成功案例</title>
<link rel="icon" href="<?= $logo_path ?>" type="image/png">
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800&display=swap" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.1/font/bootstrap-icons.css">
<link href="/assets/css/custom.css?v=<?= time() ?>" rel="stylesheet">
</head>
<body class="bg-subtle">
<nav class="navbar navbar-expand-lg navbar-light bg-white border-bottom fixed-top scrolled">
<div class="container">
<a class="navbar-brand d-flex align-items-center gap-2" href="/">
<img src="<?= $logo_path ?>" alt="<?= htmlspecialchars($project_name) ?>" >
<span class="fw-bold text-dark"><?= htmlspecialchars($project_name) ?></span>
</a>
<div class="ms-auto d-flex gap-2">
<a href="cases.php" class="btn btn-outline-secondary btn-sm fw-bold d-none d-md-inline-block"><i class="bi bi-grid-3x3-gap"></i> 案例中心</a>
<a href="/" class="btn btn-outline-primary btn-sm fw-bold"><i class="bi bi-arrow-left"></i> 返回首页</a>
</div>
</div>
</nav>
<main class="py-5 mt-5">
<div class="container py-5">
<div class="row justify-content-center">
<div class="col-lg-10">
<div class="tech-card p-4 p-md-5 border-0 shadow-sm">
<div class="d-flex flex-wrap justify-content-between align-items-center mb-4 gap-3">
<span class="badge bg-primary bg-opacity-10 text-primary px-3 py-2 fw-bold">智域科技精选案例 - <?= htmlspecialchars($case['tag']) ?></span>
<span class="small text-muted fw-bold">业务归属: <?= htmlspecialchars($case['category']) ?></span>
</div>
<h1 class="display-5 fw-bold mb-4 text-dark"><?= htmlspecialchars($case['title']) ?></h1>
<p class="lead text-muted mb-5">
<?= htmlspecialchars($case['content']) ?>
</p>
<div class="case-detail-image-wrapper mb-5 rounded-4 shadow-sm overflow-hidden">
<img src="<?= htmlspecialchars($case['img']) ?>" class="img-fluid w-100" alt="<?= htmlspecialchars($case['title']) ?>" style="max-height: 500px; object-fit: cover;">
</div>
<div class="row g-5 mb-5">
<div class="col-md-4">
<h6 class="fw-bold text-uppercase tracking-widest small text-primary mb-3">项目挑战</h6>
<p class="small text-muted lh-lg"><?= htmlspecialchars($case['challenge']) ?></p>
</div>
<div class="col-md-4">
<h6 class="fw-bold text-uppercase tracking-widest small text-primary mb-3">采用技术栈</h6>
<p class="small text-muted lh-lg"><?= htmlspecialchars($case['tech']) ?></p>
</div>
<div class="col-md-4">
<h6 class="fw-bold text-uppercase tracking-widest small text-primary mb-3">项目定位</h6>
<p class="small text-muted lh-lg">该方案属于智域 <?= htmlspecialchars($case['tag']) ?> 领域的标准级交付方案,具备极高的行业普适性与稳定性。</p>
</div>
</div>
<h4 class="fw-bold mb-4 text-dark">智域解决方案</h4>
<div class="p-4 bg-light rounded-4 mb-5 shadow-sm border-start border-primary border-4">
<p class="small text-muted lh-lg"><?= htmlspecialchars($case['solution']) ?></p>
</div>
<h4 class="fw-bold mb-4 text-dark text-center">数字化转型成效</h4>
<div class="row g-4 mb-5 text-center">
<div class="col-4">
<h2 class="fw-bold text-primary mb-0"><?= htmlspecialchars($case['result_stability']) ?></h2>
<p class="small text-muted mt-2">系统稳定性 (SLA)</p>
</div>
<div class="col-4">
<h2 class="fw-bold text-success mb-0"><?= htmlspecialchars($case['result_throughput']) ?></h2>
<p class="small text-muted mt-2">性能提升/吞吐量</p>
</div>
<div class="col-4">
<h2 class="fw-bold text-info mb-0"><?= htmlspecialchars($case['result_cost']) ?></h2>
<p class="small text-muted mt-2">运维/时间成本降低</p>
</div>
</div>
<div class="tech-card bg-primary bg-opacity-5 p-4 rounded-4 mb-5 border-0">
<div class="d-flex align-items-center gap-3">
<div class="icon-box-colorful bg-primary text-white mb-0" style="width: 50px; height: 50px;">
<i class="bi bi-info-circle"></i>
</div>
<p class="mb-0 small text-dark fw-bold">
注:由于项目包含敏感行业逻辑与核心技术壁垒,部分具体业务细节已做脱敏处理。如需了解完整架构,请联系专家咨询。
</p>
</div>
</div>
<div class="text-center mt-5">
<a href="<?= $settings['tg_link'] ?? 'https://t.me/zhangshihao818' ?>" class="btn btn-primary btn-lg px-5 py-3 shadow">
我也要定制类似的数字化方案 <i class="bi bi-chevron-right ms-2"></i>
</a>
</div>
</div>
</div>
</div>
</div>
</main>
<footer class="py-5 bg-white border-top">
<div class="container text-center small text-muted">
<p class="mb-0">&copy; 2020 <?= htmlspecialchars($project_name) ?>. 专业数字化工程与行业方案专家.</p>
</div>
</footer>
<!-- 手机端底部菜单 -->
<div class="mobile-bottom-nav">
<a href="index.php?v=home" class="mobile-nav-item">
<i class="bi bi-house-door"></i>
<span>首页</span>
</a>
<a href="cases.php" class="mobile-nav-item">
<i class="bi bi-briefcase"></i>
<span>作品</span>
</a>
<a href="index.php?v=pricing#pricing" class="mobile-nav-item">
<i class="bi bi-tags"></i>
<span>报价</span>
</a>
<a href="<?= $settings['tg_link'] ?? 'https://t.me/zhangshihao818' ?>" class="mobile-nav-item highlight">
<i class="bi bi-telegram"></i>
<span>咨询</span>
</a>
</div>
<!-- Bootstrap JS -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
<script src="/assets/js/main.js?v=<?= time() ?>"></script>
</body>
</html>

189
cases.php Normal file
View File

@ -0,0 +1,189 @@
<?php
require_once __DIR__ . '/db/config.php';
$pdo = db();
$settings_res = $pdo->query("SELECT `key`, `value` FROM website_settings")->fetchAll();
$settings = [];
foreach ($settings_res as $row) {
$settings[$row['key']] = $row['value'];
}
$project_name = $settings['site_name'] ?? '智域科技';
$logo_path = $settings['site_logo'] ?? '/assets/pasted-20260226-073317-a8105f30.png';
$selected_category = $_GET['category'] ?? 'all';
// Fetch cases from DB
if ($selected_category === 'all') {
$stmt = $pdo->prepare("SELECT * FROM cases WHERE is_visible = 1 ORDER BY sort_order ASC, created_at DESC");
$stmt->execute();
} else {
$stmt = $pdo->prepare("SELECT * FROM cases WHERE is_visible = 1 AND category = ? ORDER BY sort_order ASC, created_at DESC");
$stmt->execute([$selected_category]);
}
$filtered_cases = $stmt->fetchAll();
$scope_items = [
'海外资金盘', '点赞盘', '刷单盘', '商城盘', '云矿机', '新能源',
'投资理财', '反波胆', '微交易', '时间盘', '交易所', '各类小程序',
'机器人', '落地页定制', '远控系统', '授权系统', '在线客服', '获取通讯录'
];
// 手机端视图逻辑
$view = 'works';
?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>作品案例中心 - <?= htmlspecialchars($project_name) ?></title>
<link rel="icon" href="<?= $logo_path ?>" type="image/png">
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800&display=swap" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.1/font/bootstrap-icons.css">
<link href="/assets/css/custom.css?v=<?= time() ?>" rel="stylesheet">
<style>
.filter-btn {
white-space: nowrap;
padding: 8px 20px;
border-radius: 50px;
font-size: 0.85rem;
font-weight: 600;
border: 1px solid #eee;
background: #fff;
color: #666;
transition: all 0.3s ease;
text-decoration: none;
display: inline-block;
margin-bottom: 10px;
}
.filter-btn:hover, .filter-btn.active {
background: var(--primary-color, #0d6efd);
color: #fff;
border-color: var(--primary-color, #0d6efd);
box-shadow: 0 4px 12px rgba(13, 110, 253, 0.2);
}
.filter-scroll {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
padding-bottom: 10px;
}
.filter-scroll::-webkit-scrollbar {
height: 4px;
}
.filter-scroll::-webkit-scrollbar-thumb {
background: #eee;
border-radius: 10px;
}
</style>
</head>
<body class="bg-subtle">
<!-- 导航栏 -->
<nav class="navbar navbar-expand-lg navbar-light bg-white border-bottom fixed-top scrolled">
<div class="container">
<a class="navbar-brand d-flex align-items-center gap-2" href="/">
<img src="<?= $logo_path ?>" alt="<?= htmlspecialchars($project_name) ?>" >
<span class="fw-bold text-dark"><?= htmlspecialchars($project_name) ?></span>
</a>
<a href="/" class="btn btn-outline-primary btn-sm ms-auto fw-bold"><i class="bi bi-house"></i> 返回首页</a>
</div>
</nav>
<main class="py-5 mt-5">
<div class="container py-5">
<div class="text-center mb-5">
<span class="section-subtitle">Portfolio Showcase</span>
<h1 class="display-6 fw-bold mb-3">作品案例展示中心</h1>
<p class="text-muted mx-auto" style="max-width: 700px;">
智域科技在多个垂直领域拥有深厚的技术积累。下方展示了我们为全球客户打造的部分精品项目案例,涵盖了从分布式架构到行业定制化方案的全方位交付成果。
</p>
</div>
<!-- 分类过滤器 -->
<div class="mb-5">
<h6 class="fw-bold mb-3"><i class="bi bi-filter-left me-2"></i> 按业务范围筛选:</h6>
<div class="filter-scroll d-flex gap-2">
<a href="?category=all" class="filter-btn <?= $selected_category == 'all' ? 'active' : '' ?>">全部案例</a>
<?php foreach ($scope_items as $item): ?>
<a href="?category=<?= urlencode($item) ?>" class="filter-btn <?= $selected_category == $item ? 'active' : '' ?>"><?= $item ?></a>
<?php endforeach; ?>
</div>
</div>
<!-- 案例列表 -->
<?php if (empty($filtered_cases)): ?>
<div class="text-center py-5">
<div class="icon-box-colorful bg-light text-muted mx-auto mb-4" style="width: 80px; height: 80px; font-size: 2.5rem;">
<i class="bi bi-folder-x"></i>
</div>
<h5>暂无该类别的公开案例</h5>
<p class="text-muted">您可以联系我们的专家,获取更多未公开的定制化方案细节。</p>
<a href="<?= $settings['tg_link'] ?? 'https://t.me/zhangshihao818' ?>" class="btn btn-primary mt-3 px-4">立即咨询专家</a>
</div>
<?php else: ?>
<div class="row g-4">
<?php foreach ($filtered_cases as $case): ?>
<div class="col-md-6 col-lg-4 col-xl-3">
<div class="case-card h-100 shadow-sm border-0">
<div class="case-image-wrapper">
<img src="<?= htmlspecialchars($case['img']) ?>" alt="<?= htmlspecialchars($case['title']) ?>" class="case-image">
</div>
<div class="case-content p-4 d-flex flex-column">
<div class="d-flex justify-content-between align-items-start mb-2">
<span class="badge bg-primary bg-opacity-10 text-primary"><?= htmlspecialchars($case['tag']) ?></span>
<span class="x-small text-muted"><?= htmlspecialchars($case['category']) ?></span>
</div>
<h6 class="fw-bold mb-3"><?= htmlspecialchars($case['title']) ?></h6>
<p class="x-small text-muted mb-4 flex-grow-1"><?= htmlspecialchars($case['description']) ?></p>
<a href="case-detail.php?id=<?= $case['slug'] ?>" class="text-primary small text-decoration-none fw-bold mt-auto">查看案例细节 <i class="bi bi-chevron-right"></i></a>
</div>
</div>
</div>
<?php endforeach; ?>
</div>
<?php endif; ?>
</div>
</main>
<!-- 底部 CTA -->
<section class="container py-5 mb-5">
<div class="tech-card bg-dark text-white p-5 text-center overflow-hidden shadow-lg border-0 rounded-4">
<h3 class="fw-bold mb-3">没有看到您所需的特定案例?</h3>
<p class="lead mb-4 opacity-75">我们的技术储备远超网页展示。请联系我们,为您匹配最接近的实战经验。</p>
<a href="<?= $settings['tg_link'] ?? 'https://t.me/zhangshihao818' ?>" class="btn btn-primary btn-lg px-5 py-3 shadow">
<i class="bi bi-telegram me-2"></i> 立即沟通定制需求
</a>
</div>
</section>
<footer class="py-5 bg-white border-top">
<div class="container text-center small text-muted">
<p class="mb-0">&copy; 2020 <?= htmlspecialchars($project_name) ?>. 专业数字化工程与行业方案专家.</p>
</div>
</footer>
<!-- 手机端底部菜单 -->
<div class="mobile-bottom-nav">
<a href="index.php?v=home" class="mobile-nav-item">
<i class="bi bi-house-door"></i>
<span>首页</span>
</a>
<a href="cases.php" class="mobile-nav-item active">
<i class="bi bi-briefcase"></i>
<span>作品</span>
</a>
<a href="index.php?v=pricing#pricing" class="mobile-nav-item">
<i class="bi bi-tags"></i>
<span>报价</span>
</a>
<a href="<?= $settings['tg_link'] ?? 'https://t.me/zhangshihao818' ?>" class="mobile-nav-item highlight">
<i class="bi bi-telegram"></i>
<span>咨询</span>
</a>
</div>
<!-- Bootstrap JS -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
<script src="/assets/js/main.js?v=<?= time() ?>"></script>
</body>
</html>

121
contact.php Normal file
View File

@ -0,0 +1,121 @@
<?php
require_once __DIR__ . '/db/config.php';
$project_name = '智域科技';
$logo_path = '/assets/pasted-20260226-073317-a8105f30.png';
?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>咨询中心 - <?= htmlspecialchars($project_name) ?></title>
<link rel="icon" href="<?= $logo_path ?>" type="image/png">
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800&display=swap" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.1/font/bootstrap-icons.css">
<link href="/assets/css/custom.css?v=<?= time() ?>" rel="stylesheet">
</head>
<body class="bg-subtle">
<nav class="navbar navbar-expand-lg navbar-light bg-white border-bottom scrolled">
<div class="container">
<a class="navbar-brand d-flex align-items-center gap-2" href="/">
<img src="<?= $logo_path ?>" alt="<?= htmlspecialchars($project_name) ?>">
<span class="fw-bold text-dark"><?= htmlspecialchars($project_name) ?></span>
</a>
<a href="/" class="btn btn-outline-primary btn-sm ms-auto fw-bold"><i class="bi bi-arrow-left"></i> 返回首页</a>
</div>
</nav>
<main class="py-5 mt-5">
<div class="container py-5">
<div class="row g-5">
<div class="col-lg-5">
<div class="tech-card p-5 bg-primary text-white border-0 shadow-lg">
<h2 class="fw-bold text-white mb-4">联系智域专家</h2>
<p class="opacity-75 mb-5 lh-lg">我们致力于为您提供最专业、最高效的数字化转型建议。无论您是在寻找大规模架构升级方案,还是需要定制化的 AI 业务化集成,智域科技随时为您待命。</p>
<div class="d-flex align-items-center gap-4 mb-4">
<div class="contact-sidebar-icon"><i class="bi bi-telegram"></i></div>
<div>
<h6 class="fw-bold mb-1">Telegram 咨询</h6>
<p class="small mb-0 opacity-75">@zhangshihao818</p>
</div>
</div>
<div class="d-flex align-items-center gap-4 mb-4">
<div class="contact-sidebar-icon"><i class="bi bi-geo-alt"></i></div>
<div>
<h6 class="fw-bold mb-1">分布式运行</h6>
<p class="small mb-0 opacity-75">全球 24/7 数字化响应</p>
</div>
</div>
<div class="d-flex align-items-center gap-4">
<div class="contact-sidebar-icon"><i class="bi bi-shield-check"></i></div>
<div>
<h6 class="fw-bold mb-1">技术保障</h6>
<p class="small mb-0 opacity-75">金融级全天候技术服务</p>
</div>
</div>
</div>
</div>
<div class="col-lg-7">
<div class="tech-card p-5 border-0 shadow-sm">
<h3 class="fw-bold text-dark mb-4">提交咨询需求</h3>
<p class="small text-muted mb-5">请填写您的基本需求,我们的高级架构师将在 15 分钟内通过 Telegram 或您留下的联系方式与您取得联系。</p>
<form action="contact_process.php" method="POST">
<div class="row g-4">
<div class="col-md-6">
<label class="form-label small fw-bold text-dark">姓名 / 机构</label>
<div class="input-group">
<span class="input-group-text bg-light border-0"><i class="bi bi-person"></i></span>
<input type="text" name="name" class="form-control form-control-lg bg-light border-0 form-icon-input" placeholder="您的姓名或公司名称" required>
</div>
</div>
<div class="col-md-6">
<label class="form-label small fw-bold text-dark">联系方式 (Telegram / Email)</label>
<div class="input-group">
<span class="input-group-text bg-light border-0"><i class="bi bi-chat-dots"></i></span>
<input type="text" name="contact" class="form-control form-control-lg bg-light border-0 form-icon-input" placeholder="您的常用联系方式" required>
</div>
</div>
<div class="col-12">
<label class="form-label small fw-bold text-dark">业务领域</label>
<div class="input-group">
<span class="input-group-text bg-light border-0"><i class="bi bi-briefcase"></i></span>
<select name="type" class="form-select form-select-lg bg-light border-0 form-icon-input">
<option selected>定制软件开发</option>
<option>云原生架构转型</option>
<option>金融级安全审计</option>
<option>AI 业务化集成</option>
<option>其他数字化需求</option>
</select>
</div>
</div>
<div class="col-12">
<label class="form-label small fw-bold text-dark">业务逻辑详情 / 痛点说明</label>
<div class="input-group align-items-start">
<span class="input-group-text bg-light border-0 pt-3"><i class="bi bi-pencil-square"></i></span>
<textarea name="message" rows="5" class="form-control bg-light border-0 form-icon-input" placeholder="请简要描述您的业务逻辑、现有系统痛点或未来转型目标..."></textarea>
</div>
</div>
<div class="col-12 mt-5">
<button type="submit" class="btn btn-primary btn-lg w-100 py-3 shadow">立即提交需求 <i class="bi bi-send-fill ms-2"></i></button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</main>
<footer class="py-5 bg-white border-top">
<div class="container text-center small text-muted">
<p class="mb-0">&copy; 2020 <?= htmlspecialchars($project_name) ?>. 专业数字化工程与行业方案专家.</p>
</div>
</footer>
</body>
</html>

38
contact_process.php Normal file
View File

@ -0,0 +1,38 @@
<?php
require_once __DIR__ . '/db/config.php';
require_once __DIR__ . '/mail/MailService.php';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$name = $_POST['name'] ?? '';
$email = $_POST['email'] ?? '';
$phone = $_POST['phone'] ?? '';
$message = $_POST['message'] ?? '';
if (empty($name) || empty($email) || empty($message)) {
die("Please fill in all required fields.");
}
try {
$db = db();
$stmt = $db->prepare("INSERT INTO leads (name, email, phone, message) VALUES (?, ?, ?, ?)");
$stmt->execute([$name, $email, $phone, $message]);
// Send Email
$mail_to = getenv('MAIL_TO') ?: null;
$subject = "New Lead from " . $name;
$content = "Name: $name\nEmail: $email\nPhone: $phone\nMessage: $message";
MailService::sendMail($mail_to, $subject, nl2br($content), $content);
// Telegram Notification (Placeholder for actual API call)
// If telegram bot token and chat id are set in env, we could use curl to send message
echo "<script>alert('提交成功!我们将尽快与您联系。'); window.location.href='/';</script>";
} catch (PDOException $e) {
error_log("Database error: " . $e->getMessage());
echo "<script>alert('系统繁忙,请稍后再试。'); window.history.back();</script>";
}
} else {
header("Location: /contact.php");
exit;
}

113
db/migrations/000_init.sql Normal file
View File

@ -0,0 +1,113 @@
-- Combined Database Schema
-- Generated: 2026-03-18
-- Leads
CREATE TABLE IF NOT EXISTS leads (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL,
phone VARCHAR(50),
message TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Admin Users
CREATE TABLE IF NOT EXISTS admin_users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL,
nickname VARCHAR(50),
avatar VARCHAR(255),
role VARCHAR(20) DEFAULT 'admin',
last_login DATETIME,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Website Settings
CREATE TABLE IF NOT EXISTS website_settings (
`key` VARCHAR(50) PRIMARY KEY,
`value` TEXT,
`label` VARCHAR(100),
`type` VARCHAR(20) DEFAULT 'text',
`group` VARCHAR(20) DEFAULT 'general'
);
-- Cases
CREATE TABLE IF NOT EXISTS cases (
id INT AUTO_INCREMENT PRIMARY KEY,
slug VARCHAR(100) NOT NULL UNIQUE,
title VARCHAR(255) NOT NULL,
tag VARCHAR(100),
category VARCHAR(100),
img VARCHAR(255),
description TEXT,
content TEXT,
challenge TEXT,
solution TEXT,
result_stability VARCHAR(100),
result_throughput VARCHAR(100),
result_cost VARCHAR(100),
tech VARCHAR(255),
is_featured BOOLEAN DEFAULT FALSE,
sort_order INT DEFAULT 0,
is_visible BOOLEAN DEFAULT TRUE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Services
CREATE TABLE IF NOT EXISTS services (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
description TEXT,
icon VARCHAR(100),
content TEXT,
sort_order INT DEFAULT 0,
is_visible BOOLEAN DEFAULT TRUE
);
-- Tech Stack
CREATE TABLE IF NOT EXISTS tech_stack (
id INT AUTO_INCREMENT PRIMARY KEY,
category VARCHAR(100),
title VARCHAR(255) NOT NULL,
icon VARCHAR(100),
description TEXT,
sort_order INT DEFAULT 0
);
-- Pricing
CREATE TABLE IF NOT EXISTS pricing_plans (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
price_range VARCHAR(100),
features TEXT,
is_featured BOOLEAN DEFAULT FALSE,
sort_order INT DEFAULT 0
);
-- Transformations
CREATE TABLE IF NOT EXISTS transformations (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
results_data VARCHAR(255),
description TEXT,
img VARCHAR(255),
video_url VARCHAR(255),
sort_order INT DEFAULT 0
);
-- Default Data
INSERT IGNORE INTO admin_users (username, password, nickname) VALUES ('admin', '$2y$10$jHk/K4irYNwTB99K8hKSTeOcHEij/VFPzmPJq.X7DIoKXs5XzwhRS', '系统管理员');
INSERT IGNORE INTO website_settings (`key`, `value`, `label`, `type`, `group`) VALUES
('site_name', '智域科技', '网站名称', 'text', 'general'),
('site_logo', 'assets/pasted-20260226-073317-a8105f30.png', '网站LOGO', 'image', 'general'),
('wechat_id', 'zhiyukj888', '微信号', 'text', 'contact'),
('wechat_qr', 'assets/images/qr.png', '微信二维码', 'image', 'contact'),
('tg_link', 'https://t.me/zhiyukj', 'Telegram链接', 'text', 'contact'),
('contact_email', 'contact@zhiyu.tech', '联系邮箱', 'text', 'contact'),
('contact_phone', '+86 138-0000-0000', '联系电话', 'text', 'contact'),
('company_address', '上海市浦东新区某某大厦', '公司地址', 'text', 'contact'),
('seo_title', '智域科技 - 全球领先的金融技术解决方案提供商', 'SEO标题', 'text', 'seo'),
('seo_keywords', '金融科技,交易所开发,云矿机,远控系统', 'SEO关键词', 'text', 'seo'),
('seo_description', '智域科技提供高端金融技术定制开发,涵盖交易所、资金盘、远控系统等。', 'SEO描述', 'textarea', 'seo');

858
includes/cases_data.php Normal file
View File

@ -0,0 +1,858 @@
<?php
// includes/cases_data.php
$all_cases = [
// --- 海外资金盘 (Global Fund) ---
'global-fund-1' => [
'id' => 'global-fund-1',
'title' => '东南亚跨国高收益理财平台',
'tag' => '跨境金融',
'category' => '海外资金盘',
'img' => 'https://images.pexels.com/photos/4386442/pexels-photo-4386442.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '支持多国货币结算,内置实时汇率对冲系统。',
'content' => '该项目为东南亚市场定制,支持马币、泰铢、越南盾等多种法币直接入金。核心算法模拟全球债权包收益,为用户提供稳健的分红模型。',
'challenge' => '东南亚各国支付网关碎片化严重,且高频分红对清算系统的性能要求极高。',
'solution' => '开发了高度抽象的支付适配层秒级接入20+当地主流网关,并采用内存缓存队列处理分红结算。',
'result_stability' => '99.98%',
'result_throughput' => '500,000 tx/s',
'result_cost' => '-30% 费率',
'tech' => 'Node.js, Redis, MongoDB, Nginx'
],
'global-fund-2' => [
'id' => 'global-fund-2',
'title' => '拉美地区去中心化资管协议',
'tag' => '区块链金融',
'category' => '海外资金盘',
'img' => 'https://images.pexels.com/photos/7567443/pexels-photo-7567443.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '基于智能合约的透明分红体系,保障资金流向。',
'content' => '针对拉美地区恶性通胀背景构建了基于稳定币USDT的固定收益平台。所有入金流向受多签钱包控制分红逻辑完全上链实现100%透明。',
'challenge' => '以太坊主网手续费过高,影响了小额用户的参与体验。',
'solution' => '采用Polygon Layer 2 扩展方案将单笔分红手续费降至0.01美元以下。',
'result_stability' => '100% 链上运行',
'result_throughput' => '2000 TPS',
'result_cost' => '-95% Gas',
'tech' => 'Solidity, Web3.js, React, Hardhat'
],
'global-fund-3' => [
'id' => 'global-fund-3',
'title' => '中东顶级数字资产对冲基金',
'tag' => '量化资管',
'category' => '海外资金盘',
'img' => 'https://images.pexels.com/photos/6770610/pexels-photo-6770610.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '服务于高净值客户,支持私有化节点部署。',
'content' => '为迪拜某投行定制的内部理财系统。支持超大额资金的高速划转内置了全球合规的AML反洗钱扫描引擎。',
'challenge' => '高端客户对隐私与安全要求极高,且要求极低的操作延迟。',
'solution' => '采用全链路物理机隔离架构核心逻辑使用Golang开发确保计算精度与速度。',
'result_stability' => '99.999%',
'result_throughput' => '800k TPS',
'result_cost' => '极低维护成本',
'tech' => 'Go, PostgreSQL, Redis, Docker'
],
// --- 点赞盘 (Click/Like Task) ---
'like-task-1' => [
'id' => 'like-task-1',
'title' => 'TikTok全球社交互助增长平台',
'tag' => '社交众包',
'category' => '点赞盘',
'img' => 'https://images.pexels.com/photos/607812/pexels-photo-607812.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '千万级日活架构,支撑海量点赞任务实时结算。',
'content' => '用户通过完成TikTok点赞、关注等任务获取奖励。系统集成了复杂的反作弊系统有效识别各类模拟器与群控软件。',
'challenge' => '高峰期每秒有数万次任务提交,数据库写入压力巨大。',
'solution' => '采用Kafka消息队列异步处理任务审核并使用时序数据库记录用户行为。',
'result_stability' => '99.9%',
'result_throughput' => '1.5M/s',
'result_cost' => '-25% 服务器开销',
'tech' => 'PHP 8.2, Laravel, Kafka, MySQL Cluster'
],
'like-task-2' => [
'id' => 'like-task-2',
'title' => 'Instagram品牌推广任务中心',
'tag' => '营销工具',
'category' => '点赞盘',
'img' => 'https://images.pexels.com/photos/5077067/pexels-photo-5077067.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '自动化审核流程,提升任务完成效率。',
'content' => '通过OCR识别与AI图像分析技术自动审核用户提交的截图证据大幅减少人工审核成本。',
'challenge' => '用户上传的截图质量参差不齐,伪造截图手段层出不穷。',
'solution' => '部署了深度学习图片识别模型,提取截图中的关键元数据与文字进行交叉校验。',
'result_stability' => '98.5% 自动过审率',
'result_throughput' => '100k images/hr',
'result_cost' => '-80% 人工',
'tech' => 'Python, TensorFlow, Redis, FastAPI'
],
'like-task-3' => [
'id' => 'like-task-3',
'title' => 'YouTube视频热度助力生态位',
'tag' => '视频营销',
'category' => '点赞盘',
'img' => 'https://images.pexels.com/photos/251225/pexels-photo-251225.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '分层级会员体系,激励高质量互动产出。',
'content' => '专为视频博主设计的任务系统。支持按播放时长、评论质量分级定价,有效提升视频在全球范围内的搜索排名。',
'challenge' => 'YouTube算法频繁更新任务模式需要快速迭代响应。',
'solution' => '采用热插拔的策略脚本引擎,无需重启服务即可上线新的审核逻辑。',
'result_stability' => '99.7%',
'result_throughput' => '500k active users',
'result_cost' => '极速部署',
'tech' => 'Node.js, Lua, Redis, React'
],
// --- 刷单盘 (Order Brushing) ---
'brush-task-1' => [
'id' => 'brush-task-1',
'title' => '亚马逊海外买家信誉模拟系统',
'tag' => '电商运营',
'category' => '刷单盘',
'img' => 'https://images.pexels.com/photos/230544/pexels-photo-230544.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '全真模拟交易路径,规避平台风控算法。',
'content' => '通过模拟真实的搜索、对比、收藏行为后再下单,为跨境卖家提供安全的销量提升方案。',
'challenge' => '亚马逊的风控算法极度灵敏,任何规律性的行为都会导致封店。',
'solution' => '引入了随机行为树算法,使每个机器人的操作路径各不相同,完美模拟人类随机性。',
'result_stability' => '99.5% 账号存活率',
'result_throughput' => '50,000 orders/day',
'result_cost' => '-40% 成本',
'tech' => 'Python, Selenium, Puppeteer, Redis'
],
'brush-task-2' => [
'id' => 'brush-task-2',
'title' => 'Shopee/Lazada东南亚爆单系统',
'tag' => '东南亚电商',
'category' => '刷单盘',
'img' => 'https://images.pexels.com/photos/1036856/pexels-photo-1036856.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '支持多店关联管理,实现全自动爆单流程。',
'content' => '专为东南亚主流平台设计支持批量注册买家号、自动收货评价内置了多套IP代理池方案。',
'challenge' => '由于东南亚移动端占比极高系统必须完美适配移动App的通讯协议。',
'solution' => '对App协议进行了逆向工程实现了纯协议级的自动化速度比模拟器快10倍。',
'result_stability' => '99.0%',
'result_throughput' => '200,000 actions/hr',
'result_cost' => '-60% 流量消耗',
'tech' => 'Go, gRPC, Redis, ProxyPool'
],
'brush-task-3' => [
'id' => 'brush-task-3',
'title' => '全球主流电商评价全自动化中控',
'tag' => '信誉管理',
'category' => '刷单盘',
'img' => 'https://images.pexels.com/photos/34577/pexels-photo.jpg?auto=compress&cs=tinysrgb&w=800',
'desc' => '集成AI评论生成支持多语言自动翻译。',
'content' => '系统通过接入GPT-4 API为每笔订单自动生成不重复的专业买家秀评论并自动匹配对应的商品实拍图。',
'challenge' => '评论内容如果过于雷同,会被平台标记为垃圾信息。',
'solution' => '开发了基于提示词工程Prompt Engineering的内容生成矩阵确保每条评论的语气、风格迥异。',
'result_stability' => '98% 内容采纳率',
'result_throughput' => '10k reviews/hr',
'result_cost' => '-90% 编辑人工',
'tech' => 'Python, OpenAI API, Vue.js'
],
// --- 商城盘 (E-commerce) ---
'mall-task-1' => [
'id' => 'mall-task-1',
'title' => '某轻奢品牌分销裂变商城',
'tag' => '社交零售',
'category' => '商城盘',
'img' => 'https://images.pexels.com/photos/1884581/pexels-photo-1884581.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '支持多级分销分红,内置强大的营销插件库。',
'content' => '一个高度可定制的移动端商城。具备秒杀、拼团、砍价等全套营销工具,分销逻辑支持无限层级(可按需关闭)。',
'challenge' => '秒杀活动期间的高并发流量对库存锁定的一致性要求极高。',
'solution' => '采用分布式锁Redlock与预扣库存机制确保绝不超卖。',
'result_stability' => '99.95%',
'result_throughput' => '10,000 QPS',
'result_cost' => '+200% 转化率',
'tech' => 'Java, Spring Boot, Redis, MySQL'
],
'mall-task-2' => [
'id' => 'mall-task-2',
'title' => 'B2B工业品集采直供平台',
'tag' => '工业贸易',
'category' => '商城盘',
'img' => 'https://images.pexels.com/photos/190574/pexels-photo-190574.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '针对大宗贸易设计,支持阶梯定价与询价体系。',
'content' => '为制造业企业设计的采购系统。支持ERP对接、发票管理、复杂的审批流及信用额度支付。',
'challenge' => '商品参数极其复杂传统的规格选择无法满足工业品SKU的需求。',
'solution' => '构建了动态属性属性集EAV模型支持上万种参数组合的秒级检索。',
'result_stability' => '99.9%',
'result_throughput' => '50k SKU management',
'result_cost' => '-15% 采购成本',
'tech' => 'PHP, Laravel, Elasticsearch, Redis'
],
'mall-task-3' => [
'id' => 'mall-task-3',
'title' => '跨境一站式Dropshipping代发商城',
'tag' => '全球贸易',
'category' => '商城盘',
'img' => 'https://images.pexels.com/photos/3944405/pexels-photo-3944405.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '自动对接主流供应商API实现零库存管理。',
'content' => '平台自动同步速卖通、CJ Dropshipping的商品信息用户下单后自动同步物流单号全程自动化运行。',
'challenge' => '上游价格波动频繁,必须实时更新下游商城售价以保证利润。',
'solution' => '部署了高频率的爬虫监控与价格监听引擎,实现秒级调价响应。',
'result_stability' => '99.8%',
'result_throughput' => '1M products sync/day',
'result_cost' => '0库存压力',
'tech' => 'Python, Go, MongoDB, Vue.js'
],
// --- 云矿机 (Cloud Mining) ---
'mining-1' => [
'id' => 'mining-1',
'title' => '全球分布式算力租赁算力池',
'tag' => '算力共享',
'category' => '云矿机',
'img' => 'https://images.pexels.com/photos/1148820/pexels-photo-1148820.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '秒级结算产出,支持多算法币种一键切换。',
'content' => '用户通过购买虚拟矿机合约获得算力收益。系统真实对接了位于北欧和中亚的实体矿场,提供实时监控视频流。',
'challenge' => '数字货币产出受全网难度影响剧烈波动,结算逻辑复杂。',
'solution' => '开发了基于指数移动平均的收益均衡算法,为用户提供更加平滑的收益曲线。',
'result_stability' => '99.9%',
'result_throughput' => '500 PH/s total hash',
'result_cost' => '-20% 电费损耗',
'tech' => 'Go, WebSocket, Redis, PostgreSQL'
],
'mining-2' => [
'id' => 'mining-2',
'title' => '以太坊质押分红Staking管理系统',
'tag' => 'PoS质押',
'category' => '云矿机',
'img' => 'https://images.pexels.com/photos/844124/pexels-photo-844124.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '支持多层级复利模型,资产流向全程透明。',
'content' => '专为PoS机制币种设计的质押理财平台。支持节点自动部署与Slash罚没保护机制保障用户本金安全。',
'challenge' => '节点维护需要极高的网络稳定性,一旦掉线会导致严重的资金损失。',
'solution' => '部署了全球负载均衡的Validator节点集群实现多区域热备份。',
'result_stability' => '100% Uptime',
'result_throughput' => '50,000 nodes',
'result_cost' => '+15% 收益率',
'tech' => 'Rust, Docker, K8s, Prometheus'
],
'mining-3' => [
'id' => 'mining-3',
'title' => '绿色能源驱动的碳中和算力中心',
'tag' => '环保科技',
'category' => '云矿机',
'img' => 'https://images.pexels.com/photos/356036/pexels-photo-356036.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '结合光伏发电数据,动态调整算力产出逻辑。',
'content' => '这是一个创新的云矿机项目算力产出与实际光伏电站的实时发电量挂钩符合全球ESG合规要求。',
'challenge' => '需要实时接入成千上万个光伏逆变器的数据,并将其转化为虚拟算力参数。',
'solution' => '构建了基于IoT边缘计算的数据采集层利用MQTT协议实现低延迟数据同步。',
'result_stability' => '99.6%',
'result_throughput' => '1M IoT sensors',
'result_cost' => '0碳排放',
'tech' => 'Python, MQTT, InfluxDB, Node.js'
],
// --- 新能源 (New Energy) ---
'energy-1' => [
'id' => 'energy-1',
'title' => '分布式储能电站资产管理平台',
'tag' => '智慧能源',
'category' => '新能源',
'img' => 'https://images.pexels.com/photos/3861969/pexels-photo-3861969.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '全量物联网监控,实现预测性维护与收益分红。',
'content' => '该平台连接了位于各地的家庭与小型商业储能设备,用户购买设备份额即可享受电价差价收益。',
'challenge' => '电价峰谷切换时间极短,充放电指令必须毫秒级下达。',
'solution' => '采用了边缘计算架构,在电站当地预设策略,中心云负责全局调度与财务统计。',
'result_stability' => '99.8%',
'result_throughput' => '100k battery packs',
'result_cost' => '-40% 用电成本',
'tech' => 'Rust, EMQX, TimescaleDB, React'
],
'energy-2' => [
'id' => 'energy-2',
'title' => '全国电动汽车公用充电桩监控网',
'tag' => '物联网运维',
'category' => '新能源',
'img' => 'https://images.pexels.com/photos/9800006/pexels-photo-9800006.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '实时负载均衡调度,支持多种支付协议接入。',
'content' => '为充电桩运营商定制的SaaS系统。支持App找桩、扫码启动、自动扣费及政府监管数据上报。',
'challenge' => '充电桩分布极其分散,各种老旧型号协议不统一。',
'solution' => '开发了万能协议转换网关支持OCPP 1.6/2.0及国内多种主流国标协议。',
'result_stability' => '99.5%',
'result_throughput' => '500,000 users',
'result_cost' => '-50% 运维开销',
'tech' => 'Java, Netty, Redis, MySQL'
],
'energy-3' => [
'id' => 'energy-3',
'title' => '风力发电资产通证化共享平台',
'tag' => '绿色金融',
'category' => '新能源',
'img' => 'https://images.pexels.com/photos/414837/pexels-photo-414837.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '将风场发电量转化为数字收益,吸引全球投资。',
'content' => '通过区块链技术将风力发电机的收益权碎片化,普通投资者也能参与大型新能源基建项目。',
'challenge' => '风力受气候影响波动极大,结算模型需要极高透明度以信服投资者。',
'solution' => '实时接入气象局API与风机SCADA数据通过区块链存证确保数据真实性。',
'result_stability' => '99.9%',
'result_throughput' => '50 wind farms',
'result_cost' => '+25% 融资效率',
'tech' => 'Solidity, Python, Vue.js, Chainlink'
],
// --- 投资理财 (Investment/Wealth) ---
'invest-1' => [
'id' => 'invest-1',
'title' => '极速高频外汇跟单交易系统',
'tag' => '量化投资',
'category' => '投资理财',
'img' => 'https://images.pexels.com/photos/164501/pexels-photo-164501.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '毫秒级同步大师信号,支持上千人同时跟单。',
'content' => '专为资管团队设计的跟单系统支持MT4/MT5协议。信号延迟控制在50ms以内完美避开点差波动。',
'challenge' => '当主账号下单瞬间,需要同时向数千个子账号下达反向对冲或同向指令,并发极高。',
'solution' => '采用全异步事件驱动架构,利用分布式锁防止漏单或重复下单。',
'result_stability' => '99.99%',
'result_throughput' => '5000 lots/sec',
'result_cost' => '0 丢单率',
'tech' => 'C++, Redis, Python, ZeroMQ'
],
'invest-2' => [
'id' => 'invest-2',
'title' => '智能投顾AI财富管理经理',
'tag' => '人工智能',
'category' => '投资理财',
'img' => 'https://images.pexels.com/photos/546819/pexels-photo-546819.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '基于大模型的个性化投资建议与自动调仓。',
'content' => '平台根据用户的风险偏好、资产现状利用AI模型自动配置股债比例并支持一键自动调仓。',
'challenge' => '金融市场瞬息万变AI模型必须具备极强的实时新闻情感分析与趋势研判能力。',
'solution' => '接入了全球金融新闻流利用BERT模型进行情感评分动态调整投资权数。',
'result_stability' => '99.5%',
'result_throughput' => '1M assets sync',
'result_cost' => '+8% 超额收益',
'tech' => 'Python, PyTorch, Node.js, Elasticsearch'
],
'invest-3' => [
'id' => 'invest-3',
'title' => '股权众筹与初创企业投资路演系统',
'tag' => '创投生态',
'category' => '投资理财',
'img' => 'https://images.pexels.com/photos/3183183/pexels-photo-3183183.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '支持线上路演、电子合同签约及投后数据管理。',
'content' => '为VC/PE机构定制的募投管退全流程管理系统。支持PDF自动水印、电子签名符合eIDAS标准。',
'challenge' => '投资协议涉及巨额金额,文档的安全性与法律效力必须万无一失。',
'solution' => '集成了银行级硬件加密机HSM存储密钥每份文档都带有区块链时间戳防伪。',
'result_stability' => '100% 合规',
'result_throughput' => '50k contracts/mo',
'result_cost' => '-70% 签约周期',
'tech' => 'Java, Spring Boot, PostgreSQL, Hyperledger Fabric'
],
// --- 反波胆 (Anti-Correct Score) ---
'score-1' => [
'id' => 'score-1',
'title' => '全球足球反波胆大数据对冲平台',
'tag' => '赛事精算',
'category' => '反波胆',
'img' => 'https://images.pexels.com/photos/47730/pexels-photo-47730.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '实时接入全球1000+联赛数据,自动计算对冲赔率。',
'content' => '这是一款极具创新性的赛事结果统计平台,核心算法通过对大数据概率分析,为用户提供低风险的赛事参与方案。',
'challenge' => '赛事数据量大且实时性极强,一旦赔率更新延迟会导致严重的计算错误。',
'solution' => '通过自研的高速爬虫集群与WebSocket推送将全网赔率波动延迟控制在300ms内。',
'result_stability' => '99.9%',
'result_throughput' => '10k events/day',
'result_cost' => '极速赔率更新',
'tech' => 'Go, Python, Redis, Socket.io'
],
'score-2' => [
'id' => 'score-2',
'title' => '高端体育赛事对冲精算中台',
'tag' => '概率风控',
'category' => '反波胆',
'img' => 'https://images.pexels.com/photos/46798/the-ball-stadion-football-the-pitch-46798.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '内置多种对冲模型,支持千万级用户同时在线。',
'content' => '专为大型团队设计的赛事管理系统。具备完善的分成体系、多级风控与自动结算功能。',
'challenge' => '由于用户量极大结算高峰期系统的IO吞吐是核心瓶颈。',
'solution' => '采用全内存结算引擎数据持久化完全异步支撑了单秒10万笔结算。',
'result_stability' => '99.95%',
'result_throughput' => '1M online users',
'result_cost' => '-40% 服务器成本',
'tech' => 'Rust, Redis, ScyllaDB, React'
],
'score-3' => [
'id' => 'score-3',
'title' => '五大联赛实时伤病与动态概率分析仪',
'tag' => '大数据分析',
'category' => '反波胆',
'img' => 'https://images.pexels.com/photos/251225/pexels-photo-251225.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '结合球员实时状态数据,输出极具参考价值的预测模型。',
'content' => '该平台利用机器学习模型,不仅分析往绩,更结合了球员社交媒体、伤病报告等非结构化数据,提供更精准的概率。',
'challenge' => '非结构化数据如社交媒体文字的处理需要极强的NLP能力。',
'solution' => '集成了自研的BERT情感分析模型自动提取全球主要足球媒体的情报评分。',
'result_stability' => '99.2%',
'result_throughput' => '500k posts/hr',
'result_cost' => '+15% 准确率',
'tech' => 'Python, PyTorch, MongoDB, Node.js'
],
// --- 微交易 (Micro Trading) ---
'micro-1' => [
'id' => 'micro-1',
'title' => '超低延迟二元期权极速交易平台',
'tag' => '金融极速',
'category' => '微交易',
'img' => 'https://images.pexels.com/photos/2004161/pexels-photo-2004161.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '毫秒级K线渲染支持1秒期权极速结算。',
'content' => '该平台提供黄金、原油及主流货币对的超短期交易。核心采用了定制的二进制通讯协议,保证行情传输的极致流畅。',
'challenge' => '由于交易周期极短哪怕只有100ms的行情跳变也会引起巨大的交易争议。',
'solution' => '采用三方权威数据源(路透、彭博)进行多点校准,确保行情数据公正不可篡改。',
'result_stability' => '99.99%',
'result_throughput' => '50ms latency',
'result_cost' => '0 调价误差',
'tech' => 'C++, Rust, WebSocket, Vue.js'
],
'micro-2' => [
'id' => 'micro-2',
'title' => '全球社交化微型衍生品对冲中心',
'tag' => '社交金融',
'category' => '微交易',
'img' => 'https://images.pexels.com/photos/210607/pexels-photo-210607.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '支持社区牛人带单,微型合约零门槛参与。',
'content' => '这是一个面向小白用户的微型金融工具。用户可以观察并跟随资深交易员的操作。界面设计极其简洁,操作体验类似刷短视频。',
'challenge' => '如何将复杂的金融产品简化为直观的UI交互同时保证后端严格的合规性检测。',
'solution' => '引入了金融级可视化引擎,将多维行情简练为一维情绪波,大幅提升了转化。',
'result_stability' => '99.7%',
'result_throughput' => '2M users',
'result_cost' => '+300% 用户留存',
'tech' => 'Node.js, Redis, Flutter, Go'
],
'micro-3' => [
'id' => 'micro-3',
'title' => '数字货币15秒全自动对冲交易中台',
'tag' => '自动化交易',
'category' => '微交易',
'img' => 'https://images.pexels.com/photos/1181671/pexels-photo-1181671.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '支持自定义策略脚本,全天候全自动运行。',
'content' => '专为专业量化团队设计的微交易工具。支持JavaScript/Python编写策略逻辑自动根据技术指标执行15秒、30秒短期对冲。',
'challenge' => '在高波动期间,自动策略容易产生大量无效报单导致账户受限。',
'solution' => '内置了智能报单节流阀自动检测交易所API限制并优化发单频率。',
'result_stability' => '99.9%',
'result_throughput' => '100k scripts/hr',
'result_cost' => '+12% 胜率',
'tech' => 'Python, C++, Docker, Redis'
],
// --- 时间盘 (Time-based Trading) ---
'time-1' => [
'id' => 'time-1',
'title' => '多层级周期性收益合约管理平台',
'tag' => '时间价值',
'category' => '时间盘',
'img' => 'https://images.pexels.com/photos/574071/pexels-photo-574071.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '基于时间维度的算力/资产产出模型,稳健运行。',
'content' => '该系统为资产管理方提供按分钟、小时或天进行计息的理财模型。支持到期自动复投及阶梯收益率计算。',
'challenge' => '数百万个计息周期在同一时间到期,数据库更新量瞬间爆发。',
'solution' => '采用了基于时间轮Time Wheel算法的结算调度器将压力均匀平摊。',
'result_stability' => '99.95%',
'result_throughput' => '1M daily settlements',
'result_cost' => '-50% DB压力',
'tech' => 'Java, Quartz, Redis, MySQL'
],
'time-2' => [
'id' => 'time-2',
'title' => '高端贵金属实物抵押周期理财系统',
'tag' => '实物金融',
'category' => '时间盘',
'img' => 'https://images.pexels.com/photos/366551/pexels-photo-366551.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '线上购买实物资产份额,按持有时间享受仓储溢价。',
'content' => '这是一个将传统黄金、白银仓储业务数字化的尝试。用户通过该系统参与贵金属的时间增值计划,支持随时实物提现。',
'challenge' => '实物库存与虚拟份额需要严格对应,任何差异都是灾难性的财务漏洞。',
'solution' => '集成了金库仓库的实时监控与RFID自动清点数据实现账实合一。',
'result_stability' => '100% 审计通过',
'result_throughput' => '500 tons gold management',
'result_cost' => '-30% 管理费',
'tech' => 'Go, MongoDB, RFID API, React'
],
'time-3' => [
'id' => 'time-3',
'title' => '全球农业期货时间周期收益共享计划',
'tag' => '农业金融',
'category' => '时间盘',
'img' => 'https://images.pexels.com/photos/2132180/pexels-photo-2132180.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '跟随农作物生长周期获得分红,支持灾备保险机制。',
'content' => '用户投资特定的农业项目,收益与农作物的生长、收割周期完全同步。内置了气象对冲保险,保障极端天气下的本金。',
'challenge' => '生长周期受气候影响具有不确定性,结算逻辑需要支持动态调整周期。',
'solution' => '采用了动态概率图模型预测收割期,并实时调整预估收益推送。',
'result_stability' => '99.4%',
'result_throughput' => '10k farms',
'result_cost' => '+10% 农民收益',
'tech' => 'Python, TensorFlow, Node.js, AWS'
],
// --- 交易所 (Exchange) ---
'exchange-1' => [
'id' => 'exchange-1',
'title' => '智域次世代分布式撮合引擎',
'tag' => '极速交易',
'category' => '交易所',
'img' => 'https://images.pexels.com/photos/1181244/pexels-photo-1181244.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '单节点200万TPS筑造全球顶级交易防线。',
'content' => '该核心引擎采用全内存撮合技术支持复杂订单类型市价、限价、止盈止损、冰山订单。通过Aeron通讯协议实现超低延迟集群。',
'challenge' => '在高频波动的极端行情下,撮合引擎绝不能出现任何逻辑阻塞或崩溃。',
'solution' => '采用Rust编写核心逻辑利用LMAX Disruptor架构模式实现极高性能的环形队列处理。',
'result_stability' => '100% Uptime',
'result_throughput' => '2M TPS',
'result_cost' => '-90% 延迟',
'tech' => 'Rust, C++, Aeron, Redis'
],
'exchange-2' => [
'id' => 'exchange-2',
'title' => '全球合规法币与加密货币混合交易所',
'tag' => '合规金融',
'category' => '交易所',
'img' => 'https://images.pexels.com/photos/257736/pexels-photo-257736.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '集成150+国家支付渠道,内置多国合规审计引擎。',
'content' => '专为具有牌照的金融机构设计。支持法币与加密货币的即时互换具备完善的KYC/AML审核流。',
'challenge' => '不同国家的合规要求各异,系统必须具备极强的可配置性以适应各地区监管。',
'solution' => '开发了基于规则引擎的合规审核框架,业务人员可通过可视化配置调整审核逻辑。',
'result_stability' => '99.99%',
'result_throughput' => '500k users',
'result_cost' => '-60% 合规人力',
'tech' => 'Java, Spring Cloud, Oracle, Drools'
],
'exchange-3' => [
'id' => 'exchange-3',
'title' => '高端数字资产衍生品永续合约平台',
'tag' => '杠杆交易',
'category' => '交易所',
'img' => 'https://images.pexels.com/photos/3182773/pexels-photo-3182773.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '支持100x杠杆、自动减仓及保险基金风控。',
'content' => '针对专业交易者设计的合约平台。核心风控模型通过秒级全网标的价格扫描,防止恶意插针与连环清算。',
'challenge' => '清算系统的及时性直接关系到平台是否会产生穿仓亏损。',
'solution' => '开发了分布式的实时强平引擎,具备秒级处理上万笔强平单的能力。',
'result_stability' => '99.95%',
'result_throughput' => '100k liquidations/s',
'result_cost' => '0 坏账率',
'tech' => 'Go, Redis, PostgreSQL, React'
],
// --- 各类小程序 (Mini Programs) ---
'app-1' => [
'id' => 'app-1',
'title' => '某大型商圈智慧导购与会员小程序',
'tag' => '商业地产',
'category' => '各类小程序',
'img' => 'https://images.pexels.com/photos/5926442/pexels-photo-5926442.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '室内蓝牙导航,实现精准营销与积分闭环。',
'content' => '为千万级客流的购物中心定制。集成蓝牙Beacon定位技术当用户靠近店铺时自动推送优惠券显著提升了核销率。',
'challenge' => '室内定位精度在商铺密集区极易受到干扰,导航体验难以保证。',
'solution' => '采用了多传感器融合定位算法IMU+蓝牙+WiFi将定位误差缩小至1.5米以内。',
'result_stability' => '99.1%',
'result_throughput' => '10M members',
'result_cost' => '+35% 复购率',
'tech' => 'Uniapp, Node.js, Bluetooth Low Energy'
],
'app-2' => [
'id' => 'app-2',
'title' => '智慧社区全流程政务与生活小程序',
'tag' => '社区服务',
'category' => '各类小程序',
'img' => 'https://images.pexels.com/photos/5668858/pexels-photo-5668858.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '集成报修、缴费、投票、门禁于一体。',
'content' => '为全国数千个高端小区提供的SaaS小程序。支持人脸识别开门、在线物业缴费实现了社区管理的无纸化、智能化。',
'challenge' => '需要对接上百个不同厂家的硬件门禁与水电设备协议。',
'solution' => '构建了云端统一硬件抽象层HAL将不同协议转化为标准MQTT指令。',
'result_stability' => '99.5%',
'result_throughput' => '5000 communities',
'result_cost' => '-20% 人力成本',
'tech' => 'Java, Netty, Redis, WeChat SDK'
],
'app-3' => [
'id' => 'app-3',
'title' => '某头部车企车主社交与远程控制小程序',
'tag' => '车联网',
'category' => '各类小程序',
'img' => 'https://images.pexels.com/photos/210019/pexels-photo-210019.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '实时查看车况、预约维保,支持手机蓝牙钥匙。',
'content' => '专为新能源汽车品牌定制。车主可通过小程序远程开启空调、寻车、授权驾驶。内置了高活跃的车主交流论坛。',
'challenge' => '远程控车涉及车辆行驶安全,指令链路的加密与防篡改要求达到国标最高等级。',
'solution' => '采用了双向非对称加密签名机制并集成了银行级的TEE可信执行环境证书管理。',
'result_stability' => '99.99%',
'result_throughput' => '1M vehicles',
'result_cost' => '极致安全体验',
'tech' => 'Go, WebSocket, Redis, Bluetooth SDK'
],
// --- 机器人 (Robots/Bots) ---
'bot-1' => [
'id' => 'bot-1',
'title' => 'Telegram全球多语言自动客服机器人',
'tag' => 'AI客服',
'category' => '机器人',
'img' => 'https://images.pexels.com/photos/8386440/pexels-photo-8386440.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '集成ChatGPT大模型支持100+语言实时翻译与回复。',
'content' => '为海外金融与博彩客户设计的全自动客服系统。机器人不仅能精准回答业务问题,还能根据用户情绪进行安抚,显著降低了投诉率。',
'challenge' => '在大规模群组中,机器人需要具备极强的抗干扰能力,精准识别目标指令。',
'solution' => '采用了自研的上下文语义关联算法并结合多层级关键词过滤识别准确率达98%。',
'result_stability' => '99.9%',
'result_throughput' => '10M messages/day',
'result_cost' => '-75% 人工客服',
'tech' => 'Node.js, OpenAI API, Telegram API, Redis'
],
'bot-2' => [
'id' => 'bot-2',
'title' => '全自动网赚与任务分发Telegram机器人',
'tag' => '流量工具',
'category' => '机器人',
'img' => 'https://images.pexels.com/photos/3184360/pexels-photo-3184360.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '支持自动审核点赞截图,实现无人值守运营。',
'content' => '该机器人作为点赞盘的配套工具用户在TG内即可完成任务领奖大幅提升了用户的便利性与留存。',
'challenge' => 'TG平台对高频回复与链接分发有严格的Anti-Spam限制。',
'solution' => '部署了分布式的Session切换集群自动平衡各机器人账号的响应频次。',
'result_stability' => '99.5%',
'result_throughput' => '2M task per day',
'result_cost' => '+40% 转化效率',
'tech' => 'Python, Redis, RabbitMQ, PostgreSQL'
],
'bot-3' => [
'id' => 'bot-3',
'title' => '高性能行情订阅与止盈止损自动交易员',
'tag' => '交易辅助',
'category' => '机器人',
'img' => 'https://images.pexels.com/photos/373543/pexels-photo-373543.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '毫秒级行情追踪支持多平台API一键交易。',
'content' => '为专业交易者定制的监控机器人。支持对全网1000+币种进行异常波动、大单成交监控并能根据预设逻辑在1秒内执行反向对冲。',
'challenge' => '各交易所API限频规则不同且在网络波动时容易出现订单状态不明。',
'solution' => '内置了智能重试与状态轮询引擎,确保每笔订单都有明确的最终状态记录。',
'result_stability' => '99.9%',
'result_throughput' => '100 API calls/sec',
'result_cost' => '极速抢单成功',
'tech' => 'Rust, Redis, Python, Binance/OKX API'
],
// --- 落地页定制 (Landing Page) ---
'landing-1' => [
'id' => 'landing-1',
'title' => '极速高转化率金融理财推广单页',
'tag' => '精准营销',
'category' => '落地页定制',
'img' => 'https://images.pexels.com/photos/1181263/pexels-photo-1181263.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '极致首屏加载速度内置多套A/B测试版本。',
'content' => '专为Facebook/TikTok投放设计。采用纯静态化渲染与图片WebP无损压缩谷歌PageSpeed评分达99分。',
'challenge' => '在弱网环境下,复杂的动画效果会导致用户流失。',
'solution' => '采用Vanilla JS开发所有交互效果拒绝沉重的类库并将核心CSS内联实现0阻塞渲染。',
'result_stability' => '100% Google评分',
'result_throughput' => '100k views/day',
'result_cost' => '+15% 留资率',
'tech' => 'HTML5, Pure CSS, Vanilla JS'
],
'landing-2' => [
'id' => 'landing-2',
'title' => '高端SaaS软件多语种全球展示中心',
'tag' => '品牌形象',
'category' => '落地页定制',
'img' => 'https://images.pexels.com/photos/3183150/pexels-photo-3183150.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '全响应式设计,集成在线预约与实时客服系统。',
'content' => '为出海软件企业定制。支持多国语言一键切换集成了HubSpot CRM自动将潜在客户信息导入漏斗管理。',
'challenge' => '不同地区的排版习惯差异巨大如阿拉伯语的RTL布局适配工作量极大。',
'solution' => '采用全自动化的i18n适配框架根据用户IP自动识别语言并调整布局方向。',
'result_stability' => '99.9%',
'result_throughput' => '50 languages supported',
'result_cost' => '全球化品牌一致',
'tech' => 'React, Tailwind CSS, i18next'
],
'landing-3' => [
'id' => 'landing-3',
'title' => '某顶尖元宇宙项目动态3D互动落地页',
'tag' => 'Web 3.0',
'category' => '落地页定制',
'img' => 'https://images.pexels.com/photos/123335/pexels-photo-123335.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '基于Three.js的沉浸式交互提升品牌视觉冲击。',
'content' => '打破传统平面展示用户可通过鼠标控制3D模型身临其境地了解元宇宙空间的架构与玩法。',
'challenge' => '复杂的3D渲染对低端移动设备不友好极易导致浏览器崩溃或卡顿。',
'solution' => '开发了分级渲染策略,根据用户设备性能自动降级模型精度,保证全平台流程体验。',
'result_stability' => '98.5% 兼容性',
'result_throughput' => '200 FPS on PC',
'result_cost' => '+400% 停留时长',
'tech' => 'Three.js, GLSL, WebGL, React'
],
// --- 远控系统 (Remote Control) ---
'remote-1' => [
'id' => 'remote-1',
'title' => '高端工业自动化远程安全运维系统',
'tag' => '工业控制',
'category' => '远控系统',
'img' => 'https://images.pexels.com/photos/669615/pexels-photo-669615.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '支持内网穿透与多级颗粒度权限控制。',
'content' => '专为大型工厂设计的设备远程管理平台。具备全量操作日志审计,确保每一步远程操作均可溯源,符合等保三级要求。',
'challenge' => '工业现场网络往往只有内网且受防火墙严格限制,远程接入极其困难。',
'solution' => '利用P2P打洞技术与中继转发结合方案穿透成功率达99.9%以上。',
'result_stability' => '99.99%',
'result_throughput' => '30ms latency',
'result_cost' => '-85% 差旅费',
'tech' => 'Rust, WebRTC, Go, Vue.js'
],
'remote-2' => [
'id' => 'remote-2',
'title' => '某大型企业数万台终端全球云桌面',
'tag' => '云办公',
'category' => '远控系统',
'img' => 'https://images.pexels.com/photos/533424/pexels-photo-533424.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '高清流畅体验支持4K/60帧画面无损传输。',
'content' => '为全球分支机构设计的统一办公桌面系统。员工在任何地点均可访问中心服务器,核心数据不出内网,实现极致安全。',
'challenge' => '视频流编解码对CPU资源消耗巨大单机承载能力有限。',
'solution' => '开发了基于GPU硬件加速的编解码驱动单台服务器承载量提升了4倍。',
'result_stability' => '99.9%',
'result_throughput' => '100,000 active sessions',
'result_cost' => '-50% IT硬件成本',
'tech' => 'C++, FFmpeg, Nvidia NVENC, K8s'
],
'remote-3' => [
'id' => 'remote-3',
'title' => '高风险作业环境机器人远程临场控制系统',
'tag' => '特种机器人',
'category' => '远控系统',
'img' => 'https://images.pexels.com/photos/518543/pexels-photo-518543.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '极低延迟双向触觉反馈,实现精准远程操控。',
'content' => '用于电力高压维护、危险品搬运的远程控制系统。不仅能传输音视频,更能回传操作压力数据,操作员能“感觉到”机器人的触碰。',
'challenge' => '触觉反馈对时延的要求在10ms以内任何微小的卡顿都会导致操作事故。',
'solution' => '采用了专用的专线隧道与轻量化实时系统优化了TCP/IP栈以消除抖动。',
'result_stability' => '99.99%',
'result_throughput' => '5ms network delay',
'result_cost' => '0 人员伤亡',
'tech' => 'C, Rust, Linux Kernel, 5G Slicing'
],
// --- 授权系统 (Auth/Licensing) ---
'auth-1' => [
'id' => 'auth-1',
'title' => '全球数字版权(DRM)视频加密保护系统',
'tag' => '版权保护',
'category' => '授权系统',
'img' => 'https://images.pexels.com/photos/1629781/pexels-photo-1629781.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '硬件级防破解授权,支持上亿台设备在线验证。',
'content' => '为大型流媒体平台定制。通过动态密钥交换与多重数字水印,有效防止了非法录屏与账号共享。',
'challenge' => '传统的授权验证极易被模拟器或内存修改器绕过。',
'solution' => '引入了基于行为特征的白盒加密White-box Cryptography技术将密钥隐藏在算法逻辑中。',
'result_stability' => '99.999%',
'result_throughput' => '500M license keys',
'result_cost' => '-95% 侵权损失',
'tech' => 'C++, Rust, Python, AWS'
],
'auth-2' => [
'id' => 'auth-2',
'title' => '高端企业级SaaS多租户授权与计费中台',
'tag' => '企业架构',
'category' => '授权系统',
'img' => 'https://images.pexels.com/photos/210600/pexels-photo-210600.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '支持按需付费、阶梯授权,内置多维度财务报表。',
'content' => '这是一个通用的软件授权中心。支持永久授权、月度订阅、按功能点授权等多种商业模式内置了PayPal/Stripe自动续费。',
'challenge' => '大型企业租户可能存在数万个子账号权限判定逻辑极度复杂RBAC+ABAC。',
'solution' => '构建了基于图数据库Neo4j的权限索引查询性能比传统关系数据库快百倍。',
'result_stability' => '99.9%',
'result_throughput' => '1M organizations',
'result_cost' => '+40% 营收增长',
'tech' => 'Java, Neo4j, Redis, Stripe SDK'
],
'auth-3' => [
'id' => 'auth-3',
'title' => '基于零信任架构的内网动态接入授权',
'tag' => '网络安全',
'category' => '授权系统',
'img' => 'https://images.pexels.com/photos/159888/pexels-photo-159888.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '不再信任任何边界,实现持续性的身份验证。',
'content' => '打破传统防火墙边界,根据设备健康度、用户位置、时间等多重维度实时判定访问权限。',
'challenge' => '每一次API调用都要重新验证权限对系统性能是巨大考验。',
'solution' => '利用eBPF技术在内核层实现权限过滤将验证开销降至微秒级。',
'result_stability' => '99.99%',
'result_throughput' => '10Gbps line rate',
'result_cost' => '0 外部渗透',
'tech' => 'Go, eBPF, Kubernetes, Redis'
],
// --- 在线客服 (Live Chat) ---
'chat-1' => [
'id' => 'chat-1',
'title' => '全渠道一体化智能呼叫中心系统',
'tag' => '客服生态',
'category' => '在线客服',
'img' => 'https://images.pexels.com/photos/209224/pexels-photo-209224.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '打通Web、App、WeChat、Telegram实现跨平台接待。',
'content' => '为大型电商客服团队设计的后台系统。支持坐席监控、自动质检、话术辅助提示,显著提升了单坐席产出。',
'challenge' => '不同平台的即时通讯协议千差万别,且需要保持会话的长连接稳定性。',
'solution' => '开发了高度统一的消息协议中继层,实现了“一次开发,多端同步”。',
'result_stability' => '99.95%',
'result_throughput' => '50,000 agents',
'result_cost' => '-35% 平均响应时间',
'tech' => 'Java, Spring Cloud, Netty, RabbitMQ'
],
'chat-2' => [
'id' => 'chat-2',
'title' => '高端金融级全链路加密私域客服',
'tag' => '隐私通讯',
'category' => '在线客服',
'img' => 'https://images.pexels.com/photos/1037992/pexels-photo-1037992.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '端到端加密,支持消息阅后即焚与文件安全传输。',
'content' => '针对高净值理财客户的私人银行级客服系统。任何中间环节(包括服务器端)均无法窥探聊天内容。',
'challenge' => '既要保证绝对的安全,又不能牺牲视频通话、文件传输的用户体验。',
'solution' => '采用了Signal协议进行端到端加密并利用P2P技术进行视频流直连。',
'result_stability' => '99.99%',
'result_throughput' => '0 泄密记录',
'result_cost' => '极致客户信任',
'tech' => 'C++, Rust, WebRTC, React Native'
],
'chat-3' => [
'id' => 'chat-3',
'title' => 'AI驱动的多语言实时语音翻译呼叫中台',
'tag' => '跨境服务',
'category' => '在线客服',
'img' => 'https://images.pexels.com/photos/545063/pexels-photo-545063.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '客服说中文,用户听英文,无障碍全球沟通。',
'content' => '该系统集成实时语音转文字ASR、神经网络翻译NMT与文字转语音TTS技术解决了跨国服务的语言障碍。',
'challenge' => '语音识别与翻译的串联延迟如果超过1秒对话就无法正常进行。',
'solution' => '部署了全球低延迟边缘加速节点,并优化了推理算法,实现流式翻译输出。',
'result_stability' => '99.2%',
'result_throughput' => '100 languages',
'result_cost' => '-90% 招聘成本',
'tech' => 'Python, CUDA, WebSocket, Node.js'
],
// --- 获取通讯录 (Contact Sync) ---
'contact-1' => [
'id' => 'contact-1',
'title' => '全球社交图谱实时关系挖掘引擎',
'tag' => '大数据',
'category' => '获取通讯录',
'img' => 'https://images.pexels.com/photos/3182746/pexels-photo-3182746.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '秒级处理千万级数据,构建亿级用户社交脉络。',
'content' => '该系统为社交平台提供了高效的“你可能认识的人”推荐功能。通过分析通讯录交叉数据,精准挖掘潜在关系网。',
'challenge' => '通讯录数据往往是非结构化的,包含大量错乱格式,清洗难度极大。',
'solution' => '开发了基于布隆过滤器的高性能匹配系统并在Elasticsearch中建立了多层级关系索引。',
'result_stability' => '99.9%',
'result_throughput' => '5M sync/min',
'result_cost' => '+50% 社交活跃度',
'tech' => 'Java, Elasticsearch, Redis, Kafka'
],
'contact-2' => [
'id' => 'contact-2',
'title' => '高端企业级全球人才通讯录同步系统',
'tag' => '人力资源',
'category' => '获取通讯录',
'img' => 'https://images.pexels.com/photos/265087/pexels-photo-265087.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '跨国集团数万名员工数据安全同步,支持多层级权限。',
'content' => '为大型组织解决全球范围内的同事信息共享问题。支持按部门、职位、权限动态展示,内置了全自动的数据脱敏逻辑。',
'challenge' => '涉及GDPR等严格的隐私法案数据的存储与访问必须符合全球多地区法律。',
'solution' => '实现了分区域数据隔离与动态脱敏算法,确保敏感信息仅在必要时可见。',
'result_stability' => '100% 合规',
'result_throughput' => '500k employees',
'result_cost' => '-60% 沟通成本',
'tech' => 'Go, PostgreSQL, Redis, Vue.js'
],
'contact-3' => [
'id' => 'contact-3',
'title' => '某顶尖理财App高效好友推荐与裂变引擎',
'tag' => '裂变系统',
'category' => '获取通讯录',
'img' => 'https://images.pexels.com/photos/186461/pexels-photo-186461.jpeg?auto=compress&cs=tinysrgb&w=800',
'desc' => '自动识别高价值潜在客户,实现精准拓客引导。',
'content' => '通过对用户通讯录的智能权重分析,自动筛选出具备高净值理财潜力的名单,辅助营销人员精准跟进。',
'challenge' => '在保障用户隐私的前提下,如何通过极其有限的信息进行精准的行为预测。',
'solution' => '利用联邦学习技术,在不获取用户明文敏感数据的情况下完成模型的训练与推理。',
'result_stability' => '99.6%',
'result_throughput' => '10M active users',
'result_cost' => '+25% 拓客成功率',
'tech' => 'Python, TensorFlow Federated, Node.js'
]
];
function get_cases_by_category($category) {
global $all_cases;
if ($category === 'all') return $all_cases;
return array_filter($all_cases, function($case) use ($category) {
return $case['category'] === $category;
});
}

724
index.php
View File

@ -1,150 +1,588 @@
<?php
declare(strict_types=1);
@ini_set('display_errors', '1');
@error_reporting(E_ALL);
@date_default_timezone_set('UTC');
require_once __DIR__ . '/db/config.php';
$phpVersion = PHP_VERSION;
$now = date('Y-m-d H:i:s');
// Fetch settings from DB
$pdo = db();
$settings_res = $pdo->query("SELECT `key`, `value` FROM website_settings")->fetchAll();
$settings = [];
foreach ($settings_res as $row) {
$settings[$row['key']] = $row['value'];
}
$project_name = $settings['site_name'] ?? '智域科技';
$project_description = $settings['seo_description'] ?? '全球领先的IT数字化架构与行业解决方案专家';
$logo_path = $settings['site_logo'] ?? 'assets/pasted-20260226-073317-a8105f30.png';
$wechat_qr = $settings['wechat_qr'] ?? 'assets/pasted-20260226-110355-12dfa7de.png';
$wechat_id = $settings['wechat_id'] ?? 'zhiyukj888';
$tg_link = $settings['tg_link'] ?? 'https://t.me/zhangshihao818';
// 辅助函数:根据颜色生成浅色背景
function get_soft_bg($color, $opacity = '10') {
return $color . $opacity;
}
// 手机端视图逻辑
$view = $_GET['v'] ?? 'home';
$body_class = 'view-' . $view;
?>
<!doctype html>
<html lang="en">
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>New Style</title>
<?php
// Read project preview data from environment
$projectDescription = $_SERVER['PROJECT_DESCRIPTION'] ?? '';
$projectImageUrl = $_SERVER['PROJECT_IMAGE_URL'] ?? '';
?>
<?php if ($projectDescription): ?>
<!-- Meta description -->
<meta name="description" content='<?= htmlspecialchars($projectDescription) ?>' />
<!-- Open Graph meta tags -->
<meta property="og:description" content="<?= htmlspecialchars($projectDescription) ?>" />
<!-- Twitter meta tags -->
<meta property="twitter:description" content="<?= htmlspecialchars($projectDescription) ?>" />
<?php endif; ?>
<?php if ($projectImageUrl): ?>
<!-- Open Graph image -->
<meta property="og:image" content="<?= htmlspecialchars($projectImageUrl) ?>" />
<!-- Twitter image -->
<meta property="twitter:image" content="<?= htmlspecialchars($projectImageUrl) ?>" />
<?php endif; ?>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap" rel="stylesheet">
<style>
:root {
--bg-color-start: #6a11cb;
--bg-color-end: #2575fc;
--text-color: #ffffff;
--card-bg-color: rgba(255, 255, 255, 0.01);
--card-border-color: rgba(255, 255, 255, 0.1);
}
body {
margin: 0;
font-family: 'Inter', sans-serif;
background: linear-gradient(45deg, var(--bg-color-start), var(--bg-color-end));
color: var(--text-color);
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
text-align: center;
overflow: hidden;
position: relative;
}
body::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><path d="M-10 10L110 10M10 -10L10 110" stroke-width="1" stroke="rgba(255,255,255,0.05)"/></svg>');
animation: bg-pan 20s linear infinite;
z-index: -1;
}
@keyframes bg-pan {
0% { background-position: 0% 0%; }
100% { background-position: 100% 100%; }
}
main {
padding: 2rem;
}
.card {
background: var(--card-bg-color);
border: 1px solid var(--card-border-color);
border-radius: 16px;
padding: 2rem;
backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(20px);
box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.1);
}
.loader {
margin: 1.25rem auto 1.25rem;
width: 48px;
height: 48px;
border: 3px solid rgba(255, 255, 255, 0.25);
border-top-color: #fff;
border-radius: 50%;
animation: spin 1s linear infinite;
}
@keyframes spin {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
.hint {
opacity: 0.9;
}
.sr-only {
position: absolute;
width: 1px; height: 1px;
padding: 0; margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap; border: 0;
}
h1 {
font-size: 3rem;
font-weight: 700;
margin: 0 0 1rem;
letter-spacing: -1px;
}
p {
margin: 0.5rem 0;
font-size: 1.1rem;
}
code {
background: rgba(0,0,0,0.2);
padding: 2px 6px;
border-radius: 4px;
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
footer {
position: absolute;
bottom: 1rem;
font-size: 0.8rem;
opacity: 0.7;
}
</style>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title><?= htmlspecialchars($settings['seo_title'] ?? $project_name) ?></title>
<meta name="keywords" content="<?= htmlspecialchars($settings['seo_keywords'] ?? '') ?>">
<meta name="description" content="<?= htmlspecialchars($settings['seo_description'] ?? '') ?>">
<link rel="icon" href="<?= $logo_path ?>" type="image/png">
<!-- Fonts & Icons -->
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800&family=Ma+Shan+Zheng&display=swap" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.1/font/bootstrap-icons.css">
<link href="assets/css/custom.css?v=<?= time() ?>" rel="stylesheet">
</head>
<body>
<main>
<div class="card">
<h1>Analyzing your requirements and generating your website…</h1>
<div class="loader" role="status" aria-live="polite" aria-label="Applying initial changes">
<span class="sr-only">Loading…</span>
</div>
<p class="hint"><?= ($_SERVER['HTTP_HOST'] ?? '') === 'appwizzy.com' ? 'AppWizzy' : 'Flatlogic' ?> AI is collecting your requirements and applying the first changes.</p>
<p class="hint">This page will update automatically as the plan is implemented.</p>
<p>Runtime: PHP <code><?= htmlspecialchars($phpVersion) ?></code> — UTC <code><?= htmlspecialchars($now) ?></code></p>
<body class="<?= $body_class ?>">
<!-- 导航栏 -->
<nav class="navbar navbar-expand-lg navbar-light fixed-top">
<div class="container">
<a class="navbar-brand d-flex align-items-center gap-2" href="/">
<img src="<?= $logo_path ?>" alt="<?= htmlspecialchars($project_name) ?>">
<div class="brand-text-dynamic">
<span class="char-1"></span>
<span class="char-2"></span>
<span class="char-3"></span>
<span class="char-4"></span>
</div>
</a>
<button class="navbar-toggler border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav ms-auto align-items-center gap-lg-4 mt-3 mt-lg-0">
<li class="nav-item"><a class="nav-link" href="#cases">声誉作品</a></li>
<li class="nav-item"><a class="nav-link" href="#core-services">核心服务</a></li>
<li class="nav-item"><a class="nav-link" href="#capabilities">核心能力</a></li>
<li class="nav-item"><a class="nav-link" href="#tech">技术底座</a></li>
<li class="nav-item"><a class="nav-link" href="#pricing">报价方案</a></li>
<li class="nav-item ms-lg-2">
<a class="btn btn-primary px-4 shadow-sm fw-bold" href="<?= $tg_link ?>">立即咨询 <i class="bi bi-telegram ms-1"></i></a>
</li>
</ul>
</div>
</div>
</nav>
<!-- 英雄首屏 & 自动播放轮播图 -->
<section class="hero-section">
<div class="container">
<div class="row align-items-center g-5">
<div class="col-lg-6">
<span class="section-subtitle text-start mb-2">领先的数字化架构专家</span>
<h1 class="hero-title">
<span class="text-gradient">分布式技术节点</span><br>
全天候平稳运行中
</h1>
<p class="lead text-muted mb-5 pe-lg-4">
智域科技不仅提供系统开发。我们结合行业深度洞察与前沿架构技术,为复杂业务提供稳定、安全、可无限扩展的数字化基座。
</p>
<div class="d-flex flex-wrap gap-3">
<a href="<?= $tg_link ?>" class="btn btn-primary px-5 py-3 fw-bold">立即免费咨询 <i class="bi bi-lightning-charge-fill ms-1"></i></a>
<a href="#capabilities" class="btn btn-outline-dark px-5 py-3 fw-bold">了解核心技术</a>
</div>
</div>
<div class="col-lg-6">
<div id="heroCarousel" class="carousel slide carousel-fade hero-carousel shadow-lg" data-bs-ride="carousel" data-bs-interval="3500">
<div class="carousel-inner">
<div class="carousel-item active">
<img src="assets/images/carousel-1.jpg" alt="智慧金融与分布式架构">
<div class="carousel-caption glass-panel">
<p class="small mb-0 fw-bold"><i class="bi bi-bank2 me-2 text-primary"></i> 智慧金融分布式技术架构</p>
</div>
</div>
<div class="carousel-item">
<img src="assets/images/carousel-2.png" alt="数字化转型实践">
<div class="carousel-caption glass-panel">
<p class="small mb-0 fw-bold"><i class="bi bi-cpu-fill me-2 text-success"></i> 赋能企业数字化转型实践</p>
</div>
</div>
<div class="carousel-item">
<img src="assets/images/carousel-3.png" alt="AI驱动的智能决策">
<div class="carousel-caption glass-panel">
<p class="small mb-0 fw-bold"><i class="bi bi-robot me-2 text-info"></i> AI驱动的智能业务决策引擎</p>
</div>
</div>
<div class="carousel-item">
<img src="assets/images/carousel-4.png" alt="全球化系统部署">
<div class="carousel-caption glass-panel">
<p class="small mb-0 fw-bold"><i class="bi bi-globe-americas me-2 text-warning"></i> 全球化高可用系统部署方案</p>
</div>
</div>
</div>
<button class="carousel-control-prev" type="button" data-bs-target="#heroCarousel" data-bs-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="visually-hidden">Previous</span>
</button>
<button class="carousel-control-next" type="button" data-bs-target="#heroCarousel" data-bs-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="visually-hidden">Next</span>
</button>
</div>
</div>
</div>
</div>
</section>
<!-- 作品展示区域 -->
<section id="cases" class="py-5">
<div class="container py-5">
<div class="d-flex justify-content-between align-items-end mb-4 flex-wrap gap-3">
<div>
<span class="section-subtitle text-start mb-1">作品展示</span>
<h2 class="section-title mb-0">每一个项目都是我们的声誉</h2>
</div>
<a href="cases.php" class="btn btn-primary px-4 py-2 fw-bold shadow-sm mb-2 d-none d-md-inline-block">查看更多案例展示 <i class="bi bi-grid-3x3-gap ms-2"></i></a>
</div>
<div class="grid-4">
<?php
// 从数据库获取精选案例
$featured_cases = $pdo->query("SELECT * FROM cases WHERE is_visible = 1 ORDER BY is_featured DESC, sort_order ASC, created_at DESC LIMIT 8")->fetchAll();
foreach ($featured_cases as $case): ?>
<div class="case-card">
<div class="case-image-wrapper">
<img src="<?= htmlspecialchars($case['img']) ?>" alt="<?= htmlspecialchars($case['title']) ?>" class="case-image">
</div>
<div class="case-content p-4">
<span class="badge bg-primary bg-opacity-10 text-primary mb-2"><?= htmlspecialchars($case['tag']) ?></span>
<h6 class="fw-bold mb-3"><?= htmlspecialchars($case['title']) ?></h6>
<p class="x-small text-muted mb-4"><?= htmlspecialchars($case['description']) ?></p>
<a href="case-detail.php?id=<?= $case['slug'] ?>" class="text-primary small text-decoration-none fw-bold">查看案例细节 <i class="bi bi-chevron-right"></i></a>
</div>
</div>
<?php endforeach; ?>
</div>
<div class="text-center mt-5 d-md-none">
<a href="cases.php" class="btn btn-outline-primary btn-lg px-5 py-3 fw-bold shadow-sm">
查看更多案例展示 <i class="bi bi-grid-3x3-gap ms-2"></i>
</a>
</div>
</div>
</section>
<!-- 专业核心服务区域 -->
<section id="core-services" class="py-5">
<div class="container py-5">
<span class="section-subtitle">服务生态</span>
<h2 class="section-title">专业核心服务区域</h2>
<div class="grid-4">
<?php
// 可从数据库获取 services 表,目前先保留硬编码或之后在后台添加
$core_services = [
['title' => '搭建写盘', 'icon' => 'hdd-network', 'color' => '#0d6efd'],
['title' => '软件开发', 'icon' => 'code-square', 'color' => '#6610f2'],
['title' => '盘口定制', 'icon' => 'graph-up', 'color' => '#6f42c1'],
['title' => '挂马修复', 'icon' => 'shield-shaded', 'color' => '#d63384'],
['title' => '过毒免杀', 'icon' => 'bug-fill', 'color' => '#dc3545'],
['title' => '服务器域名', 'icon' => 'globe', 'color' => '#fd7e14'],
['title' => '源码出售', 'icon' => 'file-earmark-code', 'color' => '#ffc107'],
['title' => '搭建交易所', 'icon' => 'currency-exchange', 'color' => '#198754'],
['title' => '资金盘开发', 'icon' => 'cash-coin', 'color' => '#20c997'],
['title' => 'API接口对接', 'icon' => 'connector', 'color' => '#0dcaf0'],
['title' => '高防CDN加速', 'icon' => 'shield-check', 'color' => '#007bff'],
['title' => '分布式架构设计', 'icon' => 'diagram-3', 'color' => '#17a2b8']
];
foreach ($core_services as $s): ?>
<div class="tech-card p-4 d-flex flex-row align-items-center gap-3 shadow-sm border-0" style="background: <?= get_soft_bg($s['color'], '08') ?>;">
<div class="icon-box-colorful mb-0 flex-shrink-0" style="width: 52px; height: 52px; font-size: 1.5rem; background: <?= $s['color'] ?>20; color: <?= $s['color'] ?>;">
<i class="bi bi-<?= $s['icon'] ?>"></i>
</div>
<h6 class="fw-bold mb-0"><?= $s['title'] ?></h6>
</div>
<?php endforeach; ?>
</div>
</div>
</section>
<!-- 承接业务范围区域 -->
<section id="scope" class="py-5">
<div class="container py-5">
<span class="section-subtitle">业务范围</span>
<h2 class="section-title">承接业务范围区域</h2>
<div class="grid-6">
<?php
$scope_items = [
['n' => '海外资金盘', 'i' => 'globe-americas', 'c' => '#0d6efd'],
['n' => '点赞盘', 'i' => 'hand-thumbs-up', 'c' => '#34a853'],
['n' => '刷单盘', 'i' => 'cart-check', 'c' => '#fbbc05'],
['n' => '商城盘', 'i' => 'shop', 'c' => '#ea4335'],
['n' => '云矿机', 'i' => 'cpu', 'c' => '#673ab7'],
['n' => '新能源', 'i' => 'lightning-charge', 'c' => '#00bcd4'],
['n' => '投资理财', 'i' => 'wallet2', 'c' => '#ff5722'],
['n' => '反波胆', 'i' => 'arrow-left-right', 'c' => '#4285f4'],
['n' => '微交易', 'i' => 'phone-flip', 'c' => '#795548'],
['n' => '时间盘', 'i' => 'clock-history', 'c' => '#6c757d'],
['n' => '交易所', 'i' => 'bank', 'c' => '#198754'],
['n' => '各类小程序', 'i' => 'app-indicator', 'c' => '#0dcaf0'],
['n' => '机器人', 'i' => 'robot', 'c' => '#fd7e14'],
['n' => '落地页定制', 'i' => 'window-stack', 'c' => '#d63384'],
['n' => '远控系统', 'i' => 'display', 'c' => '#000000'],
['n' => '授权系统', 'i' => 'key', 'c' => '#6610f2'],
['n' => '在线客服', 'i' => 'headset', 'c' => '#0d6efd'],
['n' => '获取通讯录', 'i' => 'person-rolodex', 'c' => '#dc3545']
];
foreach ($scope_items as $item): ?>
<div class="tech-card p-3 text-center d-flex flex-column align-items-center justify-content-center border-0 shadow-sm" style="background: <?= get_soft_bg($item['c'], '06') ?>;">
<i class="bi bi-<?= $item['i'] ?> mb-2" style="font-size: 1.6rem; color: <?= $item['c'] ?>;"></i>
<span class="small fw-bold"><?= $item['n'] ?></span>
</div>
<?php endforeach; ?>
</div>
</div>
</section>
<!-- 业务核心能力区域 -->
<section id="capabilities" class="py-5">
<div class="container py-5">
<span class="section-subtitle">核心能力</span>
<h2 class="section-title">业务核心能力区域</h2>
<div class="grid-4">
<?php
$caps = [
['icon' => 'laptop', 'title' => '定制软件开发', 'desc' => '针对企业独特业务流提供深度定制的原生架构方案。', 'color' => '#4285f4'],
['icon' => 'cloud-arrow-up', 'title' => '云原生架构转型', 'desc' => '平滑迁移至微服务架构,实现系统极致的弹性扩展。', 'color' => '#34a853'],
['icon' => 'shield-lock', 'title' => '金融级安全审计', 'desc' => '全链条加密与双重审计体系,筑造坚不可摧的数据防线。', 'color' => '#fbbc05'],
['icon' => 'robot', 'title' => 'AI业务化集成', 'desc' => '将LLM与业务流程无缝打通实现全链路智能化提效。', 'color' => '#ea4335'],
['icon' => 'database-check', 'title' => '大数据治理', 'desc' => '亿级数据实时处理与清洗,将零散数据转化为决策资产。', 'color' => '#673ab7'],
['icon' => 'gear-wide-connected', 'title' => '工业互联网集成', 'desc' => '打破软硬件壁垒实现IT与OT的深度融合与协同。', 'color' => '#00bcd4'],
['icon' => 'graph-up-arrow', 'title' => '敏捷增长引擎', 'desc' => '通过数据中台驱动业务增长,快速响应市场剧烈波动。', 'color' => '#ff5722'],
['icon' => 'patch-check', 'title' => '合规与风险控管', 'desc' => '深度符合全球各行业标准,确保业务在全球范围合规。', 'color' => '#795548']
];
foreach ($caps as $c): ?>
<div class="tech-card border-0 shadow-sm" style="background: <?= get_soft_bg($c['color'], '08') ?>;">
<div class="icon-box-colorful" style="background: <?= $c['color'] ?>20; color: <?= $c['color'] ?>;">
<i class="bi bi-<?= $c['icon'] ?>"></i>
</div>
<h5 class="fw-bold mb-3"><?= $c['title'] ?></h5>
<p class="small text-muted mb-0"><?= $c['desc'] ?></p>
</div>
<?php endforeach; ?>
</div>
<!-- 💯 承诺 -->
<div class="tech-card border-0 shadow-lg p-4 mt-5" style="background: linear-gradient(135deg, #ffffff 0%, #f3f0ff 100%);">
<div class="d-flex align-items-start gap-3">
<div class="icon-box-colorful bg-warning bg-opacity-20 text-warning mb-0 flex-shrink-0" style="width: 54px; height: 54px; font-size: 1.6rem;">
<i class="bi bi-award-fill"></i>
</div>
<div>
<p class="mb-0 fw-bold text-dark" style="font-size: 1.15rem; line-height: 1.7;">
专注于专业领域,追求卓越质量,赢得良好口碑!在这个市场环境复杂的当下,相信你再三比较后会发现我是你最可靠的选择!
</p>
</div>
</div>
</div>
</div>
</section>
<!-- 技术底座区域 -->
<section id="tech" class="py-5">
<div class="container py-5">
<span class="section-subtitle">技术底座</span>
<h2 class="section-title">技术底座区域</h2>
<div class="grid-6">
<?php
$techs = [
['name' => 'Golang', 'cat' => '高性能并发', 'icon' => 'terminal', 'color' => '#00ADD8'],
['name' => 'React', 'cat' => '前端交互', 'icon' => 'code-slash', 'color' => '#61DAFB'],
['name' => 'Laravel', 'cat' => '后端引擎', 'icon' => 'server', 'color' => '#FF2D20'],
['name' => 'PyTorch', 'cat' => 'AI模型', 'icon' => 'magic', 'color' => '#EE4C2C'],
['name' => 'MySQL', 'cat' => '关系型数据库', 'icon' => 'database', 'color' => '#4479A1'],
['name' => 'Redis', 'cat' => '极速缓存', 'icon' => 'lightning-fill', 'color' => '#DC382D'],
['name' => 'Docker', 'cat' => '容器化', 'icon' => 'box-seam', 'color' => '#2496ED'],
['name' => 'K8s', 'cat' => '集群编排', 'icon' => 'layers', 'color' => '#326CE5'],
['name' => 'Kafka', 'cat' => '消息中间件', 'icon' => 'broadcast-pin', 'color' => '#231F20'],
['name' => 'Postgres', 'cat' => '高级数据库', 'icon' => 'hdd-stack', 'color' => '#336791'],
['name' => 'Next.js', 'cat' => '全栈框架', 'icon' => 'window', 'color' => '#000000'],
['name' => 'Rust', 'cat' => '系统级语言', 'icon' => 'cpu', 'color' => '#000000']
];
foreach ($techs as $t): ?>
<div class="tech-card p-4 text-center d-flex flex-column align-items-center border-0 shadow-sm" style="background: <?= get_soft_bg($t['color'], '06') ?>;">
<i class="bi bi-<?= $t['icon'] ?> mb-3" style="font-size: 2.3rem; color: <?= $t['color'] ?>;"></i>
<h6 class="fw-bold mb-1"><?= $t['name'] ?></h6>
<span class="x-small text-muted"><?= $t['cat'] ?></span>
</div>
<?php endforeach; ?>
</div>
</div>
</section>
<!-- 报价方案区域 -->
<section id="pricing" class="py-5">
<div class="container py-5">
<span class="section-subtitle">报价方案</span>
<h2 class="section-title">报价方案区域</h2>
<div class="grid-4">
<?php
$pricing = [
['icon' => 'speedometer2', 'title' => '基础MVP版', 'desc' => '适用于快速验证业务逻辑的小型系统,包含核心基础功能。', 'price' => '¥49,900 起', 'color' => '#4285f4'],
['icon' => 'award', 'title' => '企业标准版', 'desc' => '涵盖主流业务场景,集成高可用架构 with 基础安全策略。', 'price' => '¥99,900 起', 'color' => '#34a853'],
['icon' => 'gem', 'title' => '旗舰定制版', 'desc' => '全链路深度定制,支撑超大规模业务并发与复杂逻辑。', 'price' => '¥199,900 起', 'color' => '#fbbc05'],
['icon' => 'building-gear', 'title' => '集团生态版', 'desc' => '多端互联与私有化部署,深度契合大型集团合规性要求。', 'price' => '面议', 'color' => '#ea4335']
];
foreach ($pricing as $p): ?>
<div class="tech-card border-bottom border-4 shadow-sm" style="border-color: <?= $p['color'] ?> !important; background: <?= get_soft_bg($p['color'], '08') ?>;">
<div class="icon-box-colorful" style="background: <?= $p['color'] ?>20; color: <?= $p['color'] ?>;">
<i class="bi bi-<?= $p['icon'] ?>"></i>
</div>
<h5 class="fw-bold mb-3"><?= $p['title'] ?></h5>
<p class="small text-muted mb-4"><?= $p['desc'] ?></p>
<div class="mt-auto">
<span class="h4 fw-bold text-primary"><?= $p['price'] ?></span>
<a href="<?= $tg_link ?>" class="btn btn-outline-primary btn-sm w-100 mt-3 fw-bold py-2">获取详细报价单</a>
</div>
</div>
<?php endforeach; ?>
</div>
</div>
</section>
<!-- 全球合作伙伴区域 -->
<section id="partners" class="py-5">
<div class="container py-5">
<span class="section-subtitle">合作伙伴</span>
<h2 class="section-title">全球合作伙伴区域</h2>
<div class="partners-grid">
<?php
$partners = [
['icon' => 'bi-microsoft', 'name' => 'Microsoft', 'color' => '#00a4ef'],
['icon' => 'bi-google', 'name' => 'Google Cloud', 'color' => '#4285f4'],
['icon' => 'bi-amazon', 'name' => 'AWS', 'color' => '#ff9900'],
['icon' => 'bi-nvidia', 'name' => 'NVIDIA', 'color' => '#76b900'],
['icon' => 'bi-tencent-qq', 'name' => 'Tencent', 'color' => '#0052d9'],
['icon' => 'bi-apple', 'name' => 'Apple Business', 'color' => '#000000'],
['icon' => 'bi-meta', 'name' => 'Meta AI', 'color' => '#0668E1'],
['icon' => 'bi-stripe', 'name' => 'Stripe', 'color' => '#008cdd'],
['icon' => 'bi-paypal', 'name' => 'PayPal', 'color' => '#003087'],
['icon' => 'bi-github', 'name' => 'GitHub', 'color' => '#181717'],
['icon' => 'bi-dropbox', 'name' => 'Dropbox', 'color' => '#0061FF'],
['icon' => 'bi-slack', 'name' => 'Slack', 'color' => '#4A154B'],
['icon' => 'bi-spotify', 'name' => 'Spotify', 'color' => '#1DB954'],
['icon' => 'bi-android2', 'name' => 'Android', 'color' => '#3DDC84'],
['icon' => 'bi-cloud-fill', 'name' => 'Salesforce', 'color' => '#00A1E0'],
['icon' => 'bi-box-seam', 'name' => 'DigitalOcean', 'color' => '#0080FF'],
['icon' => 'bi-layers-half', 'name' => 'Cloudflare', 'color' => '#F38020'],
['icon' => 'bi-terminal-fill', 'name' => 'Oracle', 'color' => '#F80000']
];
foreach ($partners as $p): ?>
<div class="partner-item border-0 shadow-sm" style="background: <?= get_soft_bg($p['color'], '08') ?>;">
<i class="bi <?= $p['icon'] ?> partner-icon" style="color: <?= $p['color'] ?>; font-size: 2.2rem;"></i>
<span class="partner-name fw-bold" style="font-size: 0.85rem;"><?= $p['name'] ?></span>
</div>
<?php endforeach; ?>
</div>
</div>
</section>
<!-- 交付标准区域 -->
<section id="delivery" class="py-5">
<div class="container py-5">
<span class="section-subtitle">交付标准</span>
<h2 class="section-title">交付标准区域</h2>
<div class="grid-4">
<div class="tech-card border-top border-4 border-primary shadow-sm" style="background: #f0f7ff;">
<div class="icon-box-colorful bg-primary bg-opacity-10 text-primary mb-4">
<i class="bi bi-search"></i>
</div>
<h5 class="fw-bold">深度需求对齐</h5>
<p class="small text-muted mb-0">通过专家工作坊进行业务逻辑深度拆解,确保技术路线与商业战略完美契合。</p>
</div>
<div class="tech-card border-top border-4 border-success shadow-sm" style="background: #f0fdf4;">
<div class="icon-box-colorful bg-success bg-opacity-10 text-success mb-4">
<i class="bi bi-diagram-3"></i>
</div>
<h5 class="fw-bold">架构技术选型</h5>
<p class="small text-muted mb-0">基于未来5年业务量预估进行基座搭建选用最具扩展性的工业级技术栈。</p>
</div>
<div class="tech-card border-top border-4 border-warning shadow-sm" style="background: #fffbeb;">
<div class="icon-box-colorful bg-warning bg-opacity-10 text-warning mb-4">
<i class="bi bi-terminal"></i>
</div>
<h5 class="fw-bold">敏捷迭代开发</h5>
<p class="small text-muted mb-0">采用标准Scrum流程周周可见交付成果确保项目进度与质量透明可控。</p>
</div>
<div class="tech-card border-top border-4 border-danger shadow-sm" style="background: #fef2f2;">
<div class="icon-box-colorful bg-danger bg-opacity-10 text-danger mb-4">
<i class="bi bi-check-all"></i>
</div>
<h5 class="fw-bold">自动化验收</h5>
<p class="small text-muted mb-0">集成全自动压测与安全扫描,通过数万项用例验证后方可平滑上线。</p>
</div>
</div>
</div>
</section>
<!-- 限时免费咨询 -->
<section class="container py-5 mb-5 footer-cta">
<div class="tech-card bg-primary text-white p-5 text-center overflow-hidden shadow-lg border-0">
<div class="position-absolute top-0 start-0 w-100 h-100 opacity-10" style="background: url('https://www.transparenttextures.com/patterns/carbon-fibre.png');"></div>
<div class="position-relative z-1">
<div class="icon-box-colorful bg-white text-primary mx-auto mb-4" style="width: 80px; height: 80px; font-size: 2.5rem;">
<i class="bi bi-chat-heart"></i>
</div>
<h2 class="fw-bold mb-3">准备好开启数字化转型之旅了吗?</h2>
<p class="lead mb-5 opacity-75">智域科技专家团队 24/7 在线,为您提供免费的初步架构诊断与方案咨询。</p>
<div class="d-flex justify-content-center gap-3 flex-wrap">
<a href="<?= $tg_link ?>" class="btn btn-light btn-lg px-5 py-3 shadow">
<i class="bi bi-telegram me-2"></i> 立即通过 Telegram 咨询
</a>
<a href="contact.php" class="btn btn-outline-light btn-lg px-5 py-3">
提交需求申请表
</a>
</div>
</div>
</div>
</section>
<!-- 页脚 -->
<footer class="bg-white text-dark pt-5 pb-4 border-top">
<div class="container">
<div class="row g-5">
<div class="col-lg-4">
<a class="navbar-brand d-flex align-items-center gap-2 mb-4" href="/">
<img src="<?= $logo_path ?>" alt="<?= htmlspecialchars($project_name) ?>">
<div class="brand-text-dynamic">
<span class="char-1"></span>
<span class="char-2"></span>
<span class="char-3"></span>
<span class="char-4"></span>
</div>
</a>
<p class="small text-muted mb-4">智域科技是全球领先的分布式系统专家,致力于通过尖端架构技术赋能企业实现无感数字化转型。</p>
<div class="d-flex gap-3">
<a href="#" class="text-dark opacity-50 hover-opacity-100"><i class="bi bi-twitter-x"></i></a>
<a href="#" class="text-dark opacity-50 hover-opacity-100"><i class="bi bi-linkedin"></i></a>
<a href="<?= $tg_link ?>" class="text-dark opacity-50 hover-opacity-100"><i class="bi bi-telegram"></i></a>
</div>
</div>
<div class="col-6 col-lg-2">
<h6 class="fw-bold mb-4">核心服务</h6>
<ul class="list-unstyled small text-muted">
<li class="mb-2"><a href="service-detail.php?type=软件开发" class="text-decoration-none text-reset">定制软件开发</a></li>
<li class="mb-2"><a href="service-detail.php?type=云原生" class="text-decoration-none text-reset">云原生架构</a></li>
<li class="mb-2"><a href="service-detail.php?type=安全审计" class="text-decoration-none text-reset">安全合规审计</a></li>
<li class="mb-2"><a href="service-detail.php?type=AI集成" class="text-decoration-none text-reset">AI集成方案</a></li>
</ul>
</div>
<div class="col-6 col-lg-2">
<h6 class="fw-bold mb-4">关于我们</h6>
<ul class="list-unstyled small text-muted">
<li class="mb-2"><a href="#cases" class="text-decoration-none text-reset">经典案例</a></li>
<li class="mb-2"><a href="privacy.php" class="text-decoration-none text-reset">隐私政策</a></li>
<li class="mb-2"><a href="agreement.php" class="text-decoration-none text-reset">服务协议</a></li>
<li class="mb-2"><a href="contact.php" class="text-decoration-none text-reset">联系我们</a></li>
</ul>
</div>
<div class="col-lg-4">
<h6 class="fw-bold mb-4">订阅技术简报</h6>
<p class="small text-muted mb-4">每月获取最新的分布式架构趋势与安全动态。</p>
<div class="input-group">
<input type="email" class="form-control bg-light border-0 text-dark" placeholder="您的邮箱地址">
<button class="btn btn-primary px-4 fw-bold">订阅</button>
</div>
</div>
</div>
<hr class="my-5 opacity-10">
<div class="row align-items-center">
<div class="col-md-6 text-center text-md-start">
<p class="small text-muted mb-0">&copy; 2020 <?= htmlspecialchars($project_name) ?>. 版权所有。</p>
</div>
<div class="col-md-6 text-center text-md-end mt-3 mt-md-0">
<span class="small text-muted">系统状态: <span class="text-success"><i class="bi bi-check-circle-fill me-1"></i> 所有节点正常运行</span></span>
</div>
</div>
</div>
</footer>
<!-- 手机端底部菜单 -->
<div class="mobile-bottom-nav">
<a href="index.php?v=home" class="mobile-nav-item <?= $view == 'home' ? 'active' : '' ?>">
<i class="bi bi-house-door"></i>
<span>首页</span>
</a>
<a href="cases.php" class="mobile-nav-item <?= $view == 'works' ? 'active' : '' ?>">
<i class="bi bi-briefcase"></i>
<span>作品</span>
</a>
<a href="index.php?v=pricing#pricing" class="mobile-nav-item <?= $view == 'pricing' ? 'active' : '' ?>">
<i class="bi bi-tags"></i>
<span>报价</span>
</a>
<a href="<?= $tg_link ?>" class="mobile-nav-item highlight">
<i class="bi bi-telegram"></i>
<span>咨询</span>
</a>
</div>
</main>
<footer>
Page updated: <?= htmlspecialchars($now) ?> (UTC)
</footer>
<!-- 悬浮按钮组 -->
<div class="floating-controls">
<a href="javascript:void(0)" class="float-btn float-btn-wx" title="微信咨询" data-bs-toggle="modal" data-bs-target="#wechatModal">
<i class="bi bi-wechat"></i>
</a>
<a href="<?= $tg_link ?>" target="_blank" class="float-btn float-btn-tg" title="Telegram 咨询">
<i class="bi bi-telegram"></i>
</a>
<button class="float-btn float-btn-up" title="返回顶部">
<i class="bi bi-arrow-up"></i>
</button>
</div>
<!-- 微信二维码 Modal -->
<div class="modal fade" id="wechatModal" tabindex="-1" aria-labelledby="wechatModalLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content border-0 shadow-lg" style="border-radius: 24px; overflow: hidden;">
<div class="modal-header border-0 pb-0">
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body text-center p-4 pt-0">
<div class="icon-box-colorful bg-success bg-opacity-10 text-success mx-auto mb-3" style="width: 60px; height: 60px; font-size: 1.8rem;">
<i class="bi bi-wechat"></i>
</div>
<h5 class="fw-bold mb-2">添加微信好友</h5>
<p class="small text-muted mb-4">扫描下方二维码或长按保存图片</p>
<div class="qr-code-wrapper p-3 bg-light rounded-4 mb-4 d-inline-block shadow-sm">
<img src="<?= $wechat_qr ?>" alt="WeChat QR Code" class="img-fluid" style="max-width: 240px; border-radius: 12px;">
</div>
<div class="d-grid gap-2">
<div class="p-3 bg-light rounded-3 mb-3 d-flex align-items-center justify-content-between">
<span class="small fw-bold text-muted">微信号: <span class="text-dark"><?= $wechat_id ?></span></span>
<button class="btn btn-sm btn-outline-success px-3" onclick="copyWeChatId()">复制</button>
</div>
<a href="weixin://dl/chat?username=<?= $wechat_id ?>" class="btn btn-success py-3 fw-bold shadow-sm">
<i class="bi bi-chat-dots me-2"></i> 尝试直接打开微信
</a>
</div>
</div>
<div class="modal-footer border-0 justify-content-center pb-4">
<p class="x-small text-muted mb-0">如有疑问,请通过 Telegram 咨询</p>
</div>
</div>
</div>
</div>
<script>
function copyWeChatId() {
const id = '<?= $wechat_id ?>';
navigator.clipboard.writeText(id).then(() => {
alert('微信号已复制: ' + id);
}).catch(err => {
console.error('复制失败', err);
});
}
</script>
<!-- Bootstrap JS -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
<script src="assets/js/main.js?v=<?= time() ?>"></script>
</body>
</html>
</html>

74
privacy.php Normal file
View File

@ -0,0 +1,74 @@
<?php
require_once __DIR__ . '/db/config.php';
$project_name = '智域科技';
$logo_path = '/assets/pasted-20260226-073317-a8105f30.png';
?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>隐私政策 - <?= htmlspecialchars($project_name) ?></title>
<link rel="icon" href="<?= $logo_path ?>" type="image/png">
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800&display=swap" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.1/font/bootstrap-icons.css">
<link href="/assets/css/custom.css?v=<?= time() ?>" rel="stylesheet">
</head>
<body class="bg-subtle">
<nav class="navbar navbar-expand-lg navbar-light bg-white border-bottom scrolled">
<div class="container">
<a class="navbar-brand d-flex align-items-center gap-2" href="/">
<img src="<?= $logo_path ?>" alt="<?= htmlspecialchars($project_name) ?>" >
<span class="fw-bold text-dark"><?= htmlspecialchars($project_name) ?></span>
</a>
<a href="/" class="btn btn-outline-primary btn-sm ms-auto fw-bold"><i class="bi bi-arrow-left"></i> 返回首页</a>
</div>
</nav>
<main class="py-5 mt-5">
<div class="container py-5">
<div class="row justify-content-center">
<div class="col-lg-9">
<div class="tech-card p-5 border-0 shadow-sm">
<h1 class="fw-bold mb-5 text-dark border-bottom pb-4">隐私政策</h1>
<div class="content text-muted lh-lg">
<p class="mb-4">智域科技(以下简称“我们”)非常重视用户的隐私保护。本隐私政策详细说明了我们在您使用我们网站和服务时如何收集、使用、存储和保护您的个人信息。</p>
<h5 class="fw-bold text-dark mt-5 mb-4">1. 我们收集的信息</h5>
<p class="mb-4">当您通过联系表单或在线咨询与我们取得联系时,我们可能会收集您的姓名、电子邮箱、联系电话以及您提供的业务需求详情。这些信息仅用于为您提供专业的咨询服务。</p>
<h5 class="fw-bold text-dark mt-5 mb-4">2. 信息的使用方式</h5>
<ul class="mb-4">
<li>响应您的服务请求并提供定制化的数字化方案建议。</li>
<li>向您发送与您业务相关的技术白皮书或行业资讯(如您已选择接收)。</li>
<li>优化我们的网站体验与服务质量。</li>
</ul>
<h5 class="fw-bold text-dark mt-5 mb-4">3. 信息的存储与保护</h5>
<p class="mb-4">我们采用行业标准的加密技术与金融级安全防护体系来保护您的数据。未经您的明确许可,我们绝不会将您的个人信息出售、租赁或泄露给任何第三方机构。</p>
<h5 class="fw-bold text-dark mt-5 mb-4">4. 您的权利</h5>
<p class="mb-4">您有权随时联系我们查询、更正或要求删除您的个人信息。我们将会在收到请求后的合理时间内进行处理。</p>
<h5 class="fw-bold text-dark mt-5 mb-4">5. 政策更新</h5>
<p class="mb-4">我们可能会不时更新本隐私政策。任何重大更改都会在网站显著位置发布通知。建议您定期查看以了解最新条款。</p>
</div>
<div class="mt-5 p-4 bg-light rounded-4 text-center">
<p class="small mb-0">如有任何关于隐私政策的疑问,请通过 Telegram 联系我们的安全审计官:<strong>@zhangshihao818</strong></p>
</div>
</div>
</div>
</div>
</div>
</main>
<footer class="py-5 bg-white border-top">
<div class="container text-center small text-muted">
<p class="mb-0">&copy; 2020 <?= htmlspecialchars($project_name) ?>. 专业数字化工程与行业方案专家.</p>
</div>
</footer>
</body>
</html>

101
service-detail.php Normal file
View File

@ -0,0 +1,101 @@
<?php
require_once __DIR__ . '/db/config.php';
$project_name = '智域科技';
$logo_path = '/assets/pasted-20260226-073317-a8105f30.png';
$type = $_GET['type'] ?? 'Software';
$titles = [
'Software' => '定制软件开发 - 深度契合您的业务逻辑',
'Cloud' => '云原生架构转型 - 极致弹性与高可用',
'Security' => '金融级安全审计 - 构建全链路安全屏障',
'AI' => 'AI业务化集成 - 大模型驱动的生产力革命'
];
$title = $titles[$type] ?? $titles['Software'];
?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title><?= htmlspecialchars($title) ?> - <?= htmlspecialchars($project_name) ?></title>
<link rel="icon" href="<?= $logo_path ?>" type="image/png">
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800&display=swap" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.1/font/bootstrap-icons.css">
<link href="/assets/css/custom.css?v=<?= time() ?>" rel="stylesheet">
</head>
<body class="bg-subtle">
<nav class="navbar navbar-expand-lg navbar-light bg-white border-bottom scrolled">
<div class="container">
<a class="navbar-brand d-flex align-items-center gap-2" href="/">
<img src="<?= $logo_path ?>" alt="<?= htmlspecialchars($project_name) ?>" >
<span class="fw-bold text-dark"><?= htmlspecialchars($project_name) ?></span>
</a>
<a href="/" class="btn btn-outline-primary btn-sm ms-auto fw-bold"><i class="bi bi-arrow-left"></i> 返回首页</a>
</div>
</nav>
<main class="py-5 mt-5">
<div class="container py-5">
<div class="row g-5">
<div class="col-lg-8">
<div class="tech-card p-5 border-0 shadow-sm">
<span class="badge bg-primary bg-opacity-10 text-primary px-3 py-2 mb-3 fw-bold">核心能力详解</span>
<h1 class="display-5 fw-bold mb-4 text-dark"><?= htmlspecialchars($title) ?></h1>
<p class="lead text-muted mb-5">
在数字经济深水区,通用的解决方案已无法支撑日益复杂的业务增长。智域科技提供的 <?= htmlspecialchars($type) ?> 服务,通过底层架构的深度重塑,为企业构建具备长期竞争优势的数字化基座。
</p>
<h4 class="fw-bold mb-4 text-dark"><i class="bi bi-star-fill text-warning me-2"></i> 核心技术优势</h4>
<div class="row g-4 mb-5">
<div class="col-md-6">
<div class="p-4 border rounded-4 bg-white hover-shadow transition">
<h6 class="fw-bold mb-3"><i class="bi bi-cpu text-primary me-2"></i> 极致性能架构</h6>
<p class="small text-muted mb-0">基于 Go/Rust 原生编译语言,确保在高并发场景下依然保持毫秒级的响应速度与低内存损耗。</p>
</div>
</div>
<div class="col-md-6">
<div class="p-4 border rounded-4 bg-white hover-shadow transition">
<h6 class="fw-bold mb-3"><i class="bi bi-infinity text-success me-2"></i> 无感弹性扩容</h6>
<p class="small text-muted mb-0">原生适配 Kubernetes 容器编排,支持根据业务流量进行全自动、无感知的动态扩缩容。</p>
</div>
</div>
</div>
<h4 class="fw-bold mb-4 text-dark"><i class="bi bi-list-check text-primary me-2"></i> 标准化实施流程</h4>
<div class="ps-4 border-start border-primary border-3">
<div class="mb-4 position-relative">
<h6 class="fw-bold">01. 业务现状审计与对齐</h6>
<p class="small text-muted">深入访谈核心业务团队识别现有系统瓶颈梳理未来3-5年的业务扩展边界与技术选型预判。</p>
</div>
<div class="mb-4">
<h6 class="fw-bold">02. 架构蓝图与安全性评估</h6>
<p class="small text-muted">输出完整的逻辑架构图、物理部署拓扑图以及针对金融级安全要求的合规性评估报告。</p>
</div>
<div>
<h6 class="fw-bold">03. 敏捷开发与自动化交付</h6>
<p class="small text-muted">采用标准 Scrum 双周迭代,代码提交即触发自动化 CI/CD 流水线,确保交付质量与进度的双重透明。</p>
</div>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="tech-card p-4 bg-primary text-white border-0 sticky-top shadow-lg" style="top: 100px;">
<h5 class="mb-4 text-white fw-bold">预约首席架构师</h5>
<p class="small opacity-75 mb-4 lh-lg">针对 <?= htmlspecialchars($type) ?> 领域,智域科技将安排具备 10 年以上大规模分布式系统设计经验的资深架构师为您提供 1对1 的深度需求分析。我们将为您免费提供初步的技术路径建议书。</p>
<a href="https://t.me/zhangshihao818" class="btn btn-light w-100 fw-bold py-3 mb-3">
<i class="bi bi-telegram me-2"></i> 在线咨询专家
</a>
<p class="x-small text-center opacity-50 mb-0">预计响应时间15 分钟内</p>
</div>
</div>
</div>
</div>
</main>
<footer class="py-5 bg-white border-top">
<div class="container text-center small text-muted">
<p class="mb-0">&copy; 2020 <?= htmlspecialchars($project_name) ?>. 专业数字化工程与行业方案专家.</p>
</div>
</footer>
</body>
</html>

105
solution-detail.php Normal file
View File

@ -0,0 +1,105 @@
<?php
require_once __DIR__ . '/db/config.php';
$project_name = '智域科技';
$logo_path = '/assets/pasted-20260226-073317-a8105f30.png';
$type = $_GET['type'] ?? '智慧新零售';
$titles = [
'智慧新零售' => '智域科技 - 智慧新零售数字化解决方案',
'数字金融' => '智域科技 - 数字金融全栈架构解决方案',
'智能制造' => '智域科技 - 智能制造工业互联网解决方案',
'智慧医疗' => '智域科技 - 智慧医疗云端化解决方案'
];
$title = $titles[$type] ?? '智域科技 - 行业数字化转型实践';
?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title><?= htmlspecialchars($title) ?></title>
<link rel="icon" href="<?= $logo_path ?>" type="image/png">
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800&display=swap" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.1/font/bootstrap-icons.css">
<link href="/assets/css/custom.css?v=<?= time() ?>" rel="stylesheet">
</head>
<body class="bg-subtle">
<nav class="navbar navbar-expand-lg navbar-light bg-white border-bottom scrolled">
<div class="container">
<a class="navbar-brand d-flex align-items-center gap-2" href="/">
<img src="<?= $logo_path ?>" alt="<?= htmlspecialchars($project_name) ?>" >
<span class="fw-bold text-dark"><?= htmlspecialchars($project_name) ?></span>
</a>
<a href="/" class="btn btn-outline-primary btn-sm ms-auto fw-bold"><i class="bi bi-arrow-left"></i> 返回首页</a>
</div>
</nav>
<main class="py-5 mt-5">
<div class="container py-5">
<div class="row g-5">
<div class="col-lg-8">
<div class="tech-card p-5 border-0 shadow-sm">
<span class="badge bg-success bg-opacity-10 text-success px-3 py-2 mb-3 fw-bold">转型实践方案</span>
<h1 class="display-5 fw-bold mb-4 text-dark"><?= htmlspecialchars($type) ?></h1>
<p class="lead text-muted mb-5">
我们深知每个行业都有其独特的商业逻辑与数字化深水区瓶颈。<?= htmlspecialchars($type) ?> 不仅仅是技术的堆叠,更是智域科技对行业深刻洞察的数字化落地。
</p>
<div class="row g-4 mb-5">
<div class="col-md-6">
<div class="p-4 bg-light rounded-4">
<h5 class="fw-bold text-dark"><i class="bi bi-lightbulb-fill text-warning me-2"></i> 核心痛点突破</h5>
<ul class="small text-muted ps-3 mt-3 lh-lg">
<li>解决高并发流量压力与系统的极致稳定性需求</li>
<li>打破跨系统数据孤岛,实现 PB 级数据实时同步</li>
<li>应对复杂的业务合规性与全球化多数据中心部署挑战</li>
</ul>
</div>
</div>
<div class="col-md-6">
<div class="p-4 bg-light rounded-4">
<h5 class="fw-bold text-dark"><i class="bi bi-graph-up-arrow text-success me-2"></i> 商业价值赋能</h5>
<ul class="small text-muted ps-3 mt-3 lh-lg">
<li>整体运营成本与技术架构维护成本降低 30% - 50%</li>
<li>核心业务逻辑的响应速度与上线效率提升 200%</li>
<li>数据资产化率显著提高,驱动决策科学化与智能化</li>
</ul>
</div>
</div>
</div>
<h4 class="fw-bold mb-4 text-dark"><i class="bi bi-layers-half text-primary me-2"></i> 智域定制化技术架构</h4>
<div class="p-4 border rounded-4 bg-white mb-5 shadow-sm">
<p class="small text-muted lh-lg">我们采用“业务中台化”设计思路将核心业务能力解耦为独立的服务集群。前端支持多端适配Web/移动端/小程序/App后端采用 Go 与云原生混合架构,确保在高并发场景下的极致表现与安全交付。</p>
<img src="https://images.pexels.com/photos/1181244/pexels-photo-1181244.jpeg?auto=compress&cs=tinysrgb&w=800" class="img-fluid rounded-4 mt-3" alt="Architecture">
</div>
</div>
</div>
<div class="col-lg-4">
<div class="tech-card p-4 bg-dark text-white border-0 sticky-top shadow-lg" style="top: 100px;">
<h5 class="mb-4 text-white fw-bold">获取完整行业白皮书</h5>
<p class="small opacity-75 mb-4 lh-lg">留下您的联系方式或直接在线咨询,我们将为您发送针对《<?= htmlspecialchars($type) ?>》的最新技术白皮书及行业对标落地案例汇编。</p>
<a href="https://t.me/zhangshihao818" class="btn btn-primary w-100 fw-bold py-3 mb-3">
<i class="bi bi-file-earmark-pdf-fill me-2"></i> 获取完整方案 (PDF)
</a>
<hr class="opacity-10">
<div class="d-flex align-items-center gap-3">
<div class="bg-primary p-2 rounded-circle shadow-sm"><i class="bi bi-headset"></i></div>
<div>
<p class="small mb-0 opacity-50">解决方案专家</p>
<p class="fw-bold mb-0">@zhangshihao818</p>
</div>
</div>
</div>
</div>
</div>
</div>
</main>
<footer class="py-5 bg-white border-top">
<div class="container text-center small text-muted">
<p class="mb-0">&copy; 2020 <?= htmlspecialchars($project_name) ?>. 专业数字化工程与行业方案专家.</p>
</div>
</footer>
</body>
</html>