<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>工商大学南岸校区 - 代取服务专属小卖铺导航</title>
<style>
:root {
--primary-color: #4CAF50;
--bg-color: #f5f7fa;
--card-bg: #ffffff;
--text-main: #333333;
--text-sub: #666666;
}
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
background-color: var(--bg-color);
margin: 0;
padding: 0;
color: var(--text-main);
}
.header {
background-color: var(--primary-color);
color: white;
padding: 20px 15px;
text-align: center;
}
.header h1 {
margin: 0 0 10px 0;
font-size: 20px;
}
.header p {
margin: 0;
font-size: 14px;
opacity: 0.9;
}
.search-container {
padding: 15px;
background: white;
box-shadow: 0 2px 4px rgba(0,0,0,0.05);
position: sticky;
top: 0;
z-index: 100;
}
.search-box {
width: 100%;
padding: 10px 15px;
border: 1px solid #ddd;
border-radius: 20px;
font-size: 15px;
box-sizing: border-box;
outline: none;
}
.search-box:focus {
border-color: var(--primary-color);
}
.dorm-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
gap: 15px;
padding: 15px;
}
.dorm-card {
background: var(--card-bg);
border-radius: 10px;
padding: 15px;
text-align: center;
box-shadow: 0 2px 8px rgba(0,0,0,0.05);
cursor: pointer;
transition: transform 0.2s;
}
.dorm-card:active {
transform: scale(0.98);
}
.dorm-name {
font-size: 16px;
font-weight: bold;
margin-bottom: 5px;
}
.store-name {
font-size: 12px;
color: var(--text-sub);
}
/* 弹窗样式 */
.modal-overlay {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0,0,0,0.6);
z-index: 1000;
justify-content: center;
align-items: center;
}
.modal-content {
background: white;
width: 80%;
max-width: 320px;
border-radius: 12px;
padding: 20px;
text-align: center;
position: relative;
}
.close-btn {
position: absolute;
top: 10px;
right: 15px;
font-size: 24px;
color: #999;
text-decoration: none;
}
.qr-placeholder {
width: 200px;
height: 200px;
background-color: #eee;
margin: 15px auto;
display: flex;
align-items: center;
justify-content: center;
color: #999;
border-radius: 8px;
}
.modal-content img {
width: 200px;
height: 200px;
object-fit: contain;
margin: 15px auto;
}
.notice {
color: #e53935;
font-size: 13px;
margin-top: 10px;
font-weight: bold;
}
</style>
</head>
<body>
<div class="header">
<h1>📦 工商大学南岸校区代取服务</h1>
<p>在您的楼栋小卖铺消费满15元,即可享受免费代取!</p>
</div>
<div class="search-container">
<input type="text" id="searchInput" class="search-box" placeholder="🔍 搜索你的寝室楼栋 (如: 南区1栋)" onkeyup="filterDorms()">
</div>
<div class="dorm-grid" id="dormGrid">
</div>
<div class="modal-overlay" id="modal">
<div class="modal-content">
<a href="javascript:void(0)" class="close-btn" onclick="closeModal()">×</a>
<h2 id="modalDormName" style="margin-top: 0; font-size: 18px;">楼栋名称</h2>
<p id="modalStoreName" style="color: #666; font-size: 14px;">小卖铺名称</p>
<img id="modalQrCode" src="" alt="小程序二维码" style="display: none;">
<div id="modalQrPlaceholder" class="qr-placeholder">请长按识别小程序码</div>
<p class="notice">⚠️ 提示:请确保消费满15元,并在备注填写代取信息</p>
</div>
</div>
<script>
// ==========================================
// 🛠️ 在这里编辑你的楼栋和小卖铺数据!
// ==========================================
const dormStores = [
{
dormName: "南区1栋",
storeName: "南一零食优选",
qrCode: "https://example.com/qr1.jpg" // 替换为真实的小程序二维码图片链接
},
{
dormName: "南区2栋",
storeName: "南二小卖部",
qrCode: "https://example.com/qr2.jpg"
},
{
dormName: "北区1栋",
storeName: "北一闪购超市",
qrCode: "" // 如果暂时没有图片,留空即可显示占位符
},
{
dormName: "北区2栋",
storeName: "北二胖东来",
qrCode: ""
},
// 你可以继续往下复制添加第5、6、7...直到40多个楼栋
{
dormName: "东区1栋",
storeName: "东区便利店",
qrCode: ""
}
];
// ==========================================
const grid = document.getElementById('dormGrid');
const modal = document.getElementById('modal');
// 初始化渲染列表
function renderDorms(data) {
grid.innerHTML = '';
data.forEach((item, index) => {
const card = document.createElement('div');
card.className = 'dorm-card';
card.innerHTML = `
<div class="dorm-name">${item.dormName}</div>
<div class="store-name">${item.storeName}</div>
`;
card.onclick = () => openModal(item);
grid.appendChild(card);
});
}
// 搜索过滤功能
function filterDorms() {
const keyword = document.getElementById('searchInput').value.toLowerCase();
const filteredData = dormStores.filter(item =>
item.dormName.toLowerCase().includes(keyword) ||
item.storeName.toLowerCase().includes(keyword)
);
renderDorms(filteredData);
}
// 打开弹窗
function openModal(item) {
document.getElementById('modalDormName').innerText = item.dormName;