99 lines
4.1 KiB
TypeScript
99 lines
4.1 KiB
TypeScript
|
|
import { FileTextOutlined, SafetyOutlined } from "@ant-design/icons";
|
|||
|
|
|
|||
|
|
type ComplianceKind = "agreement" | "privacy";
|
|||
|
|
|
|||
|
|
interface CompliancePageProps {
|
|||
|
|
kind: ComplianceKind;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
const companyName = "OmniAI";
|
|||
|
|
const contactPhone = "15155073618";
|
|||
|
|
const address = "江苏省南京市江北新区扬子江数字视听产业园9栋A楼501";
|
|||
|
|
|
|||
|
|
const agreementSections = [
|
|||
|
|
{
|
|||
|
|
title: "服务范围",
|
|||
|
|
body: "平台提供 AI 图片、视频、脚本、数字人及相关创作辅助服务。具体功能、模型能力、消耗规则以页面展示和平台公告为准。",
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
title: "账号与使用",
|
|||
|
|
body: "用户应保证注册信息真实有效,妥善保管账号与登录凭证,不得出租、转让账号或以自动化方式恶意占用平台资源。",
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
title: "内容合规",
|
|||
|
|
body: "用户不得上传、生成、发布违法违规、侵权、涉政敏感、暴恐、色情、赌博、诈骗或侵犯他人合法权益的内容。平台有权对违规内容采取删除、限制功能、封禁账号等措施。",
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
title: "积分与付费",
|
|||
|
|
body: "积分仅限平台内消费,不支持提现、转让或折现。充值、套餐、赠送积分的有效期、消耗顺序和退费规则以充值页面展示为准。",
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
title: "责任限制",
|
|||
|
|
body: "AI 生成结果可能存在偏差,用户应自行审核输出内容并承担使用后果。因不可抗力、第三方服务异常、网络故障造成的服务中断,平台将在合理范围内修复。",
|
|||
|
|
},
|
|||
|
|
];
|
|||
|
|
|
|||
|
|
const privacySections = [
|
|||
|
|
{
|
|||
|
|
title: "收集的信息",
|
|||
|
|
body: "我们会收集账号信息、登录状态、联系方式、创作输入、生成结果、用量记录、设备与网络日志,用于提供服务、安全审计和问题排查。",
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
title: "Cookie 与本地存储",
|
|||
|
|
body: "我们使用 Cookie、localStorage 和 sessionStorage 保存登录状态、偏好设置、Cookie 同意状态、创作草稿和断点续传数据。",
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
title: "信息使用",
|
|||
|
|
body: "信息用于身份验证、生成任务处理、资产管理、积分计费、客服支持、风控合规、服务优化和法律法规要求的备案审计。",
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
title: "第三方处理",
|
|||
|
|
body: "为完成 AI 生成、对象存储、短信邮件、支付或错误监控,我们可能向必要的第三方服务提供最小范围数据,并要求其按约定保护数据安全。",
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
title: "用户权利",
|
|||
|
|
body: "你可以通过平台账号功能或联系方式申请访问、更正、删除个人信息,或撤回非必要授权。法律法规另有要求的记录可能需按规定保留。",
|
|||
|
|
},
|
|||
|
|
];
|
|||
|
|
|
|||
|
|
export default function CompliancePage({ kind }: CompliancePageProps) {
|
|||
|
|
const isPrivacy = kind === "privacy";
|
|||
|
|
const sections = isPrivacy ? privacySections : agreementSections;
|
|||
|
|
const title = isPrivacy ? "隐私政策" : "用户协议";
|
|||
|
|
const Icon = isPrivacy ? SafetyOutlined : FileTextOutlined;
|
|||
|
|
|
|||
|
|
return (
|
|||
|
|
<section className="compliance-page">
|
|||
|
|
<div className="compliance-page__inner">
|
|||
|
|
<header className="compliance-hero">
|
|||
|
|
<span className="compliance-hero__icon"><Icon /></span>
|
|||
|
|
<div>
|
|||
|
|
<span className="compliance-hero__eyebrow">合规文件</span>
|
|||
|
|
<h1>{title}</h1>
|
|||
|
|
<p>{companyName} 平台服务合规说明。更新日期:2026 年 6 月 3 日。</p>
|
|||
|
|
</div>
|
|||
|
|
</header>
|
|||
|
|
|
|||
|
|
<div className="compliance-card">
|
|||
|
|
{sections.map((section, index) => (
|
|||
|
|
<article key={section.title} className="compliance-section">
|
|||
|
|
<span>{String(index + 1).padStart(2, "0")}</span>
|
|||
|
|
<div>
|
|||
|
|
<h2>{section.title}</h2>
|
|||
|
|
<p>{section.body}</p>
|
|||
|
|
</div>
|
|||
|
|
</article>
|
|||
|
|
))}
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<footer className="compliance-contact">
|
|||
|
|
<strong>联系我们</strong>
|
|||
|
|
<span>地址:{address}</span>
|
|||
|
|
<span>电话:{contactPhone}</span>
|
|||
|
|
<span>备案号:苏ICP备2026021747号-1</span>
|
|||
|
|
</footer>
|
|||
|
|
</div>
|
|||
|
|
</section>
|
|||
|
|
);
|
|||
|
|
}
|