Files
memind/skills/page-template-survey/templates/survey-basic.html
T
john fde6503bdf
Memind CI / Test, build, and release guards (push) Has been cancelled
feat(mindspace): add SEO/GEO delivery, page template catalog, and admin hooks
Enable optional SEO/GEO injection and discovery routes for confirmed public pages while keeping private pages noindex. Add premium page template skills, portal catalog API, template shop UI, and Baidu push gated by memind_adm config.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-10 08:06:12 +08:00

56 lines
3.2 KiB
HTML

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{{PAGE_TITLE}}</title>
<meta name="description" content="{{PAGE_DESCRIPTION}}">
<meta name="mindspace-cover" content='{{MINDSPACE_COVER_JSON}}'>
<style>
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", sans-serif; background: radial-gradient(ellipse 120% 80% at 50% -20%, #e8f5ef, #f7f4ed 45%, #f0ebe3 100%); color: #1a2420; }
main { max-width: 640px; margin: 0 auto; padding: clamp(28px, 6vw, 64px) clamp(20px, 4vw, 32px); }
.card { background: rgba(255,255,255,.92); backdrop-filter: blur(12px); border-radius: 28px; padding: clamp(28px, 5vw, 44px); box-shadow: 0 24px 80px rgba(45,53,47,.1), 0 1px 0 rgba(255,255,255,.8) inset; border: 1px solid rgba(255,255,255,.6); }
h1 { margin: 0 0 12px; font-size: clamp(28px, 5.5vw, 40px); font-weight: 800; letter-spacing: -.02em; line-height: 1.15; }
.intro { color: #5c655f; line-height: 1.75; margin-bottom: 28px; font-size: 16px; }
label { display: block; font-weight: 600; margin: 20px 0 8px; font-size: 14px; color: #374151; }
input, textarea, select { width: 100%; padding: 14px 16px; border: 1px solid #e5e0d6; border-radius: 14px; font: inherit; background: #faf9f7; transition: border-color .2s, box-shadow .2s; }
input:focus, textarea:focus, select:focus { outline: none; border-color: #2f6f57; box-shadow: 0 0 0 3px rgba(47,111,87,.12); }
button[type="submit"] { margin-top: 28px; width: 100%; padding: 16px; border: 0; border-radius: 999px; background: linear-gradient(135deg, #2f6f57, #3d8b6e); color: #fff; font-size: 16px; font-weight: 700; cursor: pointer; box-shadow: 0 12px 32px rgba(47,111,87,.25); }
#status { margin-top: 16px; min-height: 1.2em; color: #2f6f57; font-weight: 600; text-align: center; }
footer { text-align: center; padding: 24px; color: #8a938d; font-size: 13px; }
</style>
</head>
<body>
<main>
<article class="card">
<h1>{{SURVEY_HEADLINE}}</h1>
<div class="intro">{{SURVEY_INTRO_HTML}}</div>
<form id="survey-form">
{{FORM_FIELDS_HTML}}
<button type="submit">{{SUBMIT_BUTTON_LABEL}}</button>
</form>
<div id="status" aria-live="polite"></div>
</article>
</main>
<footer><p data-mindspace-page-tag="platform-brand">TKMind · 智趣</p></footer>
<script src="/assets/page-data-client.js"></script>
<script>
(function () {
var datasetId = '{{DATASET_ID}}';
var form = document.getElementById('survey-form');
var status = document.getElementById('status');
if (!window.PageDataClient || !datasetId) { status.textContent = 'Page Data 未就绪'; return; }
form.addEventListener('submit', function (event) {
event.preventDefault();
status.textContent = '提交中…';
var data = Object.fromEntries(new FormData(form).entries());
window.PageDataClient.insert(datasetId, data)
.then(function () { status.textContent = '提交成功,感谢填写!'; form.reset(); })
.catch(function () { status.textContent = '提交失败,请稍后重试'; });
});
})();
</script>
</body>
</html>