Initial commit: 心理咨询预约系统

PHP 前后端一体:首页咨询师列表、预约表单、管理后台、二维码准入与邮件通知;敏感配置与提交数据通过 .gitignore 排除。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
litianming
2026-06-04 10:17:09 +08:00
commit 08ce60344d
49 changed files with 3490 additions and 0 deletions

58
index.php Normal file
View File

@@ -0,0 +1,58 @@
<?php
declare(strict_types=1);
require __DIR__ . '/api/bootstrap.php';
sendHtmlNoCacheHeaders();
$v = getAssetVersion();
?><!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, viewport-fit=cover">
<meta name="format-detection" content="telephone=no">
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="0">
<meta name="theme-color" content="#e8f7ef">
<title>心理咨询</title>
<script>window.__ASSET_V__="<?= htmlspecialchars($v, ENT_QUOTES) ?>";</script>
<link rel="stylesheet" href="<?= asset('css/base.css') ?>">
<link rel="stylesheet" href="<?= asset('css/home.css') ?>">
</head>
<body>
<div class="page page--home page--fade-in">
<section class="hero">
<div class="hero__decor" aria-hidden="true">
<span class="hero__blob hero__blob--1"></span>
<span class="hero__blob hero__blob--2"></span>
</div>
<span class="hero__badge">专业 · 安心 · 保密</span>
<div class="hero__content">
<h1 class="hero__title">开启您的<br>专业心理沟通之旅</h1>
<p class="hero__desc">简单描述您的困扰,为您匹配契合的咨询师</p>
</div>
<div class="hero__image-wrap">
<img class="hero__illustration" src="<?= asset('assets/hero.png') ?>" alt="" width="240" height="260">
</div>
</section>
<section class="doctor-list">
<div class="doctor-list__header">
<h2 class="doctor-list__heading">热门咨询师</h2>
<p class="doctor-list__sub">精选资深心理咨询师,一对一专业陪伴</p>
</div>
<div id="doctor-list" class="doctor-list__cards"></div>
</section>
<div class="footer-cta footer-cta--glass">
<button type="button" class="btn btn--primary btn--block btn--shine" id="cta-book">
<span class="btn__text">预约服务</span>
</button>
</div>
</div>
<script src="<?= asset('js/api.js') ?>"></script>
<script src="<?= asset('js/config-loader.js') ?>"></script>
<script src="<?= asset('js/access.js') ?>"></script>
<script src="<?= asset('js/home.js') ?>"></script>
</body>
</html>