Music Creation Page: - Vinyl 3D flip to view lyrics, tonearm animation, glow rotation effect - Circular SVG progress ring, speech bubble feedback, confirm dialog - Playlist modal, free creation input, lyrics formatting optimization - MiniMax API real music generation with SSE streaming progress Backend: - FastAPI proxy server.py for MiniMax API calls - Music + lyrics file persistence to Capybara music/ directory - GET /api/playlist endpoint for auto-building playlist from files UI/UX Refinements: - frontend-design skill compliance across all pages - Glassmorphism effects, modal interactions, scroll tap prevention - iPhone 12 Pro responsive layout (390x844) Flutter Development Preparation: - Installed flutter-expert skill with 6 reference docs - Added 5 Cursor Rules: official Flutter, clean architecture, UI performance, testing, Dart standards Assets: - 9 Capybara music MP3 files + lyrics TXT files - MiniMax API documentation Co-authored-by: Cursor <cursoragent@cursor.com>
167 lines
7.8 KiB
HTML
167 lines
7.8 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="zh-CN">
|
||
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport"
|
||
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover">
|
||
<title>Airhub - 隐私政策</title>
|
||
<link rel="stylesheet" href="styles.css">
|
||
<link href="https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=DM+Sans:wght@300;400;500;600;700&display=swap" rel="stylesheet">
|
||
<style>
|
||
.page-header {
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: space-between;
|
||
padding: 16px 20px;
|
||
padding-top: calc(env(safe-area-inset-top, 20px) + 48px);
|
||
width: 100%;
|
||
box-sizing: border-box;
|
||
position: absolute;
|
||
top: 0;
|
||
z-index: 10;
|
||
}
|
||
|
||
.back-btn {
|
||
background: rgba(255, 255, 255, 0.25);
|
||
backdrop-filter: blur(8px);
|
||
border: 1px solid rgba(255, 255, 255, 0.4);
|
||
width: 44px;
|
||
height: 44px;
|
||
border-radius: 22px;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
color: #1F2937;
|
||
cursor: pointer;
|
||
transition: all 0.2s;
|
||
}
|
||
|
||
.back-btn:active {
|
||
transform: scale(0.92);
|
||
}
|
||
|
||
.page-title {
|
||
font-size: 18px;
|
||
font-weight: 600;
|
||
color: #1F2937;
|
||
}
|
||
|
||
.content-scroll {
|
||
padding: calc(env(safe-area-inset-top, 20px) + 120px) 24px 40px;
|
||
overflow-y: auto;
|
||
flex: 1;
|
||
width: 100%;
|
||
height: 100%;
|
||
box-sizing: border-box;
|
||
color: #374151;
|
||
line-height: 1.6;
|
||
font-size: 15px;
|
||
position: relative;
|
||
z-index: 2;
|
||
scrollbar-width: none;
|
||
/* Firefox */
|
||
-webkit-mask-image: linear-gradient(to bottom, transparent 0px, transparent 100px, black 130px, black 100%);
|
||
mask-image: linear-gradient(to bottom, transparent 0px, transparent 100px, black 130px, black 100%);
|
||
}
|
||
|
||
.content-scroll::-webkit-scrollbar {
|
||
display: none;
|
||
/* Chrome/Safari */
|
||
}
|
||
|
||
h2 {
|
||
font-size: 17px;
|
||
margin: 32px 0 12px;
|
||
color: #1F2937;
|
||
font-weight: 700;
|
||
}
|
||
|
||
h2:first-child {
|
||
margin-top: 0;
|
||
}
|
||
|
||
p {
|
||
margin-bottom: 16px;
|
||
text-align: justify;
|
||
}
|
||
|
||
ul {
|
||
margin-bottom: 16px;
|
||
padding-left: 20px;
|
||
}
|
||
|
||
li {
|
||
margin-bottom: 8px;
|
||
}
|
||
</style>
|
||
</head>
|
||
|
||
<body>
|
||
<div class="app-container">
|
||
<div class="gradient-bg">
|
||
<div class="gradient-layer layer-1"></div>
|
||
</div>
|
||
<header class="page-header">
|
||
<button class="back-btn" onclick="history.back()">
|
||
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
||
<path d="M15 18l-6-6 6-6"></path>
|
||
</svg>
|
||
</button>
|
||
<span class="page-title">隐私政策</span>
|
||
<div style="width: 44px;"></div>
|
||
</header>
|
||
<main class="content-scroll">
|
||
<p>Airhub (以下简称"我们")非常重视您的隐私。本隐私政策(以下简称"本政策")旨在向您说明我们在您使用 Airhub 产品及服务时如何收集、使用、保存、共享和转让您的个人信息,以及您所享有的相关权利。
|
||
</p>
|
||
<p><strong>请您在使用我们的服务前,仔细阅读并了解本政策。</strong></p>
|
||
|
||
<h2>1. 我们如何收集您的个人信息</h2>
|
||
<p>为了向您提供优质的服务,我们会按照合法、正当、必要的原则收集您的信息:</p>
|
||
<ul>
|
||
<li><strong>账号注册信息:</strong> 当您注册 Airhub 账号时,我们会收集您的手机号码或电子邮箱地址,用于验证身份及为您提供服务。</li>
|
||
<li><strong>设备连接信息:</strong> 当您使用 Airhub 硬件设备时,我们会收集设备的 MAC 地址、SN 序列号、固件版本、IP 地址、Wi-Fi
|
||
信号强度等信息,以便实现设备连接、控制及固件升级功能。</li>
|
||
<li><strong>语音交互数据:</strong> 当您使用语音功能与 AI 角色互动时,我们会收集您的语音指令及对话内容。这些数据将用于生成 AI 回复并优化模型效果。您可以选择不保留历史对话记录。
|
||
</li>
|
||
<li><strong>角色记忆数据:</strong> 您的 AI 角色养成数据(如亲密度、性格标签、记忆库)存储于云端,以便支持跨设备无缝迁移体验。</li>
|
||
<li><strong>日志信息:</strong> 为保障服务安全及运行稳定,我们会收集您的操作日志、错误日志等。</li>
|
||
</ul>
|
||
|
||
<h2>2. 我们如何使用您的个人信息</h2>
|
||
<p>我们将收集的信息用于以下用途:</p>
|
||
<ul>
|
||
<li><strong>提供各项服务:</strong> 包括设备配网、远程控制、AI 语音对话等核心功能。</li>
|
||
<li><strong>产品优化:</strong> 分析用户使用习惯,改善产品功能和用户体验。</li>
|
||
<li><strong>安全保障:</strong> 监测账号异常状态,防范欺诈风险,保障系统安全。</li>
|
||
<li><strong>个性化推荐:</strong> 基于您的角色记忆,为您提供更符合您偏好的 AI 个性化回复。</li>
|
||
</ul>
|
||
|
||
<h2>3. 信息的共享、转让与公开披露</h2>
|
||
<p>3.1 <strong>共享:</strong> 我们不会向任何第三方共享您的个人信息,但以下情况除外:</p>
|
||
<ul>
|
||
<li>获得您的明确同意;</li>
|
||
<li>为了实现核心功能需要与合作伙伴(如云服务提供商、语音识别技术提供商)共享必要信息;</li>
|
||
<li>法律法规规定的情形。</li>
|
||
</ul>
|
||
<p>3.2 <strong>转让:</strong> 我们不会将您的个人信息转让给任何第三方,除非发生合并、收购或破产清算,我们将要求受让方继续受本政策约束。</p>
|
||
|
||
<h2>4. 信息的存储与保护</h2>
|
||
<p>4.1 <strong>存储地点:</strong> 我们依照法律法规的规定,将收集的个人信息存储于中华人民共和国境内。</p>
|
||
<p>4.2 <strong>存储期限:</strong> 我们仅在实现服务目的所必需的时间内保留您的个人信息。账号注销后,我们将对您的个人信息进行删除或匿名化处理。</p>
|
||
<p>4.3 <strong>安全措施:</strong> 我们采用 SSL 加密传输、AES 数据加密存储、严格的访问权限控制等技术措施保护您的信息安全。</p>
|
||
|
||
<h2>5. 您的权利</h2>
|
||
<p>5.1 <strong>访问与更正:</strong> 您有权登录 APP 查阅或修改您的个人信息。</p>
|
||
<p>5.2 <strong>删除:</strong> 您可以通过【我的-设置-账号安全】申请注销账号。注销后,我们将删除您的所有数据且不可恢复。</p>
|
||
<p>5.3 <strong>撤回同意:</strong> 您可以通过设备系统设置关闭相关权限(如麦克风权限),撤回您的授权。</p>
|
||
|
||
<h2>6. 联系我们</h2>
|
||
<p>如您对本隐私政策有任何疑问或投诉,请发送邮件至 privacy@airhub.com 联系我们。</p>
|
||
|
||
<p style="margin-top: 40px; color: #9CA3AF; font-size: 13px; text-align: center;">更新日期:2025年1月15日</p>
|
||
</main>
|
||
</div>
|
||
</body>
|
||
|
||
</html> |