- Backend: FastAPI + SQLAlchemy + Celery (Python 3.11+) - Frontend: Vue 3 + TypeScript + Pinia + Tailwind - Admin Frontend: separate Vue 3 app for management - Docker Compose: 9 services orchestration - Specs: design prototypes, memory system PRD, product roadmap Cleanup performed: - Removed temporary debug scripts from backend root - Removed deprecated admin_app.py (embedded UI) - Removed duplicate docs from admin-frontend - Updated .gitignore for Vite cache and egg-info
79 lines
2.7 KiB
HTML
79 lines
2.7 KiB
HTML
<!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 rel="stylesheet" href="style.css" />
|
|
</head>
|
|
<body>
|
|
<div class="page">
|
|
<header class="nav">
|
|
<div class="container nav__inner">
|
|
<div class="nav__left">
|
|
<div class="nav__logo">
|
|
<span class="nav__logo-badge"></span>
|
|
DreamWeaver
|
|
</div>
|
|
<span class="badge">Web 原型</span>
|
|
</div>
|
|
<div class="nav__center">
|
|
<a class="nav__item active" href="home.html">生成故事</a>
|
|
<a class="nav__item" href="my-stories.html">我的故事</a>
|
|
<a class="nav__item" href="child-profiles.html">孩子档案</a>
|
|
<a class="nav__item" href="universes.html">故事宇宙</a>
|
|
<a class="nav__item" href="push-settings.html">推送设置</a>
|
|
<a class="nav__item" href="account-settings.html">账户设置</a>
|
|
<a class="nav__item" href="admin-providers.html">管理后台</a>
|
|
</div>
|
|
<div class="nav__right">
|
|
<input class="input" style="width: 200px;" placeholder="搜索故事" />
|
|
<div class="avatar">家</div>
|
|
</div>
|
|
</div>
|
|
</header>
|
|
<div class="container" style="padding: 28px 0 60px;">
|
|
<div class="grid grid-2 section">
|
|
<div class="card">
|
|
<h3>主动推送</h3>
|
|
<div class="row section">
|
|
<div>
|
|
<label>主开关</label>
|
|
<select>
|
|
<option>开启</option>
|
|
<option>关闭</option>
|
|
</select>
|
|
</div>
|
|
<div>
|
|
<label>推送时间</label>
|
|
<input class="input" placeholder="20:00" />
|
|
</div>
|
|
</div>
|
|
<div class="section">
|
|
<label>触发类型</label>
|
|
<div class="chips">
|
|
<span class="chip selected">时间触发</span>
|
|
<span class="chip selected">事件触发</span>
|
|
<span class="chip">行为触发</span>
|
|
<span class="chip">成长触发</span>
|
|
</div>
|
|
</div>
|
|
<div class="section">
|
|
<label>免打扰</label>
|
|
<div class="row">
|
|
<input class="input" placeholder="21:00" />
|
|
<input class="input" placeholder="09:00" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="card">
|
|
<h3>推送预览</h3>
|
|
<div class="callout">“今晚给小明讲一个关于太空的故事,好吗?”</div>
|
|
<button class="btn btn--secondary" style="margin-top: 12px;">发送测试推送</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|